Previous Page Next Page Contents

linopt::Transparent -- return the ordinary simplex tableau of a linear program

Introduction

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.

Call(s)

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

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

Returns

a simplex tableau of domain type linopt::Transparent.

Related Functions

linopt::Transparent::autostep, linopt::Transparent::convert, linopt::Transparent::dual_prices, linopt::Transparent::phaseI_tableau, linopt::Transparent::phaseII_tableau, linopt::Transparent::result, linopt::Transparent::simplex, linopt::Transparent::suggest, linopt::Transparent::userstep

Details

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)
              +-                                           -+
              |  "linopt", "restr", slk[1], slk[2],  x,  y  |
              |                                             |
              |    "obj",     0,       0,      0,    1,  2  |
              |                                             |
              |   slk[1],     1,       1,      0,   -1, -1  |
              |                                             |
              |   slk[2],     3,       0,      1,    1,  1  |
              +-                                           -+

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)                
        +-                                                       -+
        |  "linopt", "restr", slk[1], slk[2], slk[3],  z,  x,  y  |
        |                                                         |
        |    "obj",     0,       0,      0,      0,    2, -1,  1  |
        |                                                         |
        |   slk[1],     30,      1,      0,      0,   11,  7,  4  |
        |                                                         |
        |   slk[2],     10,      0,      1,      0,   -3,  5, -4  |
        |                                                         |
        |   slk[3],     23,      0,      0,      1,   -3,  3,  4  |
        +-                                                       -+

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)
                       linopt::Transparent, OPTIMAL
>> delete k, t:
     

Background

Changes




Do you have questions or comments?


Copyright © SciFace Software GmbH & Co. KG 2000