Converts an (MI)LP with bounded (discrete and) continuous variables
(l <= x <= u) into a standard form where where all continuous variables
are non-negative reals and all constraints are equalities. For a pure LP of
the form,
\[min/max cx
s.t.
A_1 * x = b_1
A_2 * x <= b_2
l <= x <= u\]
a problem of the form,
\[min/max c'z
s.t.
Bz = q
z >= 0\]
will be created and added to the returned block. z consists of var_lower
and var_upper variables that are substituted into the original x variables,
and slack_vars that are used to convert the original inequalities to
equalities. Bounds are provided on all variables in z. For MILPs, only the
continuous part of the problem is converted.
See Lee, Sangbum., C. Phalakornkule, M. Domach, I. Grossmann, Recursive
MILP model for finding all the alternate optima in LP models for metabolic
networks, Computers & Chemical Engineering, Volume 24, Issues 2–7, 2000,
page 712 for additional details.
- Parameters:
-
- Returns:
The block that holds the reformulated model.
- Return type:
block