Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr...

49
redn´aˇ ska ´ U-Opt, February 19, 2006:1324 Petr Lachout 1 ´ Uvod do optimalizace Prof. RNDr. Jitka Dupaˇ cov´ a, DrSc. Doc. RNDr. Petr Lachout, CSc. KPMS MFF UK Verze 19. ´ unora 2006

Transcript of Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr...

Page 1: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 1

Uvod do optimalizace

Prof. RNDr. Jitka Dupacova, DrSc.

Doc. RNDr. Petr Lachout, CSc.

KPMS MFF UK

Verze 19. unora 2006

Page 2: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

2

Page 3: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Obsah

1 Uvod 5

2 Optimalizace jako matematicka uloha 72.1 Funkce jedne promenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Funkce vıce promennych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Konvexnı mnoziny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4 Konvexnı funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5 Obecna formulace optimalizacnıch uloh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6 Optimalizace kolem nas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Linearnı programovanı 133.1 Uloha LP a jejı graficke resenı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2 Formulace a zapis ulohy LP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 Vlastnosti ulohy LP ve standardnım tvaru . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4 Zaklady simplexove metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.5 Dualita a jejı interpretace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.6 Farkasova veta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.7 Ekonomicka interpretace duality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.8 Poznamky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4 Symetricka uloha NLP 274.1 Podmınky optimality pro symetricke ulohy NLP . . . . . . . . . . . . . . . . . . . . . . . 274.2 Podmınky regularity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.3 Citlivost ulohy NLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.4 Uloha kvadratickeho programovanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5 Dopravnı problem 31

6 Vypocetnı algoritmy pro optimalizacnı ulohy 336.1 Strucny prehled algoritmu pro NLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.2 Metoda secne (operne) nadroviny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.3 Zobecnenı gradientnıch metod na ulohy s omezenımi . . . . . . . . . . . . . . . . . . . . . 366.4 Prevedenı uloh NLP na ulohy hledanı volneho minima . . . . . . . . . . . . . . . . . . . . 38

7 Teorie her 417.1 Maticove hry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Literatura 47Index 48

3

Page 4: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

4

Page 5: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Kapitola 1

Uvod

V teto prednasce se budeme venovat hledanı extremu dane funkce na zadane mnozine. Jde nam o charak-terizaci bodu maxima a minima (matematicka analyza) a take o jejich urcenı (numericka matematika).

Uved’me si nekolik prıkladu z praxe na optimalizacnı ulohu.

Prıklad 1: Lyzarska oblast ”mısa” ma hezky teren, ale jsou tam casto mlhy. Chata je v dolıku a chatarpoustı pri mlze hlasite hudbu, aby lyzari nezabloudili. Hluchemu lyzari to nepomuze. Rozhodl se k navratudo chaty vzdy po nejstrmejsım svahu. Vyjde mu jeho strategie?

4

Prıklad 2: Horolezec se pohybuje v pro neho neznamem pohorı. Chtel by vystoupit na jeho nejvyssıhoru. Stacı mu k tomu lezti vzhuru ve smeru nejvetsıho spadu?

4

Prıklad 3: Merenı a hledanı nejvetsı hloubky v jezere.4

Prıklad 4: Podnikatel chce maximalizovat svuj zisk.4

Casto je vsak treba optimalizovat vıce ukazatelu najednou.

Prıklad 5: Podnikatel chce maximalizovat svuj vynos a minimalizovat sve naklady.4

Pri optimalizacnıch ulohach se muzeme take setkat s vyznamnym vlivem nahody.

Prıklad 6: Optimalizace portfolia na burze pri zadanem objemu pocatecnıho kapitalu. Ukolem je maxi-malizovat vynos a minimalizovat riziko.

4V prednasce se budeme zabyvat vyhradne optimalizacı deterministickych uloh, ktere jsou zakladnım

kamenem cele teorie optimalizace. Pokud jsou v uloze prıtomny i jine vlivy, jako je nahodnost, neurcitost,riziko, nebo je zapotrebı optimalizovat vıce ukazatelu naraz, pak existujı postupy, jak takove ulohy resitresenım vhodne prirazenych deterministickych uloh. To je vsak jiz predmetem jinych specializovanychprednasek.

5

Page 6: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

6

Page 7: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Kapitola 2

Optimalizace jako matematickauloha

U realnych funkcı rozlisujeme dva typy extremu. Jsou to minimum a maximum. Pricemz kazdy z nichmuze mıt povahu lokalnı nebo globalnı. Uved’me si presne definice.

Definice 1: Necht’ f : X → R, kde ∅ 6∈ X ⊂ Rn. Rekneme, ze funkce f ma v bode x∗ ∈ X• lokalnı minimum, jestlize existuje δ > 0:

∀x ∈ X , 0 < |x− x∗| < δ ⇒ f(x) ≥ f(x∗), (2.1)

• ostre lokalnı minimum, jestlize existuje δ > 0:

∀x ∈ X , 0 < |x− x∗| < δ ⇒ f(x) > f(x∗), (2.2)

• lokalnı maximum, jestlize existuje δ > 0:

∀x ∈ X , 0 < |x− x∗| < δ ⇒ f(x) ≤ f(x∗), (2.3)

• ostre lokalnı maximum, jestlize existuje δ > 0:

∀x ∈ X , 0 < |x− x∗| < δ ⇒ f(x) < f(x∗), (2.4)

• globalnı minimum, jestlize:∀x ∈ X ⇒ f(x) ≥ f(x∗), (2.5)

• ostre globalnı minimum, jestlize:

∀x ∈ X ⇒ f(x) > f(x∗), (2.6)

• globalnı maximum, jestlize:∀x ∈ X ⇒ f(x) ≤ f(x∗), (2.7)

• ostre globalnı maximum, jestlize:

∀x ∈ X ⇒ f(x) < f(x∗), (2.8)

2.1 Funkce jedne promenne

Hledame extremy funkce jedne promenne na cele realne prımce nebo na dane mnozine. Jde nam o charak-terizaci bodu maxima a minima (matematicka analyza) a take o jejich urcenı (numericka matematika).Pripomenme si znamou vetu.

7

Page 8: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

8

Veta 1: Necht’ f : D → R, kde D ⊂ R. Jestlize v bode x∗ ∈ int (D) existuje derivace f ′(x∗) a je ruznaod nuly, pak funkce f nema v bode x∗ ani lokalnı maximum ani lokalnı minimum.

Jinymi slovy, pro funkci, ktera ma vsude derivace, je podmınka f ′(x∗) = 0 nutna proto, aby mohlamıt v bode x∗ ∈ int (D) lokalnı extrem. Tento fakt muzeme vyuzıt pri hledanı lokalnıch i globalnıchextremu, jak ukazuje nasledujıcı prıklad.

Prıklad 7: Hledame globalnı a lokalnı extremy funkce f(x) = 1/4x4 − 5x3 + 27x2 − 40x na cele realneprımce.

Nejdrıve si uvedomme, ze f ′(x) = x3 − 15x2 + 54x− 40 = (x− 1)(x− 4)(x− 10).Podle vety 1 jen body 1, 4 a 10 mohou byt body lokalnıch nebo globalnıch extremu. Pouze v nich je

totiz derivace uvazovane funkce nulova.Podıvejme se nynı na znamenko derivace. V intervalu (−∞, 1) je zaporna, v intervalu (1, 4) je kladna,

v intervalu (4, 10) je zaporna a v intervalu (10, +∞) je kladna.Pro uvazovanou funkci to znamena, ze je klesajıcı na (−∞, 1), rostoucı na (1, 4), klesajıcı na (4, 10) a

rostoucı na (10, +∞). To znamena, ze body 1 a 10 jsou body lokalnıch minim a bod 4 je bod lokalnıhomaxima.

S globalnımi extremy je to nasledne. Bod 10 je globalnım minimem nebot’ f(1) = −17 − 3/4 af(10) = −200. Globalnı maximum funkce na cele realne prımce nema. Je to proto, ze pri velkych imalych hodnotach funkcnı hodnoty rostou nad vsechny meze.

4

Prıklad 8: Hledame globalnı a lokalnı extremy funkce f(x) = 1/4x4 − 5x3 + 27x2 − 40x na intervalu[0, 20].

Pouzijeme-li vysledky z predchozıho prıkladu a spocteme-li, ze f(4) = 16 a f(20) = 40800, pakzjist’ujeme, ze funkce ma lokalnı minima v bodech 1 a 10, lokalnı maxima v bodech 4 a 20. Globalnıminimum ma opet v bode 10 a globalnı maximum je v bode 20.

4

Prıklad 9: Hledame globalnı a lokalnı extremy funkce f(x) = 1/4x4 − 5x3 + 27x2 − 40x na intervalu(0, 20).

Pouzijeme-li vysledky z predchozıho prıkladu, pak zjist’ujeme, ze funkce ma lokalnı minima v bodech1 a 10, lokalnı maximum v bode 4. Globalnı minimum ma opet v bode 10 a globalnı maximum funkcenema nebot’ funkcnı hodnoty blızko bodu 20 jsou vetsı nezli v bode 4.

4Pripomenme si jeste jednu vetu z matematicke analyzy.

Veta 2: Spojita funkce jedne promenne ma na omezenem uzavrenem intervalu globalnı maximum iglobalnı minimum.

2.2 Funkce vıce promennych

Podobne lze postupovat pro funkce vıce promennych, zpravidla funkce na Rn. Podle potreby budemepouzıvat tucna pısmena na oznacenı n-tice promennych, tj. x = (x1, . . . , xn) nebo sloupcoveho vektoruo slozkach x1, . . . , xn.

Veta 3: Necht’ f : D → R, kde D ⊂ Rn. Jestlize v bode x∗ = (x∗1, . . . , x∗n) ∈ int (D) aspon pro jeden

index j, 1 ≤ j ≤ n, existuje nenulova parcialnı derivace ∂f∂xj

(x∗), pak f v bode x∗ nenabyva ani lokalnıho

maxima ani lokalnıho minima.

Uved’me si jeste obecny tvar vety 2.

Veta 4: Spojita funkce f : D → R, kde D ⊂ Rn je omezena uzavrena mnozina, nabyva na mnozine Dsveho globalnıho maxima i globalnıho minima.

Omezıme se vetsinou na funkce, ktere majı derivace a pro ktere jsou lokalnı minima (maxima) globalnı.Poslednı vlastnost majı konvexnı (konkavnı) funkce.

Page 9: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 9

2.3 Konvexnı mnoziny

Nejdrıve se musıme seznamit s konvexnımi mnozinami v konecne dimenzionalnım Eukleidovskem pro-storu. Pozdeji vyuzijeme radu jejich vlastnostı.

Definice 2: Mnozina X ⊂ Rn se nazyva konvexnı, jestlize s kazdymi dvema body obsahuje take vsechnyjejich konvexnı linearnı kombinace, tj. pro kazde x,y ∈ X a λ ∈ (0, 1) je take λx + (1− λ)y ∈ X .

Poznamenejme, ze prazdna mnozina je z definice take konvexnı.Jako prıklad konvexnı mnoziny si muzeme uvest kruh, ctverec, obdelnık, prımku, poloprımku, usecku,

atd. Nekonvexnımi mnozinami jsou kruznice, obvod ctverce, doplnek ctverce, doplnek kruhu, atd.Pro specialnı konvexnı mnoziny budeme pouzıvat nasledujıcı nazvoslovı.

Definice 3: Pro specialnı konvexnı mnoziny budeme pouzıvat:

• nadrovina, lze-li ji zapsat jako{x ∈ Rn

∣∣ a>x = c};

• uzavreny poloprostor, lze-li ji zapsat jako{x ∈ Rn

∣∣ a>x ≥ c};

• otevreny poloprostor, lze-li ji zapsat jako{x ∈ Rn

∣∣ a>x > c};

• konvexnı polyedricka mnozina, je-li prunikem konecne mnoha uzavrenych poloprostoru;

• konvexnı polyedr, je-li omezenou konvexnı polyedrickou mnozinou;

• kuzel je mnozina K ⊂ Rn, ktera obsahuje pocatek, tj. 0 ∈ K, a nezaporne nasobky svych prvku,tj. ∀x ∈ K, α ≥ 0 je take αx ∈ K;

• konvexnı kuzel je mnozina K ⊂ Rn, ktera obsahuje pocatek, tj. 0 ∈ K, a s kazdymi dvema bodyobsahuje take vsechny jejich pozitivnı linearnı kombinace, tj. ∀x,y ∈ K, α ≥ 0, β ≥ 0 je takeαx + βy ∈ K;

• konvexnı polyedricky kuzel, je-li konvexnı kuzel a soucasne i konvexnı polyedricka mnozina.

Nektere mnozinove operace zachovavajı konvexitu mnozin.

Lemma 1: Necht’ A ⊂ Rn je konvexnı mnozina. Pak take clo (A), int (A), rint (A) jsou konvexnı mnoziny.

Lemma 2: Necht’ A ⊂ Rn je konvexnı mnozina a α ∈ R. Pak take αA = {αa | a ∈ A} je konvexnımnozina.

Lemma 3: Necht’ A,B ⊂ Rn jsou konvexnı mnoziny. Pak take

A + B = {a + b | a ∈ A, b ∈ B } , A−B = {a− b | a ∈ A, b ∈ B }jsou konvexnı mnoziny.

Lemma 4: Necht’ I je nejaka neprazdna indexova mnozina a Xα ⊂ Rn jsou konvexnı mnoziny pro kazdeα ∈ I. Potom take jejich prunik

⋂α∈I Xα je konvexnı mnozina.

Sjednocenı mnozin vsak konvexitu nezachovava. Predstavme si sjednocenı dvou kruhu o stejnychpolomerech ale ruznych stredech.

Zavadıme dve nove mnozinove operace.

Definice 4: Pro mnozinu A ⊂ Rn zavadıme

conv (A) =

{k∑

i=1

αiai

∣∣∣∣∣ α1 ≥ 0, . . . , αk ≥ 0,

k∑

i=1

αi = 1, a1 ∈ A, . . . , ak ∈ A, k ∈ N}

, (2.9)

pos (A) = {0} ∪{

k∑

i=1

αiai

∣∣∣∣∣ α1 ≥ 0, . . . , αk ≥ 0, a1 ∈ A, . . . , ak ∈ A, k ∈ N}

. (2.10)

Mnozina conv (A) se nazyva konvexnı obal mnoziny Aa pos (A) je nejmensı konvexnı kuzel obsahujıcı mnozinu A.

Page 10: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

10

Uvedomme si, ze z definice conv (∅) = ∅ a pos (∅) = {0}.Veta 5: Mnozina conv (A) je nejmensı konvexnı mnozina obsahujıcı mnozinu A a pos (A) je nejmensıkonvexnı kuzel obsahujıcı mnozinu A.

Mezi hranicnımi body mnoziny jsou nektere body a smery vyznacne.

Definice 5: Necht’ A ⊂ Rn je neprazdna mnozina. Pak bod a ∈ A nazyvame krajnı bod mnoziny A,pokud neexistuje dvojice bodu x,y ∈ A, x 6= y a 0 < α < 1 tak, aby a = αx + (1− α)y.

Definice 6: Necht’ K ⊂ Rn je kuzel. Pak smer a ∈ K, a 6= 0 nazyvame krajnım smerem kuzelu K,pokud neexistuje dvojice bodu x,y ∈ A, x,y /∈ pos (a) a α > 0, β > 0 tak, aby a = αx + βy.

Krajnı body muzeme charakterizovat i jinak.

