- Procedure GMP::Instance::GetInfeasibleData(GMP, parSet, message, method, effort, textFormat)
GMP::Instance::GetInfeasibleData
GMP::Instance::GetInfeasibleData
uses a different approach, namely, it
can be used to retrieve information about parameters that cause a (linear)
mathematical program to become infeasible..SuspicionLevel
for each parameter that contributes
to the infeasibility.GMP::Instance::GetInfeasibleData(
GMP, ! (input) a generated mathematical program
parSet, ! (input) a set of parameters
message, ! (output) a string parameter
[method], ! (optional) a scalar integer value
[effort], ! (optional) a scalar integer value
[textFormat] ! (optional) a scalar binary value
)
Arguments
- GMP
An element in
AllGeneratedMathematicalPrograms
.- parSet
A subset of
AllParameters
.- message
A string that describes the cause of the infeasibility.
- method
An integer scalar value between 0 and 4 that specifies the method used to find the cause of the infeasibility. Default is 0. The methods are described below.
- effort
An integer scalar value between 0 and 2 that specifies the effort level used by this procedure to find the cause of the infeasibility. Default is 2. A higher value means more effort.
- textFormat
A scalar binary value to indicate whether the message should use plain text (value 0; the default) or HTML formatting (value 1).
Return Value
The procedure returns 1 on success, or 0 otherwise.
Note
The GMP must be linear.
Typically,
AllParameters
is passed for the parSet argument.The procedure
GMP::Instance::GetInfeasibleData
will use one of the following methods, as specified by the method argument:0: IIS (default)
1: Solve feasibility problem: minimize sum of infeasibilities
2: Solve feasibility problem: minimize largest infeasibility
3: Solve feasibility problem: minimize sum of infeasibilities after scaling model
4: Solve feasibility problem: minimize largest infeasibility after scaling model
The effort level influences how much effort is used to find outliers in the (infeasible) data. It does not influence the running time of the method used.
The option
Element format
determines the format used for printing elements in the message.The suffix
.SuspicionLevel
gets a value from the set AllSuspicionLevels, or remains empty if the parameter is not part of the infeasible data.The procedure
GMP::Instance::GetInfeasibleData
is not supported for generated mathematical programs created by one of the following functions:GMP::Instance::GenerateRobustCounterpart,
GMP::Instance::GenerateStochasticProgram,
GMP::Instance::CreatePresolved,
GMP::Instance::CreateDual, or
GMP::Instance::CreateMasterMIP.
Example
Assume that ‘MP’ is a symbolic mathematical program and ‘pMessage’ a string parameter.
solve MP; if ( MP.ProgramStatus = 'Infeasible' or MP.ProgramStatus = 'InfeasibleOrUnbounded' ) then GMP::Instance::GetInfeasibleData( 'MP', AllParameters, pMessage, method: 4, textFormat: 1 ); ! Change the font size for the HTML formatted text. pMessage := "<span style=\"font-size: 20px\">" + pMessage + "</span>"; endif;