MCPcopy Create free account
hub / github.com/ERGO-Code/HiGHS / updateStatus

Method updateStatus

highs/simplex/HEkk.cpp:313–378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

311}
312
313void HEkk::updateStatus(LpAction action) {
314 assert(!this->status_.is_dualized);
315 assert(!this->status_.is_permuted);
316 switch (action) {
317 case LpAction::kScale:
318 this->invalidateBasisMatrix();
319 break;
320 case LpAction::kNewCosts:
321 this->status_.has_fresh_rebuild = false;
322 this->status_.has_dual_objective_value = false;
323 this->status_.has_primal_objective_value = false;
324 break;
325 case LpAction::kNewBounds:
326 this->status_.has_fresh_rebuild = false;
327 this->status_.has_dual_objective_value = false;
328 this->status_.has_primal_objective_value = false;
329 break;
330 case LpAction::kNewBasis:
331 this->invalidateBasis();
332 break;
333 case LpAction::kNewCols:
334 this->clear();
335 // this->invalidateBasisArtifacts();
336 break;
337 case LpAction::kNewRows:
338 if (kExtendInvertWhenAddingRows) {
339 // Just clear Ekk data
340 this->clearEkkData();
341 } else {
342 // Clear everything
343 this->clear();
344 }
345 // this->invalidateBasisArtifacts();
346 break;
347 case LpAction::kDelCols:
348 this->clear();
349 // this->invalidateBasis();
350 break;
351 case LpAction::kDelNonbasicCols:
352 this->clear();
353 // this->invalidateBasis();
354 break;
355 case LpAction::kDelRows:
356 this->clear();
357 // this->invalidateBasis();
358 break;
359 case LpAction::kDelRowsBasisOk:
360 assert(1 == 0);
361 // info.lp_ = true;
362 break;
363 case LpAction::kScaledCol:
364 this->invalidateBasisMatrix();
365 break;
366 case LpAction::kScaledRow:
367 this->invalidateBasisMatrix();
368 break;
369 case LpAction::kBacktracking:
370 this->status_.has_ar_matrix = false;

Callers 13

addColsMethod · 0.95
addRowsMethod · 0.95
deleteColsMethod · 0.95
deleteRowsMethod · 0.95
getNonsingularInverseMethod · 0.95
newHighsBasisMethod · 0.80
changeCostsInterfaceMethod · 0.80
scaleColInterfaceMethod · 0.80

Calls 4

invalidateBasisMatrixMethod · 0.95
invalidateBasisMethod · 0.95
clearMethod · 0.95
clearEkkDataMethod · 0.95

Tested by

no test coverage detected