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.

Syntax

linopt::Transparent([constr, obj, <NonNegative>, <seti>])
linopt::Transparent([constr, obj, <NonNegative>, <All>])
linopt::Transparent([constr, obj, <setn>, <seti>])
linopt::Transparent([constr, obj, <setn>, <All>])

Description

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.

Examples

Example 1

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:

Parameters

constr

A set or list of linear constraints

obj

A linear expression

seti

A set which contains identifiers interpreted as indeterminates

setn

A set which contains identifiers interpreted as indeterminates

Options

All

All variables are constrained to be integer

NonNegative

All variables are constrained to be nonnegative

Return Values

Simplex tableau of domain type linopt::Transparent.

References

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.