Closed blegat closed 4 years ago
I will do it. However, I don't that the Interval is a good idea if we want to allow modifications of the set. If we sill add the binary the problem will not be much harder. If we want to protect the user i'd rather raise an error. We can talk about in the PR, coming soon.
Yes, the interval is not mandatory, let's wait to see if this is a requested feature
Define
SemiBridge
for transforming aSemicontinuous
(resp.Semiinteger
) variablez
to a free (resp.Integer
) variabley
with the constraintsset.lower * z <= y
andy <= set.upper * z
. Ideally, ifset.lower <= 0 <= set.upper
, the bridge should (at run-time) decide to not create any binary variable and simply constrainy
to belong toInterval(set.lower, set.upper)
.We should also add
Semicontinuous
andSemiinteger
tests inintlinear.jl
. Any MILP solver should be able to pass them thanks to the bridge.