Lemma 5: Necht’ A ⊂ Rn je neprazdna mnozina. Pak bod a ∈ A je krajnım bodem mnoziny A, pokudv kazdem smeru h ∈ Rn, h 6= 0 bud’ a + αh 6∈ A, ∀α > 0 a nebo a− αh 6∈ A, ∀α > 0.

Krajnı body plne charakterizujı konvexnı polyedry.

Veta 6: Neprazdny konvexnı polyedr ma konecne mnoho krajnıch bodu a je jejich konvexnım obalem.

Veta 7: Konvexnı polyedricky kuzel ma konecne mnoho krajnıch smeru a je nejmensım konvexnımkuzelem, ktery je obsahuje.

2.4 Konvexnı funkce

Definice 7: Necht’ je X ⊂ Rn konvexnı. Rekneme, ze je funkce f : X → R konvexnı, jestlize platı

(x(1),x(2) ∈ X , λ ∈ (0, 1)

)⇒ f(λx(1) + (1− λ)x(2)) ≤ λf(x(1)) + (1− λ)f(x(2)).

Rekneme, ze funkce f : X → R je konkavnı, jestlize −f je konvexnı funkce.

Lemma 6: Necht’ I ⊂ R je otevreny interval a funkce f : I → R je diferencovatelna v kazdem bode I,pak f je konvexnı funkce tehdy a jen tehdy, kdyz f ′ je neklesajıcı funkce na I.

Kdyz ma funkce druhe parcialnı derivace, pak o jejı konvexnosti rozhoduje matice druhych derivacı.

Lemma 7: Necht’ X ⊂ Rn je otevrena mnozina a funkce f : X → R ma druhe parcialnı derivacev kazdem bode X . Pak f je konvexnı funkce tehdy a jen tehdy, kdyz jejı matice druhych parcialnıch

derivacı ∇2x,xf (x) =

(∂2f

∂xi∂xj(x)

)je pozitivne semidefinitnı v kazdem bode x ∈ X .

Specialne, kdyz I ⊂ R je otevreny interval a funkce f : I → R je dvakrat diferencovatelna v kazdembode I, pak f je konvexnı funkce tehdy a jen tehdy, kdyz f ′′(x) ≥ 0 v kazdem bode x ∈ I.

Pro overenı, ze dana symetricka matice A je pozitivne semidefinitnı muzeme vyuzıt znama tvrzenı zlinearnı algebry.

Lemma 8: Symetricka matice A je pozitivne semidefinitnı tehdy a jen tehdy, kdyz determinanty vsechhlavnıch podmatic matice A jsou nezaporne.

Lemma 9: Symetricka matice A je pozitivne definitnı tehdy a jen tehdy, kdyz determinanty vsechhlavnıch rohovych podmatic matice A jsou kladne.

Page 11: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 11

Konvexnı funkce jsou charakterizovany nasledujıcı vlastnostı.

Lemma 10: Necht’ f : Rn → R ma gradient na Rn. Pak f je konvexnı, prave kdyz pro kazde x ∈ Rn

platıf(y) ≥ f(x) + (y − x)>∇xf (x) ∀y ∈ Rn. (2.11)

Dukaz:

1. Nutnost. Zvolme x,y ∈ Rn, oznacme h = y − x, ϕ(µ) = f(x + µh). Pak ϕ je konvexnı diferen-covatelna funkce jedne promenne a jejı derivace je ϕ′(µ) = h>∇xf (x + µh). Podle vety o strednıhodnote existuje θ ∈ (0, 1) tak, ze

f(y)− f(x) = ϕ(1)− ϕ(0) = ϕ′(θ) ≥ ϕ′(0) = h>∇xf (x)

platı tedy (2.11). (Pouzili jsme skutecnost, ze derivace konvexnı diferencovatelne funkce je neklesajıcıfunkce.)

2. Postacitelnost. Zvolme y, z ∈ Rn, λ ∈ (0, 1) a oznacme x = λy + (1 − λ)z. Podle predpokladuplatı (2.11):

f(y)− f(x) ≥ (y − x)>∇xf (x)f(z)− f(x) ≥ (z− x)>∇xf (x)

Odtud

λf(y) + (1− λ)f(z) ≥ f(x) + [λ(y − x) + (1− λ)(z− x)]>∇xf (x) = f(x) = f(λy + (1− λ)z).

Podle definice 7 je f konvexnı.

Q.E.D.

Konvexnı funkce majı vzhledem k minimalizaci jednu uzitecnou vlastnost.

Veta 8: Necht’ je X ⊂ Rn konvexnı a necht’ f : X → R je konvexnı funkce. Pak kazde jejı lokalnıminimum je minimem globalnım.

Dukaz: Necht’ je v bode x lokalnı minimum funkce f na X . To znamena, ze x ∈ X a existuje ε > 0 tak,ze platı

f(x) ≤ f(x) ∀x ∈ X , |x− x| < ε.

Necht’ ale nejde o globalnı minimum, tj. necht’ existuje x∗ ∈ X , f(x) > f(x∗). Uvazujme body y na useccespojujıcı x a x∗. Jsou tedy tvaru y = λx + (1 − λ)x∗ pro nejake λ ∈ [0, 1]. Vsechny tyto body lezı vmnozine X , nebot’ mnozina X je konvexnı. Pro body y, ktere nejsou krajnımi body teto usecky platı

f(y) = f(λx + (1− λ)x∗) ≤ λf(x) + (1− λ)f(x∗) < f(x) ∀λ ∈ (0, 1) (2.12)

Necht’ bod y lezı v prusecıku okolı U(x, ε) a teto usecky. Lezı tedy v okolı U(x, ε) bodu lokalnıho minimax a pritom i pro nej platı (2.12), coz je spor.

Q.E.D.

Pro hledanı extremu na uzavrene mnozine X ∈ Rn nestacı vety 1 nebo 3. Je treba zvlast’ osetrithranici mnoziny X , jak ukazujı prıklady v kapitole 2.1.

2.5 Obecna formulace optimalizacnıch uloh

Matematicka formulace a specifikace cıle daneho zadavatelem, omezenı danych systemem, diskuse alter-nativnıch zadanı vede k sestavenı obecneho matematickeho modelu.

Uloha nelinearnıho programovanı (NLP) (casto se tez pouzıva termın uloha matematickehoprogramovanı (MP)) je uloha

minimalizovat (maximalizovat) funkci f(x1, . . . , xn)

Page 12: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

12

na mnozine resenı soustavy rovnic a nerovnostı

gk(x1, . . . , xn) ≤ 0, k = 1, . . . ,m (2.13)hj(x1, . . . , xn) = 0, j = 1, . . . , p. (2.14)

Rozeznavame nekolik zakladnıch typu ulohy (NLP).

• Pokud jsou vsechny funkce f, gk, hj linearnı, jde o ulohu linearnıho programovanı (LP).

• Mluvıme o uloze konvexnıho programovanı, pokud se bud’ jedna o minimalizaci a f, gk jsoukonvexnı a hj jsou linearnı, nebo se jedna o maximalizaci a f je konkavnı, gk jsou konvexnı a hj

jsou linearnı.

• Mluvıme o uloze kvadratickeho programovanı, pokud f je kvadraticka a gk, hj jsou linearnı.

Uloha konvexnıho programovanı ma prıjemne vlastnosti.

Veta 9: Necht’ jsou funkce gk,∀k konvexnı a funkce hj , ∀j linearnı. Pak je mnozina vsech resenı soustavy(2.13), (2.14) konvexnı.

Dukaz: Z definic 2 a 7. (!! Prazdna mnozina je konvexnı!!)Q.E.D.

Veta 10: Necht’ je dana uloha konvexnıho programovanı pro minimalizaci. Pak kazde jejı lokalnı minimumje zaroven globalnım minimem.

Dukaz: Z vety 9 vıme, ze minimalizujeme konvexnı funkci na konvexnı mnozine. Proto bezprostredne zvety 8 dostavame, ze lokalnı minimum je minimem globalnım.

Q.E.D.

2.6 Optimalizace kolem nas

Optimalizacnı ulohy prirozene vznikajı pri rızenı slozitych systemu pri hledanı optimalnıho rozhodnutı.Jako prıklady si muzeme uvest: dopravnı problem; pridelovacı problem; smesovacı ulohy; sestavovanırozvrhu ve skole; rozhodovanı o investicıch; sestavovanı optimalnıho vyrobnıho programu; prokladanıregresnı funkce namerenymi hodnotami; atd.

Uved’me si strucny historicky prehled vyvoje teto problematiky.

• teoreticka mechanika (Laplace, Fourier) - 1888;

• soustavy nerovnostı (Farkas)- 1902;

• linearnı programovanı (Kantorovic, Koopmans, Dantzig) - 2. svetova valka;

• nelinearnı programovanı (Kuhn, Tucker, ...) - 1956;

Soucasnym trendem je studium slozitejsıch typu rozhodovacıch uloh - stochasticka a vektorova opti-malizace, celocıselne a dynamicke programovanı.

Page 13: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Kapitola 3

Linearnı programovanı

V teto kapitole vylozıme teorii linearnıho programovanı.

3.1 Uloha LP a jejı graficke resenı

Prıklad 10: Uvazujme ulohu

minimalizovat x1 − x2,

za podmınek 2x1 + x2 ≥ 2,

−3x1 + 2x2 ≤ 6,

x1 + x2 ≤ 4,

x1 ≥ 0, x2 ≥ 0.

Mnozina prıpustnych resenı je mnozina

M = {(x1, x2) | 2x1 + x2 ≥ 2, −3x1 + 2x2 ≤ 6, x1 + x2 ≥ 4, x1 ≥ 0, x2 ≥ 0} .

Jedna se o konvexnı petiuhelnık s vrcholy(10

),(40

),( 2

5185

),(03

),(02

); viz obrazek c.3.1.

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

M

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

−1 0 1 2 3 4 5 6−1

0

1

2

3

4

5

6

M

Obrazek 3.1: Mnozina M z prıkladu 10

Vyneseme-li si rovnobezky x1 − x2 = k pro k = 0,−1,−2, zjistıme, ze funkce f(x1, x2) = x1 − x2

nabyva sveho minima na mnozine M v bode( 2

5185

).

13

Page 14: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

14

Optimalnı resenı dane ulohy je tedy x1 = 25 , x2 = 18

5 a optimalnı hodnota ucelove funkce je

x1 − x2 =25− 18

5= −16

5.

4

Prıklad 11: Uvazujme ulohu

minimalizovat x1 − x2,

za podmınek 2x1 + x2 ≥ 2,

−3x1 + 2x2 ≤ 6,

x1 + x2 ≤ −1,

x1 ≥ 0, x2 ≥ 0.

Mnozina prıpustnych resenı je mnozina

M = {(x1, x2) | 2x1 + x2 ≥ 2, −3x1 + 2x2 ≤ 6, x1 + x2 ≤ −1, x1 ≥ 0, x2 ≥ 0} = ∅.

Uloha tedy nema zadne prıpustne resenı a tım padem nema ani zadne optimalnı resenı.4

Prıklad 12: Uvazujme ulohu

minimalizovat x1 − x2,

za podmınek 2x1 + x2 ≥ 2,

−3x1 + 2x2 ≤ 6,

x1 ≥ 0, x2 ≥ 0.

Mnozina prıpustnych resenı

M = {(x1, x2) | 2x1 + x2 ≥ 2, −3x1 + 2x2 ≤ 6, x1 ≥ 0, x2 ≥ 0}

je neomezena. Vsechny rovnobezky x1 − x2 = k pro k = 1,−1,−2,−3, . . . . majı s M neprazdny prunik.To znamena, ze funkcnı hodnoty ucelove funkce na M neomezene klesajı. Proto uloha nema optimalnıresenı.

4

Prıklad 13: Uvazujme ulohu

minimalizovat 2x1 − x2,

za podmınek 2x1 + x2 ≥ 2,

−3x1 + 2x2 ≤ 6,

x1 ≥ 0, x2 ≥ 0.

Vıme, ze mnozina prıpustnych resenı

M = {(x1, x2) | 2x1 + x2 ≥ 2, −3x1 + 2x2 ≤ 6, x1 ≥ 0, x2 ≥ 0}

je neomezena. Z obrazku pak zjistıme, ze uloha ma optimalnı resenı x1 = 0, x2 = 3 a optimalnı hodnotaucelove funkce −3.

4

Page 15: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 15

Prıklad 14: Uvazujme ulohu

minimalizovat 3x1 − 2x2,

za podmınek 2x1 + x2 ≥ 2,

−3x1 + 2x2 ≤ 6,

x1 ≥ 0, x2 ≥ 0.

Z grafickeho znazornenı ulohy zjistıme, ze optimalnı hodnota ucelove funkce −6 a nabyva se jı ve vsechbodech tvaru x1 = 2

5λ, x2 = 3 + 35λ pro λ ≥ 0.

4

Prıklad 15: Uvazujme ulohu

minimalizovat 3x1 − 2x2,

za podmınek 2x1 + x2 ≥ 2,

−3x1 + 2x2 ≤ 6,

x1 + x2 ≤ 4,

x1 ≥ 0, x2 ≥ 0.

Z grafickeho znazornenı ulohy zjistıme, ze optimalnı hodnota ucelove funkce −6 a nabyva se jı ve vsechbodech tvaru x1 = 2

5λ, x2 = 3 + 35λ pro 0 ≤ λ ≤ 1.

4

3.2 Formulace a zapis ulohy LP

Uloha LP ve smısenem tvaru

minimalizovat (maximalizovat) c>x

za podmınek a>j x ≥ bj pro kazde j ∈ J≥,

a>j x ≤ bj pro kazde j ∈ J≤,

a>j x = bj pro kazde j ∈ J=,

xi ≥ 0 pro kazde i ∈ I≥,

xi ≤ 0 pro kazde i ∈ I≤,

xi ∈ R pro kazde i ∈ I∈,

(3.1)

kde I≥ ∪ I≤ ∪ I∈ = {1, 2, . . . , n}, J≥ ∪ J≤ ∪ J= = {1, 2, . . . ,m} jsou disjunktnı rozklady indexu.

Pro vypocetnı algoritmus a pro teoreticke uvahy jsou dulezite ulohy ve specialnıch tvarech.

Uloha LP ve standardnım tvaru

minimalizovat c>x

za podmınek a>j x = bj pro kazde j = 1, 2, . . . , m,

xi ≥ 0 pro kazde i = 1, 2, . . . , n.

(3.2)

Uloha LP je ve tvaru nerovnostı, jsou-li vsechny promenne nezaporne a omezenı jsou pouze ve tvarunerovnostı. Naprıklad

minimalizovat c>x

za podmınek a>j x ≥ bj pro kazde j = 1, 2, . . . , m,

xi ≥ 0 pro kazde i = 1, 2, . . . , n.

(3.3)

Page 16: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

16

Ulohu LP ve smısenem tvaru lze vzdy prevest na ulohu LP ve standardnım tvaru. Vzdy ji take lzeprevest na ulohu LP ve tvaru nerovnostı.

K prevodu se pouzıvajı nasledujıcı upravy:

• minx∈M

f(x) = −maxx∈M

−f(x).

• Nerovnost aj,1x1 +aj,2x2 + . . .+aj,nxn ≤ bj prevedeme na rovnost pridanım skluzove promennevj ≥ 0 tak, ze aj,1x1 + aj,2x2 + . . . + aj,nxn + vj = bj .

