-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Check how to deal with equalities when computing Benders cuts right-hand side #934
Comments
Equality is treated as two constraints: 'x <= value' & 'x >= value', and only one of them will be active. Consequently, the case Remove from the enum: Coluna.jl/src/MathProg/solutions.jl Line 129 in 3420cd4
Remove from the condition in Benders: Coluna.jl/src/Algorithm/benders/default.jl Line 290 in 3420cd4
Remove these 3 lines because they are not correct (see counterexample below but it can break some unit tests): Coluna.jl/src/MathProg/MOIinterface.jl Lines 326 to 328 in 3420cd4
Remove from the test: Coluna.jl/test/unit/Benders/benders_cuts.jl Line 169 in 3420cd4
counterexample:
Solutions:
|
In Benders
_compute_cut_rhs_contrib
we separate the contribution of classic linear inequalities from the contribution of the bounding constraints. The bounding contraints costs are given bydual_sol
and their contribution depends on the sense of the bounding (UPPER, LOWER and LOWER_AND_UPPER).In the case of LOWER_AND_UPPER (i.e. equality) we have to check how to compute the good contribution. For the moment, given bounded variable
constr: value <= x <= value
, the contribution equalsvalue*cost(constr)
.The text was updated successfully, but these errors were encountered: