Try our new documentation site (beta).
Definition of a Multi-Scenario Model
Before diving into the details of working with multiple scenarios, we
first need to explain exactly what we mean by the term. Let us start
by claiming that it only makes sense to consider a set of models as
being different scenarios for the same underlying model if they have a
lot in common. They should definitely share the same set of
variables. They should also have similar sets of constraints and
similar objectives. In our approach, scenarios are described as a set
of changes from a single base
model. More specifically,
scenarios can only modify model features that are present in the base
model. We should add that other modifications, including addition and
deletion of variables or constraints, can be achieved through the
clever use of various
tricks. For now, though,
it is best to think of scenarios as being small variations on the same
base.
What variations do we allow from this base model? Scenarios can differ in the following attributes:
- Linear objective function coefficients.
- Variable lower and upper bounds.
- Constraint right-hand side values.
After you have defined a set of scenarios (the specific mechanics for
doing so will be described
shortly), the next step is
to find solutions for all of the scenarios. A single call to the
standard Gurobi optimize
method is all that is needed. This
will of course be much more expensive than finding an optimal solution
for a single model, but our goal is for it to be faster and more
convenient than formulating and solving separate models for each
scenario.