I think Lazy
is somewhat pointless, compared with LazyConstraints
.
The latter is useful when we have infinitely many (implicit) cuts, e.g. emulating a SDP constraint (see the while
-loop in this example).
If we have finitely many explicit cuts (e.g., in the context of this topic), then we have 2 possibilities
- the number of these cuts are small, e.g. 10 cuts
- the number of these cuts are huge, e.g. 1 million
It’s manifest that it would be pointless to use Lazy
for merely 10 cuts.
Now suppose we submit 1 million explicit cuts to Gurobi, setting the Lazy
attribute. What’s its meaning?
Shouldn’t let gurobi decide which part of constraints should be deemed “lazy” to accelerate the solution procedure. After all, it is a black-box solver. It’s weird.