Introductory examples from the whitepaper 'Robust Optimization with Xpress'. Topics covered by the examples:
- Price of robustness: cost_of_robustness.mos (calculating the cost of having uncertainty in the model)
- Working with nominal values:
nominalvalue_0base.mos (simple robust model without nominal values);
nominalvalue_2base.mos (simple robust model with a nominal valued uncertain);
nominalvalue_none.mos (uncertainty as an addition to a coefficient);
nominalvalue_rule2.mos (using uncertains with nominal value as coefficients);
nominalvalue_shift1.mos (basic version without nominal values);
nominalvalue_shift2.mos (defining nominal values);
nominalvalue_shift3.mos (substituting the effect of the nominal values);
nominalvalue_simple.mos (uncertainty as a coefficient)
- Overlapping uncertainty:
overlapping_cardinality.mos (cardinality constraint with overlapping
uncertainty sets);
overlapping_polyhedral.mos, overlapping_polyhedral2.mos (polyhedral uncertainty set with overlapping use in
robust constraints)
- Working with scenarios:
scenario_simple.mos (simple robust optimization model with scenario based
uncertainty);
scenario_simple_deterministic.mos (deterministic version of the simple
scenario problem)
- Special cases:
careful_equalities.mos (robust problem with equality constraint);
careful_unbounded_uncertain.mos (robust problem with an unbounded uncertain)
Further explanation of this example:
Whitepaper 'Robust Optimization with Xpress', Section 1 Introduction
(!******************************************************
Mosel Example Problems
======================
Example model for the
Robust Optimization with Xpress white paper
(c) 2014 Fair Isaac Corporation
*******************************************************!)
model Careful
uses "mmrobust" ! Load the robust library
declarations
x, y, z : mpvar
e : uncertain
end-declarations
x + y + e*z <= 10
maximize(z)
writeln("x = ", getsol(x), " y = ", getsol(y), " z = ", getsol(z))
end-model