matematické programovanie

35
Matematické programovanie Metódy vol’nej optimalizácie – p. 1/35

Upload: others

Post on 15-Oct-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matematické programovanie

Matematické programovanie

Metódy vol’nej

optimalizácie

– p. 1/35

Page 2: Matematické programovanie

Informácie o predmete

Informácieo predmete

– p. 2/35

Page 3: Matematické programovanie

Informácie o predmete

METÓDY VOL’NEJ OPTIMALIZÁCIE

• Prednášajúca: M. Trnovská (M 267)• Cviciaci: J. Komadel• Informácie týkajúce sa predmetu na stránke

http://www.iam.fmph.uniba.sk/institute/trnovska/mvo.html

• Konzultácie sa dajú dohodnút’ mailom.

[email protected]

– p. 3/35

Page 4: Matematické programovanie

Informácie o predmete

Podmienky hodnotenia

• Domáce úlohy na cviceniach◦ 40 %◦ Výstup: matlabovský kód, spracovanie úlohy (výstupu,

komentárr, grafy, tabul’ky) do pdf súboru (latex)• Skúška

◦ 60 %◦ Minimálna kostra - základné znalosti◦ Písomka◦ Ústna cast’ (nepovinná)

– p. 4/35

Page 5: Matematické programovanie

Informácie o predmete

Podmienky hodnotenia

% známka

91-100 A81-90 B71-80 C61-70 D51-60 E

– p. 5/35

Page 6: Matematické programovanie

Informácie o predmete

Literatúra• Základná literatúra: M. Hamala, M. Trnovská: Nelineárne

programovanie (1. cast’)

• Doplnková literatúra: S. Boyd, L. Vandenberghe: Convexoptimization

– p. 6/35

Page 7: Matematické programovanie

Informácie o predmete

Harmonogram prednášok

• Úvod do predmetu• Motivacné prendášky• Metódy minimalizácie funkcie jednej premennej

◦ Metódy intervalovej aproximácie◦ Metódy bodovej aproximácie

• Metódy minimalizácie funkcie n premenných◦ Klasické metódy

• Gradientné metódy• Metóda CSR• Newtonova metóda

◦ Moderné metódy• Združené gradienty• Kvázinewtonovské metódy

◦ Metódy pre vel’korozmerné úlohy

– p. 7/35

Page 8: Matematické programovanie

Matematické programovanie

Matematicképrogramovanie

– p. 8/35

Page 9: Matematické programovanie

Matematické programovanie

ÚLOHA MATEMATICKÉHO PROGRAMOVANIA

min f0(x)

x ∈ K ⊆ Rn

(MP )

• Ak K = Rn alebo K je otvorená množina - hovoríme o úlohe na

vol’ný extrém.• Ak K je uzavretá množina spravidla popísaná systémom rovníc a

nerovníc

K = {x ∈ Rn | fi(x) ≤ 0, i ∈ I, hj(x) = 0, j ∈ J},

hovoríme o úlohe s ohraniceniami.

– p. 9/35

Page 10: Matematické programovanie

Matematické programovanie

Z hl’ladiska typu funkcií rozlišujeme

• Úlohu lineárneho programovania- ak funkcie f0, fi, i ∈ I, hj , j ∈ J sú lineárne (afínne);

• Úlohu nelineárneho programovania- ak aspon jedna z funkcií f0, fi(x), i ∈ I, hj(x), j ∈ J nie jelineárna;

• Úlohu konvexného programovania- ak funkcie f0, fi(x) 0, i ∈ I sú konvexné a funkcie hj(x), j ∈ J

sú lineárne (afínne);

LINEÁRNE ⊂ KONVEXNÉ ⊂ NELINEÁRNE

– p. 10/35

Page 11: Matematické programovanie

Matematické programovanie

Klasifikácia úloh nelineárneho programovania:

• AkK = {x ∈ R

n | hj(x) = 0, j ∈ J},

- klasická Lagrangeova úloha na viazaný extrém• Ak

K = {x ∈ Rn | fi(x) ≤ 0, i ∈ I},

- úloha nelineárneho programovania programovania v užšomzmysle

• AkK = {x ∈ R

n | fi(x) ≤ 0, i ∈ I, hj(x) = 0, j ∈ J},

- úloha nelineárneho programovania programovania v širšomzmysle

– p. 11/35

Page 12: Matematické programovanie

Matematické programovanie

METÓDY VOL’NEJ OPTIMALIZÁCIE = metódy riešenia úloh navol’ný extrém

min f(x)

x ∈ Rn

(U1)

kde f : Rn → R a casto sa predpokladá diferencovatel’nost’ (1. alebo2. rádu).

• Optimálne riešenie úlohy (U1) - x ∈ Rn

• Optimálna hodnota f(x) = f

