Skip to content

Commit 5b8b29b

Browse files
committed
Add reference
1 parent 07c2dba commit 5b8b29b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

highs/presolve/HPresolve.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3902,12 +3902,15 @@ HPresolve::Result HPresolve::rowPresolve(HighsPostsolveStack& postsolve_stack,
39023902
} else if (model->row_lower_[row] == -kHighsInf ||
39033903
model->row_upper_[row] == kHighsInf) {
39043904
// Chvatal-Gomory strengthening
3905+
// See section 3.4 "Chvatal-Gomory strengthening of inequalities",
3906+
// Achterberg et al., Presolve Reductions in Mixed Integer
3907+
// Programming, INFORMS Journal on Computing 32(2):473-506.
39053908
std::vector<double> roundedRowCoefs;
39063909
roundedRowCoefs.resize(rowsize[row]);
39073910
std::set<double> scalars;
39083911

3909-
// lambda for reformulating row to only contain variables with a lower
3910-
// bound of zero (if possible)
3912+
// lambda for reformulating row to only contain variables with lower
3913+
// bounds of zero (if possible)
39113914
auto complementOrShift = [&](HighsInt direction, HighsCDouble& rhs,
39123915
double& minAbsCoef, double& maxAbsCoef) {
39133916
minAbsCoef = kHighsInf;
@@ -3942,7 +3945,7 @@ HPresolve::Result HPresolve::rowPresolve(HighsPostsolveStack& postsolve_stack,
39423945
HighsInt col = rowIndex[i];
39433946
double val = direction * rowCoefs[i];
39443947
if (val < 0.0 && model->col_upper_[col] != kHighsInf) {
3945-
// un-complement
3948+
// uncomplement
39463949
roundedRowCoefs[i] = -roundedRowCoefs[i];
39473950
roundedRhs += roundedRowCoefs[i] *
39483951
static_cast<HighsCDouble>(model->col_upper_[col]);

0 commit comments

Comments
 (0)