We should note a few additional considerations for solving multi-scenario models.
Nearly any model can serve as the base model in a multi-scenario model. The base model can be continuous or discrete, and it can contain quadratic constraints, general constraints, SOS constraints, semi-continuous variables, etc. One important exception is multiple objectives; a multi-scenario model can only have a single objective.
The IsMIP attribute will always be 1 for a multi-scenario model, even if the model is otherwise continuous.
Multi-scenario models can have lazy constraints, specified either
through a user callback or through the Lazy
attribute. Those that are provided through a callback must be valid
across all scenarios. Those that are specified through the
Lazy attribute can have different right-hand side values in
You can also add your own cutting planes to multi-scenario models through a user callback. Cuts must be valid across all scenarios.