linopt
::Transparent
Return the ordinary simplex tableau of a linear program
MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.
MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.
linopt::Transparent([constr, obj, <NonNegative>, <seti>]
) linopt::Transparent([constr, obj, <NonNegative>, <All>]
) linopt::Transparent([constr, obj, <setn>, <seti>]
) linopt::Transparent([constr, obj, <setn>, <All>]
)
linopt::Transparent([constr, obj])
returns
the ordinary simplex tableau of the given linear program given by
the constraints constr
and the linear objective
function obj
.
[constr
, obj
] is a Linear
Optimization Problem of the same structure like in linopt::maximize
. As
the result the ordinary simplex tableau of the given problem is returned;
this means that equations will be replaced by two unequations and
unbounded variables will be replaced by two new variables.
Internally the tableau returned consists of more information
than viewable on the screen. Therefore linopt::Transparent::convert
is provided
to perform the transduction into the structure of the screen-tableau.
(This can be necessary if the returned tableau shall serve as an input-parameter
for another function — e.g. a user defined procedure for the
selection of pivot elements.) If an ordinary simplex with two phases
is wished, the next step should be the call of linopt::Transparent::phaseI_tableau
.
All functions of the linopt library using the tableau returned
by linopt::Transparent
try to minimize the problem!
Therefore it can be necessary to multiply the objective function with
-1 first.
In the simplex tableau returned a special notation is used. "linopt" stands for the tableau them self, "obj" describes the linear objective function, "restr" stands for the vector of restrictions, slk[1], slk[2], ... are the slack variables and the names of the other variables stand for themselves. Variables which are given as row labels indicate that they are part of the base.
First a small example, returning the ordinary simplex tableau of the given linear program. One can see that the slack variables are forming the basis:
k := [{x + y >= -1, x + y <= 3}, x + 2*y, NonNegative]: linopt::Transparent(k)
It follows a little bit larger example:
k := [{3*x + 4*y - 3*z <= 23, 5*x - 4*y - 3*z <= 10, 7*x + 4*y + 11*z <= 30}, -x + y + 2*z, NonNegative]: linopt::Transparent(k)
The result of linopt::Transparent
is of domain
type linopt::Transparent
. So it can be used as
input for other linopt::Transparent::*
function,
e.g. for linopt::Transparent::suggest
:
k := [{x + y >= -1, x + y <= 3}, x + 2*y, NonNegative]: t := linopt::Transparent(k): domtype(t), linopt::Transparent::suggest(t)
delete k, t:
|
A set or list of linear constraints |
|
A linear expression |
|
A set which contains identifiers interpreted as indeterminates |
|
A set which contains identifiers interpreted as indeterminates |
|
All variables are constrained to be integer |
|
All variables are constrained to be nonnegative |
Simplex tableau of domain type linopt::Transparent
.
Papadimitriou, Christos H; Steiglitz, Kenneth: Combinatorial Optimization; Algorithms and Complexity. Prentice-Hall, 1982.
Nemhauser, George L; Wolsey, Laurence A: Integer and Combinatorial Optimization. New York, Wiley, 1988.
Salkin, Harvey M; Mathur, Kamlesh: Foundations of Integer Programming. North-Holland, 1989.
Neumann, Klaus; Morlock, Martin: Operations-Research. Munich, Hanser, 1993.
Duerr, Walter; Kleibohm, Klaus: Operations Research; Lineare Modelle und ihre Anwendungen. Munich, Hanser, 1992.
Suhl, Uwe H: MOPS - Mathematical OPtimization System. European Journal of Operational Research 72(1994)312-322. North-Holland, 1994.
Suhl, Uwe H; Szymanski, Ralf: Supernode Processing of Mixed Integer Models. Boston, Kluwer Academic Publishers, 1994.