• Platí∀x ∈ R

n : f(x) = f ≤ f(x)

– p. 12/35

Page 13: Matematické programovanie

Matematické programovanie

• Ak f je diferencovatel’ná, x je optimálne riešenie, tak zrejme

∇f(x) = 0. (NP )

• Ak f je navyše konvexná, podmienka (NP) je nie len nutnou, aleaj postacujúcou podmienkou optimality - riešenie úlohy (U1) jeekvivalentné riešeniu systmu (NP).

• Úloha (U1) sa zvycajne rieši nejakým iteracným algoritmom,ktorý generuje postupnost’ bodov

x0, x1, x2, . . . ∈ Rn, f(xk) → x, pre k → ∞

• Algoritmus koncí v ε-presnom riešení, t. j. ked’

f(xk)− f < ε.

alebo ked’ je splnené iné kritérium suboptimality - napr.‖∇f(xk)‖ < ε.

– p. 13/35

Page 14: Matematické programovanie

Matematické programovanie

• Niektoré úlohy možno priamo naformulovat’ ako úlohu na vol’nýextrém (U1) - napr.

min f(x) = ‖Ax− b‖

x ∈ Rn

- hl’adanie približného riešenia systému Ax ≈ b v norme ‖ · ‖.

min f(x) = ‖Ax− b‖+ λ‖x‖

x ∈ Rn

- hl’adanie približného riešenia systému Ax ≈ b s regularizáciou.

– p. 14/35

Page 15: Matematické programovanie

Matematické programovanie

• Riešenie mnohých úloh matematického programovania sohraniceniami

min f0(x)

fi(x) ≤ 0, i ∈ I

hj(x) = 0, j ∈ J

(MP )

možno transformovat’ na riešenie postupnosti úloh na vol’nýextrém (U1):

◦ Metódy Lagrangeovych funkcií

◦ Metódy vnútorného bodu

– p. 15/35

Page 16: Matematické programovanie

História optimalizacných úloh

Históriaoptimalizacných úloh

– p. 16/35

Page 17: Matematické programovanie

História optimalizacných úloh

Euklidova úloha:

Do daného trojuholníka ABC vpíšte rovnobežník ADEF tak, že

AF ‖ DE, AD ‖ EF a jeho obsah je maximálny.

Ako naformulujeme Euklidov problém ako optimalizacnú úlohu?

– p. 17/35

Page 18: Matematické programovanie

História optimalizacných úloh

maxx∈(0,c)

f(x) =Hx(c− x)

c

• maximum sa nadobúda pre x = c2 .

• Euklid to ukázal geometrickou úvahou• dnes vieme, že stací riešit’ f ′(x) = 0.

• Fermat (1601-1665)• Newton (1643-1727)• Leibnitz (1646-1716)• Lagrange (1736-1813)

– p. 18/35

Page 19: Matematické programovanie

História optimalizacných úloh

Joseph Louis Lagrange (1736-1813)

"Essai sur d’une nouvelle méthode pour déterminer les maxima etminima des formules intégrales indéfinies"

– p. 19/35

Page 20: Matematické programovanie

História optimalizacných úloh

• Lagrangeova úloha:

Min {f0(x) | hi(x) = 0, i = 1, . . . ,m}

kde f0, hj : Rn → R, j = 1, . . . ,m

• Lagrangeova funkcia:

L : Rn × Rm → R, L(x, u) = f0(x) +

m∑

i=1

uihi(x)

• Lagrangeova metóda:

∇xL(x, u) = 0, ∇uL(x, u) = 0.

- systém nelineárnych rovníc - Newtonov algoritmus

– p. 20/35

Page 21: Matematické programovanie

História optimalizacných úloh

Moderná matematická teória nelineárneho porgramovania• Konferenica: Second Berkeley Symposium on Mathematical

Statistics and Probability, 31. júl - 12. august, 1950• Miesto: Statistical Laboratory of the University of California,

Berkeley• Albert W. Tucker (Princeton) prezetnoval príspevok s názvom

“Nonlinear Programming” (spoluautor: Harold W. Kuhn)• Prvý krát sformulovaná úloha typu

min g(x)

fi(x) ≥ 0, i = 1, . . . ,m

x ≥ 0

a sformulovaná a dokázaná Kuhn-Tuckerova veta• Na úvodnej strane: This work was done under contracts with the

Office of Naval Research.

– p. 21/35

Page 22: Matematické programovanie

História optimalizacných úloh

Harold W. Kuhn a Albert W. Tucker

– p. 22/35

Page 23: Matematické programovanie

História optimalizacných úloh

Posúvanie hranice medzi jednoduchými a zložitými úlohami zhistorického hl’adiska

Matematické programovanie

- teória a algoritmy na riešenie optimalizacných úloh typu

