CDF Mathematica file (download to run on your PC with Mathematica free player)
This small animation shows the feasibility region and the the intersection line between
This small animation shows the feasibility region which is the intersection line between unit simplex
given by
Source code used to generate the first movie is
Manipulate[ len = 1.5; h = a1 x1 + a2 x2 + a3 x3; g = b1 x1 + b2 x2 + b3 x3; g1 = ContourPlot3D[{h == 1, g == 1}, {x1, 0, len}, {x2, 0, len}, {x3, 0, len}, PlotRange -> {{0, len}, {0, len}, {0, len}}, SphericalRegion -> True, MeshStyle -> {{Thick, Blue}}, Mesh -> {{0}}, Lighting -> {{"Ambient", White}} ]; g2 = RegionPlot3D[h <= 1 && g <= 1, {x1, 0, len}, {x2, 0, len}, {x3, 0, len}, PlotRange -> {{0, len}, {0, len}, {0, len}}, SphericalRegion -> True, Mesh -> 0, PlotStyle -> Directive[Green, Opacity[0.2]], Lighting -> {{"Ambient", White}}]; g3 = Graphics3D[{ Arrow[{{0, 0, -len}, {0, 0, len}}], Text[Style[z, Bold], {0, 0, 1.1 len}], Arrow[{{0, -len, 0}, {0, len, 0}}], Text[Style[y, Bold], {0, 1.1 len, 0}], Arrow[{{-len, 0, 0}, {len, 0, 0}}], Text[Style[x, Bold], {1.1 len, 0, 0}] }]; Grid[{ {h}, {g}, { If[showRegion, Show[g1, g2, g3, ImageSize -> 400, ImagePadding -> 5] , Show[g1, g3, ImageSize -> 400, ImagePadding -> 5] ] }}, Frame -> All], {{a1, 1, "a1"}, 0, 5, .01, Appearance -> "Labeled", ImageSize -> Tiny}, {{a2, 1, "a2"}, 0, 5, .01, Appearance -> "Labeled", ImageSize -> Tiny}, {{a3, 1, "a3"}, 0, 5, .01, Appearance -> "Labeled", ImageSize -> Tiny}, {{b1, 2, "b1"}, 0, 5, .01, Appearance -> "Labeled", ImageSize -> Tiny}, {{b2, 3, "b2"}, 0, 5, .01, Appearance -> "Labeled", ImageSize -> Tiny}, {{b3, 0, "b3"}, 0, 5, .01, Appearance -> "Labeled", ImageSize -> Tiny}, Row[{"show feasbility region ", Checkbox[Dynamic[showRegion]]}], ControlPlacement -> Left ]
Source code used to generate the second movie is
eq1 = 2 x1 + 3 x2 == 1; eq2 = x1 + x2 + x3 == 1; len = 2; g2 = Graphics3D[Simplex[{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}]]; g1 = ContourPlot3D[Evaluate@eq1, {x1, -1, 1}, {x2, -1, 1}, {x3, -1, 1}, ContourStyle -> Directive[FaceForm[Yellow], Opacity[.5]], Mesh -> None, Lighting -> {{"Ambient", White}}, Boxed -> True, Axes -> False]; g3 = Graphics3D[{ Arrow[{{0, 0, -len}, {0, 0, len}}], Text[Style[z, Bold], {0, 0, 1.1 len}], Arrow[{{0, -len, 0}, {0, len, 0}}], Text[Style[y, Bold], {0, 1.1 len, 0}], Arrow[{{-len, 0, 0}, {len, 0, 0}}], Text[Style[x, Bold], {1.1 len, 0, 0}], {Blue, Sphere[{0, 1/3, 2/3}, .05]}, {Blue, Sphere[{1/2, 0, 1/2}, .05]}, {Red, Thick, Line[{{0, 1/3, 2/3}, {1/2, 0, 1/2}}]} }]; Grid[{{Column[{eq1, eq2}]}, {Show[g1, g2, g3, PlotRange -> All, ImageSize -> 400, SphericalRegion -> True]}}]
The following is the Mathematica notebook note.nb