linopt::Transparent::userstep --
perform a user defined simplex step
Introductionlinopt::Transparent::userstep(tableau, basvar,
nonbasbar) performs a user defined simplex step in the
tableau with the pivot element defined by
basvar and nonbasvar.
Call(s)linopt::Transparent::userstep(tableau, basvar,
nonbasbar)
Parameterstableau |
- | a simplex tableau of domain type
linopt::Transparent |
basvar |
- | a basic variable represented by an identifier that has to leave the basis |
nonbasvar |
- | a non-basic variable represented by an identifier that has to enter the basis |
Returnsa simplex tableau of domain type
linopt::Transparent.
Related
Functionslinopt::Transparent, linopt::Transparent::autostep,
linopt::Transparent::convert,
linopt::Transparent::dual_prices,
linopt::Transparent::phaseI_tableau,
linopt::Transparent::result,
linopt::Transparent::simplex,
linopt::Transparent::suggest
Detailslinopt::Transparent::userstep returns the next simplex
tableau which is calculated by the user defined simplex step.
Example
1We execute the simplex step given by the pivot element
(slk[1],x):
>> k := [[x + y >= 2], x, NonNegative]: t:= linopt::Transparent(k); linopt::Transparent::userstep(t, slk[1], x)
+- -+
| "linopt", "restr", slk[1], x, y |
| |
| "obj", 0, 0, 1, 0 |
| |
| slk[1], -2, 1, -1, -1 |
+- -+
+- -+
| "linopt", "restr", slk[1], x, y |
| |
| "obj", -2, 1, 0, -1 |
| |
| x, 2, -1, 1, 1 |
+- -+
Example
2If we specify a wrong pivot element, we will get an error message:
>> 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]:
t:= linopt::Transparent(k);
linopt::Transparent::userstep(t, x, y)
+- -+
| "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 |
+- -+
Error: No correct pivot element specified [linopt::Transpare\
nt::userstep]
>> delete k, t:
BackgroundPapadimitriou, 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.