matematické programovanie
TRANSCRIPT
Matematické programovanie
Metódy vol’nej
optimalizácie
– p. 1/35
Informácie o predmete
Informácieo predmete
– p. 2/35
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.
– p. 3/35
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
Informácie o predmete
Podmienky hodnotenia
% známka
91-100 A81-90 B71-80 C61-70 D51-60 E
– p. 5/35
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
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
Matematické programovanie
Matematicképrogramovanie
– p. 8/35
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
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
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
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
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
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
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
História optimalizacných úloh
Históriaoptimalizacných úloh
– p. 16/35
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
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
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
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
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
História optimalizacných úloh
Harold W. Kuhn a Albert W. Tucker
– p. 22/35
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
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
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
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
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
História optimalizacných úloh
George Dantzig (1914-2005) - Simplexová metóda
– p. 28/35
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
História optimalizacných úloh
Narendra Karmarkar (1957-...) - Metódy vnútorného bodu
– p. 30/35
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
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
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
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
História optimalizacných úloh
Yurii Nesterov a Arkadi Nemirovski
– p. 35/35