• Nerovnost aj,1x1 +aj,2x2 + . . .+aj,nxn ≥ bj prevedeme na rovnost pridanım skluzove promennevj ≥ 0 tak, ze aj,1x1 + aj,2x2 + . . . + aj,nxn − vj = bj .

• Rovnost aj,1x1 + aj,2x2 + . . . + aj,nxn = bj prevedeme na dve nerovnostiaj,1x1 + aj,2x2 + . . . + aj,nxn ≤ bj , aj,1x1 + aj,2x2 + . . . + aj,nxn ≥ bj .

• Promennou bez omezenı xi ∈ R rozdelıme na dve promenne xi = xi+ − xi−, kde xi+ ≥ 0, xi− ≥ 0.(Zde je treba poznamenat, ze tyto promenne nejsou kladnou a zapornou castı promenne xi. Mohoubyt obe zaroven kladne!!)

3.3 Vlastnosti ulohy LP ve standardnım tvaru

V tomto odstavci se budeme zabyvat ulohou LP ve standardnım tvaru, tj. ulohou (3.2). Tato uloha mamnozinu prıpustnych resenı

M = {x ∈ Rn | Ax = b,x ≥ 0} , (3.4)

kde A je matice dimenze (m,n),m < n a hodnost A je m. (Tım jsou jiz urceny dimenze vektoru b,x.)

Veta 11: Mnozina prıpustnych resenı ulohy LP ve standardnım tvaru (3.4) je konvexnı polyedrickamnozina; specialne je konvexnı a uzavrena.

Dukaz: Dukaz je snadny. Tato mnozina je evidentne prunikem konecneho poctu uzavrenych poloprostoru.Q.E.D.

Veta 12: Mnozina (3.4) je bud’ prazdna nebo je tvaru algebraickeho souctu

M = P +K (3.5)

kde P je konvexnı polyedr a mnozina

K = {y ∈ Rn | Ay = 0, y ≥ 0} je konvexnı polyedricky kuzel. (3.6)

Definice 8: Oznacme si sloupce matice A jmenem promenne, ke ktere prıslusejı, tj. A = (Ax1 ,Ax2 , . . . ,Axn).Vyberme nynı mnozinu jmen promennych L ⊂ {x1, x2, . . . , xn} tak, aby obsahovala prave m polozek.Vezmeme prıslusne sloupce matice A a sestavme z nich ctvercovou matici AL = (Axj , xj ∈ L).

• Pokud je matice AL regularnı, pak rıkame, ze L je baze ulohy (3.2).

• Kdyz L je baze, pak k nı prıslusı x(L) ∈ Rn jednoznacne urcene podmınkami Ax(L) = b a x(L)i = 0pro vsechna xi 6∈ L. x(L) nazyvame bazicke resenı prıslusne k bazi L.

• Necht’ L je baze a prıslusne bazicke resenı x(L) je nezaporne. Pak mluvıme a prıpustne bazi L,prıpadne o prıpustnem bazickem resenı x(L).

Poznamka. Konvexnı polyedr P z vety je konvexnım obalem prıpustnych bazickych resenı.Mısto ”prıpustne bazicke resenı” se take pouzıva nazev ”zakladnı resenı”; tak je to take v [2].Mnozina M je neprazdna a omezena, prave kdyz je K = {0}. √

Dusledek 1: Bazicka prıpustna resenı majı nejvyse m slozek kladnych a pro M 6= ∅ ma uloha (3.2)konecny pocet bazickych prıpustnych resenı.

Definice 9: Rıkame, ze prıpustne bazicke resenı je degenerovane, jestlize ma mene nez m kladnychslozek.

Page 17: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 17

Veta 13 (Existence optimalnıho resenı): Uloha (3.2) ma optimalnı resenı tehdy a jen tehdy, kdyz

1. M 6= ∅,2. c>y ≥ 0 pro vsechna y ∈ {x ∈ Rn | Ax = 0,x ≥ 0}.

Ma-li uloha optimalnı resenı, pak ucelova funkce c>x nabyva sveho minima na M pro nektere bazickezakladnı resenı.

Dukaz: Podle vety 12 vıme, ze M = conv (B) + K, kde B = {x(1),x(2), . . . ,xr} ⊂ Rn je mnozina vsechprıpustnych bazickych resenı.

Tedy kazde x ∈M lze zapsat ve tvaru x =r∑

j=1

λjxj + y, pricemz λj ≥ 0,r∑

j=1

λj = 1 a y ∈ K.

Hodnota ucelove funkce v tomto bode je

c>x =r∑

j=1

λjc>xj + c>y. (3.7)

1. Je-li c>y < 0, pak pro kazde α > 0 je αy ∈ K. Odtud z =r∑

j=1

λjxj + αy ∈M s hodnotou ucelove

funkce

c>z =r∑

j=1

λjc>xj + αc>y.

Tudız ve smeru y ucelova funkce neomezene klesa. Nenabyva tedy sveho minima.

2. Je-li c>y ≥ 0 pro vsechna y ∈ K, pak z (3.7) dostavame

c>z =r∑

j=1

λjc>xj + c>y ≥r∑

j=1

λjc>xj ≥ min{c>x(1), c>x(2), . . . , c>xr}.

Tudız uloha (3.2) nabyva sveho minima v nekterem prıpustnem bazickem resenı.

Q.E.D.

Mnozinu vsech optimalnıch resenı ulohy (3.2) budeme znacit

M∗ = argmaxx∈M

c>x ={z ∈M

∣∣∣∣ c>z = maxx∈M

c>x}

. (3.8)

Vysledky shrnuje nasledujıcı veta.

Veta 14 (Zakladnı veta linearnıho programovanı): Pro ulohu linearnıho programovanı ve standardnımtvaru, t.j. (3.2), nastava pouze jedna ze trı moznostı:

a) M = ∅,b) M 6= ∅ a infx∈M c>x = −∞ (tj. M∗ = ∅),c) M∗ 6= ∅.

Navıc pak

• je-li M 6= ∅, existuje bazicke prıpustne resenı,

• je-li M∗ 6= ∅, existuje bazicke optimalnı resenı.

Ma-li uloha (3.2) optimalnı resenı, pak jej vzdy muzeme najıt mezi prıpustnymi bazickymi resenımi.Tato myslenka vede k prıme metode resenı uloh LP.

Prıma metoda

Page 18: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

18

Projdi vsechny prıpustna bazicka resenı ulohy (3.2) a zjisti pro ktere z nich ucelova funkce ulohy nabyvaminimalnı hodnotu. Oznacme si toto prıpustne bazicke resenı x.

• Pokud neexistuje zadne prıpustne bazicke resenı ulohy (3.2), pak uloha nema prıpustne resenı.

• Kdyz ma uloha (3.2) optimalnı resenı (to muzeme vedet naprıklad na zaklade vety 13), pak nalezeneprıpustne bazicke resenı x je optimalnım resenım zadane ulohy.

Tato metoda je ale numericky schudna jen pro velice male ulohy a navıc nema jednoduche kriteriumpro existenci optimalnıho resenı.

Pro nalezenı optimalnıho resenı ulohy (3.2) se nejcasteji pouzıva simplexova metoda, zalozena nahledanı optimalnıho bazickeho prıpustneho resenı. Je to vlastne Gaussuv eliminacnı algoritmus pro resenısoustavy rovnic Ax = b doplneny pravidlem pro zachovanı nezapornosti resenı a pravidlem, ktere dbana to, aby hodnoty ucelove funkce klesaly. S touto metodou se seznamıme v dalsı kapitole.

3.4 Zaklady simplexove metody

Resıme ulohu LP prevedenou na minimalizacnı ulohu ve tvaru rovnic, tj.

min{c>x | Ax = b, x ≥ 0

}(3.9)

kde A je matice dimenze (m,n) se sloupci Ax1 , . . . ,Axn . Predpokladame, ze hodnost matice A je m.Poznamenejme zde, ze kdyz by matice A mela hodnost mensı nezli m, pak jsou uvazovane rovnice zavisle.Muzeme proto nektere z nich vynechat tak, ze mnozina resenı soustavy se nezmenı a matice redukovanesoustavy bude mıt plnou radkovou hodnost.

Simplexovy algoritmus

Krok 1. Urci prıpustnou bazi J ⊂ {x1, x2, . . . , xn} a oznac AJ = (Axj , xj ∈ J), cJ = (cj , xj ∈ J).

Krok 2. Simplexove kriterium – test optimality.

Je-lic>J A−1

J A− c> ≤ 0> (3.10)

vypocet koncı. Nenulove slozky optimalnıho resenı jsou dany vzorcem A−1J b.

V opacnem prıpade jdi ke kroku 3.

Krok 3. Zmena baze.

Do baze zarad’ promennou h /∈ J , pro kterou je poruseno simplexove kriterium (3.10), tj.

c>J A−1J ah − ch > 0. (3.11)

Pokud jich je vıce muzes vzıt kteroukoli z nich. Naprıklad tu, pro kterou je (3.11) poruseno nejvıce.

Nynı jsou mozne dva prıpady.

a) Kdyz vektor A−1J Ah ma alespon jednu slozku kladnou, pak nalezneme promennou r ∈ J tak,

aby

(A−1J Ah)r > 0 a

(A−1J b)r

(A−1J Ah)r

= min{

(A−1J b)j

(A−1J Ah)j

∣∣∣∣ j ∈ J, (A−1J Ah)j > 0

}. (3.12)

Proved’ jednu iteraci Gaussova eliminacnıho algoritmu odpovıdajıcı zmene baze

J := J ∪ {h} \ {r}a pro novou bazi se vrat’ ke kroku 2.

b) Kdyz vektor A−1J Ah nema zadnou slozku kladnou, pak vypocet koncı zjistenım, ze uloha (3.9)

nema optimalnı resenı a jejı ucelova funkce neomezene klesa do −∞.√

Page 19: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 19

Veta 15: Kdyz je uloha (3.9) nedegenerovana, pak simplexovy algoritmus vzdy skoncı po konecnekrocıch zjistenım, ze uloha (3.9) bud’ nema zadne prıpustne resenı nebo najde jejı optimalnı resenı nebojejı ucelova funkce neomezene klesa na mnozine prıpustnych resenı.

Pokud je uloha degenerovana, pak index r v (3.12) nemusı byt urcen jednoznacne. Kdyz je vıcekandidatu je treba mezi nimi vybırat opatrne. Bud’ vybırat nahodne nebo pouzıt postup vysvetlenynaprıklad v [2], odst. 4.5. Jinak by se mohlo stat, ze se algoritmus zacyklı.

Rozhodovacı pravidla pro zmenu baze zarucujı, ze jsou nove konstruovane baze stale prıpustne. Je-li uloha (3.9) nedegenerovana, pak je simplexovy algoritmus finitnı (koncı po konecnem poctu iteracı),hodnoty ucelove funkce rostou. Je-li uloha (3.9) degenerovana a pouzıvame-li postup vysvetleny naprıkladv [2], odst. 4.5, pak je simplexovy algoritmus opet finitnı, hodnoty ucelove funkce jsou neklesajıcı, alemohou byt po nekolik kroku stejne. Simplexovy algoritmus ma celou radu variant, napr. revidovanousimplexovou metodu, kterou vyuzıva GAMS.

Simplexovy algoritmus muzeme realizovat v tabulce, viz tabulka 3.1.

c>

x1 x2 . . . xn

cL L (AL)−1b (AL)−1A

c>L (AL)−1b c>L (AL)−1b− c>

Tabulka 3.1: Simplexova tabulka

Pro pouzitı simplexoveho algoritmu je treba jeste vyresit poslednı problem. Jak nalezt vychozı bazickeprıpustne resenı. Jednou z moznostı je pouzıt dvoufazovy simplexovy algoritmus.

Dvoufazovy simplexovy algoritmus

1.faze: Nejdrıve resıme pomocnou ulohu

min

{K∑

k=1

zk

∣∣∣ Ax + Qz = b, x ≥ 0, z ≥ 0, x ∈ Rn, z ∈ RK

}. (3.13)

Pomocne promenne z a matice Q jsou pridany tak, aby vznikla baze V = {v1, v2, . . . , vm} ⊂{x1, x2, . . . , xn, z1, z2, . . . , zK} s vlastnostı, ze pro kazde i ∈ {1, 2, . . . , m} je (A|Q)•,vi = sgn (bi) ei.

Ulohu (3.13) vyresıme simplexovym algoritmem. Jako pocatecnı bazi pouzijeme bazi V .

Vıme, ze uloha (3.13) ma prıpustne resenı a hodnota jejı ucelove funkce je nezaporna pro vsechnaprıpustna resenı. Proto podle vety 14 ma uloha (3.13) optimalnı resenı.

Simplexovy algoritmus proto nalezne optimalnı bazi ulohy (3.13). Nynı jsou dve moznosti. Bud’ jeoptimalnı hodnota kladna nebo nulova.

Kdyz je optimalnı hodnota kladna, tak to znamena, ze uloha (3.9) nema prıpustne resenı a algorit-mus koncı tımto zjistenım.

Kdyz je optimalnı hodnota nulova, tak to znamena, ze uloha (3.9) ma prıpustne resenı a algoritmuspokracuje druhou fazı.

2.faze: Pokud uloha (3.13) ma nulovou optimalnı hodnotu a uloha (3.9) je nedegenerovana, pak sim-plexovy algoritmus v prvnı fazi nalezl optimalnı bazi W , ktera neobsahuje zadnou pomocnoupromennou zk. Pokud by totiz nektera pomocna promenna zustala v optimalnı bazi, pak by melanulovou hodnotu. Promenne xj zarazene do optimalnı baze by tvorily nenulove slozky prıpustnehoresenı ulohy (3.9). Toto resenı by vsak melo mene nezli m nenulovych slozek. Bylo by tedy degene-rovane, ale to nenı mozne, nebot’ uloha (3.9) je nedegenerovana.

Page 20: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

20

Pokud uloha (3.13) ma nulovou optimalnı hodnotu a uloha (3.9) je degenerovana, pak simple-xovy algoritmus v prvnı fazi nalezl optimalnı bazi, ktera muze obsahovat nekterou z pomocnychpromennych zk. Hodnota techto promennych je vsak nutne nulova. Pak dıky predpokladu o plnesloupcove hodnosti matice A lze pro kazdou takovou promennou zk vzdy najıt promennou xj ,ktera ma v radku prıslusejıcım zk nenulove cıslo. Tuto promennou zaradıme do baze mısto zk aprepocteme tabulku. Opakovanım tohoto postupu vyradıme z baze vsechny pomocne promenne azıskame optimalnı bazi W ulohy (3.13), ktera jiz zadnou pomocnou promennou neobsahuje.

Nynı simplexovym algoritmem vyresıme ulohu (3.9). Jako pocatecnı bazi pouzijeme bazi W . Uvedommesi, ze prakticky zacıname s tabulkou, kterou jsme zıskali v prvnı fazi algoritmu. Pouze jsme vyskrtlisloupce prıslusejıcı pomocnym promennym a koeficienty v ucelove funkci pomocne ulohy jsme na-hradili koeficienty v ucelove funkci ulohy (3.9).

Pro ilustraci si spocteme prıklad.

Prıklad 16: Resme dvoufazovym simplexovym algoritmem ulohu

minimalizovat −x1 − 3x3 + x4

za podmınek x1 + 2x2 + 3x3 = 15

2x1 + x2 + 5x3 = 20

x1 + 2x2 + x3 + x4 = 10

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0.(3.14)

V prvnı fazi resıme pomocnou ulohu