min f0(x)

x ∈ K ⊆ Rn

(MP )

– p. 23/35

Page 24: Matematické programovanie

História optimalizacných úloh

Posúvanie hranice medzi jednoduchými a zložitými úlohami zhistorického hl’adiska

Matematické programovanie

- teória a algoritmy na riešenie optimalizacných úloh typu

min f0(x)

x ∈ K ⊆ Rn

(MP )

• lineárne vs. nelineárne

– p. 24/35

Page 25: Matematické programovanie

História optimalizacných úloh

lineárne vs. nelineárne

-2-1

01

2

-1

-0.5

0

0.5

1-10

-5

0

5

10

x

3 x- 2 y

y -2-1

01

2

-1

-0.5

0

0.5

1-2

0

2

4

x

4 x2- 2 x4+ 0.3 x6+ x y- 4 y2+ 4 y4

y

– p. 25/35

Page 26: Matematické programovanie

História optimalizacných úloh

Posúvanie hranice medzi jednoduchými a zložitými úlohami zhistorického hl’adiska

Matematické programovanie

- teória a algoritmy na riešenie optimalizacných úloh typu

min f0(x)

x ∈ K ⊆ Rn

(MP )

• lineárne vs. nelineárne

– p. 26/35

Page 27: Matematické programovanie

História optimalizacných úloh

Posúvanie hranice medzi jednoduchými a zložitými úlohami zhistorického hl’adiska

Matematické programovanie

- teória a algoritmy na riešenie optimalizacných úloh typu

min f0(x)

x ∈ K ⊆ Rn

(MP )

• lineárne vs. nelineárne• 1947 - George Dantzig - simplexová metóda

– p. 27/35

Page 28: Matematické programovanie

História optimalizacných úloh

George Dantzig (1914-2005) - Simplexová metóda

– p. 28/35

Page 29: Matematické programovanie

História optimalizacných úloh

Posúvanie hranice medzi jednoduchými a zložitými úlohami zhistorického hl’adiska

Matematické programovanie

- teória a algoritmy na riešenie optimalizacných úloh typu

min f0(x)

x ∈ K ⊆ Rn

(MP )

• lineárne vs. nelineárne• 1947 - George Dantzig - simplexová metóda• 1984 - Narendra Karmarkar - metódy vnútorného bodu

– p. 29/35

Page 30: Matematické programovanie

História optimalizacných úloh

Narendra Karmarkar (1957-...) - Metódy vnútorného bodu

– p. 30/35

Page 31: Matematické programovanie

História optimalizacných úloh

Posúvanie hranice medzi jednoduchými a zložitými úlohami zhistorického hl’adiska

Matematické programovanie

- teória a algoritmy na riešenie optimalizacných úloh typu

min f0(x)

x ∈ K ⊆ Rn

(MP )

• lineárne vs. nelineárne• 1947 - George Dantzig - simplexová metóda• 1984 - Narendra Karmarkar - metódy vnútorného bodu• konvexné vs. nekonvexné

– p. 31/35

Page 32: Matematické programovanie

História optimalizacných úloh

konvexné vs. nekonvexné

-2-1

01

2

-1

-0.5

0

0.5

10

2

4

6

8

10

x

0.5 x2+ 8 y2

y -2-1

01

2

-1

-0.5

0

0.5

1-2

0

2

4

x

4 x2- 2 x4+ 0.3 x6+ x y- 4 y2+ 4 y4

y

– p. 32/35

Page 33: Matematické programovanie

História optimalizacných úloh

Posúvanie hranice medzi jednoduchými a zložitými úlohami zhistorického hl’adiska

Matematické programovanie

- teória a algoritmy na riešenie optimalizacných úloh typu

min f0(x)

x ∈ K ⊆ Rn

(MP )

• lineárne vs. nelineárne• 1947 - George Dantzig - simplexová metóda• 1984 - Narendra Karmarkar - metódy vnútorného bodu• konvexné vs. nekonvexné

– p. 33/35

Page 34: Matematické programovanie

História optimalizacných úloh

Posúvanie hranice medzi jednoduchými a zložitými úlohami zhistorického hl’adiska

Matematické programovanie

- teória a algoritmy na riešenie optimalizacných úloh typu

min f0(x)

x ∈ K ⊆ Rn

(MP )

• lineárne vs. nelineárne• 1947 - George Dantzig - simplexová metóda• 1984 - Narendra Karmarkar - metódy vnútorného bodu• konvexné vs. nekonvexné• 1994 - Nesterov & Nemirovski - metódy vnútorného bodu pre

konvexné úlohy.

– p. 34/35

Page 35: Matematické programovanie

História optimalizacných úloh

Yurii Nesterov a Arkadi Nemirovski

– p. 35/35