GenerateRobustCounterpart(MP, UncertainParameters, UncertaintyConstraints, Name)¶
GMP::Instance::GenerateRobustCounterpartgenerates the robust counterpart of a (linear) mathematical program.
If the deterministic model is a linear program (LP) then the robust counterpart will be a LP if the uncertainty constraints are linear, or a second-order cone program (SOCP) if some of the uncertainty constraints are ellipsoidal.
If the deterministic model is a mixed-integer program (MIP) then the robust counterpart will be a MIP if the uncertainty constraints are linear, or a mixed-integer second-order cone program (MISOCP) if some of the uncertainty constraints are ellipsoidal.
SOCP and MISOCP problems can be solved by using CPLEX or GUROBI.
GMP::Instance::GenerateRobustCounterpart( MP, ! (input) a symbolic mathematical program UncertainParameters, ! (input) a set of uncertain parameters UncertaintyConstraints, ! (input) a set of uncertainty constraints [Name] ! (optional) a string expression )
- A symbolic mathematical program in the set
AllMathematicalPrograms. The mathematical program should have model type LP or MIP.
- A subset of
- A subset of
- A string that holds the name for the generated robust counterpart.
A new element in the set
AllGeneratedMathematicalProgramswith the name as specified by the name argument.
- If the Name argument is not specified, or if it is the empty
string, then the name of the symbolic mathematical program followed
by ‘robust counterpart’ is used to create a new element in the set
- If AIMMS detects that the robust counterpart is infeasible during the generation, AIMMS will issue a warning and the robust counterpart will not be generated.
- As part of the generation, AIMMS will check whether the uncertainty
set satisfies the Slater condition (controlled by the option
Slater_condition_check). To do so, AIMMS will solve a linear program (LP) or a second-order cone program (SOCP).
- The created GMP cannot be modified, e.g., it is not allowed to change row or columns in the robust counterpart.