minimalizovat z1 + z2

za podmınek x1 + 2x2 + 3x3 + z1 = 15

2x1 + x2 + 5x3 + z2 = 20

x1 + 2x2 + x3 + x4 = 10

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, z1 ≥ 0, z2 ≥ 0.(3.15)

Do baze zaradıme promenne z1, z2, x4. Sestavme tabulku a pocıtejme. Zvoleny prvek v rozhodovacımradku je oznacen zelenym obdelnıkem. Zvoleny klıcovy prvek cervenym obdelnıkem.

0 0 0 0 1 1

x1 x2 x3 x4 z1 z2

1 z1 15 1 2 3 0 1 0

1 z2 20 2 1 5 0 0 1

0 x4 10 1 2 1 1 0 0

35 3 3 8 0 0 0

0 0 0 0 1 1

x1 x2 x3 x4 z1 z2

1 z1 3 − 15

75 0 0 1 − 3

5

0 x3 4 25

15 1 0 0 1

5

0 x4 6 35

95 0 1 0 − 1

5

3 − 15

75 0 0 0 − 8

5

Page 21: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 21

0 0 0 0 1 1

x1 x2 x3 x4 z1 z2

0 x2157 − 1

7 1 0 0 57 − 3

7

0 x3257

37 0 1 0 − 1

727

0 x4157

67 0 0 1 − 9

747

0 0 0 0 0 −1 −1

Zjistili jsme, ze optimalnı hodnota pomocne ulohy je nulova. Prvnı faze dvoufazoveho simplexovehoalgoritmu skoncila nalezenım prıpustneho resenı puvodnı ulohy. V nalezene optimalnı bazi pomocneulohy se nevyskytujı zadne pomocne promenne z. Mame tedy prıpustnou bazi puvodnı ulohy a muzemepokracovat druhou fazı algoritmu.

−1 0 −3 1

x1 x2 x3 x4

0 x2157 − 1

7 1 0 0

−3 x3257

37 0 1 0

1 x4157

67 0 0 1

− 607

47 0 0 0

−1 0 −3 1

x1 x2 x3 x4

0 x252 0 1 0 1

6

−3 x352 0 0 1 − 1

2

−1 x152 1 0 0 7

6

−10 0 0 0 − 23

Optimalnım resenım zadane ulohy je vektor(

52

52

52 0

)>. Vypocet je uveden ve skriptech [2], str.126-

127.4

3.5 Dualita a jejı interpretace

Dualita se tyka dvojice uloh linearnıho programovanı, ktera je dana spolecnymi vstupnımi daty, tj. maticıA dimenze (m,n), m-rozmernym vektorem b a n-rozmernym vektorem c. Krome danych koeficientu jekazda uloha LP urcena take druhem optimalizace (minimalizace, maximalizace), tvarem omezenı (rovnice,nerovnosti) a prıtomnostı ci absencı podmınek nezapornosti.

Tak vznikajı ruzne dvojice dualnıch uloh, napr. dualnı k minimalizacnı uloze v rovnicovem tvaru,kterou jsme se az dosud zabyvali,

min{c>x | Ax = b, x ≥ 0

}(3.16)

je uloha

max{b>y

∣∣ A>y ≤ c}

(3.17)

Obecna dvojice dualnıch uloh vypada nasledovne.

Definice 10: Necht’ je dana matice A dimenze (m,n), m-rozmernym vektorem b, n-rozmernym vektoremc a disjunktnı rozklady indexu I≥ ∪ I≤ ∪ I∈ = {1, 2, . . . , n}, J≥ ∪ J≤ ∪ J= = {1, 2, . . . ,m}. Pak dvojice

Page 22: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

22

uloh linearnıho programovanı

minimalizovat∑n

i=1 cixi

za podmınek∑n

i=1 Aj,ixi ≥ bj pro kazde j ∈ J≥,∑n

i=1 Aj,ixi ≤ bj pro kazde j ∈ J≤,∑n

i=1 Aj,ixi = bj pro kazde j ∈ J=,

xi ≥ 0 pro kazde i ∈ I≥,

xi ≤ 0 pro kazde i ∈ I≤,

xi ∈ R pro kazde i ∈ I∈,

(3.18)

maximalizovat∑m

j=1 bjyj

za podmınek∑m

j=1 Aj,iyj ≤ ci pro kazde j ∈ I≥,∑m

j=1 Aj,iyj ≥ ci pro kazde j ∈ I≤,∑m

j=1 Aj,iyj = ci pro kazde j ∈ I∈,

yj ≥ 0 pro kazde i ∈ J≥,

yj ≤ 0 pro kazde i ∈ J≤,

yj ∈ R pro kazde i ∈ J=,

(3.19)

se nazyva dvojice dualnıch uloh LP.Mnozinu prıpustnych resenı ulohy (3.18) oznacıme jako M, tj. mnozinu vsech x ∈ Rn, ktere splnujı

podmınky

∑ni=1 Aj,ixi ≥ bj pro kazde j ∈ J≥,

∑ni=1 Aj,ixi ≤ bj pro kazde j ∈ J≤,

∑ni=1 Aj,ixi = bj pro kazde j ∈ J=,

xi ≥ 0 pro kazde i ∈ I≥,

xi ≤ 0 pro kazde i ∈ I≤,

xi ∈ R pro kazde i ∈ I∈.

(3.20)

Mnozinu prıpustnych resenı ulohy (3.19) oznacıme jako N , tj. mnozinu vsech y ∈ Rm, ktere splnujıpodmınky

∑mj=1 Aj,iyj ≤ ci pro kazde j ∈ I≥,

∑mj=1 Aj,iyj ≥ ci pro kazde j ∈ I≤,

∑mj=1 Aj,iyj = ci pro kazde j ∈ I∈,

yj ≥ 0 pro kazde i ∈ J≥,

yj ≤ 0 pro kazde i ∈ J≤,

yj ∈ R pro kazde i ∈ J=.

(3.21)

Nekdy take hovorıme o uloze primarnı a k nı uloze dualnı. Jako primarnı oznacujeme tu ulohu zuloh (3.18), (3.19), ktera vznikla na zaklade reseneho problemu. Zbylou ulohu, pak nazyvame ulohou knı dualnı.

Sestavenı prıslusne dualnı ulohy k zadane uloze lze delat zcela mechanicky. Vhodnou pomuckou ktomu muze byt sestavenı

”tabulky“, jak je ukazano v nasledujıcım prıklade.

Page 23: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 23

Prıklad 17: K dane uloze linearnıho programovanı muzeme priradit prıslusnou ulohu do dualnı dvojicepomocı tabulky. Uvazujme ulohu

minimalizovat 2x1 − x2 + 3x3,

za podmınek 3x1 + 6x2 − x3 ≥ 4,

2x1 − 3x2 + 2x3 ≤ 3,

x1 − 2x2 + 4x3 = 2,x1 ≥ 0, x2 ≥ 0, x3 ∈ R.

(3.22)

Sestavıme tabulku 3.2

x1 x2 x3

≥ 0 ≥ 0 ∈ R3 6 −1 ≥ 4

2 −3 2 ≤ 3

1 −2 4 = 2

max

2 −1 3 min

Tabulka 3.2: Dualita A

Do radku omezenı pridame dualnı promenne a pomocı pravidla, ze pri”min“ prevadıme ≥ ↔ ≥, ≤ ↔ ≤,

= ↔ ∈ R, a pri”max“ prevadıme ≤ ↔ ≥, ≥ ↔ ≤, ∈ R ↔ =, tabulku 3.2 doplnıme na tabulku 3.3

x1 x2 x3

≥ 0 ≥ 0 ∈ Ry1 ≥ 0 3 6 −1 ≥ 4

y2 ≤ 0 2 −3 2 ≤ 3

y3 ∈ R 1 −2 4 = 2

≤ ≤ = max

2 −1 3 min

Tabulka 3.3: Dualita B

Cteme-li tabulku 3.3 po sloupcıch dostavame ulohu

maximalizovat 4y1 + 3y2 + 2y3,

za podmınek 3y1 + 2y2 + y3 ≤ 2,

6y1 − 3y2 − 2y3 ≤ −1,

−y1 + 2y2 + 4y3 = 3,y1 ≥ 0, y2 ≤ 0, y3 ∈ R,

(3.23)

ktera je dualnı ulohou k uloze (3.22).4

Vıme, ze lze ulohy LP prevadet na zvoleny tvar. Stacı se proto zabyvat pouze jednou dvojicı dualnıchuloh. Dokazana tvrzenı jsou potom platna i pro libovolnou jinou dvojici dualnıch uloh. Vhodnou dvojicıpro tento ucel je dvojice symetrickych dualnıch uloh.

Definice 11: Necht’ A je dana matice dimenze (m,n), b dany m-rozmerny vektor a c dany n-rozmernyvektor. Pak nasledujıcı dve ulohy nazveme dvojice symetrickych dualnıch uloh LP:

min{c>x | Ax ≥ b,x ≥ 0

}, (3.24)

max{b>y

∣∣ A>y ≤ c,y ≥ 0}

. (3.25)

Page 24: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

24

Veta 16 (Slaba veta o dualite): Pro dvojici dualnıch uloh (3.18), (3.19) platı

∀x ∈M ∀y ∈ N : c>x ≥ b>y. (3.26)

Rovnost ve vztahu (3.26) nastane, prave kdyz platı podmınky komplementarity:

• Pro kazde i ∈ {1, . . . , m} platı

bud’ yi = 0 nebon∑

j=1

ai,jxj = bi. (3.27)

• Pro kazde j ∈ {1, . . . , n} platı

bud’ xj = 0 nebo

m∑

i=1

ai,jyi = cj . (3.28)

Dukaz: Tvrzenı stacı ukazat pro dvojici symetrickych dualnıch uloh. Dukaz je pak snadny, nebot’ pro xprıpustne resenı (3.24) a y prıpustne resenı (3.25), tj. x ∈M, y ∈ N , platı

c>x ≥ (A>y

)>x = y>Ax ≥ y>b = b>y.

Tvrzenı vety i komplementarita plynou okamzite z teto nerovnosti.Q.E.D.

Veta 17 (Silna veta o dualite): Uloha (3.18) ma optimalnı resenı tehdy a jen tehdy, ma-li uloha (3.19)optimalnı resenı. V takovem prıpade navıc platı, ze

minx∈M

c>x = maxy∈N

b>y. (3.29)

Dukaz: Tvrzenı stacı ukazat pro dvojici symetrickych dualnıch uloh.Predpokladejme, ze ma uloha (3.24) optimalnı resenı a ze jsme jej nasli pomocı simplexove metody. Toznamena:

1. Pouzili jsme doplnkove promenne z1, z2, . . . , zm, cımz jsme dostali soustavu m rovnic o n + mpromennych Ax − Iz = b, x ≥ 0, z ≥ 0 a ucelova funkce se nezmenila (tj. doplnkove promennev nı majı koeficienty 0).

2. Nasli jsme optimalnı bazi L ⊂ {x1, x2, . . . , xn, z1, z2, . . . , zm}. Oznacme B = [A,−I]L a c =(c0

)L.

Baze L je optimalnı, splnuje proto podmınky:

(a) Prıpustnost B−1b ≥ 0.

(b) Optimalita (rozepsano pro obe casti rozsırene soustavy zvlast’):

c>B−1A− c> ≤ 0> (3.30)−c>B−1I− 0> ≤ 0>. (3.31)

Podmınky optimality (3.30), (3.31) vsak znamenajı, ze y∗ :=(B−1

)>c je prıpustne resenı ulohy (3.25).

Spocıtejme odpovıdajıcı hodnotu ucelove funkce dualnı ulohy:

b>y∗ = b>(B−1

)>c = c>B−1b = max

{c>x | Ax− Iz = b,x ≥ 0, z ≥ 0

}= max

x∈Mc>x.

Podle slabe vety o dualite, veta 16, to znamena, ze y∗ je optimalnı resenı ulohy (3.25) a platı rovnost(3.29).

Q.E.D.

Uvedene vztahy mezi ulohami, ktere tvorı dvojici dualnıch uloh LP, lze zapsat sumarne v jedne vete.

Page 25: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 25

Veta 18 (Shrnutı): Pro danou dvojici dualnıch uloh LP (3.18), (3.19) nastava prave jedna ze ctyrmoznostı:

(i) Zadna z techto uloh nema prıpustne resenı, tj.M = ∅, N = ∅.(ii) M = ∅, N 6= ∅, ale uloha (3.19) nema optimalnı resenı.

(iii) M 6= ∅, N = ∅, ale uloha (3.18) nema optimalnı resenı.

(iv) Obe ulohy majı optimalnı resenı a platı

maxx∈M

c>x = miny∈N

b>y.

Navıc kazda dvojice optimalnıch resenı ulohy (3.18) a (3.19) splnuje podmınky komplementarity(3.27), (3.28).

3.6 Farkasova veta

Ze silne vety o dualite lze jednoduse dokazat i klasickou Farkasovu vetu, ktera resı teoreticky otazkuexistence prıpustneho resenı; neboli existenci nezaporneho resenı soustavy rovnic.

Veta 19 (Farkasova veta): Soustava Ax = b ma nezaporne resenı tehdy a jen tehdy, kdyz pro kazde u,ktere splnuje A>u ≥ 0, platı b>u ≥ 0.

Dukaz: Farkasovu vetu lze chapat jako prepis dvojice dualnıch uloh

max{0>x | Ax = b,x ≥ 0

}←→ min{b>y

∣∣ A>y ≥ 0}

.

Ukazuje to tento retezec ekvivalencı

Soustava Ax = b ma nezaporne resenı

muloha max

{0>x | Ax = b,x ≥ 0

}ma optimalnı resenı

muloha min

{b>y

∣∣ A>y ≥ 0}

ma optimalnı resenı

m[(

u : A>u ≥ 0)

=⇒ b>u ≥ 0]

Farkasova veta je s touto dvojicı dualnıch uloh ekvivalentnı nebot’ druha uloha ma vzdy prıpustne resı,tj. 0 ∈ N .

Q.E.D.

Zajıma-li nas existence resenı soustavy rovnic a nerovnic, ktera ma predepsane slozky kladne a jinepredepsane slozky zaporne, pak mame dve moznosti, jak odvodit prıslusnou Farkasovu vetu.

Prvnı moznostı je prevest povolenymi upravami ulohu na existenci nezaporneho resenı soustavy rovnic.Podmınky zıskame z vety 19 a jejich diskuzı nalezneme podmınky pro existenci resenı puvodnı soustavy.

Druhou moznostı je postupovat tak, jak je naznaceno v dukaze vety 19. Sestavit vhodnou dvojicidualnıch uloh a Farkasovu vetu odvodit z principu duality pro tuto dvojici.

3.7 Ekonomicka interpretace duality

Dvojici dualnıch uloh lze sestavit na zaklade ekonomicke uvahy. Ukazme si to na prıklade podniku, kteryvyrabı m-druhu vyrobku a pouzıva k tomu n vyrobnıch postupu.

V dualnım vztahu jsou zde dve zakladnı ekonomicke ulohy.

Page 26: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

26

Uloha I: Minimalizovat vyrobnı naklady pri splnenı podmınek na minimalnı mnozstvı vyrobenychvyrobku.

Uloha II: Stanovit vyrobnı ceny vyrabenych vyrobku pri splnenı podmınek na minimalnı mnozstvıvyrobenych vyrobku.

Druhou ulohu muzeme preformulovat nasledovne.

