RE: Tricky visualization of maximization problem
- To: mathgroup at smc.vnet.net
- Subject: [mg71014] RE: [mg71004] Tricky visualization of maximization problem
- From: "David Park" <djmp at earthlink.net>
- Date: Sat, 4 Nov 2006 23:07:10 -0500 (EST)
Uwe,
Here is a second visualization, this time a contour plot with the constraint
line plotted on top of it. A 'cartographic' coloring function is used where
'sea level' is placed at the value that maximizes the function on the
constraint and mindomain and maxdomain are the minimimum and maximum values
of f on the plot domain.
Needs["DrawGraphics`DrawingMaster`"]
f[x1_, x2_] := x1^2 + 4*x1*x2 + 3*x2^2
c[x1_, x2_] := x1^2 + x2^2 == 1
{maxvalue, xysols} = Maximize[{f[x, y], c[x, y]}, {x, y}];
mindomain =
First@Minimize[{f[x, y], -1.1 < x < 1.1 && -1.1 < y < 1.1}, {x, y}];
maxdomain =
First@Maximize[{f[x, y], -1.1 < x < 1.1 && -1.1 < y < 1.1}, {x, y}];
colorfun =
TwoColorScale[{mindomain, maxvalue,
maxdomain}, {ColorMix[Peacock, Black][0.5], Peacock,
ColorMix[Peacock, White][0.8], ColorMix[Melon, White][0.8], Melon,
ColorMix[Melon, Black][0.5]}];
Module[
{size = 1.1, xmax, ymax},
{xmax, ymax} = {x, y} /. xysols // N;
Draw2D[
{ContourDraw[f[x, y], {x, -size, size}, {y, -size, size},
ColorFunction -> colorfun, ColorFunctionScaling -> False,
Contours -> {0.001, 1, 2, 3, maxvalue, 5, 6, 7, 8, 9},
PlotPoints -> 100],
ImplicitDraw[c[x, y], {x, -size, size}, {y, -size, size},
PlotPoints -> 100],
CirclePoint[#, 4, Black, Red] & /@ {{xmax, ymax}, -{xmax, ymax}}},
AspectRatio -> Automatic,
PlotLabel ->
SequenceForm["\tMaximizing ", f[x, y], ", on ", c[x, y],
"\n\t\t\tMaximum value: ", maxvalue],
TextStyle -> {FontSize -> 12, FontWeight -> "Bold"},
Frame -> True,
ImageSize -> 500]
];
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
From: Uwe Ziegenhagen [mailto:newsgroup at ziegenhagen.info]
To: mathgroup at smc.vnet.net
Hi,
I want to maximize
x1^2 + 4*x1*x2 + 3*x2^2 (eq.1)
under the constraint
x1^2 + x2^2 == 1 (eq. 2)
So far no problem, Maximize gives me 2 + sqrt(5)
But how can I display this visually?
For eq. 1 I can use Plot3D[], for eq. 2 ImplicitPlot[] but how to have
them in one picture?
Thanks in advance,
Uwe