This notebook assists the user in finding the solution to the linear programming problems presented in "Graphical Solutions to Linear Programming Problems" by Olivia M. Carducci.  It is assumed that the user is familiar with linear programming.

These first two commands set up the environment for the remainder of the session.

SetOptions[{Plot3D,Graphics3D},AxesLabel->{"x","y","z"},
		BoxRatios->Automatic, SphericalRegion->True,
		ViewPoint->{-.9,-1.1,0}, 
		PlotRange->{{0,100},{0,100},{0,100}}];

Needs["Graphics`Colors`"]

The following commands develop the two variable example.

region = Plot[{100 - x, 40 - x/4, 55 - x/2}, {x,0,100},
	PlotRange->{0,100}, PlotStyle->{Red, Green, Blue}]

objectives = Table[Plot[5t - x/3, {x,0,100}],{t,1,10}]

Table[Show[region, objectives[[n]], PlotRange->{0,100}],
	{n,1,10}]

To find the optimal solution, select the table generated by the above command and animate it.

The following commands develop the three variable example.

region1 = Plot3D[{500/9 - x/3 - 5y/9, Hue[0.67]},
	{x,0,100},{y,0,100}]

region2 = Plot3D[{70 - 4x/5, Hue[0.85]}, {x,0,100},
	{y,0,100}]

region3 = Plot3D[{50 - 2y/3, Hue[0]}, {x,0,100},
	{y,0,100}]

region3D = Show[region1, region2, region3]

objectives3D = Table[Plot3D[{40t/3 - 2x/3 - y/2, 
	Hue[0.33]}, {x,0,100}, {y,0,100}], {t,2,6}]

Table[Show[region3D, objectives3D[[n]]], {n,1,5}]

To find the optimal solution, select the table generated by the above command and animate it.