Uloha II’: Maximalizovat celkovou cenu minimalnı vyroby za podmınky, ze ohodnocenı zadneho zvyrobnıch postupu na zaklade jednotkovych cen vyrobku neprevysı jeho jednotkovou cenu.

Uloha I ma matematicky zapis

minimalizovat∑n

j=1 cjxj ,

za podmınek∑n

j=1 Ai,jxj ≥ bi ∀ i = 1, . . . , m,

xj ≥ 0 ∀ j = 1, . . . , n.

Uloha II’, a tedy i uloha II, ma matematicky zapis

maximalizovat∑m

i=1 biyi,

za podmınek∑m

i=1 Ai,jyi ≤ cj ∀ j = 1, . . . , n,

yi ≥ 0 ∀ i = 1, . . . ,m.

Vidıme, ze se jedna o dvojici dualnıch uloh LP.V ekonomicke literature byva optimalnı resenı ulohy II nazyvano stınove ceny nebo dualnı ceny.

3.8 Poznamky

1. Dualita se vztahuje k matematickemu zapisu uloh linearnıho programovanı.

2. Vyresıme-li primarnı ulohu LP simplexovou metodou, zıskame zaroven resenı dualnı ulohy. Prectemeho v kriterialnım radku ve sloupcıch, ktere odpovıdaly vychozı jednotkove bazi.

3. Pro optimalnı resenı dvojice dualnıch uloh platı komplementarita. To ma zajımavou ekonomickouinterpretaci; hovorıme o dualnıch, stınovych cenach.

4. Obe dualnı ulohy majı optimalnı resenı, prave kdyz majı neprazdne mnoziny prıpustnych resenı.

5. Zpusob vytvarenı dualnıch uloh umıme znazornit tabulkou. Pripomenme si tento postup jeste naprıkladu dvojice symetrickych dualnıch uloh:

promenne x1 ≥ 0 . . . xn ≥ 0 nerovnosti prave str./koef.y1 ≥ 0 a11 . . . a1n ≥ b1

. . . . . . . . . . . . . . .ym ≥ 0 am1 . . . amn ≥ bm

nerovnosti ≤ . . . ≤ maxprave strany/koef. c1 . . . cn min

Primarnı ulohu cteme po radcıch a dualnı ulohu po sloupcıch.

Podobne pro dvojici dualnıch uloh (3.16), (3.17) ma tabulka tvar

promenne x1 ≥ 0 . . . xn ≥ 0 rovnosti prave str./koef.y1 ∈ R a11 . . . a1n = b1

. . . . . . . . . . . . . . .ym ∈ R am1 . . . amn = bm

nerovnosti ≤ . . . ≤ maxprave strany/koef. c1 . . . cn min

Page 27: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Kapitola 4

Symetricka uloha NLP

4.1 Podmınky optimality pro symetricke ulohy NLP

V teto kapitole se budeme zabyvat symetrickou ulohou nelinearnıho programovanı

minimalizovat f(x),

za podmınek gk(x) ≤ 0 ∀ k = 1, . . . ,m,

xj ≥ 0 ∀ j = 1, . . . , n.

(4.1)

Uloha je specialnım prıpadem obecne ulohy NLP.Uloze (4.1) priradıme Lagrangeovu funkci

L (x;y) := f(x) +m∑

k=1

ykgk(x). (4.2)

Definice 12: Rekneme, ze pro x∗ ∈ Rn, y∗ ∈ Rm jsou splneny globalnı podmınky optimality,zkracene (GPO), pro ulohu (4.1), jestlize dvojice (x∗,y∗) je sedlovy bod Lagrangeovy funkce (4.2) prox ≥ 0,y ≥ 0.

To znamena, ze

x∗ ≥ 0, y∗ ≥ 0 (4.3)∀ x ∈ Rn ∀ y ∈ Rm, x ≥ 0, y ≥ 0 platı L (x;y∗) ≥ L (x∗;y∗) ≥ L (x∗;y) . (4.4)

Veta 20: Necht’ jsou pro x∗ ∈ Rn, y∗ ∈ Rm splneny globalnı podmınky optimality pro ulohu NLP (4.1).Pak je x∗ optimalnı resenı zmınene ulohy a je splnena podmınka komplementarity

pro kazde k = 1, . . . , m je bud’ y∗k = 0 nebo gk(x∗) = 0. (4.5)

Dukaz: Podle predpokladu je x∗ ≥ 0. Dosazenım tvaru Lagrangeovy funkce (4.2) do (4.4) dostavame

f(x) +m∑

k=1

y∗kgk(x) ≥ f(x∗) +m∑

k=1

y∗kgk(x∗) ≥ f(x∗) +m∑

k=1

ykgk(x∗). (4.6)

Nerovnosti (4.6) podle predpokladu platı pro nejake y∗ ≥ 0 a pro vsechna x ≥ 0,y ≥ 0. Pouzijemenejprve pravou vetev (4.6), tj. nerovnost

m∑

k=1

y∗kgk(x∗) ≥m∑

k=1

ykgk(x∗) ∀y ≥ 0. (4.7)

Uvedomıme si, ze gk(x∗) jsou pevne koeficienty a ze y∗ ≥ 0 je z hlediska uvazovane nerovnosti take pevnyvektor. Odtud prımo vyplyva, ze (4.7) muze platit jen kdyz gk(x∗) ≤ 0 ∀k a

m∑

k=1

y∗kgk(x∗) = 0. (4.8)

27

Page 28: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

28

Tato podmınka je ekvivalentnı s podmınkou komplementarity (4.5).To znamena, ze x∗ je prıpustne resenı ulohy (4.1) a ze se leva vetev nerovnostı (4.6) redukuje na

f(x) +m∑

k=1

y∗kgk(x) ≥ f(x∗) ∀x ≥ 0 (4.9)

Omezme se jen na prıpustna x. Pro ne je gk(x) ≤ 0 ∀k a z nerovnosti (4.9) plyne f(x) ≥ f(x∗).Tedy x∗ je optimalnı resenı ulohy (4.1).

Q.E.D.

4.2 Podmınky regularity

Veta 20 platı bez jakychkoli predpokladu na funkce f, gk. Avsak pro overovanı optimality resenı nebo pronalezenı optimalnıho resenı je neprakticka. Jako vedlejsı vysledek jsme dostali podmınku komplementarity(4.5). (Porovnejte s podmınkami komplementarity v LP (3.27), (3.28).)

Veta 20 dava postacujıcı podmınku pro bod globalnıho minima funkce f na mnozine popsane ne-rovnostmi (4.1). Otazkou je, kdy bude globalnı podmınka (4.6) nutna. Snadno najdeme prıklad, kdy koptimalnımu resenı x∗ ulohy (4.1) neexistuje vektor Lagrangeovych multiplikatoru y∗ tak, aby platilo(4.6).

Prıklad 18: Resme ulohu min{−x

∣∣ x2 ≤ 0, x ≥ 0, x ∈ R}, tj. f(x) = −x, g(x) = x2 pro kazde x ≥ 0.

Existuje jedine prıpustne a tedy i optimalnı resenı ulohy. Je to x∗ = 0.Lagrangeova funkce ma tvar L (x; y) = −x + yx2.

1. V bode (0, 0) nema sedlovy bod nebot’ funkce x 7→ L (x; 0) = −x nema na x ≥ 0 minimum v x∗ = 0.

2. Pro y > 0, v bode (0, y) take nenı sedlovy bod Lagrangeovy funkce, nebot’ x 7→ L (x; y) = −x + yx2

ma na x ≥ 0 minimum v x = 12y a nikoli v x∗ = 0.

K bodu x∗ = 0 tedy neexistuje zadne y∗ ∈ R tak, aby dvojice (x∗, y∗) splnovala GPO.4

Je tedy zapotrebı dalsıch predpokladu tzv. podmınek regularity, ktere vyloucı podobne degenero-vane prıpady. Z prıkladu vidıme, ze samotny predpoklad konvexnosti funkcı f, gk ∀k nestacı.

Definice 13: Pro ulohu (4.1) zavadıme mnozina indexu aktivnıch omezenı v bode x

B (x) = {k = 1, . . . , m | gk(x) = 0} . (4.10)

Uvedeme si dve podmınky, ktere spolu s konvexnostı funkcı f, gk ∀k zarucujı ekvivalenci mezisplnenım (4.4) a existencı optimalnıho resenı (4.1). Jsou to

(i) Podmınka linearnı nezavislosti je splnena pro prıpustne resenı x(0) ulohy (4.1), jsou-li v bodex(0) linearne nezavisle gradienty aktivnıch omezenı, tj. matice

(∇xgk

(x(0)

), k ∈ B

(x(0)

))

ma plnou sloupcovou hodnost.

(ii) Slaterova podmınka platı pro ulohu (4.1), jestlize existuje x ≥ 0, pro ktere je gk(x) < 0 ∀k.

Platı nasledujıcı vety.

Veta 21: Necht’ f, gk∀k jsou konvexnı funkce a v bode x∗ ∈ Rn je splnena podmınka linearnı nezavislosti.Pak x∗ je optimalnı resenı ulohy (4.1) tehdy a jen tehdy, kdyz existuje y∗ ∈ Rm tak, ze dvojice (x∗,y∗)splnuje GPO.

Veta 22: Necht’ f, gk∀k jsou konvexnı funkce a je splnena Slaterova podmınka. Pak x∗ ∈ Rn je optimalnıresenı ulohy (4.1) tehdy a jen tehdy, kdyz existuje y∗ ∈ Rm tak, ze dvojice (x∗,y∗) splnuje GPO.

Page 29: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 29

Veta 23: Necht’ f jsou konvexnı funkce a gk∀k jsou linearnı funkce. Pak x∗ ∈ Rn je optimalnı resenıulohy (4.1) tehdy a jen tehdy, kdyz existuje y∗ ∈ Rm tak, ze dvojice (x∗,y∗) splnuje GPO.

Dukazy techto tvrzenı lze nalezt naprıklad v [3] nebo [4]. Povsimnete si, ze podmınka (i) je obdoboupodmınky pouzıvane ve vete o vazanem extremech z matematicke analyzy.

Odvodıme dale nutne a postacujıcı podmınky k tomu, aby dvojice x∗,y∗ byla sedlovym bodem funkceL (x;y) v nezapornem oboru. K tomu cıli budeme predpokladat diferencovatelnost a konvexnost funkcıf, gk ∀k.

Veta 24: Necht’ f, gk ∀k jsou diferencovatelne. Pak podmınky

∇xL (x∗;y∗) ≥ 0, x∗>∇xL (x∗;y∗) = 0, x∗ ≥ 0, (4.11)

∇yL (x∗;y∗) ≤ 0, y∗>∇yL (x∗;y∗) = 0, y∗ ≥ 0 (4.12)

jsou nutne k tomu, aby dvojice x∗,y∗ byla sedlovym bodem L (x;y) v nezapornem oboru.Jsou-li navıc funkce f, gk ∀k konvexnı, jsou podmınky (4.11), (4.12) nutne a postacujıcı.

Dukaz:

1. Podmınky (4.11) jsou nutne k tomu, aby funkce L (•;y∗) nabyvala sveho minima na mnozine Rn+

v bode x∗. Pro vnitrnı body nezaporneho kvadrantu Rn+ se redukujı na znamou nutnou podmınku

pro volny extrem, pro hranicnı body (tj. v prıpade, ze je nektera slozka x∗ nulova). Jejich porusenıby umoznilo konstrukci smeru dovnitr mnoziny Rn

+, ve kterem by L (•;y∗) z bodu x∗ rostla.

Podobne jsou podmınky (4.12) nutne k tomu, aby funkce L (x∗; •) nabyvala sveho maxima namnozine Rm

+ v bode y∗.

2. S pouzitım (2.11) ukazeme, ze pro konvexnı funkce jsou tyto podmınky postacujıcı. Predevsım jepro y∗ ≥ 0 funkce L (•;y∗) konvexnı na Rn. Podle (2.11) a (4.11) upravujeme postupne

L (x;y∗) ≥ L (x∗;y∗) + (x− x∗)>∇xL (x∗;y∗)≥ L (x∗;y∗) + x>∇xL (x∗;y∗) ≥ L (x∗;y∗) ∀x ≥ 0

Jako funkce y je L (x∗; •) linearnı, tedy

L (x∗;y) = L (x∗;y∗) + (y − y∗)>∇yL (x∗;y∗)= L (x∗;y∗) + y>∇yL (x∗;y∗) ≤ L (x∗;y∗) ∀y ≥ 0

podle (4.12).

Q.E.D.

Podmınky (4.11), (4.12) se nazyvajı lokalnı podmınky optimality, zkracene LPO, pro ulohu (4.1).Poznamenejme, ze nerovnost ∇yL (x∗;y∗) ≤ 0 v (4.12) je shodna s omezenımi gk(x∗) ≤ 0 ∀k.

Pro symetrickou ulohu NLP pouzıvame Lagrangeovu funkci ve tvaru (4.2), GPO vyjadrene jako (4.4)a LPO zapsane v podmınkach (4.11), (4.12). Lagrangeovu funkci, GPO a LPO lze vyuzıt i pro pozmenenytvar ulohy NLP. Avsak, Lagrangeova funkce a nasledne i podmınky budou mıt pozmeneny tvar. Budoupodstatne zaviset na tvaru ulohy NLP. Uved’me si v nasledujıcı tabulce nektere z pouzıvanych moznostı:

omezenı Lagrangeova funkce lokalnı podmınky optimalitygk(x) ≤ 0 ∀k f(x) +

∑k ykgk(x) ∇xL (x∗;y∗) = 0 a (4.12)

x ≥ 0 f(x) ∇xf (x∗) ≥ 0,x∗ ≥ 0,x∗>∇xf (x∗) = 0gk(x) = 0 ∀k,x ≥ 0 f(x) +

∑k ykgk(x) (4.11) a gk(x∗) = 0 ∀k

4.3 Citlivost ulohy NLP

Podobne jako optimalnı hodnoty dualnıch promennych souvisı i optimalnı hodnoty Lagrangeovych mul-tiplikatoru s citlivostı optimalnı hodnoty ucelove funkce na zmeny pravych stran.

Page 30: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

30

Veta 25: Uvazujme dve ulohy NLP

min{f(x)

∣∣ gk(x) ≥ bAk , 1 ≤ k ≤ m, x ≥ 0

}(4.13)

min{f(x)

∣∣ gk(x) ≥ bBk , 1 ≤ k ≤ m, x ≥ 0

}(4.14)

a necht’ xA,xB jsou jejich optimalnı resenı splnujıcı GPO s Lagrangeovymi multiplikatory yA, yB . Pakplatı ∑

k

(bBk − bA

k )yAk ≥ f(xA)− f(xB) ≥

k

(bBk − bA

k )yBk (4.15)

Dukaz: Stacı si pouze napsat GPO pro obe ulohy a pro jejich optimalnı body.

f(xB) +∑

k

yAk (gk(xB)− bA

k ) ≥ f(xA) ≥ f(xA) +∑

k

yBk (gk(xA)− bA

k ),

f(xA) +∑

k

yBk (gk(xA)− bB

k ) ≥ f(xB) ≥ f(xB) +∑

k

yAk (gk(xB)− bB

k ).

Odectenım techto nerovnostı dostaneme nerovnost (4.15).Q.E.D.

4.4 Uloha kvadratickeho programovanı

Uloha kvadratickeho programovanı ma tvar

minimalizovat f(x) := p>x +12x>Cx na konvexnı polyedricke mnozine M. (4.16)

