Skip to content

Commit e00adbc

Browse files
committed
Push bound by minimum amount
1 parent 84716ab commit e00adbc

2 files changed

Lines changed: 2 additions & 5 deletions

File tree

highs/ipm/hipo/ipm/Model.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -423,8 +423,7 @@ void Model::adjustFreeVars(std::vector<double>& x, std::vector<double>& xl,
423423
if (is_free_[i]) {
424424
if (x[i] < lower_[i] * kFreeVarsCloseRatio) {
425425
// getting close to lower bound
426-
const double new_lower = std::min(lower_[i] * kFreeVarsIncreaseBound,
427-
x[i] / kFreeVarsCloseRatio);
426+
const double new_lower = x[i] / kFreeVarsCloseRatio;
428427
logger.printDetailed(
429428
"Free var %d is at %.1e with lb %.1e, lb changed to %.1e\n", i,
430429
x[i], lower_[i], new_lower);
@@ -433,8 +432,7 @@ void Model::adjustFreeVars(std::vector<double>& x, std::vector<double>& xl,
433432
}
434433
if (x[i] > upper_[i] * kFreeVarsCloseRatio) {
435434
// getting close to upper bound
436-
const double new_upper = std::max(upper_[i] * kFreeVarsIncreaseBound,
437-
x[i] / kFreeVarsCloseRatio);
435+
const double new_upper = x[i] / kFreeVarsCloseRatio;
438436
logger.printDetailed(
439437
"Free var %d is at %.1e with ub %.1e, ub changed to %.1e\n", i,
440438
x[i], upper_[i], new_upper);

highs/ipm/hipo/ipm/Parameters.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ const double kSmallBoundDiff = 1e-3;
5454
// parameters for free variables
5555
const double kFreeVarsInitialBound = 1e4;
5656
const double kFreeVarsCloseRatio = 0.5;
57-
const double kFreeVarsIncreaseBound = 10.0;
5857

5958
// static regularisation
6059
struct Regularisation {

0 commit comments

Comments
 (0)