- Function GMP::Instance::CreatePresolved(GMP, name)
GMP::Instance::CreatePresolved
The function GMP::Instance::CreatePresolved
generates a mathematical
program that is the presolved representation of the specified generated
mathematical program. The generated mathematical program can be a linear
or nonlinear model, and should be generated using the function
GMP::Instance::Generate
.
GMP::Instance::CreatePresolved(
GMP, ! (input) a generated mathematical program
name ! (input) a string expression
)
Arguments
- GMP
An element in the set
AllGeneratedMathematicalPrograms
.- name
A string that holds the name for the presolved mathematical program.
Return Value
A new element in the set
AllGeneratedMathematicalPrograms
, with the name as specified by the name argument, if the presolver did not find an infeasibility. Else, the empty element.
Note
By using the functions
GMP::Column::GetStatus
andGMP::Row::GetStatus
it is possible to check whether a column or row was deleted when the presolved mathematical program was created.By using the functions
GMP::Column::GetLowerBound
andGMP::Column::GetUpperBound
it is possible to retrieve the lower and upper bound of a column in the presolved mathematical program.If the original GMP is deleted then the presolved GMP created by
GMP::Instance::CreatePresolved
will also be deleted.If the option
MINLP Probing
is switched on, then this function will change the mathematical programming type from MINLP (NLP) into MIP (LP) if the presolved model contains no nonlinear constraints.
Example
Assume that ‘MP’ is a mathematical program and ‘gmpMP’ and ‘gmpPre’ are element parameters with range
AllGeneratedMathematicalPrograms
. To solve the presolved model using GMP functions we can use:gmpMP := GMP::Instance::Generate( MP ); gmpPre := GMP::Instance::CreatePresolved( gmpMP, "PresolvedModel" ); GMP::Instance::Solve( gmpPre ) ;In case the GMP variant of the AOA module is used we can use:
gmpMP := GMP::Instance::Generate( MP ); gmpPre := GMP::Instance::CreatePresolved( gmpMP, "PresolvedModel" ); GMPOuterApprox::DoOuterApproximation( gmpPre );Here ‘GMPOuterApprox’ is the prefix used by the GMP Outer Approximation Module.