Predpoklada se pri tom, ze C je pozitivne definitnı (nebo pozitivne semidefinitnı) matice radu na mnozina M 6= ∅. To znamena, ze je ucelova funkce konvexnı, omezenı linearnı a lokalnı podmınkyoptimality jsou nutne a postacujıcı pro optimalnı resenı ulohy (4.16), viz veta 23. Odvodıme si jejich tvarpro jednu z moznych voleb zapisu mnozinyM:

Lokalnı podmınky optimality pro ulohu (4.16) pri mnozine prıpustnych resenı

M = {x ∈ Rn | Ax ≤ b, x ≥ 0} , (4.17)

Lagrangeova funkce:

L (x;y) = p>x +12x>Cx + y>(Ax− b) . (4.18)

Tvar podmınek (4.11):

p + Cx + A>y ≥ 0, x ≥ 0, x>(p + Cx + A>y) = 0 . (4.19)

Tvar podmınek (4.12):Ax− bx ≤ 0, y ≥ 0, y>(Ax− b) = 0 . (4.20)

Uvedene podmınky jsou skoro linearnı, az na podmınky komplementarity. To umoznuje zalozit postuppro resenı ulohy kvadratickeho programovanı na vyresenı techto podmınek na simplexovem algoritmu.Tento algoritmus se nazyva Wolfeho algoritmus (viz [3] nebo [4]). Jiny postup muze byt zalozen naskutecnosti, ze pro pozitivne definitnı matici C je uloha (4.16) ekvivalentnı, co do polohy optimalnıhoresenı, uloze o projekci bodu volneho minima funkce p>x+ 1

2x>Cx na mnozinuM. Presneji je ekvivalentnı

uloze

minimalizovat (x + C−1p)>C(x + C−1p) na konvexnı polyedricke mnozine M . (4.21)

Z obecne vety o projekci pak take vyplyva, ze pro M 6= ∅ a pro C pozitivne definitnı ma ulohakvadratickeho programovanı vzdy optimalnı resenı.

Uloha kvadratickeho programovanı si zachovava nektere uzitecne rysy uloh LP (napr. specialnı anumericky schudne postupy resenı) a podobne jako ulohy NLP muze mıt optimalnı resenı v libovolnembode mnozinyM.

Mezi nejzadanejsı aplikace patrı ruzne postupy pro optimalizaci portfolia cennych papıru s nahodnymvynosem, zejmena Markowitzuv model a modely zalozene na maximalizaci strednıho uzitku pri normalnımrozdelenı vynosu. Ve statistice a v ekonometrii se kvadraticke programovanı vyskytuje napr. v souvislostis metodou nejmensıch ctvercu.

Page 31: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Kapitola 5

Dopravnı problem

Vyvazeny dopravnı problem (pro∑m

i=1 ai =∑n

j=1 bj) ma tvar:

minimalizovat

m∑

i=1

n∑

j=1

ci,jxi,j

na mnozine nezapornych resenı soustavyn∑

j=1

xi,j = ai, i = 1, . . . , m

m∑

i=1

xi,j = bj , j = 1, . . . , n

Tvar dualnı ulohy

maximalizovatm∑

i=1

aiui +n∑

j=1

bjvj

za podmınek ui + vj ≤ ci,j ∀i, j(5.1)

Dulezite poznatky:

• Hodnost matice soustavy pro dopravnı problem je m + n− 1, nedegenerovana bazicka resenı majıtedy m + n− 1 nenulovych slozek.

• Pro celocıselne hodnoty pravych stran jsou vsechna bazicka resenı celocıselna.

• Vzdy existuje optimalnı resenı.

Celocıselne optimalnı resenı lze tedy v tomto prıpade najıt pomocı simplexove metody. Kterou jdenavıc podstatne zjednodusit s vyuzitım specialnı struktury omezenı. Vysledny postup je nazyvanmetoda radkovych a sloupcovych cısel. Probıha v techto krocıch:

Krok 1. Nalezenı vychozıho prıpustneho bazickeho resenıNapr. metodou severozapadnıho rohu nebo indexovou metodou.

Krok 2. Test optimalityPro vsechna xi,j > 0 vyresıme odpovıdajıcı soustavu rovnic ui + vj = ci,j .Vysledkem jsou radkova cısla u∗i , i = 1, . . . ,m a sloupcova cısla v∗j , j = 1, . . . , n.

Pokud u∗i +v∗j ≤ ci,j∀i, j (viz (5.1)), je zıskane resenı optimalnı a vypocet koncı. V opacnem prıpadepokracujeme krokem 3.

Krok 3. Zmena baze, nove resenı, pokracuje krok 2.

Podobne lze odvodit i algoritmus pro ruzne varianty ulohy o toku sıtı. I zde jsou zname podmınkyna vstupnı data, pri kterych jsou bazicka prıpustna resenı celocıselna. Veta o dualite ma specialnı tvarznamy jako veta Fordova - Fulkersonova, pro algoritmus se vzil nazev out-of-kilter.

V obecnem prıpade simplexova metoda nevede na celocıselne optimalnı resenı. Celocıselne resenı lzenalezt za cenu numericky dosti narocnych dodatecnych postupu. Jednım z nich je metoda vetvenı a mezı,kterou pouzıva GAMS. Podmınky celocıselnosti se vyskytujı napr. v investicnıch problemech.

31

Page 32: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

32

Page 33: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Kapitola 6

Vypocetnı algoritmy prooptimalizacnı ulohy

Minimalizacnı a maximalizacnı ulohy resıme pomocı vypocetnıch algoritmu. Zatım zname

1. Simplexova metoda;

2. Wolfeho algoritmus;

3. Gradientnı (Newtonova) metoda na prımce bez omezenı.

Algoritmy delıme podle nekolika hledisek.

I) Podle toho, zda vyuzıvajı nahodneho rozhodovanı: deterministicke a stochasticke.

II) Podle toho, zda konstruujı posloupnost pribliznych resenı, ktera jsou prıpustnymi resenımi daneulohy, ci nikoli: vnitrnıho bodu (x∗ ∈M) a vnejsıho bodu (x∗ /∈M).

III) Podle toho jaky rad derivace algoritmus vyuzıva: prıme (funkcnı hodnoty), gradientnı (gradienty)a newtonovske (matice druhych derivacı).

Vyber a sestavovanı algoritmu pro konkretnı optimalizacnı ulohu by mel brat v uvahu typ ulohy,heuristiku, tvar algoritmu a vlastnosti konvergence algoritmu.

Zakladnı pozorovanı:

• Potrebujeme najıt bod lokalnıho minima, vyhodou je konvexnost a polyedricka mnozina prıpustnychresenı.

• Podstatna je struktura ulohy.

6.1 Strucny prehled algoritmu pro NLP

Uvazujeme ulohu min {f(x) : x ∈M}. Idee k zjednodusenı ulohy a pro urychlenı vypoctu.

1. Nahradit funkci f linearnı funkcı a mnozinu M nahradit konvexnı polyedrickou mnozinou. Pakmuzeme pouzıt simplexovou metodu nebo nektery jiny algoritmus pro resenı linearnıho progra-movanı.

2. Upravit gradientnı metodu na ulohu s omezenımi danymi mnozinou M.

3. Prevest ulohu na volny extrem.

Budeme si vsımat typu ulohy, heuristiky, nastinu algoritmu a jeho vlastnostı. Rozebereme si strucnezakladnı typy algoritmu.

33

Page 34: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

34

6.2 Metoda secne (operne) nadroviny

Mame ulohu NLP:

minimalizovat f(x) na mnozine M = {x ∈ Rn : gk(x) ≤ 0, k = 1, . . . ,m}, (6.1)

kde f, gk, ∀k jsou konvexnı, spojite diferencovatelne, existuje konstanta C s vlastnostı ||∇f(x)|| ≤ C,||∇gk(x)|| < C pro vsechny x a M je kompakt.

Mame M kompakt, proto muzeme najıt M0 konvexnı polyedr - naprıklad M0 =n

Xj=1

[Lj , Uj ] , ktery

obsahuje M. Zacneme minimalizacı funkce f na mnozine M0. Dostaneme optimalnı resenı x0.

• Jestli x0 ∈M, pak mame resenı zadane ulohy NLP.

• Jestli x0 /∈M, pak ho podle vety o oddelitelnosti bodu a konvexnı mnoziny muzeme od M oddelitnadrovinou. Dostaneme tak konvexnı polyedr M1 ⊂M0 tak ze M1 6= M0, M1 ⊃M , x0 /∈M1.Minimalizujeme funkci f na mnozine M1 a pokracujeme rekurentne dale.

Formulujme algoritmus zalozeny na teto myslence.

Metoda secne nadroviny

KROK 1: Urci M0 konvexnı polyedr M0 ⊃M.

KROK 2: Je urcen konvexnı polyedr Mt takovy, ze Mt ⊃M.

Urci resenı x(t) ulohy: minimalizovat f na Mt.

• Pokud x(t) ∈M, pak x(t) ∈ argminx∈Mf a je optimalnım resenım ulohy.

• Pokud x(t) /∈M, jdi na KROK 3.

KROK 3: Protoze x(t) /∈M je alespon jedna podmınka gk(x(t)) > 0.Vezmi nejvetsı porusenı gkt(x

(t)) = maxk gk(x(t)).Poloz

Mt+1 = Mt ∩{x ∈ Rn : gkt(x

(t)) +(∇gkt(x

(t)))>

(x− x(t)) ≤ 0}

, (6.2)

t := t + 1 a vrat’ se na KROK 2.

Musıme jeste overit, ze v kroku 3 zachovame podmınku M ⊂Mt+1 a x(t) /∈Mt+1.

• x(t) nepatrı do Mt+1, protoze nesplnuje pridanou podmınku v (6.2), jelikoz gkt(x(t)) > 0.

• Necht’ x ∈M, pak gkt(x) ≤ 0. Funkce gkt je konvexnı a tak platı

gkt(x(t)) +

(∇gkt(x

(t)))>

(x− x(t)) ≤ gkt(x) ≤ 0.

Tedy x ∈Mt+1 .

Algoritmus nam dava posloupnost do sebe zarazenych mnozin

M0 ⊃M1 ⊃M2 ⊃ . . . ⊃M.

Na kazde z nich pocıtam minx∈Mt f a minimum monotonne roste pro t → ∞. Jde o metodu vnejsıhobodu. Pokud algoritmus neskoncı v nekterem opakovanı kroku 2, tak dostaneme x(t) /∈M a posloupnost

f(x(t)) = minx∈Mt

f(x)↗ minx∈M

f(x).

Lze dokazat, ze kazda konvergentnı podposloupnost posloupnosti {x(t)} ma limitu v mnozine optimalnıchresenı argminx∈Mf(x).

Page 35: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 35

V praxi vsak nemuzeme udelat nekonecne mnoho kroku tohoto algoritmu. Pokud nenalezneme op-timalnı resenı, musıme vypocet ukoncit nejakym jinym pravidlem; napr. omezenım poctu opakovanı,casem vypoctu, atd.

Kdyz bude f linearnı, pak v kroku 2 resıme ulohu linearnıho programovanı.Predpoklad linearnı f neznamena zadnou ztratu na obecnosti nebot’ obecnou ulohu (6.1) lze jednoduse

prevest na ulohu s linearnı ucelovou funkcı. Stacı pridat novou promennou xn+1 a resit ulohu

min {xn+1 : gk(x1, . . . , xn+1) ≤ 0, k = 1, . . . ,m + 1} ,

kde

gk(x1, . . . , xn+1) = gk(x1, . . . , xn), k = 1, . . . ,m, gm+1(x1, . . . , xn+1) = f(x1, . . . , xn)− xn+1.

Prıklad 19: Maximalizujte x1 + x2 na mnozine

M ={(

x1

x2

)∈ R2 : x2

1 + x22 ≤ 1, x1 ≥ 0, x2 ≥ 0

}.

Nejdrıve ulohu prepıseme na tvar, pro ktery byla metoda vylozena

min{−x1 − x2 : x2

1 + x22 − 1 ≤ 0, x1 ≥ 0, x2 ≥ 0

}.

Oznacme g(x) = x21 + x2

2 − 1. Tato funkce ma gradient ∇g(x) =(2x12x2

).

0. Jako startovnı mnozinu vezmeme ctverec M0 = [0, 1]× [0, 1].

1. Minimalizujeme −x1 − x2 na M0. Minimalnı hodnota ucelove funkce je −2 a minimum nastava vbode x0 = [1, 1], ktery nepatrı do M.

2. Podmınky nezapornosti splneny jsou, ale podmınka g(x0) ≤ 0 nenı splnena, nebot’ g(x0) = 1 > 0.Rez bude

g(x0) + (2 2)(

x1 − 1x2 − 1

)≤ 0

tedy

1 + 2x1 − 2 + 2x2 − 2 ≤ 0⇒ x1 + x2 ≤ 32.

Tudız

M1 ={(

x1

x2

)∈ R2 : x1 + x2 ≤ 3

2, 0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1

}.

3. Minimalizujeme −x1 − x2 na M1. Jak je videt na obrazku, na usecce (rezu) si muzeme vybratlibovolny bod. Vsechny budou body minima −x1 − x2 na dane mnozine M1. Vybereme naprıklad

bod x1 =(1, 1

2

)>. Minimalnı hodnota ucelove funkce je f(x1) = − 3

2 .

Tento bod opet splnuje podmınky nezapornosti, ale nesplnuje omezenı, protoze g(x1) = 1+ 14 −1 =

14 > 0.

Gradient je ∇g(x1) =(21

), proto pridame omezenı

g(x1) + (2 1)(

x1 − 1x2 − 1

2

)≤ 0,

coz dava podmınku

2x1 + x2 ≤ 94.

Tudız

M2 ={x ∈ R2 : x1 + x2 ≤ 3

2, 2x1 + x2 ≤ 9

4, 0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1

}.

Page 36: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

36

4. Minimalizujeme −x1 − x2 na M2. Minimalnı hodnota ucelove funkce se nezmenila. Zustava − 32 a

nabyva se ji v kazdem bode usecky s koncovymi body(

34 , 3

4

)>a

(12 , 1

)>.

Zvolme bod x2 =(

34 , 3

4

)>. Bod nenı prıpustnym resenım nası ulohy. Odrızneme jej rezem

g(x2) +(

32

32

)(x1 − 3

4

x2 − 34

)≤ 0,

coz dava podmınku

x1 + x2 ≤ 1712

.

Tudız

M3 ={x ∈ R2 : x1 + x2 ≤ 3

2, 2x1 + x2 ≤ 9

4, x1 + x2 ≤ 17

12, 0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1

}

={x ∈ R2 : x1 + x2 ≤ 17

12, 2x1 + x2 ≤ 9

4, 0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1

}.

5. Bod minima opet nenı jednoznacne urcen. Vybereme x3 = [ 1724 , 1724 ], ktere opet nenı prıpustnym

resenım nası ulohy, a pokracujeme dalsım krokem algoritmu.

Takto zkonstruovana posloupnost bude konvergovat k bodu x∗ =(√

22 ,

√2

2

)>, ktery je optimalnım resenım

dane ulohy.4

6.3 Zobecnenı gradientnıch metod na ulohy s omezenımi

Gradientnı metody jsou urceny pro ulohu

min {f(x) : x ∈M} ,

kde funkce f , ktera je spojite diferencovatelna.Uvedomme si, ze pro obecny smer s ∈ Rn platı nasledujıcı. Definujme funkci

