4 The simplex package implements the two-phase standard simplex method for
\r
5 solving linear programming problems in maxima.
\r
7 The simplex package contains two files: simplex.lisp and
\r
8 minimize_sx.mac. The file simplex.lisp should be compiled for speed. You
\r
9 must load simplex before minimize_sx.
\r
15 - linear_program(A, b, c): finds the vector x which minimizes c'.x subject
\r
16 to A.x=b. A is a n.m matrix, b a list of length n and c a list of length
\r
17 m. The return value is [x, val] where x is the minimizing vector and
\r
18 val=c'.x. This function is defined in the file simplex.lisp.
\r
20 - minimize_lp(ex, const, pos): minimizes expression ex subject to
\r
21 constraints in the list const. pos is an optional arguments which lists
\r
22 non-negative variables. This function is defined in the file
\r
25 - maximize_lp(ex, const, pos): maximizes expression ex subject to
\r
26 constraints in the list const. pos is an optional arguments which lists
\r
27 non-negative variables. This function is defined in the file
\r
34 - epsilon_lp: epsilon for numerical computation (float)
\r
35 - scale_lp: scale input (boolean)
\r
36 - pivot_count_sx: the number of pivots in last computation (fixnum)
\r
37 - pivot_max_sx: maximum number of pivots allowed (fixnum)
\r
38 - nonnegative_lp: assume all variables to minimize_lp/maximize_lp are
\r
39 non-negative (boolean)
\r
44 (%i1) A : matrix([1,1,-1,0],[2,-3,0,-1], [4,-5,0,0])$
\r
46 (%i3) c : [1,-2,0,0]$
\r
47 (%i4) linear_program(A, b, c);
\r
48 (%o4) [[13/2, 4, 19/2, 0], -3/2]
\r
50 (%i1) minimize_lp(x+y, [3*x+y>4, x+4*y>4]), nonnegative_lp=true;
\r
51 (%o1) [20/11, [x = 12/11, y = 8/11]]
\r
57 There are some tests in the Tests subdirectory.
\r
63 This package was written by
\r
65 Andrej Vodopivec <andrejv@users.sourceforge.net>
\r
66 http://wxmaxima.sourceforge.net/maxima.html
\r
68 It is licensed under the GPL licence.
\r