Skip to content

Commit 15a1ad1

Browse files
committed
Add comments
1 parent d158313 commit 15a1ad1

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

highs/presolve/HPresolve.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,10 @@ double HPresolve::getMaxAbsRowVal(HighsInt row) const {
544544
bool HPresolve::checkUpdateRowDualImpliedBounds(HighsInt col,
545545
double* dualRowLower,
546546
double* dualRowUpper) const {
547+
// check if implied bounds of row duals in given column can be updated (i.e.
548+
// dual row has finite bounds and number of infinite contributions to
549+
// corresponding activity bounds is at most one)
550+
547551
// if the column has an infinite lower bound the reduced cost cannot be
548552
// positive, i.e. the column corresponds to a <= constraint in the dual with
549553
// right hand side -cost which becomes a >= constraint with side +cost.
@@ -571,11 +575,6 @@ bool HPresolve::checkUpdateRowDualImpliedBounds(HighsInt col,
571575
void HPresolve::updateRowDualImpliedBounds(HighsInt row, HighsInt col,
572576
double val) {
573577
// propagate implied row dual bound
574-
// if the column has an infinite lower bound the reduced cost cannot be
575-
// positive, i.e. the column corresponds to a <= constraint in the dual with
576-
// right hand side -cost which becomes a >= constraint with side +cost.
577-
// Furthermore, we can ignore strictly redundant primal
578-
// column bounds and treat them as if they are infinite
579578
double dualRowLower, dualRowUpper;
580579
if (!checkUpdateRowDualImpliedBounds(col, &dualRowLower, &dualRowUpper))
581580
return;
@@ -627,6 +626,9 @@ void HPresolve::updateRowDualImpliedBounds(HighsInt col) {
627626

628627
bool HPresolve::checkUpdateColImpliedBounds(HighsInt row, double* rowLower,
629628
double* rowUpper) const {
629+
// check if implied bounds of columns in given row can be updated (i.e. if
630+
// row's left-hand or right-hand side is finite and number of infinite
631+
// contributions to corresponding activity bounds is at most one)
630632
double myRowLower = isImpliedEquationAtUpper(row) ? model->row_upper_[row]
631633
: model->row_lower_[row];
632634
double myRowUpper = isImpliedEquationAtLower(row) ? model->row_lower_[row]

0 commit comments

Comments
 (0)