ϕ(λ) = f(x + λs) pro λ ≥ 0. (6.3)

Funkce je diferencovatelna a platıϕ′(λ) = s>∇f(x + λs). (6.4)

Specialneϕ′(0) = s>∇f(x). (6.5)

Tedy funkce ϕ klesa v bode 0, pokud s>∇f(x) < 0. To znamena, ze funkce f klesa ve smeru s.

Definice 6.1 Rekneme, ze s ∈ Rn je prıpustny smer z bodu x ∈ M pro ulohu min {f(x) : x ∈M},kdyz platı

1. s>∇f(x) < 0.

2. ∃ ε > 0 : x + λs ∈M pro 0 ≤ λ ≤ ε

Prvnı podmınka zarucuje pokles funkce f pri pohybu z bodu x ve smeru s a druha, ze pri malempohybu v tomto smeru zustavame v mnozine M. Pro nalezenı minima pouzijeme nasledujıcı algoritmus.

Gradientnı metoda

KROK 1: Zvol x0 ∈M.

KROK 2: Urci prıpustny smer st z bodu xt.

Page 37: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 37

• Jestli prıpustny smer neexistuje, pak jdi na KROK 4.

• Jestli existuje, jdi na KROK 3

KROK 3: Generuj nove resenı xt+1 = xt + λtst, kde λt (napr.) resı jednorozmernou ulohu

min{f(xt + λst) : xt + λst ∈M, λ ≥ 0}. (6.6)

Poloz t := t + 1 a jdi na KROK 2.

KROK 4: Je-li funkce konvexnı a M konvexnı, pak je xt optimalnı resenı.

♦Jedna se o metodu vnitrnıho bodu.Pro ulohu konvexnıho programovanı platı, ze kdyz se algoritmus zastavı, pak nalezl optimalnı resenı.

Tvrzenı 6.2 Necht’ je f konvexnı, M je konvexnı mnozina a v bode x∗ ∈M neexistuje zadny prıpustnysmer. Pak x∗ ∈ argminx∈Mf(x).

Dukaz:f(x) ≥ f(x∗) +∇f(x∗)T (x− x∗), ∀ x ∈M.

Smer x − x∗ splnuje vlastnost 2) z definice 6.1, nebot’ x∗ + λ(x − x∗) ∈ M pro kazde λ ∈ [0, 1] (tadyjsme pouzili konvexnost M). Podle predpokladu vsak nemuze byt smerem prıpustnym. Proto nutne∇f(x∗)T s ≥ 0 a platı

f(x) ≥ f(x∗) +∇f(x∗)T s ≥ f(x∗), ∀ x ∈M.

Tudız bod x∗ je optimalnım resenım ulohy.Q.E.D.

Pro nekonvexnı funkce existujı postupy jak hledat optimalnı resenı v prıpade, ze neexistuje prıpustnysmer. Doporucuje se naprıklad opakovana volba startovacıho bodu x0.

Ulohu (6.6) resıme numericky, naprıklad pulenım intervalu (0 ≤ λ ≤ ε). Problemem muze byt volbasmeru st, kde je prılis mnoho vule. V prıpade spatne volby vubec nemusı algoritmus konvergovat koptimalnımu resenı (zigg-zagging), viz nasledujıcı prıklad:

Prıklad 20: Resıme ulohu maximalizovat f(x) = −x1 − x2 za podmınek x1 + x2 ≤ 2, x1 ≥ 0, x2 ≥ 0.

Zvolıme x1 =(20

), f(x1) = −2. Smer volıme

sk =(−1− 1

k

1 + 1k+1

)(6.7)

sk =(

1 + 1k+1

−1− 1k

)(6.8)

Podmınky prıpustneho smeru: (−1,−1)sk = 1k − 1

k+1 > 0, ∀k je splnena a taky musıme overit, ze jsmeneopustili M.

s1 =(−2

32

), x2 = x1 + λs1 =

(2− λ2

32λ

).

x2 ∈M kdyz 2 ≥ 2λ a 32λ ≥ 0⇒ 0 ≤ λ ≤ 1. λ volıme tak, aby ϕ rostla co nejvıce:

maxλ∈[0,1]

−2 + 2λ− 32λ = max

λ∈[0,1]−2 +

12λ

tedy λ = 1. Dale

x2 = [0,32], f(x2) = −3

2

a volıme nasledujıcı smer s2 =(+ 4

3− 3

2

). Pak x2 + λs2 =

( λ 43

32− 3

2 λ

)a λ ∈ [0, 1]. Resıme

maxλ∈[0,1]

−43λ +

32λ− 3

2

Page 38: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

38

kde maximum bude opet pro λ = 1. Optimalnı bod je x3 = [ 43 , 0]. Hodnota f(x3) = − 43 .

Problem je, ze tahle posloupnost neklesne pod spojnici bodu [1, 0], [0, 1]. Pak ale f(xk) −→ −1, kdeztomaximum nastava v [0, 0], kde f(x) = 0.

4Pro rozumnou volbu prıpustnych smeru je potrebne modifikovat 2.krok algoritmu. Existuje cela rada

moznostı, viz napr [1].Metoda projekce gradientu,Metoda redukovaneho gradientu, optimalnı volba smeru. Uvedeme specialnı prıpad.

Prıklad 21: Necht’ M je omezena konvexnı polyedricka mnozina. V bode xt resıme ulohu LP, v kterechceme docılit miny∈M y>∇f(xt) a bod ve kterem nastane maximum pomocne ulohy oznacıme yt.

• Pokud (yt)T∇f(xt) = (xt)T∇f(xt), pak je xt optimalnı resenı a neexistuje s = yt − xt 6= 0 as>∇f(xt) < 0, tedy zadny prıpustny smer z bodu xt.

• Pokud (yt)T∇f(xt) < (xt)T∇f(xt) pak dostavame prıpustny smer st = yt − xt, protoze

(yt − xt)T∇f(xt) < 0 a xt + λ(yt − xt) ∈M pro kazde λ ∈ [0, 1].

4

6.4 Prevedenı uloh NLP na ulohy hledanı volneho minima

Budeme se zabyvat penalizacnımi a barierovymi metodami.

Penalizacnı metoda:Je urcena pro ulohy typu

min {f(x) : x ∈M} ,

kde M ⊂ X ⊂ Rn, M je uzavrena a X je otevrena mnozina. Dale mame k dispozici vhodnou penalizacnıfunkci Ψ : X → R, ktera splnuje Ψ(x) = 0 pro kazde x ∈M a roste se vzdalenostı od mnoziny M.

Prıklad 22: Pro ulohu

min {f(x) : hi(x) = 0, i = 1, . . . , p, gk(x) ≤ 0, k = 1, . . . , m, x ∈ Rn}

muzeme penalizacnı funkci volit naprıklad jako

Ψ(x) =p∑

i=1

ρi(hi(x)) +m∑

j=1

φj(gj(x)),

kde

• ρi je spojita funkce, ρi(0) = 0, klesajıcı na (−∞, 0) a rostoucı na (0, +∞); napr. |t|, t2.

• φj je spojita funkce, φj(y) = 0 pro y ≤ 0 a rostoucı na (0, +∞); napr.

t+ = max{t, 0}, t2+ = (max{t, 0})2.4

Metoda je zalozena na aproximaci zadane ulohy ulohou min {f(x) + µΨ(x) : x ∈ X}.

Penalizacnı metoda

KROK 1: ε > 0,x1 libovolne, µ1 > 0, β > 1, k := 1.

KROK 2: Hlavnı krok: Nalezneme xk+1 optimalnı resenı ulohy

min {f(x) + µkΨ(x) : x ∈ X} .

Page 39: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 39

KROK 3: PokudµkΨ(xk+1) < ε

pak algoritmus koncı. Jinak µk+1 = βµk a s k := k + 1 jdeme na KROK 2.

♦Jedna se o metodu vnejsıho bodu.

Barierova metoda:Je urcena pro ulohy typu

min {f(x) : x ∈M} ,

kde M ⊂ Rn je uzavrena mnozina a clo (int (M)) = M. Dale mame k dispozici vhodnou barierovou funkciΦ : M→ R∗, ktera splnuje Φ(x) = +∞ pro kazde x ∈ ∂(M) a roste tım, cım blıze je k hranici mnozinyM.

Jedna se o metodu vnitrnıho bodu. Metoda vyzaduje, aby mnozina prıpustnych resenı ulohy melaneprazdny vnitrek. Hodı se proto pouze pro nerovnosti gk(x) ≤ 0, ∀ k a nenı vhodna pro ulohy srovnicemi. Mnozina prıpustnych resenı ulohy s rovnostı ma totiz prazdny vnitrek.

Prıklad 23: Pro ulohumin {f(x) : gk(x) ≤ 0, k = 1, . . . ,m, x ∈ Rn}

muzeme barierovou funkci volit naprıklad jako Φ(x) =∑m

j=1 φj(gj(x)), kde funkce φj je spojita, φj(y)roste do nekonecna na (−∞, 0) a na [0, +∞) nenı definovana (nebo je +∞). Hodı se funkce konvexnı;naprıklad − 1

y nebo − log(−y) uvazovane pouze na (−∞, 0).4

Metoda je zalozena na aproximaci zadane ulohy ulohou min {f(x) + νΦ(x) : x ∈ int (M)}.Velikostı ν rıdıme vliv barierove funkce. Jestli Φ↗∞, pak pres ν tlumıme jejı rust, aby jejich soucin

zustal u nuly. Funkce Φ vytvarı barieru, pres kterou se nedostaneme - jde o metodu vnitrnıho bodu.

Barierova metoda

KROK 1: ε > 0, x1 ∈ int (M) (jinak by algoritmus nefungoval), 0 < β < 1, k := 1.

KROK 2: Hlavnı krok: Nalezneme xk+1 optimalnı resenı ulohy

min {f(x) + νkΦ(x) : x ∈ int (M)} .

KROK 3: Pokud platı toleranceνkΦ(xk+1) < ε

pak algoritmus koncı. Jinak klademe νk+1 = βνk, k := k + 1; a jdeme na KROK 2.

♦Oba postupy muzeme kombinovat a pouzıt tzv. transformacnı funkce, ktere obsahujı parametry

µ↘ 0, ν ↘ 01µ

j

Ψj(hj(x)) + ν∑

k

Φk(gk(x)).

Prıklad 24: Minimalizujte x za podmınek x ≥ 0.Jako barierove funkce pouzije funkce 1

x , − log x a jako penalizacnı funkci pouzijeme 1r (x−)2.

Pak dostavame ulohy:

• min{x + r 1

x : x > 0}, kde r ↘ 0, r > 0 je parametr.

Diferencovanım vyresıme 1− rx2 = 0 a tedy x =

√r.

• min {x− r log x : x > 0}, r ↘ 0, r > 0 parametr.Diferencovanım vyresıme 1− r

x = 0 a tedy x = r.

• min{x + 1

r (x−)2 : x ∈ R}, r ↘ 0 r > 0 je parametr.

Minimum nastava v zapornem oboru. Hledame tedy x < 0 tak, aby 1− 2r x = 0.

Tudız resenı je x = − r2 .

4

Page 40: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

40

Page 41: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Kapitola 7

Teorie her

V teto kapitole se budeme zabyvat teoriı her dvou hracu s nulovym souctem.

Definice 7.1 Trojici {X,Y; K} nazveme hrou dvou hracu s nulovym souctem, kdyz X jsou strategieI. hrace, Y jsou strategie II. hrace a K : X× Y → R je vyplata I. hrace.

To znamena, ze kdyz I. hrac zvolı strategii x ∈ X a II. hrac zvolı strategii y ∈ Y, pak vyplata I. hraceje K(x, y) a vyplata II. hrace je −K(x, y).

Hra je hrana tak, ze ani jeden z hracu pri volbe sve strategie nema k dispozici zadnou informaci ovolbe protihrace. Oba hraci zahrajı sve zvolene strategie a vyplatnı funkce urcı vyhru ci prohru hrace.

Jako prıklad her dvou hracu s nulovym souctem si muzeme uvest sachy, damu, hru”kamen-nuzky-

papır“, atd. Jako hru muzeme take chapat pusobenı lidske spolecnosti na prırodu, ekonomicko-politickyvztah dvou sousednıch statu, sestavenı vyrobnıho planu podniku (zde je protihracem okolnı ekonomickeprostredı), atd.

Definice 7.2 Pro {X,Y; K} hru dvou hracu s nulovym souctem definujeme

hornı ocenenı hry v∗ = infy∈Y

supx∈X

K(x, y), (7.1)

dolnı ocenenı hry v∗ = supx∈X

infy∈Y

K(x, y), (7.2)

hornı cenu hry v = miny∈Y

supx∈X

K(x, y), (7.3)

dolnı cenu hry v = maxx∈X

infy∈Y

K(x, y). (7.4)

Pokud dolnı a hornı cena hry existuje a platı v = v, pak rıkame, ze hra ma cenu v = v = v.Rekneme, ze

x ∈ X je optimalnı strategie I. hrace, pokud ∀ y ∈ Y : K(x, y) ≥ v∗, (7.5)y ∈ Y je optimalnı strategie II. hrace, pokud ∀x ∈ X : K(x, y) ≤ v∗. (7.6)

Uvedomme si vyznam a dulezite vztahy mezi zavedenymi pojmy.Nejprve si povsimneme, ze hornı ocenenı hry je vlastne nejnizsı zarucena vyhra I. hrace, pokud by

pred volbou sve strategie znal presne strategii zvolenou II. hracem. Obdobne dolnı ocenenı hry je vlastnenejvyssı zarucena prohra II. hrace, pokud by pred volbou sve strategie znal presne strategii zvolenouI. hracem.

Nynı jiz ke vztahum mezi zavedenymi pojmy.

Lemma 7.3 Pro kazdou {X, Y;K} hru dvou hracu s nulovym souctem vzdy existuje jejı dolnı i hornıocenenı. Navıc platı v∗ ≤ v∗.

Dukaz: Pro kazde x ∈ X, y ∈ Y platı odhady

infy∈Y

K(x, y) ≤ K(x, y),

supx∈X

infy∈Y

K(x, y) ≤ supx∈X

K(x, y),

v∗ = supx∈X

infy∈Y

K(x, y) ≤ infy∈Y

supx∈X

K(x, y) = v∗.

41

Page 42: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

42

Q.E.D.

Lemma 7.4 Necht’ {X, Y;K} je hra dvou hracu s nulovym souctem. Pak platı.

(i) Existuje alespon jedna optimalnı strategie I. hrace tehdy a jen tehdy, kdyz existuje dolnı cenahry.

(ii) Existuje alespon jedna optimalnı strategie II. hrace tehdy a jen tehdy, kdyz existuje hornı cenahry.

Dukaz:

1. Necht’ x ∈ X je optimalnı strategie prveho hrace. Pak platı

v∗ ≤ infy∈Y

K(x, y) ≤ supx∈X

infy∈Y

K(x, y) = v∗.

Tudız hra ma dolnı cenu a platı

v∗ = infy∈Y

K(x, y) = maxx∈X

infy∈Y

K(x, y) = v.

2. Necht’ ma hra dolnı cenu. Pak existuje x ∈ X takove, ze platı

v∗ = maxx∈X

infy∈Y

K(x, y) = infy∈Y

K(x, y).

Tudız platı

v∗ ≤ infy∈Y

K(x, y)

a to znamena, ze x je optimalnı strategie I. hrace.

