Re: simplex tableau help wanted
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg855] Re: simplex tableau help wanted
- From: rubin at msu.edu (Paul A. Rubin)
- Date: Wed, 26 Apr 1995 00:22:24 -0400
- Organization: Michigan State University
In article <3n1sl9$avv at news0.cybernetics.net>, gwyn at arl.mil (Doug Gwyn ) wrote: ->I'm a newcomer to Mathematica (Windows) and would appreciate some ->assistance in a project I'm working on, to teach linear programming. ->What I want is to show each tableau in an example of Danzig's simplex ->algorithm, preferably with pivot flagged (*) etc., certainly with ->variable labels along the top and side of the matrix. Could some ->experienced Mathematica programmer suggest the general structures ->to use for this? If there is a sample package that does something ->very similar, I'd appreciate finding it. Thanks for any and all help! Something like this? In[1]:= a = Table[ Random[], {2}, {3} ] Out[1]= {{0.949803, 0.734982, 0.254951}, {0.732314, 0.357689, 0.270374}} In[2]:= a = ReplacePart[ a, a[[2,2]] "*", {2,2} ] Out[2]= {{0.949803, 0.734982, 0.254951}, {0.732314, 0.357689 *, 0.270374}} In[3]:= rlabels = {"r1", "r2"}; clabels = {"", "x", "y", "z"}; In[4]:= aa = Prepend[ Transpose[ Prepend[ Transpose[ a ], rlabels ] ], clabels ]; In[5]:= aa // TableForm Out[5]= x y z r1 0.949803 0.734982 0.254951 r2 0.732314 0.357689 * 0.270374 Line 2 puts an asterisk (or any symbol you prefer) next to the pivot entry. Line 3 defines row and column labels. Note that the upper left corner needs a label, even if it's null (hence the "" column label). Line 4 puts the table together and line 5 prints it. Two limitations: first, I didn't bother to center the labels, although I'm pretty sure you can do that with TableForm[]; and second, I don't know off-hand if you can prevent TableForm from wrapping each line if the number of columns exceeds the width of a printed line. Paul ************************************************************************** * Paul A. Rubin Phone: (517) 432-3509 * * Department of Management Fax: (517) 432-1111 * * Eli Broad Graduate School of Management Net: RUBIN at MSU.EDU * * Michigan State University * * East Lansing, MI 48824-1122 (USA) * ************************************************************************** Mathematicians are like Frenchmen: whenever you say something to them, they translate it into their own language, and at once it is something entirely different. J. W. v. GOETHE