Overview | Group | Tree | Graph | Index | Concepts |
The enumeration Relaxation
lists the values that can be
taken by the parameter FeasOptMode
.
This parameter controls several aspects of how the method
feasOpt
performs its relaxation.
The method feasOpt
works in two phases. In its first phase,
it attempts to find a minimum-penalty relaxation of a given
infeasible model.
If you want feasOpt
to stop after this first phase, choose
a value with Min
in its symbolic name.
If you want feasOpt
to continue beyond its first phase
to find a solution that is optimal with respect to the original objective
function, subject to the constraint that the penalty of the
relaxation must not exceed the value found in the
first phase, then choose a value with Opt
in its
symbolic name.
In both phases, the suffixes Sum
, Inf
,
and Quad
specify the relaxation metric:
Sum
tells feasOpt
to mimimize the weighted sum of
the required relaxations of bounds and constraints according to
the formula
penalty = sum (penalty_i times relaxation_amount_i)
Inf
tells feasOpt
to minimize the weighted number
of bounds and constraints that are relaxed according to the formula
penalty = sum (penalty_i times relaxation_indicator_i)
Quad
tells feasOpt
to mimimize the weighted sum of
the squares of required relaxations of bounds and constraints
according to the formula
penalty = sum (penalty_i times relaxation_amount_i times relaxation_amount_i)
Weights are determined by the preference values you provide
as input to the method feasOpt
.
When IloAnd
is used to group constraints
as input to feasOpt
, the relaxation
penalty is computed on groups instead of on individual constraints.
For example, all constraints in a group can be relaxed for a total
penalty of one unit under the various Inf
metrics.
Fields |
---|
MinSum |
= CPX_FEASOPT_MIN_SUM
|
OptSum |
= CPX_FEASOPT_OPT_SUM
|
MinInf |
= CPX_FEASOPT_MIN_INF
|
OptInf |
= CPX_FEASOPT_OPT_INF
|
MinQuad |
= CPX_FEASOPT_MIN_QUAD
|
OptQuad |
= CPX_FEASOPT_OPT_QUAD
|