Ekvivalentnı vyjadrenı existence optimalnı strategie II. hrace se ukaze obdobne.Q.E.D.

Veta 7.5: Necht’ {X, Y; K} je hra dvou hracu s nulovym souctem. Kdyz X, Y jsou kompaktnı metrickeprostory a K je spojita funkce, pak existuje dolnı i hornı cena hry. Navıc platı

pro kazde x ∈ X existuje y∗(x) ∈ Y tak, ze K(x, y∗(x)) = miny∈Y

K(x, y) ∈ R, (7.7)

pro kazde y ∈ Y existuje x∗(y) ∈ X tak, ze K(x∗(y), y) = maxx∈X

K(x, y) ∈ R, (7.8)

v = maxx∈X

miny∈Y

K(x, y) ∈ R, (7.9)

v = miny∈Y

maxx∈X

K(x, y) ∈ R. (7.10)

Veta 7.6: Hra {X,Y; K} ma cenu tehdy a jen tehdy, kdyz jejı vyplatnı funkce K ma sedlovy bod, tj. existujex ∈ X a y ∈ Y takove, ze

∀ x ∈ X, ∀ y ∈ Y platı K(x, y) ≤ K(x, y) ≤ K(x, y). (7.11)

Pak x je optimalnı strategie I. hrace, y je optimalnı strategie II. hrace a cena hry je v = K(x, y).

Dukaz:

1. Necht’ ma hra cenu. Pak vıme, ze pro oba hrace existujı optimalnı strategie x ∈ X, y ∈ Y a

∀ x ∈ X, ∀ y ∈ Y platı K(x, y) ≤ v ≤ K(x, y).

Odtud K(x, y) ≤ v ≤ K(x, y) neboli v = K(x, y).

Jinak receno, bod (x, y) je sedlovy bod vyplatnı funkce K.

Page 43: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 43

2. Necht’ bod (x, y) je sedlovy bod vyplatnı funkce K.

Pak platı

K(x, y) = miny∈Y

K(x, y) ≤ supx∈X

infy∈Y

K(x, y) = v∗,

K(x, y) = maxx∈X

K(x, y) ≥ infy∈Y

supx∈X

K(x, y) = v∗.

Vzhledem k tomu, ze vzdy v∗ ≤ v∗, jsme zjistili, ze

K(x, y) = maxx∈X

infy∈Y

K(x, y) = miny∈Y

supx∈X

K(x, y) = v∗ = v∗ = v = v = v.

Hra ma tedy cenu v = K(x, y), x je optimalnı strategie I. hrace a y je optimalnı strategie II. hrace.

Q.E.D.

Veta 7.7 (O minimaxu): Necht’ {X, Y; K} je hra dvou hracu s nulovym souctem. Kdyz X ⊂ Rn, Y ⊂ Rm

jsou kompaktnı konvexnı mnoziny a K je spojita funkce, konkavnı v x a konvexnı v y, pak existuje cenahry.

Dukaz: Viz [5].Q.E.D.

Povsimneme si, ze postup pro resenı ulohy (4.1) predstaveny v kapitole 4 je vlastne specialnımprıpadem teorie her. Strategiemi I. hrace jsou prıpustna resenı ulohy (4.1) a strategiemi II. hrace jsouLagrangeovy multiplikatory. Lagrangeova funkce je pak vyplatnı funkcı. Tudız veta 7.7 a vztah meziGPO, LPO a existencı optimalnıho resenı ulohy (4.1) si jsou velmi blızko. Nejsou vsak jedna zvlastnımprıpadem druhe, nebot’ majı ruzne predpoklady. Veta 7.7 vyzaduje kompaktnost mnozin prıpustnychstrategiı, coz by byl omezujıcı predpoklad na ulohu (4.1).

7.1 Maticove hry

Specialnım typem her dvou hracu s nulovym souctem jsou hry maticove.

Definice 7.8 Budeme rıkat, ze {X, Y;A} je maticova hra, jestlize A ∈ Rn×m je matice,

X =

{x ∈ Rn :

n∑

i=1

xi = 1, xi ≥ 0, i = 1, 2, . . . , n

}, (7.12)

Y =

y ∈ Rm :

n∑

j=1

yj = 1, yj ≥ 0, j = 1, 2, . . . , m

, (7.13)

jestlize {X, Y; K} je hra dvou hracu s nulovym souctem, kde K(x, y) = x>Ay.

Definice 7.9 K maticove hre {X, Y;A} budeme uvazovat maticovou hru v cistych strategiıch{X, Y;A

}, kde

X =

{x ∈ Rn :

n∑

i=1

xi = 1, xi ∈ {0, 1}, i = 1, 2, . . . , n

}, (7.14)

Y =

y ∈ Rm :

n∑

j=1

yj = 1, yj ∈ {0, 1}, j = 1, 2, . . . , m

. (7.15)

Strategie x ∈ X, y ∈ Y nazyvame ciste strategie.Rıkame, ze hra {X,Y;A} ma cenu v cistych strategiıch, pokud oba hraci majı ciste optimalnı

strategie.

Page 44: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

44

Lemma 7.10 Mnoziny X, Y jsou konvexnımi polyedry a jsou tedy kompaktnı konvexnı mnoziny.

Dukaz: Mnoziny strategiı jsou evidentne konvexnı polyedry.Q.E.D.

Veta 7.11: Maticova hra ma vzdy cenu a oba hraci majı optimalnı strategie.

Dukaz: Jde o specialnı prıpad vety 7.7.Q.E.D.

Veta 7.12: Hra {X, Y;A} ma cenu v cistych strategiıch tehdy a jen tehdy, kdyz hra{

X, Y;A}

ma cenu.

Dukaz: Stacı si pouze uvedomit definici optimalnıch strategiı.Q.E.D.

Lemma 7.13 Necht’ {X, Y;A} je maticova hra a ma cenu v. Necht’ x∗ ∈ X a y∗ ∈ Y.

(i) Pak x∗ je optimalnı strategie I. hrace tehdy a jen tehdy, kdyz (x∗)>A ≥ (v,v, . . . ,v).

(ii) Pak y∗ je optimalnı strategie II. hrace tehdy a jen tehdy, kdyz Ay∗ ≤ (v,v, . . . ,v)>.

Dukaz: K dukazu tvrzenı si stacı pouze uvedomit, ze

(x∗)>A ≥ (v,v, . . . ,v) ⇐⇒ ∀ y ∈ Y : (x∗)>Ay ≥ v,

Ay∗ ≤ (v,v, . . . ,v)> ⇐⇒ ∀ x ∈ X : xAy∗ ≤ v.

Q.E.D.

Lemma 7.14 Necht’ {X, Y;A} je maticova hra, ktera ma cenu v a x ∈ X, y ∈ Y jsou optimalnı strategieI. a II. hrace.

(i) Kdyz xi > 0, pak (Ay)i = v.

(ii) Kdyz yj > 0, pak (x>A)j = v.

Dukaz: Plyne okamzite z toho, ze xAy = v, Ay ≤ (v,v, . . . ,v)>, (x)>A ≥ (v,v, . . . ,v)>,∑n

i=1 xi = 1,x ≥ 0,

∑mj=1 yj = 1, y ≥ 0.

Q.E.D.

Veta 7.15: Maticova hra {X, Y;A} ma cenu v cistych strategiıch tehdy a jen tehdy, kdyz matice A masedlovy bod; tj. existujı indexy k, l takove, ze

Ak,l = max {Ak,j : j = 1, 2, . . . ,m} = min {Ai,l : i = 1, 2, . . . , n} . (7.16)

Dukaz:

e[k : n] je optimalnı strategie I. hrace a e[l : m] je optimalnı strategie II. hrace

m∀ j = 1, 2, . . . , m : (e[k : n]>A)j = Ak,j ≥ v,

∀ i = 1, 2, . . . , n : (Ae[l : m])i = Ai,l ≤ v

mAk,l = max {Ak,j : j = 1, 2, . . . ,m} = min {Ai,l : i = 1, 2, . . . , n} .

Q.E.D.

Definice 7.16 Rıkame, ze maticova hra {X,Y;A} je spravedliva, jestlize ma nulovou cenu, tj. v = 0.

Page 45: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 45

Definice 7.17 Rıkame, ze maticova hra {X,Y;A} je symetricka, jestlize X = Y a A = −A>.

Veta 7.18: Symetricka maticova hra {X, Y;A} je spravedliva a oba hraci majı shodnou mnozinu op-timalnıch strategiı.

Dukaz: Uvedomme si, ze pro x ∈ X = Y platı x>Ax = −x>A>x = −x>Ax. A tudız x>Ax = 0.Jde tedy o spravedlivou hru, nebot’ cena hry je nulova.

Necht’ x ∈ X = Y je optimalnı strategie I. hrace.To je ekvivalentnı s tım, ze (x)>A ≥ 0>.To je ekvivalentnı s tım, ze Ax = −A>x ≤ 0.To je ekvivalentnı s tım, ze x je optimalnı strategie II. hrace.

Q.E.D.

Definice 7.19 Necht’ a,b ∈ Rn. Budeme rıkat, ze a ostre dominuje b pokud ai > bi pro kazde i =1, 2, . . . , n.

Veta 7.20: Necht’ {X, Y;A} je maticova hra.

• Kdyz radek matice Ak,• je ostre dominovan nejakou konvexnı linearnı kombinacı ostatnıch radku,pak kazda optimalnı strategie I. hrace x ∈ X ma xk = 0.

• Kdyz sloupec matice A•,k ostre dominuje nejakou konvexnı linearnı kombinaci ostatnıch sloupcu,pak kazda optimalnı strategie II. hrace y ∈ Y ma yk = 0.

Dukaz:Q.E.D.

Specialne:

• Kdyz radek matice Ak,• je ostre dominovan radkem Al,•, pak kazda optimalnı strategie I. hracex ∈ X ma xk = 0.

• Kdyz sloupec matice A•,k ostre dominuje sloupec A•,l, pak kazda optimalnı strategie II. hracey ∈ Y ma yk = 0.

Prıklad 25:

3 2 4 0

3 4 2 3

6 5 5 1

1 4 0 7

−→

3 4 2 3

6 5 5 1

1 4 0 7

−→

(6 5 5 1

1 4 0 7

)−→

(5 1

0 7

).

Tudız optimalnı strategie stacı hledat ve tvaru x = (0, 0, x3, x4)>

, y = (0, 0, y3, y4)>

a strategie (x3, x4)>

,

(y3, y4)>

jsou optimalnımi strategiemi pro hru s vyplatnı maticı

(5 1

0 7

).

Pro optimalnı strategie platı

5x3 ≥ v, x3 + 7x4 ≥ v, 5y3 + y4 ≤ v, 7y4 ≤ v.

Coz vede k tomu, zemin{5x3, x3 + 7x4} = v = max{5y3 + y4, 7y4}.

Dostaneme rovnici 5x3 = x3 + 7x4 a odtud x3 = 74x4.

Odtud 1 = x3 + x4 = 74x4 + x4 = 11

4 x4. Tedy x3 = 711 , x4 = 4

11 a v = 3511 .

Obdobnym zpusobem nebo z komplementarity dopocteme Tedy y3 = 611 , y4 = 5

11 .

Optimalnı strategie jsou(0, 0, 7

11 , 411

)>pro I. hrace,

(0, 0, 6

11 , 511

)>pro II. hrace a cena hry je v = 35

11 .4

Page 46: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

46

Prıklad 26: Reste graficky maticovou hru s vyplatnı maticı

A =

(1 0 4 −1

−1 1 −2 5

).

Optimalnı strategie jsou(

23 , 1

3

)>pro I. hrace,

(13 , 2

3 , 0.0)>

pro II. hrace a cena hry je v = 13 .

4Maticovou hry muzeme prevest na dvojici dualnıch uloh linearnıho programovanı. Jejich vyresenım

zjistıme cenu hry i optimalnı strategie obou hracu.

Veta 7.21: Maticove hre {X, Y;A} odpovıda dvojice dualnıch uloh linearnıho programovanı

max

v : A>x−

v...

v

≥ 0,

n∑

i=1

xi = 1, x ≥ 0

, (7.17)

min

v : Ay +

v...

v

≥ 0, −

m∑

j=1

yj = 1, y ≤ 0

. (7.18)

Page 47: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Literatura

[1] Bazara, M.S.; Sherali, H.D.; Shetty, C.M.: Nonlinear Programming. Theory and Algorithms. 2ndedition, Wiley, New York, 1993.

[2] J. Dupacova: Linearnı programovanı. Skripta MFF UK, Praha, 1982.

[3] M. Hamala: Nelinearne programovanie. Alfa, Bratislava, 1972.

[4] M. Manas: Optimalizacnı metody. SNTL, Praha, 1979.

[5] T. Rockafellar: Convex Analysis. Springer-Verlag, Berlin, 1975.

47

Page 48: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Index

ulohadualnı, 22konvexnıho programovanı, 12LP, 12NLP, 11primarnı, 22ve smısenem tvaru, 15ve standardnım tvaru, 15ve tvaru nerovnostı, 15

algoritmusdvoufazovy simplexovy, 19gradientnı, 33newtonovsky, 33prımy, 33simplexovy, 18vnejsıho bodu, 33vnitrnıho bodu, 33

algoritmy, 33deterministicke, 33stochasticke, 33

baze, 16bazicke resenı, 16degenerovane bazicke resenı, 16prıpustna, 16prıpustne bazicke resenı, 16

cenydualnı, 26stınove, 26

dopravnı problemvyvazeny, 31

dvojice dualnıch uloh LP, 22symetrickych, 23

funkcekonkavnı, 10konvexnı, 10

globalnı podmınky optimality, 27

hracista strategie, 43cena, 41cena v cistych strategiıch, 43dolnı cena, 41dolnı ocenenı, 41

dvou hracu, 41hornı cena, 41hornı ocenenı, 41maticova, 43optimalnı strategie, 41

konvexnı obal mnoziny, 9krajnı bod mnoziny, 10kuzel, 9

konvexnı, 9nejmensı obsahujıcı mnozinu, 9

konvexnı polyedricky, 9krajnı smer, 10

kvadratickeho programovanı, 12

lokalnı podmınky optimality, 29, 30

maximumglobalnı, 7lokalnı, 7ostre globalnı, 7ostre lokalnı, 7

metodabarierova, 39penalizacnı, 38vnejsıho bodu, 34, 39vnitrnıho bodu, 37, 39

metoda radkovych a sloupcovych cısel, 31minimum

globalnı, 7lokalnı, 7ostre globalnı, 7ostre lokalnı, 7

mnozinaindexu aktivnıch omezenı, 28konvexnı, 9konvexnı polyedr, 9konvexnı polyedricka, 9prıpustnych resenı, 16

nadrovina, 9

ostra dominance, 45

prıpustny smer, 36podmınka

linearnı nezavislosti, 28Slaterova, 28

podmınka komplementarity

48

Page 49: Prof. RNDr. Jitka Dupaˇcov´a, DrSc. Doc. RNDr. Petr ...mffborec.wz.cz/cms/uploads/File/optim/uskripta0506_1.pdf8 Vˇeta 1: Necht’ f: D → R, kde D ⊂ R.Jestliˇze v bodˇe x∗

Prednaska U-Opt, February 19, 2006:1324 Petr Lachout 49

NLP, 27podmınka regularity, 28podmınky komplementarity, 24poloprostor, 9promenne

skluzove, 16prostor, 9

symetricka uloha NLP, 27

vetasilna o dualite, 24slaba o dualite, 24