Esimerkki 28
Ensiksi yksinkertainen esimerkki numero 28: lasketaan funktion
(x1 + x2)2 +
(x2 + x3)2
ääriarvot rajoitusehdolla
x1 + 2x2 + 3x3 - 1 = 0.
> lagr((x1+x2)^2+(x2+x3)^2, x1+2*x2+3*x3-1, [], verbose);
The equations are:
[2*x1+2*x2-lambda_[1], 2*x1+4*x2+2*x3-2*lambda_[1], 2*x2+2*x3-3*lambda_[1], -x1
-2*x2-3*x3+1]
The Groebner bases are:
[[2*x1-1, 2*x2+1, 2*x3-1, lambda_[1]]]
The critical points are:
{{x2 = -1/2, x1 = 1/2, x3 = 1/2}}
Maximum point, maximum value, minimum point, minimum value:
[{x2 = -1/2, x1 = 1/2, x3 = 1/2}, 0, {x2 = -1/2, x1 = 1/2, x3 = 1/2}, 0]
Tässä tapauksessa kriittisiä pisteitä on vain yksi.
Äärettömyydessä selvästi kohdefunktio lähestyy ääretöntä, joten kyseessä
on minimi.
Esimerkki 27
Lasketaan funktion
0,01(x1 - 1)2 +
(x2 - x12)2
ääriarvot rajoitusehdolla
x1 + x32 + 1 = 0.
> lagr(0.01*(x1-1)^2+(x2-x1^2)^2, x1+x3^2+1, [], verbose);
The equations are:
[.2e-1*x1-.2e-1-4*(x2-x1^2)*x1-lambda_[1], 2*x2-2*x1^2, -2*lambda_[1]*x3, -x1-
x3^2-1]
Error, (in factor/factor) floats not handled
Koska Groebner-kanta-menetelmä on "tarkka" menetelmä, liukulukuja ei voi
käyttää. Muutetaan kerroin 0,01 murtoluvuksi:
> lagr((x1-1)^2/100+(x2-x1^2)^2, x1+x3^2+1, [], verbose);
The equations are:
[1/50*x1-1/50-4*(x2-x1^2)*x1-lambda_[1], 2*x2-2*x1^2, -2*lambda_[1]*x3, -x1-x3^
2-1]
The Groebner bases are:
[[x1+1, x2-1, x3, 1+25*lambda_[1]], [x1-1, x2-1, 2+x3^2, lambda_[1]]]
The critical points are:
{{x2 = 1, x1 = -1, x3 = 0}, {x1 = 1, x2 = 1, x3 = I*2^(1/2)}, {x1 = 1, x2 = 1,
x3 = -I*2^(1/2)}}
Maximum point, maximum value, minimum point, minimum value:
1/2
[{x2 = 1, x1 = -1, x3 = 0}, 1/25, {x1 = 1, x2 = 1, x3 = I 2 }, 0]
Raja-arvo äärettömyydessä on tässäkin ääretön. Minimi on siis 0.
Esimerkki 26
Lähes yhtä yksinkertaisen näköinen esimerkki 26, funktion
(x1 - x2)2 +
(x2 - x3)4
ääriarvojen laskeminen rajoitusehdolla
(1 + x22)x1 + x34
- 3 = 0,
puolestaan ei ratkennut kolmessa CPU-tunnissa cypressillä.
> lagr((x1-x2)^2+(x2-x3)^4, (1+x2^2)*x1+x3^4-3,[],verbose);
The equations are:
[2*x1-2*x2-lambda_[1]*(1+x2^2), -2*x1+2*x2+4*(x2-x3)^3-2*lambda_[1]*x1*x2, -4*(
x2-x3)^3-4*lambda_[1]*x3^3, -(1+x2^2)*x1-x3^4+3]
Jos lasku keskeytetään, saadaan fsolvella yksi ratkaisu, jossa kohdefunktio
saavuttaa ilmeisen miniminsä, nollan:
> fsolve({2*x1-2*x2-lambda_[1]*(1+x2^2),
-2*x1+2*x2+4*(x2-x3)^3-2*lambda_[1]*x2*x1,
-4*(x2-x3)^3-4*lambda_[1]*x3^3, -(1+x2^2)*x1-x3^4+3});
{x1 = 1., x2 = 1., x3 = 1., lambda_[1] = 0}
Tehtävällä on kuitenkin myös toinen minimikohta,
x1 = x2 = x3 = (a-b)1/3 - (a+b)1/3 - 2/3,
missä
a = (139/108)1/2, b = 61/54,
jossa kohdefunktio saa arvon nolla. [4]
Esimerkki 78
Monimutkaisempi tehtävä, funktion
x1x2x3x4x5
optimoiminen rajoitusehdoilla
x12 + x22 + x32 + x42 + x52 - 10 = 0
x2x3 - 5x4x5 = 0
x13 + x23 + 1 = 0
ei myöskään ottanut ratketakseen kohtuullisessa ajassa.
> lagr(x1*x2*x3*x4*x5, [x1^2+x2^2+x3^2+x4^2+x5^2-10, x2*x3-5*x4*x5,
x1^3+x2^3+1],[],verbose);
The equations are:
[x1*x2*x4*x5-2*lambda_[1]*x3-lambda_[2]*x2, x2*x3*x4*x5-2*lambda_[1]*x1-3*
lambda_[3]*x1^2, x1*x3*x4*x5-2*lambda_[1]*x2-lambda_[2]*x3-3*lambda_[3]*x2^2,
x1*x2*x3*x5-2*lambda_[1]*x4+5*lambda_[2]*x5, x1*x2*x3*x4-2*lambda_[1]*x5+5*
lambda_[2]*x4, -x1^2-x2^2-x3^2-x4^2-x5^2+10, -x2*x3+5*x4*x5, -x1^3-x2^3-1]
Esimerkki 79
Neliöjuurilausekkeen sisältänyt tehtävä, funktion
(x1 - 1)2 + (x1 - x2)2 + (x2 - x3)2 + (x3 - x4)4 + (x4 - x5)4
ääriarvojen hakeminen rajoitusehdoilla
x1 + x22 + x33 - 2 - 3(21/2) = 0
x2 - x32 + x4 + 2 - 2(21/2) = 0
x1x5 - 2 = 0
ei sekään onnistunut:
> hs79f:=(x1-1)^2+(x1-x2)^2+(x2-x3)^2+(x3-x4)^4+(x4-x5)^4;
2 2 2 4 4
hs79f := (x1 - 1) + (x1 - x2) + (x2 - x3) + (x3 - x4) + (x4 - x5)
> fs79g:=[x1+x2^2+x3^3-2-3*sqrt(2), x2-x3^2+x4+2-2*sqrt(2), x1*x5-2];
2 3 1/2 2 1/2
fs79g := [x1 + x2 + x3 - 2 - 3 2 , x2 - x3 + x4 + 2 - 2 2 , x1 x5 - 2]
> lagr(hs79f,fs79g,[],verbose);
The equations are:
[-4*(x3-x4)^3+4*(x4-x5)^3-lambda_[2], 4*x1-2-2*x2-lambda_[1]-lambda_[3]*x5, -2*
x1+4*x2-2*x3-2*lambda_[1]*x2-lambda_[2], -2*x2+2*x3+4*(x3-x4)^3-3*lambda_[1]*x3
^2+2*lambda_[2]*x3, -4*(x4-x5)^3-lambda_[3]*x1, -x1-x2^2-x3^3+2+3*2^(1/2), -x2+
x3^2-x4-2+2*2^(1/2), -x1*x5+2]
Tehtävä 35
Tämä ns. Bealen probleema, funktion
9 - 8x1 - 6 x2 - 4x3 + 2x1x2 + 2x2x2 + x3x2 + 2x1x2 + 2x1x3
optimoiminen rajoitusehdoilla
3 - x1 - x2 - 2x3 >= 0
0 =< xi, i = 1, 2, 3
sisältää epäyhtälörajoituksia, eikä Lagrangen menetelmä tule nyt
kyseeseen. Koska lähdeteoksesta nähdään, että optimi löytyy tasolta
(1) 3 - x1 - x2 - 2x3 = 0
muutetaan rajoitusehtoja: vaaditaan ainoastaan ehto (1).
> hs35f:=9-8*x1-6*x2-4*x3+2*x1^2+2*x2^2+x3^2+2*x1*x2+2*x1*x3;
2 2 2
hs35f := 9 - 8 x1 - 6 x2 - 4 x3 + 2 x1 + 2 x2 + x3 + 2 x1 x2 + 2 x1 x3
> hs35g:=3-x1-x2-2*x3;
hs35g := 3 - x1 - x2 - 2 x3
> lagr(hs35f, hs35g, [], verbose);
The equations are:
[-8+4*x1+2*x2+2*x3+lambda_[1], -4+2*x3+2*x1+2*lambda_[1], -6+4*x2+2*x1+lambda_[
1], -3+x1+x2+2*x3]
The Groebner bases are:
[[3*x1-4, 9*x3-4, 9*x2-7, 9*lambda_[1]-2]]
The critical points are:
{{x1 = 4/3, x3 = 4/9, x2 = 7/9}}
Maximum point, maximum value, minimum point, minimum value:
[{x1 = 4/3, x3 = 4/9, x2 = 7/9}, 1/9, {x1 = 4/3, x3 = 4/9, x2 = 7/9}, 1/9]
Esimerkki 52
Etsitään nyt funktion
(4x1 - x2)2 + (x2 + x3 - 2)2 + (x4 - 1)2 + (x5 - 1)2
rajoitusehdoilla
x1 + 3x2 = 0
x3 + x4 - 2x5 = 0
x2 - x5 = 0.
> hs52f:=(4*x1-x2)^2+(x2+x3-2)^2+(x4-1)^2+(x5-1)^2;
2 2 2 2
hs52f := (4 x1 - x2) + (x2 + x3 - 2) + (x4 - 1) + (x5 - 1)
> hs52g:=[x1+3*x2, x3+x4-2*x5, x2-x5];
hs52g := [x1 + 3 x2, x3 + x4 - 2 x5, x2 - x5]
> lagr(hs52f, hs52g, [], verbose);
The equations are:
[32*x1-8*x2-lambda_[1], 2*x2+2*x3-4-lambda_[2], -8*x1+4*x2+2*x3-4-3*lambda_[1]-
lambda_[3], 2*x4-2-lambda_[2], 2*x5-2+2*lambda_[2]+lambda_[3], -x1-3*x2, -x3-x4
+2*x5, -x2+x5]
The Groebner bases are:
[[349*x1+33, 349*x3-180, 349*x2-11, 349*x4+158, 349*x5-11, 349*lambda_[1]+1144
, 349*lambda_[2]+1014, -2704+349*lambda_[3]]]
The critical points are:
{{x4 = -158/349, x3 = 180/349, x5 = 11/349, x2 = 11/349, x1 = -33/349}}
Maximum point, maximum value, minimum point, minimum value:
158 180 11 11 33 1859
[{x4 = - ---, x3 = ---, x5 = ---, x2 = ---, x1 = - ---}, ----,
349 349 349 349 349 349
158 180 11 11 33 1859
{x4 = - ---, x3 = ---, x5 = ---, x2 = ---, x1 = - ---}, ----]
349 349 349 349 349 349
Eiköhän jo alkaisi olla yhteenvedon
aika.
Kenrick Bingham
18.5.1996