Co a k ˇ cemu je optimalizace
Tom´aˇs Werner, Tom´aˇs Kroupa
26. z´aˇr´ı 2020
Co je optimalizace?
Co na to slovn´ık:
I Latinsko-anglick´y slovn´ık:optimus (adj.) = I very good, best
I excellent
I most beneficial, most advantageous I Merriam-Webster dictionary: optimization =
I An act, process, or methodology of making something (such as a design, system, or decision) as fully perfect, functional, or effective as possible.
I Specifically, the mathematical procedures (such as finding the maximum of a function) involved in this.
I Business Dictionary:optimization =
Finding an alternative with the most cost effective or highest achievable performance under the given constraints, by maximizing desired factors and minimizing undesired ones.
2 / 24
Mnoho aplikac´ı
I ekonomie a finance: minim´aln´ı riziko, maxim´aln´ı zisk, nastaven´ı cen, ...
I logistika:doprava, pr˚umysl, z´asobov´an´ı, v´alka
I ˇr´ızen´ı (control engineering): v´ytahu, robota, vlaku, letadla, aktivn´ı budovy, ...
I rozvrhov´an´ı a pl´anov´an´ı (scheduling):ˇskoln´ı rozvrh, v´yrobn´ı kroky, cesta mobiln´ıho robota, sled
´
ukon˚u robotick´eho manipul´atoru, aircrew scheduling
I floor planning:n´avrh integrovan´ych obvod˚u (VLSI design) a ploˇsn´ych spoj˚u I optimalizace k´odu:co nejmenˇs´ı pamˇet’, co nejrychlejˇs´ı k´od
I routing:IDOS, navigace v autˇe, n´avrh poˇc´ıtaˇcov´e s´ıtˇe, ...
I pravdˇepodobnost a statistika:princip maxim´aln´ı vˇerohodnosti, princip maxima entropie, regrese (modelov´an´ı funkˇcn´ı z´avislosti n´ahodn´ych promˇenn´ych), rozhodov´an´ı za neurˇcitosti
I poˇc´ıtaˇcov´e vidˇen´ı:rekonstrukce sc´eny z obraz˚u (multiview geometry), segmentace obrazu pomoc´ı ˇrez˚u v grafu (graph cuts), hled´an´ı tv´aˇr´ı v obraze (AdaBoost), ...
I inteligentn´ı zpracov´an´ı jin´ych sign´al˚u(napˇr. audio, EKG, EEG): separace zdroj˚u, auditory scene analysis, ...
I rozpozn´av´an´ı a strojov´e uˇcen´ı:minim´aln´ı tr´enovac´ı chyba, nejjednoduˇsˇs´ı model I n´avrh mechanick´ych struktur:most, jeˇr´ab, h´ak, kˇr´ıdlo letadla
I molekul´arn´ı modelov´an´ı:napˇr. protein folding I teorie her
I pˇriˇrazov´an´ı radiov´ych frekvenc´ı v mobiln´ı s´ıti
Pˇr´ıroda optimalizuje
“Nothing takes place in the world whose meaning is not that of some maximum or minimum.”
– Leonhard Euler1
I Fyzik´aln´ı z´akony ˇcasto ve variaˇcn´ım tvaru:
I syst´em v rovnov´aze je v lok´aln´ım minimu potenci´aln´ı energie I princip nejkratˇs´ıho ˇcasu v optice (Fermat)
I princip nejmenˇs´ıho ´uˇcinku v klasick´e mechanice: syst´em se pohybuje ve stavov´em prostoru mezi dvˇema ˇ
casy tak, ˇze celkov´y ´uˇcinek m´a minim´aln´ı (pˇresnˇeji: lok´alnˇe extr´emn´ı) hodnotu I Occamova bˇritva, K.Popper: pˇr´ıroda si vˇzdy vyb´ır´a nejjednoduˇsˇs´ı model I organismus si vyb´ır´a nejkratˇs´ı cestu, minimalizuje n´amahu na dosaˇzen´ı c´ıle, ...
1Cit´at ukraden ze slajd˚u pˇredmˇetu Optimalizace a teorie her (A8B01OGT, M.Bohata) na FEL
4 / 24
Matematick´ a optimalizace (= matematick´ e programov´ an´ı)
Obecn´a formulace optimalizaˇcn´ı ´ulohy:
I Je d´anamnoˇzina pˇr´ıpustn´ych ˇreˇsen´ıX ⊆ X0a´uˇcelov´a funkcef : X0→ R.
I Ukol: najdi minumum funkce f na mnoˇ´ zinˇe X . Z´akladn´ı pojmy:
I Funkce f nab´yv´a minimana mnoˇzinˇe X v prvku x∗∈ X , kdyˇz f (x∗) ≤ f (x ) pro kaˇzd´e x ∈ X . x∗ se naz´yv´aargument minima f na X .
I f (x∗) = min
x ∈Xf (x ) se naz´yv´aminim´aln´ı hodnotaf na X . I argmin
x ∈X
f (x ) je mnoˇzina vˇsech argument˚u minima f na X .
I Analogicky promaxima. Maxima a minima se dohromady naz´yvaj´ıextr´emy.
Pˇr´ıklad:
X0= {A, B, C , D, E }, X = {A, B, C , E }, f (A) = 0, f (B) = −1, f (C ) = 5, f (D) = −2, f (E ) = −1.
I f nab´yv´a na X minima v prvc´ıch B a E I min
x ∈Xf (x ) = −1 I argmin
x ∈X
f (x ) = {B, E }
Typy optimalizaˇ cn´ıch ´ uloh
I kombinatorick´a optimalizace: X koneˇcn´a (ale obrovsk´a)
(X ⊆ X0= {0, 1}nnebo X obsahuje textov´e ˇretˇezce, grafy, konfigurace Rubikovy kostky, ...).
I spojit´a optimalizace: X ⊆ X0= Rn nespoˇcetn´a (“spojit´e promˇenn´e”) (to zn´ate z anal´yzy)
I variaˇcn´ı poˇcet: X je mnoˇzina diferencovateln´ych funkc´ı ϕ: D → R, kde D ⊆ Rnje pevn´e.
Uˇ´celov´a funkce f : X → R se pak naz´yv´afunkcion´al.
V kursu se zamˇeˇr´ıme hlavnˇe na spojitou optimalizaci.
6 / 24
Pˇr´ıklad kombinatorick´ e optimalizace: Probl´ em obchodn´ıho cestuj´ıc´ıho
M´ame n mˇest. Mezi kaˇzdou dvojic´ı mˇest i , j je silnice o zn´am´e d´elce d (i , j ) ≥ 0. Najdi nejkratˇs´ı moˇznou trasu, kter´a navˇst´ıv´ı kaˇzd´e mˇesto pr´avˇe jednou a vr´at´ı se nazpˇet do v´ychoz´ıho mˇesta.
I X je mnoˇzina vˇsech permutac´ı n prvk˚u, tj. n-tic (i1, . . . , in) kde i1, . . . , in∈ {1, . . . , n} jsou r˚uzn´e I Pro permutaci (i1, . . . , in) je
f (i1, . . . , in) =
n−1
X
k=1
d (ik, ik+1) + d (in, i1)
I (Kdyˇz nˇejak´a dvojice mˇest i , j nen´ı spojena silnic´ı, nastav´ıme d (i , j ) jako velmi velk´e ˇc´ıslo.) I NP-tˇeˇzk´a ´uloha.
Vˇeˇr´ı se, ˇze nikdy nebude zn´am algoritmus, kter´y by ˇreˇsil NP-tˇeˇzk´e ´ulohy v pˇrijateln´em ˇcase (= v ˇcase, kter´y je polynomi´aln´ı funkc´ı velikosti ´ulohy, zde m + n).
Pˇr´ıklad spojit´ e optimalizace: Bod na hyperbole nejbliˇ zˇs´ı dan´ emu bodu
Najdi bod na hyperbole s rovnic´ı xy = 1, kter´y je nejbl´ıˇze bodu (x0, y0).
I X = { (x , y ) ∈ R2| xy = 1 } I f (x , y ) =p(x − x0)2+ (y − x0)2
8 / 24
Pˇr´ıklad ´ ulohy variaˇ cn´ıho poˇ ctu: Nejkratˇs´ı kˇrivka spojuj´ıc´ı dva body
Najdˇete nejkratˇs´ı kˇrivku spojuj´ıc´ı dva dan´e body (x1, y1), (x2, y2) ∈ R2v rovinˇe.
(B ´UNO pˇredpokl´ad´ame x16= x2.)
I Kˇrivka spojuj´ıc´ı dan´e body je graf diferencovateln´e funkce ϕ: [x1, x2] → R takov´e, ˇze ϕ(x1) = y1a ϕ(x2) = y2.
I Minimalizuj d´elku kˇrivky
f (ϕ) = Z x2
x1
p1 + ϕ0(x )2dx
za podm´ınek ϕ(x1) = y1 a ϕ(x2) = y2.
I Reˇsen´ım je afinn´ı funkce. Grafem t´ˇ eto funkce je ´useˇcka proch´azej´ıc´ı dan´ymi dvˇema body.
Dalˇs´ı klasick´e ´ulohy z variaˇcn´ıho poˇctu:
I isoperimetrick´y probl´em (najdi uzavˇrenou rovinou kˇrivku dan´e d´elky obep´ınaj´ıc´ı nejvˇetˇs´ı plochu) I brachistochrona
I ˇretˇezovka
I optim´aln´ı trajektorie chapadla robota za dan´ych okrajov´ych podm´ınek
10 / 24
Obecn´ a ´ uloha spojit´ e optimalizace
Jsou d´any ˇc´ısla n, m, ` ∈ N a funkce f , g1, . . . , gm, h1, . . . , h`: Rn→ R.
I X ⊆ Rn je mnoˇzina vˇsech ˇreˇsen´ı x = (x1, . . . , xn) soustavy
gi(x1, . . . , xn) ≤ 0, i = 1, . . . , m hi(x1, . . . , xn) = 0, i = 1, . . . , ` I Hled´ame minimum funkce f na mnoˇzinˇe X .
Tato ´uloha se zapisuje tak´e jako
min f (x1, . . . , xn)
za podm´ınek gi(x1, . . . , xn) ≤ 0, i = 1, . . . , m hi(x1, . . . , xn) = 0, i = 1, . . . , `
x1, . . . , xn ∈ R nebo kratˇceji
min{ f (x) | x ∈ Rn, g(x) ≤ 0, h(x) = 0 } kde g: Rn→ Rm a h: Rn→ R`.
N´ azvoslov´ı
min f (x)
za podm´ınek gi(x) ≤ 0, i = 1, . . . , m hi(x) = 0, i = 1, . . . , `
x ∈ Rn
I x = (x1, . . . , xn) jsoupromˇenn´e´ulohy I f je ´uˇcelov´a funkce (to uˇz zn´ame)
I gi(x) ≤ 0 a hi(x) = 0 jsouomezuj´ıc´ı podm´ınky (omezen´ı)
I omezen´ı (nerovnost) gi(x) ≤ 0 jeaktivn´ıv bodˇe x, jestliˇze gi(x) = 0 I prvky mnoˇziny X jsoupˇr´ıpustn´a ˇreˇsen´ıulohy´
I prvky mnoˇziny argmin
x∈X
f (x) jsouoptim´aln´ı ˇreˇsen´ı´ulohy
12 / 24
Z´ akladn´ı vlastnosti ´ ulohy
Vid´ıme-li ´ulohu spojit´e optimalizace, ihned si poloˇz´ıme ot´azky:
I Jak´y je poˇcet n promˇenn´ych ´ulohy? Jak´e jsou tyto promˇenn´e?
I Jak´y je poˇcet m, ` omezen´ı?
I m = ` = 0:uloha bez omezen´ı´ , minimalizujeme f na Rn I Jak´e jsou funkce f , gi, hi?
I f chyb´ı (= je konstantn´ı):´uloha na pˇr´ıpustnost I Jsou spojit´e?
I Jsou vˇsude diferencovateln´e? V kter´ych bodech nejsou?
I Jsou afinn´ı? (pak jde oline´arn´ı optimalizaci/programov´an´ı) I Jsou to polynomy? (pak jde opolynomi´aln´ı optimalizaci)
I Jsou konvexn´ı/konk´avn´ı? (Jsou-li f , gi konvexn´ı a hi afinn´ı, jde okonvexn´ı optimalizaˇcn´ı ´ulohu.) I Jak´a je mnoˇzina X ?
I Je omezen´a?
I Je uzavˇren´a/otevˇren´a?
I Je konvexn´ı?
I Je ´ulohapˇr´ıpustn´a, tj. X 6= ∅?
I M´a ´uloha optim´aln´ı ˇreˇsen´ı?
I Nemus´ı m´ıt, napˇr. funkce f (x ) = 1/x na intervalu X = [0, +∞) nem´a minimum
I Postaˇcuj´ıc´ı podm´ınka (Weierstrass): Spojit´a funkce na uzavˇren´e omezen´e mnoˇzinˇe nab´yv´a minima.
I Jak je ´uloha obt´ıˇzn´a? M´ame podezˇren´ı, ˇze je NP-tˇeˇzk´a?
Prokl´ ad´ ame body pˇr´ımkou
Odhadujeme funkˇcn´ı vztah v´ahy x [kg] a v´yˇsky y [cm] z m mˇeˇren´ı (xi, yi) ∈ R2:
40 60 80 100
160 180 200
0.60x + 130.2
x
y
Hled´ame pˇr´ımku, kter´a ‘co nejtˇesnˇeji’ proloˇz´ı ˇcern´e body.
I Vztah m´a b´yt line´arn´ı (pˇresnˇeji afinn´ı) funkce, tj. y = θ1+ θ2x item Formulace ve smyslu nejmenˇs´ıch ˇctverc˚u: na mnoˇzinˇe R2minimalizuj (bez omezen´ı) funkci
f (θ) = f (θ1, θ2) =
m
X
i =1
(θ1+ θ2xi− yi)2= kAθ − yk2
I f je konvexn´ı kvadratick´a funkce dvou promˇenn´ych
I Reˇsen´ı splˇˇ nuj´ınorm´aln´ı rovniceATAθ = ATy (d˚ukaz: derivacemi nebo lin. algebrou)
14 / 24
Optim´ aln´ı smˇ es zeleniny
Pro 3 druhy zeleniny jsou d´any mˇern´e obsahy ˇzivin a minim´aln´ı poˇzadavky pro jednu pˇr´ılohu obˇeda:
Mrkev B´ıl´e zel´ı Okurka Poˇzadavek
Vitam´ın A [mg/kg] 35 0.5 0.28 0.5 mg
Vitam´ın C [mg/kg] 60 300 80 15 mg
Vl´aknina [g/kg] 30 20 10 4 g
Cena [Kˇc/kg] 26 22 60
Najdi hmotnosti zelenin, kter´e spln´ı v´yˇzivov´e poˇzadavky pˇri minim´aln´ı celkov´e cenˇe.
I Formulace probl´emu (line´arn´ı program):
min 26x1+ 22x2 + 60x3
za podm´ınek 35x1+ 0.5x2 + 0.28x3≥ 0.5 60x1+ 300x2 + 80x3≥ 15 30x1+ 20x2 + 10x3≥ 4 x1, x2, x3 ≥ 0 I Optim´aln´ı ˇreˇsen´ı je x1 .
= 0.12, x2 .
= 0.03, x3= 0 za cenu 3.59 Kˇc.
I Pˇri poˇzadavku x3≥ 0.1 (okurka!) je ˇreˇsen´ı x1
= 0.097, x. 2
= 0.004, x. 3= 0.1 za 8.62 Kˇc.
Aritmetick´ y pr˚ umˇ er, tˇ eˇ ziˇstˇ e
Jsou d´ana ˇc´ısla a1, . . . , am∈ R. Najdi minimum (na R) funkce
f (x ) =
m
X
i =1
(x − ai)2
I argument minima je aritmetick´y pr˚umˇer x∗= m1Pm i =1ai
Jsou d´any body a1, . . . , am∈ Rn. Najdi minimum (na Rn) funkce
f (x) = f (x1, . . . , xn) =
m
X
i =1
kx − aik2
I f je kvadratick´a funkce n promˇenn´ych, je konvexn´ı a diferencovateln´a I Je
f (x1, . . . , xn) =
m
X
i =1 n
X
j =1
(xj− aij)2=
n
X
j =1 m
X
i =1
(xj− aij)2=
n
X
j =1
fj(xj)
Tedy minimum funkce f najdeme tak, ˇze najdeme minimum kaˇzd´e funkce fj zvl´aˇst’.
I argument minima jetˇeˇziˇstˇex∗=m1 Pm i =1ai.
16 / 24
Medi´ an, geometrick´ y medi´ an
Jsou d´ana ˇc´ısla a1, . . . , am∈ R. Najdi minimum (na R) funkce
f (x ) =
m
X
i =1
|x − ai|
I f je konvexn´ı po ˇc´astech afinn´ı funkce, nen´ı diferencovateln´a v bodech ai
I argument minima jemedi´anˇc´ısel a1, . . . , am
Fermat-Weber˚uv probl´em:
Jsou d´any body a1, . . . , am∈ Rn. Najdi minimum (na Rn) funkce
f (x) = f (x1, . . . , xn) =
m
X
i =1
kx − aik
I f je konvexn´ı funkce n promˇenn´ych, nen´ı diferencovateln´a v bodech ai
I argument minima se naz´yv´a jegeometrick´y medi´an
Nejmenˇs´ı koule obsahuj´ıc´ı dan´ e body. Optim´ aln´ı um´ıstˇ en´ı
Najdi nejmenˇs´ı (n-rozmˇernou) kouli obsahuj´ıc´ı dan´e body a1, . . . , am∈ Rn. I Koule v Rnse stˇredem x a polomˇerem√
y je mnoˇzina { a ∈ Rn| kx − ak2≤ y }.
I Ulohu lze napsat jako´
min y
za podm´ınek kx − aik2≤ y , i = 1, . . . , m x ∈ Rn
y ∈ R I To je konvexn´ı ´uloha kvadratick´eho programov´an´ı (QCQP).
I Tvrzen´ı: Je-li (x, y ) optim´aln´ı ˇreˇsen´ı, pak y =maxm
i =1kx − aik2. Tedy ´uloha je ekvivalentn´ı minimalizaci funkce
f (x) =maxm
i =1kx − aik2 pˇres promˇenn´e x ∈ Rnbez omezen´ı.
Interpretace jako ´uloha naoptim´aln´ı um´ıstˇen´ı(pro n = 2):
Najdi m´ısto pro heliport, z nˇehoˇz dol´etne helikopt´era po ´useˇcce do nejvzd´alenˇejˇs´ıho z dan´ych bod˚u a1, . . . , amv nejkratˇs´ım ˇcase.
18 / 24
Graf a vrstevnice funkce f pro n = 2, m = 3 (body a1, a2, a3jsou ˇcerven´a koleˇcka):
0 1.5 2
1 4
1.5 0.5
6
1 8
0 0.5
10
-0.5 0
-0.5 -1
-1
-1.5 -1.5 -1.5 -1 -0.5 0 0.5 1 1.5
-1.5 -1 -0.5 0 0.5 1 1.5
I funkce f je konvexn´ı
I funkce f nen´ı vˇsude diferencovateln´a I lze uk´azat, ˇze f m´a na Rn vˇzdy minimum
Shlukov´ an´ı
M´ame m bod˚u a1, . . . , am∈ Rn. Rozm´ısti dalˇs´ıch k bod˚u x1, . . . , xk ∈ Rn tak, aby pr˚umˇern´a vzd´alenost bodu ai k nejbliˇzˇs´ımu bodu xj byla co nejmenˇs´ı.
I Minimalizujeme (bez omezen´ı) funkci
f (x1, . . . , xk) =
m
X
i =1 k
min
j =1kai− xjk2 I NP-tˇeˇzk´a ´uloha.
Graf ´uˇcelov´e funkce pro n = 1, m = 3, k = 2, a1= −1, a2= 1, a3= 2:
0 2
2 4
1 2
6
0 1 8
0 10
-1
-1
-2 -2
f (x1, x2) =Pm
i =1min{|ai− x1|2, |ai− x2|2}
20 / 24
Lok´ aln´ı minima
Oznaˇcme kouli v Rnse stˇredem x ∈ Rn a polomˇerem ε jako Bε(x) = { y ∈ Rn| ky − xk ≤ ε }.
I Minimum funkce na mnoˇzinˇe se tak´e naz´yv´aglob´aln´ı minimumfunkce na mnoˇzinˇe.
I Funkce f : Rn→ R na mnoˇzinˇe X ⊆ Rn nab´yv´a lok´aln´ıho minimav bodˇe x∗∈ X , nab´yv´a-li f (glob´aln´ıho) minima na mnoˇzinˇe X ∩ Bε(x∗) pro nˇejak´e ε > 0.
Konvexita
I Mnoˇzina X ⊆ Rn jekonvexn´ı, jestliˇze pro kaˇzd´e dva body x, y ∈ X a libovoln´e α ∈ [0, 1] plat´ı (1 − α)x + αy ∈ X .
I Funkce f : Rn→ R jekonvexn´ına konvexn´ı mnoˇzinˇe X ⊆ Rn, jestliˇze pro vˇsechna x, y ∈ X a kaˇzd´e α ∈ [0, 1] plat´ı
f ((1 − α)x + αy) ≤ (1 − α)f (x) + αf (y).
Theorem
Je-li funkce f konvexn´ı na konvexn´ı mnoˇzinˇe X , pak kaˇzd´e lok´aln´ı minimum funkce f na mnoˇzinˇe X je glob´aln´ı minimum funkce f na mnoˇzinˇe X .
22 / 24
Historie optimalizace
“Klasick´a” doba:
I infinitezim´aln´ı poˇcet, mat. anal´yza (Newton, Leibniz) I variaˇcn´ı poˇcet (Newton, Leibniz, Euler)
I podm´ınky na voln´e lok´aln´ı extr´emy (Fermat)
I podm´ınky na lok´aln´ı extr´emy v´azan´e rovnostmi (Lagrange)
Modern´ı optimalizace (po 2. svˇetov´e v´alce, s n´astupem poˇc´ıtaˇc˚u):
I line´arn´ı programov´an´ı:
I teorie, formulace (Kantoroviˇc, Koopmans) I simplexov´a metoda (Dantzig)
I dualita, teorie her (von Neumann)
I KKT podm´ınky na lok. extr´emy v´azan´e nerovnostmi (Karush-Kuhn-Tucker) I modern´ı kombinatorick´a optimalizace:
I ˇrezy a toky v grafu (Ford, Fulkerson)
I celoˇc´ıseln´e lin. programov´an´ı (Gomory, Chv´atal), polyhedr´aln´ı metody
I polynomi´aln´ı algoritmus na LP (Chaˇcian), algoritmy vnitˇrn´ıho bodu (Karmarkar) I semidefinitn´ı programov´an´ı (SDP)
Taxonomie optimalizaˇ cn´ıch algoritm˚ u
I iteraˇcn´ı (napˇr. gradientn´ı metoda, Newtonova metoda) – neiteraˇcn´ı I deterministick´e – stochastick´e
I pˇresn´e – pˇribliˇzn´e
I lok´aln´ı – glob´aln´ı (glob´aln´ı optimalizace: teorie a algoritmy pro hled´an´ı glob´aln´ıch optim sloˇzit´ych nekonvexn´ıch opt. ´uloh)
I centralizovan´e – distribuovan´e (napˇr. v´ypoˇcty v poˇc´ıtaˇcov´ych s´ıt´ıch, rozvodn´ych elektrick´ych s´ıt´ıch, na mnoha j´adrech procesoru, ...)
I sekvenˇcn´ı – paraleln´ı (pˇrekryv s centralizovan´e – distribuovan´e) I heuristick´e:
I lok´aln´ı hled´an´ı (hill climbing) I hladov´e (greedy) algoritmy I tabu search
I motivovan´e pˇr´ırodou: genetick´e/evoluˇcn´ı, simulovan´e ˇz´ıh´an´ı, kolonie mravenc˚u
24 / 24