Apunts de programació matemàtica no lineal Índex Prefaci - UPC
Apunts de programació matemàtica no lineal Índex Prefaci - UPC
Apunts de programació matemàtica no lineal Índex Prefaci - UPC
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Ín<strong>de</strong>x<br />
<strong>Apunts</strong> <strong>de</strong> <strong>programació</strong> <strong>matemàtica</strong> <strong>no</strong> <strong>lineal</strong><br />
Llorenç Cerdà-Alabern<br />
llorenc@ac.upc.edu<br />
Barcelona, juny <strong>de</strong> 2009.<br />
1 Conjunts convexes 2<br />
1.1 Elements . . . . . . . . . . . . . . . . 2<br />
1.2 Operacions amb conjunts convexes . . . 3<br />
1.3 Teoremes sobre conjunts convexes . . . 3<br />
1.4 Teoremes d’alternatives . . . . . . . . . 4<br />
2 Funcions convexes 4<br />
2.1 Funcions convexes . . . . . . . . . . . 4<br />
2.2 Funcions còncaves . . . . . . . . . . . 5<br />
2.3 Operacions que preserven la convexitat . 5<br />
2.4 Continuïtat i <strong>de</strong>rivabilitat <strong>de</strong> funcions<br />
convexes . . . . . . . . . . . . . . . . . 5<br />
2.5 Exemples <strong>de</strong> funcions convexes en R . . 6<br />
2.6 Exemples <strong>de</strong> funcions convexes en R n . 6<br />
2.7 Funcions quasiconvexes . . . . . . . . . 6<br />
2.8 Funcions pseudoconvexes . . . . . . . . 7<br />
3 Optimització sense restriccions en R 7<br />
3.1 Condicions d’optimalitat . . . . . . . . 7<br />
3.2 Mèto<strong>de</strong> <strong>de</strong> la secció àurea . . . . . . . . 8<br />
3.3 Búsqueda <strong>de</strong> Fibonacci . . . . . . . . . 8<br />
3.4 Mèto<strong>de</strong> <strong>de</strong> Newton . . . . . . . . . . . 9<br />
4 Optimització sense restriccions en R n 9<br />
4.1 Condicions d’optimalitat . . . . . . . . 9<br />
4.2 Mèto<strong>de</strong>s <strong>de</strong> <strong>de</strong>scens . . . . . . . . . . . 10<br />
4.2.1 Càlcul <strong>de</strong> la mida <strong>de</strong>l pas . . . . 10<br />
4.3 Mèto<strong>de</strong>s <strong>de</strong> búsqueda directa . . . . . . 10<br />
4.3.1 Mèto<strong>de</strong> <strong>de</strong> Hooke i Jeeves . . . 11<br />
4.4 Mèto<strong>de</strong>s diferencials . . . . . . . . . . 11<br />
4.4.1 Mèto<strong>de</strong> <strong>de</strong>l màxim <strong>de</strong>scens . . . 11<br />
4.4.2 Mèto<strong>de</strong> <strong>de</strong> Newton . . . . . . . 12<br />
5 Optimització amb restriccions 12<br />
5.1 Plantejament <strong>de</strong>l problema . . . . . . . 12<br />
5.2 Problema d’optimització convexa . . . . 13<br />
5.3 Problemes equivalents . . . . . . . . . 13<br />
5.4 Lagrangià i dualitat . . . . . . . . . . . 13<br />
5.4.1 Funció dual Lagrangiana . . . . 13<br />
5.4.2 Problema dual <strong>de</strong> Lagrange . . 13<br />
5.5 Teorema <strong>de</strong> Karush-Kuhn-Tucker . . . 15<br />
5.5.1 Interpretació geomètrica <strong>de</strong> les<br />
condicions <strong>de</strong> KKT . . . . . . . 15<br />
6 Programació quadràtica (PQ) 16<br />
6.1 Condicions <strong>de</strong> KKT per un problema <strong>de</strong><br />
PQ . . . . . . . . . . . . . . . . . . . . 16<br />
6.2 Mèto<strong>de</strong> <strong>de</strong> Wolfe . . . . . . . . . . . . 17<br />
7 Programació geomètrica (PG) 18<br />
7.1 Introducció . . . . . . . . . . . . . . . 18<br />
7.2 PG sense restriccions . . . . . . . . . . 18<br />
7.3 PG amb restriccions . . . . . . . . . . . 19<br />
8 Mèto<strong>de</strong>s <strong>de</strong> barrera 20<br />
8.1 Formulació . . . . . . . . . . . . . . . 20<br />
9 Programació dinàmica <strong>de</strong>terminista 21<br />
9.1 Formulació . . . . . . . . . . . . . . . 21<br />
Apèndixs 22<br />
A. Mèto<strong>de</strong> <strong>de</strong> la secció àurea . . . . . . . . 22<br />
B. Búsqueda <strong>de</strong> Fibonacci . . . . . . . . . 22<br />
C. Mèto<strong>de</strong> <strong>de</strong> Hooke i Jeeves . . . . . . . 23<br />
D. Matrius <strong>de</strong>fini<strong>de</strong>s positives . . . . . . . 23<br />
E. Forma quadràtica . . . . . . . . . . . . 24<br />
F. Gradient . . . . . . . . . . . . . . . . . 24<br />
G. Hiperfície i subconjunt <strong>de</strong> nivell . . . . 25<br />
H. Teorema <strong>de</strong> Taylor per funcions <strong>de</strong><br />
vàries variables . . . . . . . . . . . . . 26<br />
Bibliografia 26<br />
<strong>Prefaci</strong><br />
Vaig escriure aquests apunts mentre preparava l’assignatura<br />
Programación Matemática <strong>de</strong>l curs 2008-09 <strong>de</strong><br />
la carrera <strong>de</strong> matemàtiques <strong>de</strong> la UNED. Els apunts<br />
estan basats fonamentalment en el llibre <strong>de</strong> l’assignatura<br />
[5], Boyd [3], Winston [6], Luenberger [4] i<br />
wikipedia [2]. El contingut <strong>no</strong> és rigorós ni complert, i<br />
<strong>no</strong>més hi ha <strong>de</strong>mostracions senzilles orienta<strong>de</strong>s a entendre<br />
o ajudar a memoritzar les relacions que <strong>de</strong>mostren.<br />
L’edició l’he fet amb L ATEX.<br />
Notació: Els vectors son vectors columna, i es representen<br />
amb minúscules en negreta (x). Les matrius es<br />
representen amb majúscules en negreta (A). x T vol dir<br />
transposada, <strong>de</strong> manera que x T 1 x2 és el producte escalar<br />
<strong>de</strong>ls vectors x1 x2.
2 Capítol 1. Conjunts convexes<br />
Capítol 1<br />
Conjunts convexes<br />
1.1 Elements<br />
Recta<br />
{x | x = x1 + (1 − ) x2);<br />
Segment<br />
{x | x = x1 + (1 − ) x2);<br />
∈ R; x1, x2 ∈ R n } (1.1)<br />
0 ≤ ≤ 1; x1, x2 ∈ R n } (1.2)<br />
Conjunt afí Γ és afí si:<br />
<br />
x1, x2 ∈ Γ<br />
⇒ x1 + (1 − ) x2 ∈ Γ<br />
∈ R<br />
(1.3)<br />
El conjunt <strong>de</strong> R n : Γ = {A x + b | x ∈ R m }, on<br />
A ∈ R n×m , b ∈ R n és un conjunt afí. La funció<br />
f : R m → R n , f(x) = A x + b es diu funció afí.<br />
Combinació afí Un punt x ∈ R n és una combinació<br />
afí <strong>de</strong>ls punts x1, · · · xm ∈ R n si existeixen les constants<br />
1 + · · · m = 1 tals que:<br />
x = 1 x1 + · · · m xm<br />
Conjunt convex Γ és convex si:<br />
<br />
x1, x2 ∈ Γ<br />
⇒ x1 + (1 − ) x2 ∈ Γ<br />
0 ≤ ≤ 1<br />
(1.4)<br />
Combinació convexa Un punt x ∈ R n és una combinació<br />
convexa <strong>de</strong>ls punts x1, · · · xm ∈ R n si existeixen<br />
les constants 1, · · · m ≥ 0, 1 + · · · m = 1 tals que:<br />
x = 1 x1 + · · · m xm<br />
Vèrtex o extrem Un punt x ∈ Γ és un vèrtex <strong>de</strong> Γ si<br />
<strong>no</strong> és possible trobar x1 = x, x2 = x; x1, x2 ∈ Γ, 0 ≤<br />
≤ 1 tals que x = x1 + (1 − ) x2.<br />
Envolupant convexa (convex hull) Conv Γ d’un conjunt<br />
arbitrari Γ és el conjunt <strong>de</strong> totes les combinacions<br />
convexes <strong>de</strong> punts <strong>de</strong> Γ:<br />
Conv Γ = {1 x1 + · · · m xm | xi, ∈ Γ ;<br />
i ≥ 0, 1 + · · · m = 1}<br />
Semiespai obert<br />
x | c T x < α; c, x ∈ R n ; α ∈ R <br />
Es diu tancat si és ≤.<br />
(1.5)<br />
Subespai<br />
subespai si:<br />
(a<strong>no</strong>menat també subespai <strong>lineal</strong>) Γ és un<br />
<br />
x1, x2 ∈ Γ<br />
⇒ a x1 + b x2 ∈ Γ<br />
a, b ∈ R<br />
(1.6)<br />
Subespai afí (a<strong>no</strong>menat també variació <strong>lineal</strong>, linear<br />
manifold). Si Γ és un subespai, el subespai afí Λ és el<br />
subespai traslladat:<br />
Λ = b + Γ = {x + b | x ∈ Γ} (1.7)<br />
Per exemple, en R 3 l’origen, línies i plans que passen<br />
per l’origen i tot R 3 són subespais. Mentre que punts,<br />
línies i plans en general i tot R 3 són subespais afins.<br />
Con C és un con si:<br />
x ∈ C<br />
≥ 0<br />
<br />
⇒ x ∈ C (1.8)<br />
Combinació cònica Un punt x ∈ R n és una combinació<br />
cònica <strong>de</strong>ls punts x1, · · · xm ∈ R n si existeixen<br />
les constants 1, · · · m ≥ 0, tals que:<br />
x = 1 x1 + · · · m xm<br />
Con <strong>no</strong>rmat Per a qualsevol <strong>no</strong>rma en R n , el con<br />
C ⊂ R n+1 associat a la <strong>no</strong>rma és:<br />
C = {(x, t) | x ≤ t} (1.9)<br />
Con semi<strong>de</strong>finit positiu Farem servir la <strong>no</strong>tació S n ,<br />
S n + i S n ++ per referir-<strong>no</strong>s respectivament al conjunt <strong>de</strong><br />
matrius simètriques, semi<strong>de</strong>fini<strong>de</strong>s positives i <strong>de</strong>fini<strong>de</strong>s<br />
positives (veure l’apèndix D). El conjunt S n + és un<br />
con convex <strong>de</strong> dimensió n (n + 1)/2 a<strong>no</strong>menat “con<br />
semi<strong>de</strong>finit positiu”.<br />
Hiperplà És el conjunt:<br />
{x | c T x = α; c, x ∈ R n ; α ∈ R} (1.10)<br />
Si expressem l’equació (1.10) com:<br />
{x | c T (x − x0) = 0; c, x ∈ R n ; c T x0 = α}<br />
l’hiperplà es pot interpretar geomètricament com el<br />
conjunt <strong>de</strong> vectors amb origen x0 <strong>no</strong>rmals al vector c.<br />
Una <strong>de</strong>finició equivalent és que un hiperplà en R n és un<br />
subespai afí <strong>de</strong> dimensió n − 1.
1.2. Operacions amb conjunts convexes 3<br />
Polítops i políedres Un polítop P és un conjunt <strong>de</strong><br />
R n intersecció d’un número finit <strong>de</strong> semiespais tancats<br />
i hiperplans:<br />
P = {x | a T j x ≤ bj, j = 1, · · · n;<br />
c T j x = dj, j = 1, · · · p; x, aj, cj, ∈ R n }<br />
Si el polítop és acotat s’a<strong>no</strong>mena políedre. Ambdós son<br />
convexes. Per exemple, la figura 1.1 mostra el políedre:<br />
x1 + x2 + x3 = 1<br />
x1, x2, x3 ≥ 0<br />
x1<br />
x3<br />
Figura 1.1: Políedre x1 + x2 + x3 = 1, xi ≥ 0<br />
Símplex Siguin m + 1 punts diferents: x0, · · · xm ∈<br />
R n . El conjunt Γ <strong>de</strong> totes les combinacions convexes<br />
d’aquests punts s’a<strong>no</strong>mena símplex amb vèrtexs xi:<br />
Γ = {x | x =<br />
m<br />
i=0<br />
x2<br />
i xi; 0 ≤ i ≤ 1;<br />
m<br />
i=0<br />
i = 1}<br />
Bolla Euclí<strong>de</strong>a Una bolla Euclí<strong>de</strong>a, o simplement<br />
bolla, <strong>de</strong> centre xc i radi r en R n és:<br />
B(xc, r) = {x | x − xc2 ≤ r} =<br />
{x | (x − xc) T (x − xc) ≤ r 2 } =<br />
El·lipsoi<strong>de</strong> Un el·lipsoi<strong>de</strong> és:<br />
{xc + r u | u2 ≤ 1} (1.11)<br />
E = {x | (x − xc) T P (x − xc) ≤ 1} =<br />
{xc + A u | u2 ≤ 1, A 2 = P} (1.12)<br />
On les matrius P i A son simètriques i semi<strong>de</strong>fini<strong>de</strong>s<br />
positives. La mida <strong>de</strong>ls semieixos és √ i, on i son els<br />
autovalors <strong>de</strong> P.<br />
1.2 Operacions amb conjunts convexes<br />
Suma<br />
Notar que:<br />
Γ + Λ = {z | z = x + y, x ∈ Γ, y ∈ Λ}<br />
Γ − Λ = {z | z = x − y, x ∈ Γ, y ∈ Λ}<br />
Producte per un escalar<br />
Γ = {z | z = x, x ∈ Γ}<br />
1.3 Teoremes sobre conjunts convexes<br />
Teorema 1.1 Operacions amb conjunts convexes<br />
que preserven la convexitat<br />
Les següents operacions amb els conjunts convexes Γ i<br />
Λ , donen lloc a un conjunt convex:<br />
• Intersecció Γ ∩ Λ.<br />
• Suma Γ + Λ.<br />
• Diferència Γ − Λ.<br />
• Producte per un escalar Γ.<br />
• Translació x + Γ.<br />
• Combinació <strong>lineal</strong> Γ + µ Λ.<br />
• Combinació afí. Donada la funció afí f : R n → R m ,<br />
f(x) = A x + b, la imatge <strong>de</strong>l conjunt convex Γ al<br />
aplicar f: f(Γ) = {f(x) | x ∈ Γ}.<br />
Teorema 1.2 Separació <strong>de</strong> conjunts convexes<br />
Un hiperplà {x | c T x = α} separa dos conjunts Γ, Λ si<br />
És a dir:<br />
x ∈ Γ ⇒ c T x ≤ α<br />
x ∈ Λ ⇒ c T x ≥ α<br />
c T x1 ≤ c T x2 ∀ x1 ∈ Γ, x2 ∈ Λ<br />
Si les <strong>de</strong>sigualtats son , es diu que l’hiperplà separa<br />
estrictament els conjunts.<br />
Si Γ, Λ son dos conjunts convexes <strong>no</strong> buits, existeix<br />
un hiperplà que els separa. De fet, si a ∈ Γ i b ∈ Λ son<br />
dos punts <strong>de</strong> distància mínima, aleshores l’hiperplà que<br />
passa pel seu punt mig és: c T x = α, on c = a − b i<br />
α = (a 2 2 − b 2 2)/2<br />
Teorema 1.3 Hiperplà suport<br />
Donat un conjunt convex Γ, es diu hiperplà suport <strong>de</strong> Γ<br />
a l’hiperplà que té intersecció <strong>no</strong> buida amb Γ tal que<br />
Γ està contingut en un <strong>de</strong>ls semiespais <strong>de</strong>terminats per<br />
l’hiperplà. És a dir, si ˆx és un vector que <strong>no</strong> pertany a<br />
l’interior <strong>de</strong> Γ, aleshores existeix un vector c = 0 tal<br />
que:<br />
c T x ≥ c T ˆx ∀ x ∈ Γ<br />
Si Γ és un conjunt convex compacte (tancat i acotat),<br />
aleshores qualsevol hiperplà suport <strong>de</strong> Γ té almenys un<br />
punt extrem <strong>de</strong> Γ.
4 Capítol 2. Funcions convexes<br />
Teorema 1.4 Intersecció <strong>de</strong> conjunts convexes<br />
Si Γi , i ∈ I és una família <strong>de</strong> conjunts convexes en R n ,<br />
<br />
i∈I Γi és un conjunt convex.<br />
Teorema 1.5 Combinació convexa <strong>de</strong> punts<br />
Si Γ és un conjunt convex, aleshores qualsevol combinació<br />
convexa <strong>de</strong> m punts <strong>de</strong> Γ pertany a Γ.<br />
Teorema 1.6 Teorema <strong>de</strong> Caratheodory<br />
Sigui un conjunt arbitrari Γ ⊂ R n , aleshores, qualsevol<br />
punt x ∈ Γ es pot expressar com a la combinació convexa<br />
<strong>de</strong> n + 1 punts <strong>de</strong> Γ.<br />
Alternativa 1 Alternativa 2 Nom<br />
A x = b A T y ≥ 0 Farkas<br />
x ≥ 0 b T y < 0<br />
A x ≤ b A T y ≥ 0 Gale<br />
x ≥ 0 b T y < 0<br />
y ≥ 0<br />
A x < 0 A T y = 0 Gordan<br />
y ≥ 0<br />
y = 0<br />
A1 x < 0 A T 1 y 1 + A T 2 y 2 = 0 Motzkin<br />
A2 x ≤ 0 y 1 ≥ 0, y 1 = 0<br />
y 2 ≥ 0<br />
Taula 1.1: Alguns teoremes d’alternatives.<br />
0<br />
a1<br />
b<br />
a2<br />
b<br />
(a) (b)<br />
Figura 1.2: Interpretació geomètrica <strong>de</strong>l teorema <strong>de</strong><br />
Farkas.<br />
1.4 Teoremes d’alternatives<br />
Teorema 1.7 Lema <strong>de</strong> Farkas<br />
Sigui A una matriu m × n i b un vector, b ∈ R m .<br />
Aleshores es compleix exactament una <strong>de</strong> les dues alternatives<br />
següents:<br />
1. Existeix un vector x ∈ R n tal que A x = b i x ≥ 0.<br />
2. Existeix un vector y ∈ R m tal que A T y ≥ 0 i<br />
b T y < 0.<br />
0<br />
a1<br />
a2<br />
y<br />
Interpretació geomètrica: Siguin a1, · · · an les<br />
columnes <strong>de</strong> A. La condició 1 implica que el vector<br />
b és una combinació cònica <strong>de</strong>ls vectors ai (veure la<br />
figura 1.2.(a)). La condició 1 vol dir que hi ha un vector<br />
y que fa menys <strong>de</strong> 90 o amb els vectors ai i més <strong>de</strong> 90 o<br />
amb el vector b. Per tant, existeix un hiperplà perpendicular<br />
al vector y que separa el vector b <strong>de</strong>l con format<br />
pels vectors ai (veure la figura 1.2.(b)).<br />
Existeixen <strong>no</strong>mbroses variacions <strong>de</strong>l teorema <strong>de</strong> Farkas.<br />
La taula 1.1 en mostra algunes.<br />
Capítol 2<br />
Funcions convexes<br />
2.1 Funcions convexes<br />
Sigui Γ un conjunt convex <strong>de</strong> R n i f una funció <strong>de</strong>finida<br />
sobre Γ. Es diu que f és convexa si:<br />
x1, x2 ∈ Γ<br />
0 ≤ ≤ 1<br />
<br />
⇒<br />
f( x1 + (1 − ) x2) ≤<br />
f(x1) + (1 − ) f(x2)<br />
Si la <strong>de</strong>sigualtat és
2.2. Funcions còncaves 5<br />
epi f<br />
Figura 2.1: Epigràfic d’una funció.<br />
Teorema 2.2 Epigràfic d’una funció convexa<br />
Perquè una funció f <strong>de</strong>finida sobre un conjunt convex Γ<br />
<strong>de</strong> R n sigui convexa, és necessari i suficient que el seu<br />
epigràfic (veure la figura 2.1):<br />
epi f = {(x, y) | x ∈ Γ, y ≥ f(x)} ⊂ R n+1<br />
(2.4)<br />
sigui un conjunt convex <strong>de</strong> R n+1 . Notar que<br />
{(x, y) | x ∈ Γ, y = f(x)} és el gràfic <strong>de</strong> la funció<br />
f(x). L’epigràfic és el conjunt <strong>de</strong> punts que queda per<br />
sobre <strong>de</strong>l gràfic.<br />
Una funció f <strong>de</strong>finida sobre un conjunt convex Γ es<br />
còncava si −f és convexa. En aquest cas, l’hipogràfic,<br />
<strong>de</strong>finit com {(x, y) | x ∈ Γ, y ≤ f(x)} és un conjunt<br />
convex.<br />
Po<strong>de</strong>m consi<strong>de</strong>rar, doncs, l’epigràfic com el nexe d’unió<br />
entre els conjunts convexes i les funcions convexes:<br />
Les funcions convexes son aquelles en les que el seu<br />
epigràfic és un conjunt convex. En l’apèndix G s’explica<br />
com calcular l’hiperplà suport <strong>de</strong> l’epigràfic d’una<br />
funció convexa.<br />
2.2 Funcions còncaves<br />
Sigui Γ un conjunt convex <strong>de</strong> R n i f una funció <strong>de</strong>finida<br />
sobre Γ. Es diu que f és còncava si:<br />
x1, x2 ∈ Γ<br />
0 ≤ ≤ 1<br />
<br />
⇒<br />
f( x1 + (1 − ) x2) ≥<br />
f(x1) + (1 − ) f(x2)<br />
(2.5)<br />
Si la <strong>de</strong>sigualtat és >, es diu estrictament còncava. Si f<br />
és convexa, −f és còncava.<br />
2.3 Operacions que preserven la convexitat<br />
• Tota combinació <strong>lineal</strong> amb coeficients positius <strong>de</strong><br />
funcions convexes és convexa.<br />
• Si f1 i f2 son convexes i f2 és <strong>no</strong> <strong>de</strong>creixent, aleshores<br />
f1 · f2 és convexa.<br />
• El superior d’una família finita <strong>de</strong> funcions convexes<br />
és una funció convexa.<br />
• Si fi és una successió <strong>de</strong> funcions convexes que convergeixen<br />
a una funció límit f, aleshores f és convexa.<br />
• Composició afí: Sigui f : R n → R; A ∈ R n×m ,<br />
b ∈ R n i g : R m → R, g(x) = f(A x + b),<br />
dom g = {x | A x + b ∈ dom f}. Aleshores si<br />
f és convexa/còncava, g també ho és.<br />
2.4 Continuïtat i <strong>de</strong>rivabilitat <strong>de</strong> funcions<br />
convexes<br />
• Una funció convexa f és contínua en tots els punts<br />
interiors a l’interval on està <strong>de</strong>finida.<br />
• Perquè una funció <strong>de</strong>rivable en un interval I sigui<br />
convexa, és necessari i suficient que la <strong>de</strong>rivada f ′<br />
sigui creixent en I.<br />
• Si una funció f <strong>de</strong>finida i dues vega<strong>de</strong>s <strong>de</strong>rivable en<br />
un interval I és positiva o nul·la en I, aleshores f és<br />
convexa.<br />
Teorema 2.3 Condició <strong>de</strong> convexitat <strong>de</strong> primer ordre<br />
Una funció f diferenciable en un conjunt obert convex<br />
Γ, és convexa si i <strong>no</strong>més si (∇f(x) és el gradient, veure<br />
l’apèndix F, pàg. 24):<br />
f(y) ≥ f(x) + ∇f(x) T (y − x), ∀ y, x ∈ Γ (2.6)<br />
Demostració. Sigui z = α x + (1 − α)y; x, y ∈ Γ.<br />
De (2.6) tenim:<br />
D’on:<br />
f(x) ≥ f(z) + ∇f(z) T (x − z)<br />
f(y) ≥ f(z) + ∇f(z) T (y − z)<br />
α f(x) + (1 − α)f(y) ≥<br />
f(z) + ∇f(z) T (α x + (1 − α)y − z) = f(z)<br />
Que <strong>de</strong>mostra que si es compleix (2.6), aleshores f és<br />
convexa. Demostració en sentit contrari: Per convexitat<br />
tenim que per 0 ≤ α ≤ 1: f(α y + (1 − α)x) ≤<br />
α f(y) + (1 − α) f(x). Per tant, per 0 < α ≤ 1:<br />
f(x + α(y − x)) − f(x)<br />
≤ f(y) − f(x)<br />
α<br />
d’on, agafant α → 0 tenim (2.6) (veure (F.2), pàg. 24),<br />
que <strong>de</strong>mostra que si f és convexa es compleix (2.6).<br />
Notar que la <strong>de</strong>finició <strong>de</strong> convexitat es pot interpretar<br />
dient que la interpolació <strong>lineal</strong> entre dos punts <strong>de</strong> la funció<br />
sobreestima el valor <strong>de</strong> la funció, mentre que (2.6)<br />
es pot interpretar dient que l’aproximació amb el pla<br />
tangent subestima el valor <strong>de</strong> la funció.
6 Capítol 2. Funcions convexes<br />
Teorema 2.4 Condició <strong>de</strong> convexitat <strong>de</strong> segon ordre<br />
Una funció f dues vega<strong>de</strong>s diferenciable en un conjunt<br />
obert convex Γ, és convexa si i <strong>no</strong>més si:<br />
∇ 2 f(x) ≥ 0, ∀ x ∈ Γ (2.7)<br />
És a dir, si el Hessià <strong>de</strong> f és semi<strong>de</strong>finit positiu en Γ.<br />
Geomètricament, equival a dir que f té una corbatura<br />
“cap amunt” en Γ.<br />
Demostració. Desenvolupant per Taylor (veure<br />
l’apèndix H):<br />
f(y) = f(x) + ∇f(x) T (y − x)+<br />
1/2 (y − x) T ∇ 2 f(x + α (y − x)) (y − x)<br />
per algun 0 ≤ α ≤ 1. D’aquí tenim que si el Hessià<br />
és una matriu semi<strong>de</strong>finida positiva en Γ, aleshores es<br />
complirà que f(y) ≥ f(x) + ∇f(x) T (y − x), i per el<br />
teorema 2.3 po<strong>de</strong>m afirmar que f és convexa. Per altra<br />
banda, si el Hessià <strong>no</strong> és una matriu semi<strong>de</strong>finida positiva,<br />
aleshores aquesta <strong>de</strong>sigualtat <strong>no</strong> es complirà, i per<br />
el teorema 2.3 podrem afirmar que f <strong>no</strong> és convexa.<br />
2.5 Exemples <strong>de</strong> funcions convexes en R<br />
Funcions <strong>lineal</strong>s i afins son convexes i còncaves alhora.<br />
Exponencial e a x és convexa en R per qualsevol a ∈<br />
R.<br />
Potències x a és convexa en R++ per a ≤ 0 o a ≥ 1 i<br />
còncava per 0 ≤ a ≤ 1.<br />
Potències <strong>de</strong>l valor absolut |x| p és convexa en R per<br />
p ≥ 1.<br />
Logaritme log x és còncava en R++ i − log x és convexa<br />
en R++.<br />
Entropia negativa x log x és convexa en R++, o en<br />
R+ si imposem el valor 0 per x = 0.<br />
2.6 Exemples <strong>de</strong> funcions convexes en R n<br />
Normes totes les <strong>no</strong>rmes son convexes.<br />
Màxim f(x) = max{x1, · · · xn} és convexa.<br />
Raó entre una funció quadràtica i una <strong>lineal</strong><br />
f(x, y) = x 2 /y, dom f = R × R++ és convexa.<br />
Logaritme <strong>de</strong> la suma d’exponencials<br />
f(x) = log{e x1 + · · · e xn } és convexa.<br />
Mitjana geomètrica<br />
f(x) = ( n<br />
i=1 xi) 1/n , dom f = R n ++ és còncava.<br />
Logaritme <strong>de</strong>l <strong>de</strong>terminant<br />
f(x) = log <strong>de</strong>t X, dom f = {X | X > 0} és còncava.<br />
f(x)<br />
f(x0)<br />
x0<br />
Cx0 = {x | f(x) ≤ f(x0)}<br />
Cx0,y0 =<br />
{(x, y) | g(x, y) ≤ g(x0, y0)}<br />
y<br />
x<br />
Figura 2.2: Exemple d’un conjunt <strong>de</strong> nivell Cx0 i Cx0,y0<br />
d’una funció quasiconvexa f : R → R i g : R 2 → R<br />
respectivament.<br />
2.7 Funcions quasiconvexes<br />
Es diu subconjunt <strong>de</strong> nivell (sublevel set) Cx0 d’una funció<br />
f : R n → R que passa per un punt x0 al conjunt<br />
(veure la figura 2.2 i l’apèndix G):<br />
Cx0 = {x | f(x) ≤ f(x0)} (2.8)<br />
Es diu que una funció f, dom f = D és quasiconvexa<br />
si D i tots els seus subconjunts <strong>de</strong> nivell Cx0, x0 ∈ D son<br />
conjunts convexes. Una funció f es diu quasicòncava si<br />
−f és quasiconvexa. En aquest cas, els seus “superconjunts<br />
<strong>de</strong> nivell”, <strong>de</strong>finits com {x | f(x) ≥ f(x0)}, són<br />
conjunts convexes. Evi<strong>de</strong>ntment, una funció convexa<br />
també és quasiconvexa.<br />
Observacions<br />
• La quasiconvexitat també es pot enunciar <strong>de</strong> la<br />
següent manera: Una funció f és quasiconvexa si i<br />
<strong>no</strong>més si dom f = D és quasiconvex i:<br />
f( x1 + (1 − ) x2) ≤ max{f(x1), f(x2)} (2.9)<br />
Alguns autors a<strong>no</strong>menen (2.9) com <strong>de</strong>sigualtat<br />
<strong>de</strong> Jensen per funcions quasiconvexes (comparar<br />
amb (2.3), pàg. 4).<br />
x
2.8. Funcions pseudoconvexes 7<br />
Exemple 2.1 Funció quasiconvexa<br />
La funció f : R 2 → R, f(x, y) = x y, dom f = R 2 + <strong>no</strong><br />
és convexa ni còncava perquè el Hessià:<br />
∇ 2 f =<br />
<br />
0 1<br />
1 0<br />
és una matriu in<strong>de</strong>finida (donat que té els autovalors +1,<br />
−1, veure l’apèndix D). f però, és quasicòncava en R 2 +<br />
perquè els superconjuts <strong>de</strong> nivell:<br />
{(x, y) | x y ≥ α, α, x, y ∈ R+}<br />
són conjunts convexes. Notar que en R 2 − f és quasiconvexa<br />
1 . <br />
Exemple 2.2 Funció <strong>lineal</strong> fraccional<br />
La funció:<br />
f(x) = aT x + b<br />
c T x + d , dom f = {x | cT x + d > 0}<br />
(2.10)<br />
és quasiconvexa i quasicòncava (quan es compleixen<br />
aquestes dues condicions la funció es diu quasi<strong>lineal</strong>),<br />
perquè els seus subconjunts <strong>de</strong> nivell: {x | a T x + b ≤<br />
α(c T x+d), c T x+d > 0} son la intersecció d’un subespai<br />
obert i un subespai tancat, per tant, és un conjunt<br />
convex. Anàlogament es pot veure que els superconjunts<br />
<strong>de</strong> nivell també són conjunts convexes 1 . <br />
Teorema 2.5 Condició <strong>de</strong> quasiconvexitat <strong>de</strong> primer<br />
ordre<br />
Si f : R n → R és diferenciable i quasiconvexa en el<br />
conjunt convex dom f = D, aleshores:<br />
f(x) ≤ f(x0) ⇒<br />
∇f(x0) T (x − x0) ≤ 0, ∀ x, x0 ∈ D (2.11)<br />
L’equació (2.11) té una interpretació geomètrica senzilla<br />
quan ∇f(x0) = 0: Defineix l’hiperplà suport <strong>de</strong>l subconjunt<br />
<strong>de</strong> nivell {x | f(x) ≤ f(x0)} en el punt x0<br />
(veure la figura F.1, pàg. 25).<br />
2.8 Funcions pseudoconvexes<br />
Més endavant veurem que ∇f(x ∗ ) = 0 és una condició<br />
necessària i suficient perquè x ∗ sigui el mínim global<br />
d’una funció convexa. Això <strong>no</strong> és cert per una funció<br />
quasiconvexa. Per exemple, f(x) = x 3 és una funció<br />
quasiconvexa, però f ′ (0) = 0, i x0 = 0 és un punt d’inflexió.<br />
Per evitar aquest problema es diu que una funció<br />
1 Exemple agafat <strong>de</strong> [3].<br />
f <strong>de</strong>finida en un domini obert D és pseudoconvexa si és<br />
diferenciable en D i compleix:<br />
∇f(x0) T (x − x0) ≥ 0 ⇒<br />
f(x) ≥ f(x0) ∀ x, x0 ∈ D (2.12)<br />
Per exemple, la funció f(x) = x 3 + x és pseudoconvexa<br />
perquè f ′ (x0) (x − x0) = (2 x 2 0 + 1) (x − x0), que<br />
permet garantir la implicació (2.12). En canvi, la funció<br />
f(x) = x 3 <strong>no</strong> és pseudoconvexa perquè per x0 = 0 tenim<br />
que f ′ (0) (x − 0) = 0. Per tant, <strong>de</strong> f ′ (0) (x − 0) ≥ 0<br />
<strong>no</strong> po<strong>de</strong>m <strong>de</strong>duir que f(x) ≥ f(0).<br />
Capítol 3<br />
Optimització sense restriccions en R<br />
3.1 Condicions d’optimalitat<br />
Problema: minimitzar una “funció objectiu” (a<strong>no</strong>menada<br />
també “funció <strong>de</strong> cost”) f(x) : R → R <strong>no</strong> subjecta a<br />
restriccions (unconstrained):<br />
min f(x) (3.1)<br />
Els màxims i mínims <strong>de</strong> f s’a<strong>no</strong>menen valors extrems.<br />
Teorema 3.1 Condicions necessàries per un valor<br />
extrem<br />
Si f és diferenciable en un conjunt obert Γ, aleshores<br />
perquè x ∗ ∈ Γ sigui un valor extrem s’ha <strong>de</strong> complir<br />
que la <strong>de</strong>rivada <strong>de</strong> f s’anul·li en x ∗ : f ′ (x ∗ ) = 0.<br />
Demostració. (esbós) Si x ∗ és un valor extrem,<br />
aleshores f(x ∗ + ∆x)/∆x ha <strong>de</strong> canviar <strong>de</strong> signe quan<br />
es passa <strong>de</strong> ∆x < 0 a ∆x > 0.<br />
També hi pot haver punts extrems on la <strong>de</strong>rivada <strong>de</strong><br />
f <strong>no</strong> existeix (la <strong>de</strong>rivada és discontínua). Els punts<br />
on la <strong>de</strong>rivada <strong>de</strong> f s’anul·la o és discontínua s’a<strong>no</strong>menen<br />
punts crítics. Així doncs, un punt extrem <strong>de</strong> f és<br />
necessàriament un punt crític. El contrari <strong>no</strong> és cert.<br />
Per buscar el mínim d’una funció a partir <strong>de</strong> la seva<br />
<strong>de</strong>rivada, buscarem els punts crítics, i analitzarem la seva<br />
condició segons mostra la següent taula:<br />
Signe <strong>de</strong> f ′ (x)<br />
x < x ∗ x > x ∗ Tipus<br />
+ − màxim<br />
− + mínim<br />
+ + f creix<br />
− − f <strong>de</strong>creix<br />
Taula 3.1: Tipus <strong>de</strong> punt crític x ∗ segons el signe <strong>de</strong><br />
f ′ (x) en l’entorn <strong>de</strong> x ∗ .
8 Capítol 3. Optimització sense restriccions en R<br />
Teorema 3.2 Condicions suficients d’optimalitat<br />
Si f és dues vega<strong>de</strong>s diferenciable en un punt x ∗ d’un<br />
conjunt obert Γ i f ′ (x ∗ ) = 0, aleshores x ∗ és un punt<br />
màxim local si f ′′ (x ∗ ) < 0 i és un mínim local si<br />
f ′′ (x ∗ ) > 0.<br />
Demostració. (esbós) Si f ′′ (x ∗ ) < 0 vol dir que f ′ (x ∗ )<br />
és <strong>de</strong>creixent en x ∗ , i segons la taula 3.1 això és un punt<br />
màxim.<br />
Notar que si f ′ (x ∗ ) = 0 i f ′′ (x ∗ ) = 0 <strong>no</strong> po<strong>de</strong>m<br />
<strong>de</strong>terminar si el punt crític x ∗ és un punt extrem. En<br />
aquest cas, si la primera <strong>de</strong>rivada <strong>no</strong> nul·la és d’ordre n<br />
(f (i) (x ∗ ) = 0, i < n, f (n) (x ∗ ) = 0), aleshores <strong>de</strong>senvolupant<br />
per Taylor en x ∗ tindrem:<br />
f(x) = f(x ∗ ) + (x − x∗ ) n<br />
D’on:<br />
n!<br />
f ′ (x) = (x − x∗ ) (n−1)<br />
(n − 1)!<br />
f (n) (ξ), |ξ| ≤ |x ∗ − x|<br />
f (n) (ξ), |ξ| ≤ |x ∗ − x|<br />
Tenint en compta la fórmula anterior i la taula 3.1, <strong>de</strong>duïm<br />
que: (i) Si n és parell: Si f (n) (x ∗ ) < 0, aleshores<br />
x ∗ és un punt màxim, si f (n) (x ∗ ) > 0, aleshores x ∗ és<br />
un punt mínim. (ii) Si n és senar en x ∗ <strong>no</strong> hi ha un punt<br />
extrem: f(x ∗ ) és <strong>de</strong>creixent si f (n) (x ∗ ) < 0 i creixent<br />
si f (n) (x ∗ ) > 0.<br />
3.2 Mèto<strong>de</strong> <strong>de</strong> la secció àurea<br />
Gol<strong>de</strong>n section search, és un mèto<strong>de</strong> iteratiu en el que<br />
l’única condició que imposem a f és que sigui unimodal<br />
en un punt mínim x ∗ (és a dir, f és monòtona <strong>de</strong>creixent<br />
per x ≤ x ∗ i monòtona creixent per x ≥ x ∗ , per<br />
tant, hi ha un únic punt mínim en x ∗ ). Suposem que<br />
avaluem la funció en 3 punts x1 < x3 < x2, tals que<br />
f(x1) > f(x3) < f(x2). Per tant, x ∗ ∈ [x1, x2] (figura<br />
3.1). Per cada punt addicional on avaluem la funció<br />
podrem reduir l’interval on es troba x ∗ . Per exemple,<br />
per un punt x4 tal que: x3 < x4 < x2, si<br />
f(x3) > f(x4) < f(x2) aleshores x ∗ ∈ [x3, x2], altrament<br />
serà f(x1) > f(x3) < f(x4) i x ∗ ∈ [x1, x4].<br />
f(x)<br />
f(x1)<br />
f(x3)<br />
x1 x3 x4 x2<br />
a<br />
c<br />
b<br />
f(x2)<br />
Figura 3.1: Mèto<strong>de</strong> <strong>de</strong> la secció àurea.<br />
x<br />
El criteri <strong>de</strong> la secció àurea és que la proporció en que<br />
es reduirà l’interval en cada iteració sigui el mateix, és<br />
a dir:<br />
a<br />
b<br />
= c<br />
a<br />
= c<br />
b − c<br />
Aïllant c en les igualtats anteriors tenim:<br />
a/b<br />
b/a−a/b<br />
a = b ⇒ <br />
a 2 a + − 1 = 0, d’on:<br />
b b<br />
De les relacions: x2−x3<br />
x3−x1<br />
α = a<br />
b = −1 + √ 5<br />
2<br />
= α i x4−x1<br />
x2−x4<br />
x3 = 1<br />
1 + α (α x1 + x2)<br />
x4 = 1<br />
1 + α (x1 + α x2)<br />
= α tenim:<br />
c/a<br />
b/a−c/a =<br />
(3.2)<br />
En l’apèndix A hi ha una possible implemtació en R [1].<br />
f(x)<br />
f(x1)<br />
f(x3)<br />
f(x2)<br />
x1 x3 x4 x2<br />
dk<br />
dk<br />
dk−1<br />
Figura 3.2: Búsqueda <strong>de</strong> Fibonacci.<br />
3.3 Búsqueda <strong>de</strong> Fibonacci<br />
De forma semblant al mèto<strong>de</strong> anterior, en la iteració k<br />
es construeix un interval dk que queda dintre <strong>de</strong> l’interval<br />
previ dk−1, tal com mostra la figura 3.2. Es pot <strong>de</strong>mostrar<br />
que l’estratègia que més redueix l’interval d’incertesa<br />
d’on es troba el mínim si en total es fan N iteracions<br />
és:<br />
dk = FN−k+1<br />
FN<br />
x<br />
d1, k = 2, · · · N (3.3)<br />
on d1 = x2 −x1 és l’interval inicial (<strong>no</strong>tar que comptem<br />
l’interval inicial com la primera iteració) i Fi són els<br />
números <strong>de</strong> la seqüència <strong>de</strong> Fibonacci:<br />
Fi = Fi−1 + Fi−2, i ≥ 2, F0 = F1 = 1<br />
De l’equació (3.3) tenim que l’interval on es troba el<br />
mínim en la iteració N serà: dN = F1/FN d1 = d1/FN.<br />
De manera que si <strong>de</strong>sitgem <strong>de</strong>terminar el mínim amb<br />
una incertesa inferior a δ, buscarem el primer terme
3.4. Mèto<strong>de</strong> <strong>de</strong> Newton 9<br />
<strong>de</strong> FN <strong>de</strong> la seqüència <strong>de</strong> Fibonacci que compleix:<br />
dN ≤ δ < dN−1. És a dir:<br />
> FN−1<br />
(3.4)<br />
δ<br />
Un cop <strong>de</strong>terminat N, per calcular els punts en cada iteració,<br />
<strong>de</strong> (3.3) s’obté:<br />
FN ≥ d1<br />
dk−1 − dk = FN−k+2 − FN−k+1<br />
d’on:<br />
FN−k<br />
FN<br />
FN−k+2<br />
d1 =<br />
d1 = FN−k<br />
dk−1, k = 2, · · · N (3.5)<br />
FN−k+2<br />
x (k)<br />
3 = x (k−1)<br />
1 + (dk−1 − dk) = x (k−1)<br />
1 + FN−k<br />
dk−1<br />
FN−k+2<br />
x (k)<br />
4 = x (k−1)<br />
2 − (dk−1 − dk) = x (k−1)<br />
2 − FN−k<br />
dk−1<br />
FN−k+2<br />
dk = x (k)<br />
2 − x (k)<br />
1 , k = 2, · · · N<br />
En l’apèndix B hi ha una possible implemtació en R [1].<br />
3.4 Mèto<strong>de</strong> <strong>de</strong> Newton<br />
Suposem que f és diferenciable dues vega<strong>de</strong>s.<br />
Aleshores po<strong>de</strong>m aproximar f amb el poli<strong>no</strong>mi <strong>de</strong> Taylor:<br />
q(x) = f(xk) + f ′ (xk) (x − xk) + 1/2 f ′′ (xk) (x − xk) 2<br />
Derivant po<strong>de</strong>m aproximar l’extrem <strong>de</strong> f(x) per el <strong>de</strong><br />
q(x):<br />
q ′ (x) = 0 ⇒ x = xk − f ′ (xk)<br />
f ′′ (xk)<br />
d’on arribem a la fórmula iterativa:<br />
xk+1 = xk − f ′ (xk)<br />
f ′′ (xk)<br />
(3.6)<br />
Notar que també po<strong>de</strong>m arribar a l’equació (3.6) a partir<br />
<strong>de</strong> la fórmula iterativa <strong>de</strong> Newton per trobar el zero<br />
d’una funció g(x) = 0:<br />
xk+1 = xk − g(xk)<br />
g ′ (xk)<br />
(3.7)<br />
on la funció on volem trobar el zero és: g(x) = f ′ (x).<br />
Capítol 4<br />
Optimització sense restriccions<br />
en R n<br />
4.1 Condicions d’optimalitat<br />
Problema: minimitzar una “funció objectiu” (a<strong>no</strong>menada<br />
també “funció <strong>de</strong> cost”) f(x) : R n → R <strong>no</strong> subjecta<br />
a restriccions (unconstrained):<br />
min f(x) (4.1)<br />
Teorema 4.1 Condicions necessàries d’optimalitat<br />
Si f és diferenciable en un conjunt obert Γ, aleshores<br />
les següents condicions son necessàries perquè x ∗ ∈ Γ<br />
sigui un mínim local:<br />
∇f(x ∗ ) = 0 (Condició <strong>de</strong> primer ordre) (4.2)<br />
∇ 2 f(x ∗ ) ≥ 0 (Condició <strong>de</strong> segon ordre) (4.3)<br />
Demostració. La <strong>de</strong>rivada direccional <strong>de</strong> f(x ∗ ) en el<br />
sentit <strong>de</strong>l vector v és v T ∇f(x ∗ ). Si x ∗ és un mínim,<br />
aquesta <strong>de</strong>rivada ha <strong>de</strong> ser ≥ 0 per qualsevol v. Per<br />
tant, haurà <strong>de</strong> ser ∇f(x) = 0.<br />
Desenvolupant per Taylor:<br />
f(x ∗ + αv) − f(x ∗ ) =<br />
α v T ∇f(x ∗ ) + α 2 /2 v T ∇ 2 f(x ∗ )v + o(α 2 )<br />
Si x ∗ és un mínim, i tenint en compte (4.2), haurà <strong>de</strong><br />
ser:<br />
f(x ∗ + αv) − f(x ∗ )<br />
α 2<br />
= 1/2 v T ∇ 2 f(x ∗ )v+o(α 2 ) ≥ 0<br />
Agafant α → 0 resulta v T ∇ 2 f(x ∗ )v ≥ 0 per qualsevol<br />
v, és a dir, ∇ 2 f(x ∗ ) ha <strong>de</strong> ser semi<strong>de</strong>finida positiva.<br />
Teorema 4.2 Condicions suficients d’optimalitat<br />
Si f és dues vega<strong>de</strong>s diferenciable en un conjunt obert<br />
Γ, i ∇f(x ∗ ) = 0, aleshores x ∗ és un punt màxim local<br />
si ∇ 2 f(x ∗ ) < 0 i és un mínim local si ∇ 2 f(x ∗ ) > 0.<br />
Teorema 4.3 Condicions suficients per una funció<br />
convexa<br />
Si f és una funció convexa en un conjunt convex Γ,<br />
aleshores:<br />
• Un mínim local <strong>de</strong> f en Γ també ho és global. A més,<br />
si f és estrictament convexa, el mínim és únic.<br />
• ∇f(x ∗ ) = 0 és una condició necessària i suficient<br />
perquè x ∗ ∈ Γ sigui un mínim global.
10 Capítol 4. Optimització sense restriccions en R n<br />
Exemple 4.1 Minimització d’una funció convexa<br />
quadràtica<br />
El problema general <strong>de</strong> minimització d’una funció f(x)<br />
convexa quadràtica és:<br />
min f(x) = 1/2 x T A x − b T x + c (4.4)<br />
on suposarem A ∈ S n ++, b ∈ R n , c ∈ R. Aplicant<br />
el teorema 4.3 tenim que la solució x ∗ <strong>de</strong> (4.4)<br />
compleix ∇f(x ∗ ) = 0. Operant (veure l’exemple F.1,<br />
pàg. 24) s’obté que el mínim <strong>de</strong> (4.4) el po<strong>de</strong>m calcular<br />
resolent el sistema d’equacions: A x ∗ − b = 0, d’on:<br />
x ∗ = A −1 b.<br />
Un cas especial <strong>de</strong>l problema <strong>de</strong> minimització<br />
quadràtica és el problema <strong>de</strong>ls mínims quadrats: Desitgem<br />
trobar la funció <strong>lineal</strong> f(x) = v T x que millor<br />
s’aproxima amb error quadràtic al conjunt <strong>de</strong> mesures:<br />
x<br />
(f(xi), xi). Si <strong>de</strong>finim A =<br />
T <br />
1 f(x1)<br />
, b = ,<br />
· · · · · ·<br />
aleshores hem <strong>de</strong> resoldre el problema:<br />
min A v − b 2 2 =<br />
v T A T A v − 2 (A T b) T v + b T b (4.5)<br />
que té per solució el sistema d’equacions (a<strong>no</strong>menat<br />
“equacions <strong>no</strong>rmals <strong>de</strong>l problema <strong>de</strong> mínims quadrats”):<br />
A T A v = A T b. <br />
4.2 Mèto<strong>de</strong>s <strong>de</strong> <strong>de</strong>scens<br />
Els mèto<strong>de</strong>s que es <strong>de</strong>scriuen en les pròximes seccions<br />
es basen en aplicar l’algorisme iteratiu:<br />
xk+1 = xk + αk ∆xk, αk ∈ R+ (4.6)<br />
on ∆xk s’a<strong>no</strong>mena “pas” o “direcció <strong>de</strong> búsqueda”<br />
(search direction) i ho calcularem segons els mèto<strong>de</strong>s<br />
que veurem a continuació, i αk ∈ R+ s’a<strong>no</strong>mena la “mida<br />
<strong>de</strong>l pas” (step size). Notar que <strong>no</strong>més serà αk = 0<br />
si s’ha assolit el punt òptim: xk = x ∗ . La i<strong>de</strong>a <strong>de</strong>l<br />
mèto<strong>de</strong> és “<strong>de</strong>scendir”, en el sentit <strong>de</strong> que f(xk+1) =<br />
f(xk +αk ∆xk) < f(xk), en la direcció <strong>de</strong>l vector ∆xk.<br />
Nota sobre la direcció ∆xk: Desenvolupant f per Taylor<br />
en xk tenim:<br />
f(xk+1) = f(xk + αk ∆xk) =<br />
f(xk) + ∇f(xk) T αk ∆xk + o(αk)<br />
Per un valor suficientment petit <strong>de</strong> αk > 0, o(αk) serà<br />
negligible i perquè f(xk+1) < f(xk) haurà <strong>de</strong> ser:<br />
∇f(xk) T ∆xk < 0 (4.7)<br />
És a dir, per apropar-<strong>no</strong>s cap el mínim <strong>de</strong> f <strong>de</strong>s <strong>de</strong> xk,<br />
hem d’agafar una direcció ∆xk que faci un angle major<br />
<strong>de</strong> 90 o amb ∇f(xk) (veure la figura 4.1).<br />
x2<br />
xk+1<br />
xk<br />
∆xk<br />
αk ∆xk<br />
∇f(xk+1)<br />
∇f(xk)<br />
Figura 4.1: Mida <strong>de</strong>l pas amb el mèto<strong>de</strong> exact line<br />
search. La figura mostra les corbes <strong>de</strong> nivell d’una funció<br />
f : R 2 → R. El punt <strong>de</strong> la línia ∆xk que més<br />
s’apropa al mínim <strong>de</strong> f és allà on ∆xk és ortogonal amb<br />
∇f(xk+1).<br />
4.2.1 Càlcul <strong>de</strong> la mida <strong>de</strong>l pas<br />
Per a calcular la mida <strong>de</strong>l pas (line search), αk en (4.6)<br />
hi ha vàries tècniques. La tècnica a<strong>no</strong>menada exact line<br />
search consisteix en resoldre el problema:<br />
min<br />
αk<br />
x1<br />
f(xk + αk ∆xk) (4.8)<br />
És a dir, triada una direcció ∆xk, calculem el valor <strong>de</strong>l<br />
pas que més ens apropa al mínim <strong>de</strong> f. Notar que el<br />
problema (4.8) és un problema d’optimització sense restriccions<br />
en R i, per tant, el po<strong>de</strong>m resoldre fent servir<br />
algun <strong>de</strong>ls mèto<strong>de</strong>s explicats en el capítol 3. En particular,<br />
si imposem f ′ (αk) = 0 i apliquem la regla <strong>de</strong> la<br />
ca<strong>de</strong>na, tenint en compte (4.6), αk vindrà donat per:<br />
d<br />
T d<br />
f(xk+1) = ∇f(xk+1) xk+1 =<br />
dαk<br />
dαk<br />
∇f(xk+1) T ∆xk = ∇f(xk + αk ∆xk) T ∆xk = 0 (4.9)<br />
És a dir, hem <strong>de</strong> triar αk <strong>de</strong> forma que el gradient en<br />
xk+1 sigui ortogonal amb ∆xk. La figura 4.1 dóna una<br />
justificació visual d’aquesta condició.<br />
4.3 Mèto<strong>de</strong>s <strong>de</strong> búsqueda directa<br />
Es caracteritzen per <strong>no</strong> utilitzar la <strong>de</strong>rivada <strong>de</strong> la funció<br />
a minimitzar.
4.4. Mèto<strong>de</strong>s diferencials 11<br />
4.3.1 Mèto<strong>de</strong> <strong>de</strong> Hooke i Jeeves<br />
La i<strong>de</strong>a és fer una búsqueda exploratòria en l’entorn <strong>de</strong><br />
xk. Segons els resultats obtinguts es fa un <strong>de</strong>splaçament<br />
orientat o es redueix la mida <strong>de</strong>l pas a la meitat<br />
i es continua l’exploració. Les direccions <strong>de</strong> búsqueda<br />
son vectors unitaris en les direccions <strong>de</strong>ls eixos <strong>de</strong><br />
coor<strong>de</strong>na<strong>de</strong>s. L’algorisme és el següent:<br />
1. Inicialment es posa b1 = punt inicial.<br />
2. Es fa una búsqueda exploratòria en l’entorn <strong>de</strong>l punt<br />
b1: b2 = exploracio(b1, f(b1)), on el pseudocodi <strong>de</strong><br />
la funció exploracio és:<br />
e x p l o r a c i o ( x , fmin ) {<br />
xtest = x<br />
per ( t o t e s l e s components x[i] <strong>de</strong> x ) {<br />
xtest[i] = x[i] + α[i] ;<br />
s i ( f(xtest) < fmin ) { % èxit<br />
fmin = f(xtest) ;<br />
} altrament { % falla<br />
xtest[i] = x[i] − α[i] ;<br />
s i ( f(xtest) < fmin ) { % èxit<br />
fmin = f(xtest) ;<br />
}<br />
}<br />
}<br />
retorna ( xtest ) ;<br />
}<br />
Si <strong>de</strong>spés <strong>de</strong> l’exploració hi ha hagut èxit (f(b2) <<br />
f(b1)) es passa al punt 3. Altrament es redueix el pas<br />
a la meitat (α = α/2). Si el pas és inferior a un valor<br />
prefixat (α < ɛ) l’algorisme acaba amb la solució b1,<br />
altrament es passa al punt 2.<br />
3. Es fa un <strong>de</strong>splaçament orientat p 1 = 2 b2 − b1 i<br />
una búsqueda exploratòria en l’entorn d’aquest punt:<br />
btest = exploracio(p 1, f(b2)). Si l’exploració té èxit<br />
(f(btest) < f(b2)), aleshores es posa b1 = b2,<br />
b2 = btest i es repeteix el punt 3. Altrament es posa<br />
b1 = b2 i es torna al punt 2.<br />
En l’apèndix C hi ha una possible implemtació en R [1].<br />
4.4 Mèto<strong>de</strong>s diferencials<br />
Una manera senzilla <strong>de</strong> que es compleixi (4.7) és agafar:<br />
∆xk = −Dk ∇f(xk) (4.10)<br />
on Dk és una matriu simètrica <strong>de</strong>finida positiva, per<br />
tant: −∇f(xk) T Dk ∇f(xk) < 0. L’equació (4.6) serà<br />
doncs:<br />
xk+1 = xk − αk Dk ∇f(xk), αk ∈ R+ (4.11)<br />
4.4.1 Mèto<strong>de</strong> <strong>de</strong>l màxim <strong>de</strong>scens<br />
(steepest <strong>de</strong>scent) Consisteix en agafar Dk = I<br />
en (4.11). En aquest cas, ∆xk = −∇f(xk), que és la direcció<br />
<strong>de</strong> màxim <strong>de</strong>creixement <strong>de</strong> f (veure l’apèndix F).<br />
L’equació iterativa (4.11) serà doncs:<br />
xk+1 = xk − αk ∇f(xk), αk ∈ R+ (4.12)<br />
Alguns cops aquest mèto<strong>de</strong> pot ser poc eficient perquè<br />
les direccions −∇f(xk) po<strong>de</strong>n generar un “zig-zag” <strong>de</strong><br />
convergència molt lenta cap a la solució.<br />
Exemple 4.2 Mèto<strong>de</strong> <strong>de</strong>l màxim <strong>de</strong>scens<br />
En aquest exemple aplicarem el mèto<strong>de</strong> <strong>de</strong>l màxim<br />
<strong>de</strong>scens per a la minimització d’una funció convexa<br />
quadràtica. El problema general <strong>de</strong> minimització d’una<br />
funció f(x) convexa quadràtica és:<br />
min f(x) = 1/2 x T A x − b T x + c (4.13)<br />
on suposarem A ∈ S n ++, b ∈ R n , c ∈ R. De l’exemple<br />
4.1 sabem que el mínim x ∗ d’aquesta funció s’assoleix<br />
en:<br />
A x ∗ = b (4.14)<br />
Això motiva la <strong>de</strong>finició <strong>de</strong>l vector residual rk = b −<br />
A xk, que ens diu quan allunyats <strong>de</strong> la solució estem en<br />
la iteració xk.<br />
Tenim que: ∇f(x) = A x − b. Per tant, ∇f(xk) =<br />
−rk. Aplicant (4.12):<br />
xk+1 = xk − αk ∇f(xk) = xk + αk rk<br />
(4.15)<br />
Per calcular el pas αk aplicarem (4.9). Ara ∆xk =<br />
−∇f(xk) = rk, per tant:<br />
∇f(xk+1) T ∆xk = 0 ⇒<br />
(A (xk + αk rk) − b) T rk = 0 ⇒<br />
(A xk − b + αk A rk) T rk = 0 ⇒<br />
(−rk + αk A rk) T rk = 0 ⇒<br />
− r T k rk + αk r T k A T rk = 0 ⇒<br />
αk = rTk rk<br />
rT k A rk<br />
(4.16)<br />
Resumint els resultats obtinguts, el mínim <strong>de</strong> l’equació<br />
quadràtica (4.13) el po<strong>de</strong>m obtenir resolent el sistema<br />
d’equacions (4.14), o aplicant el mèto<strong>de</strong> iteratiu donat<br />
per les equacions (4.15) i (4.16). El mèto<strong>de</strong> iteratiu es fa<br />
servir per a resoldre sistemes amb matrius A disperses<br />
i <strong>de</strong> mida molt gran.
12 Capítol 5. Optimització amb restriccions<br />
4.4.2 Mèto<strong>de</strong> <strong>de</strong> Newton<br />
Consisteix en agafar Dk = ∇ 2 f(xk) −1 (la matriu inversa<br />
<strong>de</strong>l Hessià en xk) i αk = 1 en (4.11). L’equació<br />
iterativa (4.11) serà doncs:<br />
xk+1 = xk − ∇ 2 f(xk) −1 ∇f(xk) (4.17)<br />
Igual que en el cas uni<strong>de</strong>mensional (veure la secció 3.4),<br />
el mèto<strong>de</strong> <strong>de</strong> newton es <strong>de</strong>dueix aproximant f(x) en<br />
l’entorn <strong>de</strong> xk per el poli<strong>no</strong>mi <strong>de</strong> Taylor <strong>de</strong> segon ordre<br />
en xk:<br />
f(x) ≈ f(xk) + ∇f(xk) T (xk − x)+<br />
1/2 (xk − x) T ∇ 2 f(xk) (xk − x) (4.18)<br />
∇f(x ∗ ) = 0 és una condició suficient d’optimalitat per<br />
el mínim <strong>de</strong>l poli<strong>no</strong>mi (4.18). Imposant aquesta condició<br />
tenim que:<br />
x = xk − ∇ 2 f(xk) −1 ∇f(xk)<br />
d’on arribem a la fórmula iterativa (4.17).<br />
Exemple 4.3 Mèto<strong>de</strong> <strong>de</strong> Newton<br />
En aquest exemple aplicarem el mèto<strong>de</strong> <strong>de</strong> Newton per<br />
a la minimització d’una funció convexa quadràtica. El<br />
problema general <strong>de</strong> minimització d’una funció f(x)<br />
convexa quadràtica és:<br />
min f(x) = 1/2 x T A x − b T x + c (4.19)<br />
on suposarem A ∈ S n ++, b ∈ R n , c ∈ R. El gradient i el<br />
Hessià <strong>de</strong> (4.19) son: ∇f(x) = A x − b, ∇ 2 f(x) = A<br />
(veure l’exemple F.1, pàg. 24). Substituint en (4.17)<br />
tenim que:<br />
xk+1 = xk − ∇ 2 f(xk) −1 ∇f(xk) =<br />
xk − A −1 (A xk − b) = A −1 b<br />
i obtenim la solució en uns sola iteració, que ja havíem<br />
<strong>de</strong>duït en l’exemple 4.1. <br />
Capítol 5<br />
Optimització amb restriccions<br />
5.1 Plantejament <strong>de</strong>l problema<br />
Consi<strong>de</strong>rarem el problema d’optimització en la “forma<br />
estàndard”:<br />
min f(x)<br />
s. a gi(x) ≤ 0, i = 1, · · · m<br />
hj(x) = 0, j = 1, · · · p<br />
(5.1)<br />
Per compactar la <strong>no</strong>tació <strong>de</strong>finim les “restriccions funcionals”:<br />
g : R n → R m , h : R n → R p :<br />
⎡ ⎤<br />
g1(x)<br />
⎢<br />
g(x) = ⎢ g2(x) ⎥<br />
⎣ · · · ⎦ ,<br />
⎡ ⎤<br />
h1(x)<br />
⎢<br />
h(x) = ⎢h2(x)<br />
⎥<br />
⎣ · · · ⎦<br />
gm(x)<br />
hp(x)<br />
<strong>de</strong> manera que po<strong>de</strong>m reescriure (5.1) com:<br />
min f(x)<br />
s. a g(x) ≤ 0<br />
h(x) = 0<br />
• x ∈ R n : Variable d’optimització.<br />
• f(x): “funció objectiu” o “funció <strong>de</strong> cost”.<br />
(5.2)<br />
(5.3)<br />
• g(x) ≤ 0: Restriccions <strong>de</strong> <strong>de</strong>sigualtat (inequality<br />
constrains).<br />
• h(x) = 0: Restriccions d’igualtat (equality constrains).<br />
• Regió factible D:<br />
D = dom f ∩ dom g ∩ dom h =<br />
m<br />
p<br />
dom f ∩ dom gi ∩ dom hj (5.4)<br />
i=1<br />
• La solució òptima p ∗ és:<br />
j=1<br />
p ∗ = min {f(x) | g(x) ≤ 0, h(x) = 0} (5.5)<br />
• Si el problema <strong>no</strong> té solucions factibles posarem p ∗ =<br />
∞.<br />
• Si el problema <strong>no</strong> està acotat, aleshores p ∗ = −∞.<br />
• Un punt x ∗ és òptim si x ∗ ∈ D i f(x ∗ ) = p ∗ . El<br />
conjunt <strong>de</strong> tots els punts òptims l’a<strong>no</strong>menarem Xopt.<br />
• Direm que x1 és un òptim local si és òptim en un entorn<br />
r: x − x12 < r.<br />
• Direm que una restricció <strong>de</strong> <strong>de</strong>sigualtat gi és activa en<br />
un punt x ∈ D si gi(x) = 0, i inactiva altrament. Notar<br />
que les restriccions d’igualtat hj(x) son sempre<br />
actives.
5.2. Problema d’optimització convexa 13<br />
5.2 Problema d’optimització convexa<br />
Un problema d’optimització convexa en la “forma estàndard”<br />
és:<br />
min f(x)<br />
s. a g(x) ≤ 0<br />
A x = b<br />
(5.6)<br />
on la funció objectiu f i funcions <strong>de</strong> g són funcions convexes.<br />
Si ho comparem amb el problema general (5.4)<br />
hi ha tres condicions addicionals: (i) La funció objectiu<br />
ha <strong>de</strong> ser convexa, (ii) les restriccions <strong>de</strong> <strong>de</strong>sigualtat han<br />
<strong>de</strong> ser convexes, i (iii) les restriccions d’igualtat han <strong>de</strong><br />
ser funcions afins.<br />
5.3 Problemes equivalents<br />
Direm que dos problemes son equivalents si la solució<br />
d’un d’ells es pot obtenir directament <strong>de</strong> la solució <strong>de</strong><br />
l’altra.<br />
Canvi <strong>de</strong> variables Si φ(x) és una bijecció en D i<br />
<strong>de</strong>finim ˆ f(x) = f(φ(x)), ˆgi(x) = gi(φ(x)), ˆ hj(x) =<br />
hj(φ(x)), aleshores el problema:<br />
min ˆ f(x)<br />
s. a ˆgi(x) ≤ 0, i = 1, · · · n<br />
ˆhj(x) = 0, j = 1, · · · p<br />
(5.7)<br />
és equivalent a (5.1) perquè si x ∗ 1 és un punt òptim<br />
<strong>de</strong> (5.7), aleshores x ∗ 2 = φ(x ∗ 1) serà un punt òptim<br />
<strong>de</strong> (5.1).<br />
5.4 Lagrangià i dualitat<br />
Definim el Lagrangià <strong>de</strong>l problema (5.1) com la funció<br />
L : R n × R m × R p → R:<br />
L(x, , µ) = f(x) +<br />
m<br />
i=1<br />
i gi(x) +<br />
p<br />
µj hj(x) =<br />
j=1<br />
f(x) + T g(x) + µ T h(x) (5.8)<br />
amb dom L = D ∩ R m ∩ R p . Els coeficients <strong>de</strong>ls vectors<br />
i µ s’a<strong>no</strong>menen respectivament variables duals o<br />
multiplicadors <strong>de</strong> Lagrange associats a les restriccions<br />
<strong>de</strong> <strong>de</strong>sigualtat i restriccions d’igualtat.<br />
Definim un punt <strong>de</strong> sella (saddle point) <strong>de</strong>l Lagrangià<br />
<strong>de</strong>l problema (5.3) com una tupla (ˆx,ˆ, ˆµ) donada per:<br />
L(ˆx,ˆ, ˆµ) = max<br />
≥0, µ min L(x, , µ) (5.9)<br />
x∈D<br />
Notar que:<br />
min<br />
x∈D<br />
L(x, , µ) = L(ˆx, , µ) ≤<br />
max<br />
≥0, µ min L(x, , µ) = L(ˆx,ˆ, ˆµ) ≤<br />
x∈D<br />
max<br />
≥0, µ<br />
L(x, , µ) = L(x,ˆ, ˆµ) (5.10)<br />
d’on es pot <strong>de</strong>duir que si el punt <strong>de</strong> sella (ˆx,ˆ, ˆµ) existeix,<br />
aleshores és una solució <strong>de</strong>l problema (5.1). Notar<br />
també que ˆx = ˆx(, µ). És a dir, el valor ˆx que minimitza<br />
minx∈D L(x, , µ) en general <strong>de</strong>pendrà <strong>de</strong>ls valors<br />
<strong>de</strong> , µ. Igualment, (ˆ, ˆµ) = (ˆ(x), ˆµ(x)).<br />
5.4.1 Funció dual Lagrangiana<br />
Definim la funció dual Lagrangiana (o simplement funció<br />
dual) <strong>de</strong>l problema <strong>de</strong> minimització (5.3) a la funció<br />
φ : R m × R p → R igual al mínim <strong>de</strong>l Lagrangià en<br />
x ∈ D:<br />
φ(, µ) = min<br />
x∈D<br />
L(x, , µ) = L(ˆx, , µ) =<br />
<br />
f(x) + T g(x) + µ T h(x) (5.11)<br />
min<br />
x∈D<br />
Si L <strong>no</strong> està acotat en x, aleshores φ(, µ) = −∞.<br />
Teorema 5.1 La funció dual Lagrangiana és còncava<br />
Demostració.<br />
φ(α 1 + (1 − α) 2, α µ 1 + (1 − α) µ 2) =<br />
<br />
f(x) + (α 1 + (1 − α) 2) T g(x)+<br />
min<br />
x∈D<br />
min<br />
x∈D<br />
min<br />
x∈D<br />
(α µ 1 + (1 − α) µ 2) T h(x) =<br />
<br />
α (f(x) + T 1 g(x) + µ T 1 h(x))+<br />
(1 − α) (f(x) + T 2 g(x) + µ T 2 h(x)) ≥<br />
<br />
min α (f(x) +<br />
x∈D<br />
T 1 g(x) + µ T 1 h(x)) +<br />
<br />
(1 − α) (f(x) + T 2 g(x) + µ T 2 h(x)) =<br />
α φ(1, µ 1) + (1 − α) φ(2, µ 2)<br />
5.4.2 Problema dual <strong>de</strong> Lagrange<br />
S’a<strong>no</strong>mena Problema dual <strong>de</strong> Lagrange (Lagrange dual<br />
problem) <strong>de</strong>l problema <strong>de</strong> minimització (5.3), que en<br />
aquest context s’a<strong>no</strong>mena “problema primal”, al problema<br />
d’optimització:<br />
max φ(, µ)<br />
s. a ≥ 0<br />
(5.12)
14 Capítol 5. Optimització amb restriccions<br />
on φ(, µ) és la funció dual Lagrangiana (5.11). S’a<strong>no</strong>mena<br />
solució dual factible als vectors (, µ) tals que ≥ 0<br />
i φ(, µ) > −∞. La solució ( ∗ , µ ∗ ) <strong>de</strong>l problema (5.12)<br />
s’a<strong>no</strong>mena solució òptima dual.<br />
Notar que el problema (5.12) és un problema d’optimització<br />
convex, perquè φ(, µ) és una funció còncava<br />
(veure el teorema 5.1) i les restriccions son un conjunt<br />
convex.<br />
Teorema 5.2 Teorema dèbil <strong>de</strong> la dualitat<br />
(Weak Duality Theorem) Sigui ˆx un vector primal<br />
factible, i (ˆ, ˆµ) una tupla dual factible, aleshores:<br />
φ(ˆ, ˆµ) ≤ f(ˆx) (5.13)<br />
Demostració. Si ˆx és un vector primal factible,<br />
aleshores: g(ˆx) ≤ 0 i h(ˆx) = 0. Si (ˆ, ˆµ) és una tupla<br />
dual factible, aleshores:ˆ≥ 0. Per tant:<br />
d’on:<br />
i:<br />
ˆ T g(ˆx) + ˆµ T h(ˆx) ≤ 0<br />
L(ˆx,ˆ, ˆµ) = f(ˆx) +ˆ T g(ˆx) + ˆµ T h(ˆx) ≤ f(ˆx)<br />
φ(ˆ, ˆµ) = min<br />
x∈D<br />
Corol·lari 5.1<br />
max<br />
≥0<br />
L(x,ˆ, ˆµ) ≤ L(ˆx,ˆ, ˆµ) ≤ f(ˆx)<br />
φ(, µ) ≤ min<br />
x∈D f(x)<br />
Teorema 5.3 Teorema fort <strong>de</strong> la dualitat<br />
(Strong Duality Theorem) Si x ∗ i ( ∗ , µ ∗ ) son respectivament<br />
solucions <strong>de</strong>l problema primal (5.3), i dual (5.11),<br />
i:<br />
φ( ∗ , µ ∗ ) = f(x ∗ ) (5.14)<br />
aleshores es diu que es compleix la condició forta <strong>de</strong> la<br />
dualitat.<br />
Si es compleix l’equació (5.14), aleshores basta resoldre<br />
el problema dual per resoldre el problema primal.<br />
L’equació (5.14) <strong>no</strong> sempre es compleix. A les condicions<br />
que permeten garantir que la condició forta <strong>de</strong> la<br />
dualitat es compleix s’a<strong>no</strong>menen “qualificació <strong>de</strong> les restriccions”<br />
(constraint qualifications).<br />
Teorema 5.4 Qualificació <strong>de</strong> les restriccions <strong>de</strong><br />
Slater<br />
Un problema <strong>de</strong> <strong>programació</strong> convexa (veure la secció<br />
5.2) compleix la condició forta <strong>de</strong> la dualitat (5.14)<br />
si existeix algun punt ˆx ∈ int D on g(ˆx) < 0 (int D vol<br />
dir interior a D). És a dir, es compleix:<br />
gi(ˆx) < 0, i = 1, · · · m; A ˆx = b (5.15)<br />
Teorema 5.5 Qualificació <strong>de</strong> les restriccions <strong>de</strong> Karlin<br />
Un problema <strong>de</strong> <strong>programació</strong> convexa compleix la<br />
condició forta <strong>de</strong> la dualitat (5.14) si <strong>no</strong> existeix un vector<br />
p ∈ R m , p ≥ 0, p = 0 tal que p T g(x) ≥ 0, ∀x ∈<br />
D.<br />
Exemple 5.1 Qualificació <strong>de</strong> les restriccions <strong>de</strong><br />
Slater<br />
Consi<strong>de</strong>rem el següent problema:<br />
min f(x) = x 3<br />
s. a g1(x) = −x + 1 ≤ 0<br />
La regió factible és D = dom f ∩ dom g1 = {x | x ≥<br />
1}. La funció f és convexa en D i existeix algun punt<br />
ˆx ∈ int D on g1(ˆx) < 0 (p.e. ˆx = 2). Per tant, es compleix<br />
la qualificació <strong>de</strong> les restriccions <strong>de</strong> Slater. Po<strong>de</strong>m<br />
comprovar que tampoc existeix un p > 0 tal que<br />
p g1(x) = p (1 − x) ≥ 0, ∀x ≥ 1. Per tant, també es<br />
compleix la qualificació <strong>de</strong> les restriccions <strong>de</strong> Karlin.<br />
El Lagrangià <strong>de</strong>l problema d’optimització és:<br />
L(x, 1) = x 3 + 1(−x + 1). La funció dual Lagrangiana<br />
és doncs: φ(1) = minx∈D L(x, 1) = 1, i el problema<br />
dual <strong>de</strong> Lagrange:<br />
max φ(1) = 1<br />
s. a 1 ≥ 0<br />
que té per solució d ∗ = φ( ∗ 1) = 1. La solució òptima<br />
<strong>de</strong>l problema d’optimització és p ∗ = 1 que s’assoleix<br />
per x ∗ = 1. Per tant, es compleix la condició forta <strong>de</strong> la<br />
dualitat: p ∗ = d ∗ . <br />
Teorema 5.6 Folgança complementaria<br />
Si es compleix la condició forta <strong>de</strong> la dualitat (5.14), i<br />
les solucions primal i dual òptimes son respectivament<br />
x ∗ i ∗ , aleshores:<br />
∗T g(x ∗ ) = 0 (5.16)<br />
és a dir: ∗ i > 0 ⇒ gi(x ∗ ) = 0, gi(x ∗ ) > 0 ⇒ ∗ i =<br />
0. El teorema també es pot anunciar així: si A(x ∗ )<br />
és el conjunt <strong>de</strong> <strong>de</strong>sigualtats actives en x ∗ : A(x ∗ ) =<br />
{i | gi(x ∗ ) = 0}, aleshores ∗ i = 0, ∀i /∈ A(x ∗ ).<br />
Demostració.<br />
f(x ∗ ) = φ( ∗ µ ∗ )<br />
= min<br />
x∈D {f(x) + ∗ g(x) + µ ∗ h(x)}<br />
≤ f(x ∗ ) + ∗T g(x ∗ ) + µ ∗T h(x ∗ )<br />
≤ f(x ∗ )<br />
on la primera igualtat es conseqüència <strong>de</strong> la condició<br />
forta <strong>de</strong> la dualidad, la segona és la <strong>de</strong>finició <strong>de</strong> la funció<br />
dual, la tercera per la <strong>de</strong>finició <strong>de</strong>l mínim, i la quarta<br />
perquè ∗T g(x ∗ ) ≤ 0 i µ ∗T h(x ∗ ) = 0. Deduïm doncs<br />
que haurà <strong>de</strong> ser ∗T g(x ∗ ) = 0.
5.5. Teorema <strong>de</strong> Karush-Kuhn-Tucker 15<br />
x2<br />
g1(x)<br />
x ∗<br />
R<br />
g2(x)<br />
g3(x)<br />
x1<br />
g1(x)<br />
x2<br />
∇f(x ∗ )<br />
x ∗<br />
R<br />
g3(x)<br />
g2(x)<br />
∇g2(x ∗ )<br />
(a) (b) (c)<br />
x1<br />
x2<br />
g1(x)<br />
−2 ∇g2(x ∗ )<br />
x ∗<br />
R<br />
∇f(x ∗ )<br />
−1 ∇g1(x ∗ )<br />
Figura 5.1: Interpretació geomètrica <strong>de</strong> les condicions <strong>de</strong> KKT. (a) No hi ha restriccions actives, (b) la restricció<br />
g2(x) és activa, (c) les restriccions g1(x) i g2(x) són actives.<br />
5.5 Teorema <strong>de</strong> Karush-Kuhn-Tucker<br />
Teorema 5.7 Karush-Kuhn-Tucker (KKT)<br />
Sigui el problema <strong>de</strong> minimització (5.3):<br />
min f(x)<br />
s. a g(x) ≤ 0<br />
h(x) = 0<br />
(5.17)<br />
amb funció objectiu i restriccions diferenciables i Lagrangià<br />
L(x, , µ) = f(x) + T g(x) + µ T h(x). Perquè<br />
la tupla (x ∗ , ∗ , µ ∗ ) compleixi la condició forta <strong>de</strong> la dualitat<br />
(5.14), s’ha <strong>de</strong> complir (a més <strong>de</strong> les restriccions<br />
<strong>de</strong> (5.17)):<br />
∇xL(x ∗ , ∗ , µ ∗ ) = 0<br />
∗T g(x ∗ ) = 0<br />
∗ ≥ 0<br />
(5.18)<br />
On s’ha fet servir la <strong>no</strong>tació compacta (veure<br />
l’apèndix F per la <strong>de</strong>finició <strong>de</strong>l gradient):<br />
∇xL(x ∗ , ∗ , µ ∗ ) =<br />
∇f(x ∗ ) + ∇g(x ∗ ) ∗ + ∇h(x ∗ ) µ ∗ =<br />
∇f(x ∗ ) +<br />
m<br />
i=1<br />
∗<br />
i ∇gi(x ∗ ) +<br />
p<br />
j=1<br />
µ ∗ j ∇hj(x ∗ ) (5.19)<br />
Observacions<br />
• Notar que les dues últimes condicions <strong>de</strong> (5.18)<br />
equivalen a dir que els multiplicadors <strong>de</strong> Lagrange<br />
<strong>de</strong> les restriccions <strong>de</strong> <strong>de</strong>sigualtat són ≥ 0 per les restriccions<br />
<strong>de</strong> <strong>de</strong>sigualtat actives, o zero per les restriccions<br />
<strong>de</strong> <strong>de</strong>sigualtat <strong>no</strong> actives.<br />
• El teorema 5.7 es pot trobar enunciat en la literatura<br />
d’altres maneres: (i) Els punts <strong>de</strong> sella <strong>de</strong>l problema<br />
d’optimització (veure (5.9)) han <strong>de</strong> complir les<br />
g3(x)<br />
x1<br />
g2(x)<br />
condicions (5.18). (ii) Es diu que un punt factible x ∗<br />
és regular si en ell els gradients <strong>de</strong> les restriccions<br />
d’igualtat i <strong>de</strong> <strong>de</strong>sigualtat actives son vectors <strong>lineal</strong>ment<br />
in<strong>de</strong>pen<strong>de</strong>nts. Si x ∗ és un punt regular i una<br />
solució <strong>de</strong>l problema d’optimització (5.17), aleshores<br />
existeixen els multiplicadors <strong>de</strong> Lagrange únics ∗ i µ ∗<br />
tals que es compleixen les condicions (5.18).<br />
• Si x ∗ és un punt regular, les condicions <strong>de</strong> KKT son<br />
necessàries però <strong>no</strong> suficients perquè x ∗ sigui la solució<br />
òptima.<br />
• Les condicions <strong>de</strong> KKT son necessàries i suficients<br />
quan el <strong>no</strong>mbre <strong>de</strong> restriccions actives és igual al<br />
número <strong>de</strong> variables d’optimització (n). També ho<br />
són si es compleix la qualificació <strong>de</strong> les restriccions<br />
<strong>de</strong> Slater (veure el teorema (5.4)).<br />
• Si el problema d’optimització és convex, les condicions<br />
<strong>de</strong> KKT son necessàries i suficients.<br />
5.5.1 Interpretació geomètrica <strong>de</strong> les<br />
condicions <strong>de</strong> KKT<br />
Suposem un problema amb restriccions <strong>de</strong> <strong>de</strong>sigualtat.<br />
La condició ∇xL(x ∗ , ∗ ) = 0 la po<strong>de</strong>m escriure en la<br />
forma:<br />
∇f(x ∗ ) = <br />
i∈A(x∗ ∗<br />
i (−∇gi(x<br />
)<br />
∗ ))<br />
∗<br />
i ≥ 0; i ∈ A(x ∗ )<br />
és a dir, ∇f(x ∗ ) és la combinació cònica <strong>de</strong>ls vectors<br />
−∇gi(x ∗ ) <strong>de</strong> les restriccions actives.<br />
La figura 5.1 mostra la Interpretació geomètrica <strong>de</strong><br />
les condicions <strong>de</strong> KKT en un problema <strong>de</strong> minimització<br />
d’una funció f : R 2 → R amb tres restriccions gi(x) ≤<br />
0, i = 1, 2, 3. La figura mostra les corbes <strong>de</strong> nivell <strong>de</strong><br />
la funció f. La regió factible R és la zona tancada per
16 Capítol 6. Programació quadràtica (PQ)<br />
les tres restriccions. En el cas 5.1.(a) el mínim <strong>de</strong> f<br />
s’assoleix en un punt interior a R (<strong>no</strong> hi ha restriccions<br />
actives). En 5.1.(b) hi ha una restricció activa (g2(x)),<br />
i es compleix ∇f(x ∗ ) = −∇g2(x ∗ ). En 5.1.(c) hi ha<br />
dues restriccions actives (g1(x) i g2(x)), i es compleix<br />
∇f(x ∗ ) = −∇g1(x ∗ ) − ∇g2(x ∗ ).<br />
Exemple 5.2 Condicions <strong>de</strong> KKT<br />
Consi<strong>de</strong>rem el següent problema:<br />
min f(x) = −x 3 1 − 2 x 3 2 − 2 x 2 2 + 10 x1 − 6<br />
s. a g1(x) = x1 x2 − 10 ≤ 0<br />
g2(x) = −x1 ≤ 0<br />
g3(x) = x2 − 10 ≤ 0<br />
Si calculem els punts crítics on ∇f = 0 tenim:<br />
(5.20)<br />
∂f(x)<br />
= 0 ⇒ −3 x<br />
∂x1<br />
2 1 + 10 = 0 ⇒ x1 = ± 10/3<br />
∂f(x)<br />
= 0 ⇒ −6 x<br />
∂x2<br />
2 2 − 4 x2 = 0 ⇒ x2 = {0, −2/3}<br />
Per <strong>de</strong>terminar el tipus <strong>de</strong> punts obtinguts calculem el<br />
Hessià <strong>de</strong> f:<br />
∇ 2 <br />
−6 x1 0<br />
f(x) =<br />
0 −4 − 12 x2<br />
d’on tenim que:<br />
∇ 2 f(− <br />
6 10/3 0<br />
10/3, −2/3) =<br />
> 0<br />
0 4<br />
∇ 2 f( <br />
−6 10/3 0<br />
10/3, 0) =<br />
< 0<br />
0 −4<br />
x2<br />
-2 0 2 4 6 8 10 12<br />
−3 ∇g3(x ∗ )<br />
−2 ∇g2(x ∗ )<br />
∇f(x ∗ )<br />
g2(x)<br />
g3(x)<br />
g1(x)<br />
R<br />
-2 0 2 4 6 8 10 12<br />
Figura 5.2: Corbes <strong>de</strong> nivell <strong>de</strong> la funció objectiu f(x)<br />
i regió factible R compresa entre les restriccions <strong>de</strong> <strong>de</strong>sigualtat<br />
g1(x), g2(x) i g3(x) <strong>de</strong> l’exemple 5.20.<br />
x1<br />
Per tant, (− 10/3, −2/3) és un punt mínim local<br />
i ( 10/3, 0) és un punt màxim local (veure<br />
la figura 5.2). Po<strong>de</strong>m comprovar també que<br />
(− 10/3, −2/3) <strong>no</strong> és un mínim global perquè<br />
limx2→∞ f = −∞. El punt ( 10/3, 0), en canvi, sí<br />
que és un màxim global. Deduïm doncs que l’òptim<br />
que busquem es troba en la frontera <strong>de</strong> la regió factible<br />
R compresa entre les restriccions <strong>de</strong> <strong>de</strong>sigualtat (veure<br />
la figura 5.2).<br />
Per calcular el punt òptim hem d’aplicar les condicions<br />
<strong>de</strong> KKT. El Lagrangià és: L = f +1 g1+2 g2+3 g3,<br />
d’on resulten les condicions <strong>de</strong> KKT:<br />
∂L<br />
∂x1<br />
= 0 ⇒ − 3 x 2 1 + 10 + 1 x2 − 2 = 0<br />
∂L<br />
∂x2<br />
= 0 ⇒ − 6 x 2 2 − 4 x2 + 1 x1 + 3 = 0<br />
i gi = 0, i ≥ 0, i = 1, 2, 3<br />
De la situació <strong>de</strong>l mínim global <strong>de</strong>duïm que possiblement<br />
les restriccions g2 i g3 són actives en el punt òptim<br />
(veure la figura 5.2). Provem doncs:<br />
1 = 0<br />
g2 = 0 ⇒ x1 = 0<br />
g3 = 0 ⇒ x2 = 10<br />
Substituint en les dues primeres condicions <strong>de</strong> KKT<br />
obtenim: 2 = 10, 3 = 640. Com que es compleixen<br />
totes les condicions <strong>de</strong> KKT i hi ha tantes restriccions<br />
actives com variables d’optimització, <strong>de</strong>duïm que<br />
el punt és la solució <strong>de</strong>l problema. Per tant: x ∗ =<br />
(0, 10), f(x ∗ ) = −2206. <br />
Capítol 6<br />
Programació quadràtica (PQ)<br />
6.1 Condicions <strong>de</strong> KKT per un problema<br />
<strong>de</strong> PQ<br />
Consi<strong>de</strong>rarem el problema d’optimització <strong>de</strong> f : R n →<br />
R:<br />
min f(x) = 1/2 x T An×n x + a T n×1 x<br />
s. a Bm×n x ≤ bm×1<br />
x ≥ 0<br />
(6.1)<br />
On suposarem que la matriu A és semi<strong>de</strong>finida positiva.<br />
Per tant, el problema (6.1) és convex i les condicions<br />
<strong>de</strong> KKT son condicions d’optimalitat necessàries i suficients.
6.2. Mèto<strong>de</strong> <strong>de</strong> Wolfe 17<br />
Si escrivim el problema (6.1) en la forma estàndard<br />
tenim (veure l’equació (5.1), pàg. 12):<br />
min f(x)<br />
s. a g 1(x) ≤ 0<br />
g 2(x) ≤ 0<br />
(6.2)<br />
On f(x) = 1/2 x T A x + a T x, g 1(x) = B x −<br />
b, g 2(x) = −x. El Lagrangià <strong>de</strong> (6.2) és doncs:<br />
L(x, u, v) = f(x) + u T g 1(x) + v T g 2(x), on u i v son<br />
respectivament vectors <strong>de</strong> m i n multiplicadors <strong>de</strong> Lagrange.<br />
Donat que:<br />
∇f(x) = A x + a<br />
∇(u T g 1(x)) = B T u<br />
∇(v T g 2(x)) = −v<br />
tenim que ∇xL(x, u, v) = A x + a + B T u − v. Per tant<br />
les condicions KKT (5.18) son:<br />
A x + a + B T u − v = 0<br />
u T g 1(x) = 0<br />
v T g 2(x) = 0<br />
u, v ≥ 0<br />
Si afegim les restriccions <strong>de</strong> (6.1) i <strong>de</strong>finim les variables<br />
<strong>de</strong> folgança y perquè g 1(x) + y = 0, arribem a<br />
les següent condicions d’optimalitat:<br />
−A x + v − B T u = a<br />
B x + y = b<br />
u T y = 0<br />
v T x = 0<br />
x, y, u, v ≥ 0<br />
(6.3)<br />
Observacions<br />
• El sistema (6.3) té en total 2 n + 2 m variables (els<br />
vectors x i v tenen n components i els vectors y i u<br />
tenen m components.<br />
• Les condicions <strong>de</strong> folgança complementària <strong>de</strong> (6.3)<br />
impliquen que <strong>no</strong>més hi haurà n + m variables ≥ 0:<br />
n <strong>de</strong>ls vectors x, v i m <strong>de</strong>ls vectors y, u.<br />
• El sistema (6.3) és un polítop (intersecció d’un<br />
número finit <strong>de</strong> semiespais tancats i hiperplans), per<br />
tant, si té solució, és un <strong>de</strong>ls seus punts extrems.<br />
• Les dues primeres equacions <strong>de</strong> (6.3) es po<strong>de</strong>n escriure<br />
en forma matricial com:<br />
⎡ ⎤<br />
<br />
x<br />
T<br />
−A I 0 −B ⎢<br />
⎢v<br />
⎥<br />
B 0 I 0 ⎣y⎦<br />
u<br />
=<br />
<br />
a<br />
(6.4)<br />
b<br />
6.2 Mèto<strong>de</strong> <strong>de</strong> Wolfe<br />
Consisteix en resoldre el sistema (6.3) amb el mèto<strong>de</strong><br />
símplex <strong>de</strong> la següent manera:<br />
• Triem una solució bàsica factible per les variables x,<br />
y. Per exemple, si b ≥ 0, po<strong>de</strong>m agafar x = 0,<br />
y = b.<br />
• Afegim m variables artificials (z) a la primera<br />
equació <strong>de</strong> (6.3) per aconseguir una solució bàsica<br />
factible inicial per a tot el sistema.<br />
• Apliquem el mèto<strong>de</strong> símplex per minimitzar la suma<br />
<strong>de</strong> les variables artificials que hem afegit, tenint en<br />
compte les condicions <strong>de</strong> folgança complementària.<br />
Al final obtindrem z = 0 i el valor obtingut per x serà<br />
la solució òptima perquè satisfaran les condicions <strong>de</strong><br />
KKT.<br />
En forma matricial, el sistema que resoldrem amb el<br />
mèto<strong>de</strong> <strong>de</strong> Wolfe és:<br />
min <br />
s. a<br />
i<br />
zi<br />
<br />
−A<br />
B<br />
I<br />
0<br />
0<br />
I<br />
T −B<br />
0<br />
⎡ ⎤<br />
x<br />
⎢<br />
F ⎢v<br />
⎥<br />
⎢<br />
0 ⎢y<br />
⎥<br />
⎣u⎦<br />
z<br />
=<br />
<br />
a<br />
b<br />
x, y, u, v, z ≥ 0<br />
(6.5)<br />
on la matriu F és una matriu arbitrària que fa que z<br />
siguin variables bàsiques en la solució factible inicial.<br />
Exemple 6.1 Mèto<strong>de</strong> <strong>de</strong> Wolfe<br />
min f(x) = x 2 1 + x1 x2 + x 2 2 + 2 x1 − 3 x2<br />
s. a x1 + 2 x2 ≤ 6<br />
−2 x1 + 2 x2 ≤ 4<br />
x1, x2 ≥ 0<br />
Deduïm primer les matrius A, a, B, b (veure l’equació<br />
(6.1)). Donat que: 1/2 x T Ax = 1/2(a11 x 2 1 +<br />
2 a12 x1 x2 + a22 x 2 2), <strong>de</strong>duïm que:<br />
1/2 A =<br />
A més:<br />
B =<br />
<br />
1 1/2<br />
⇒ A =<br />
1/2 1<br />
<br />
2 1 2<br />
, a =<br />
1 2 −3<br />
<br />
1 2<br />
, −B<br />
−2 2<br />
T <br />
−1 2<br />
= , b =<br />
−2 −2<br />
<br />
6<br />
4
18 Capítol 7. Programació geomètrica (PG)<br />
La taula símplex que correspon al sistema (6.5) és<br />
doncs:<br />
x1 x2 v1 v2 y1 y2 u1 u2 z1 z2 b<br />
0 0 0 0 0 0 0 0 −1 −1 0<br />
−2 −1 1 0 0 0 −1 2 1 0 2<br />
−1 −2 0 1 0 0 −2 −2 0 −1 −3<br />
1 2 0 0 1 0 0 0 0 0 6<br />
−2 2 0 0 0 1 0 0 0 0 4<br />
<br />
1<br />
On s’ha triat la matriu F =<br />
<br />
0<br />
perquè z1 i z2 sigu-<br />
0 −1<br />
in variables bàsiques en la solució factible inicial (les<br />
variables bàsiques inicials son y1, y2, z1, z2). Abans <strong>de</strong><br />
començar amb el mèto<strong>de</strong> símplex fem que z1, z2 siguin<br />
variables bàsiques introduint 0 en la fila 0, i canviem el<br />
signe <strong>de</strong> la fila 2:<br />
x1 x2 v1 v2 y1 y2 u1 u2 z1 z2 b<br />
−1 1 1 −1 0 0 1 4 0 0 5<br />
−2 −1 1 0 0 0 −1 2 1 0 2<br />
1 2 0 −1 0 0 2 2 0 1 3<br />
1 2 0 0 1 0 0 0 0 0 6<br />
−2 2 0 0 0 1 0 0 0 0 4<br />
Per facilitar els càlculs comencem pivotant en v1:<br />
x1 x2 v1 v2 y1 y2 u1 u2 z1 z2 b<br />
−1 1 2 0 −1 0 0 2 2 −1 0 3<br />
−2 −1 1 0 0 0 −1 2 1 0 2<br />
1 2 0 −1 0 0 2 2 0 1 3<br />
1 2 0 0 1 0 0 0 0 0 6<br />
−2 2 0 0 0 1 0 0 0 0 4<br />
x1 <strong>no</strong> pot entrar en la base perquè ja hi està v1, per tant<br />
pivotem en x2:<br />
x1 x2 v1 v2 y1 y2 u1 u2 z1 z2 b<br />
−2 0 0 0 1 0 0 −2 −2 −1 −2 −3<br />
1<br />
2<br />
−3<br />
−1<br />
1<br />
2 0 1 2 0 0 0 3 1 2<br />
1 2 0 −1 0 0 2 2 0 1 3<br />
−1 0 0 0 1 1 0 −2 −2 0 −1 3<br />
−1 −3 0 0 1 0 1 −2 −2 0 −1 1<br />
Com que v2 <strong>no</strong> pot entrar en la base (perquè x2 ja hi<br />
està), la solució és òptima: x1 = 0, x2 = 3/2, que<br />
substituint dóna f(x) = −9/4. <br />
Capítol 7<br />
Programació geomètrica (PG)<br />
7.1 Introducció<br />
Hi ha un important <strong>no</strong>mbre d’aplicacions que donen<br />
lloc a problemes <strong>de</strong> tipus PG. Aquí <strong>no</strong>més es fa una<br />
breu introducció i es presenten mèto<strong>de</strong>s que permeten<br />
7<br />
2<br />
la solució en alguns casos senzills. En PG es <strong>de</strong>fineixen<br />
un mo<strong>no</strong>mi mk(x) : R n → R com:<br />
mk(x) = ck x ak1<br />
1 x ak2<br />
2 · · · x akn<br />
n<br />
aki ∈ R<br />
(7.1)<br />
i un posi<strong>no</strong>mi (<strong>de</strong> mo<strong>no</strong>mi positiu) f(x) : Rn com:<br />
→ R<br />
M<br />
M<br />
f(x) = mk(x) = ck x ak1<br />
1 x ak2<br />
2 · · · x akn<br />
n<br />
(7.2)<br />
ck > 0<br />
k=1<br />
k=1<br />
7.2 PG sense restriccions<br />
Es tracta <strong>de</strong> resoldre el problema posi<strong>no</strong>mial:<br />
min f(x) =<br />
s. a x > 0<br />
M<br />
k=1<br />
Per simplificar la <strong>no</strong>tació <strong>de</strong>finim:<br />
ck x ak1<br />
1 · · · x akn<br />
n<br />
pk(x) = x ak1<br />
1 · · · x akn<br />
n<br />
(7.3)<br />
(7.4)<br />
<strong>de</strong> manera que escriurem la funció objectiu <strong>de</strong> (7.3)<br />
com:<br />
M<br />
f(x) = ck x ak1<br />
1 · · · x akn<br />
M<br />
n = ck pk(x) (7.5)<br />
k=1<br />
k=1<br />
El problema (7.3) <strong>no</strong> és convex, però si fem el canvi<br />
xi = e yi , el problema equivalent següent, si que ho és:<br />
min fc(y) = log<br />
= log<br />
M<br />
ck e y1 ak1 yn akn · · · e<br />
k=1<br />
M<br />
k=1<br />
ck pk(y)<br />
(7.6)<br />
Sigui x ∗ i = e y∗ i la solució òptima <strong>de</strong> (7.6). Com<br />
que (7.6) és convex, ∇fc(y ∗ ) = 0 és una condició<br />
necessària i suficient. Per tant:<br />
∂fc(y ∗ )<br />
∂yi<br />
1<br />
f(x ∗ )<br />
= 0 ⇒<br />
M<br />
ck aki pk(x ∗ ) = 0, i = 1, · · · n (7.7)<br />
k=1<br />
Ara <strong>de</strong>finim les “variables duals” wk:<br />
De (7.7) tenim que:<br />
wk = ck pk(x∗ )<br />
f(x∗ , k = 1, · · · M (7.8)<br />
)<br />
M<br />
aki wk = 0, i = 1, · · · n (7.9)<br />
k=1
7.3. PG amb restriccions 19<br />
A més:<br />
M<br />
k=1<br />
wk =<br />
M<br />
k=1 ck pk(x ∗ )<br />
f(x ∗ )<br />
= f(x∗ )<br />
f(x ∗ )<br />
= 1 (7.10)<br />
Les equacions (7.9) i (7.10) s’a<strong>no</strong>menen respectivament<br />
condicions <strong>de</strong> <strong>no</strong>rmalitat i ortogonalitat <strong>de</strong> les<br />
variables wk. Notar que tenim M variables wk (tantes<br />
com mo<strong>no</strong>mis té f(x)), mentre que tenim n + 1 equacions<br />
<strong>lineal</strong>s per <strong>de</strong>terminar-les. El número M −(n+1)<br />
es coneix com el grau <strong>de</strong> llibertat o dificultat <strong>de</strong>l problema.<br />
Si M − (n + 1) = 0 les equacions anteriors<br />
permeten calcular els valors <strong>de</strong> wk.<br />
Un cop calcula<strong>de</strong>s les variables duals wk el problema<br />
està resolt i po<strong>de</strong>m calcular p ∗ = f(x ∗ ) <strong>de</strong> la següent<br />
manera: Tenint en compte que <br />
k wk = 1:<br />
p ∗ = (p ∗ ) <br />
k wk =<br />
M<br />
k=1<br />
ck<br />
wk<br />
donat que:<br />
M<br />
k=1<br />
wk M <br />
k=1<br />
(pk(x ∗ )) wk =<br />
M<br />
k=1<br />
(p ∗ ) wk =<br />
(pk(x ∗ )) wk =<br />
M<br />
k=1<br />
M<br />
k=1<br />
M<br />
k=1<br />
<br />
ck pk(x∗ wk )<br />
wk<br />
wk ck<br />
wk<br />
(x ak1<br />
1 · · · x akn<br />
n ) wk =<br />
<br />
k x<br />
ak1 wk<br />
1<br />
=<br />
(7.11)<br />
· · · x <br />
k akn wk<br />
n = 1<br />
Per calcular el valor òptim <strong>de</strong> les variables d’optimització<br />
x ∗ po<strong>de</strong>m fer servir (7.8):<br />
ck x ak1<br />
1 · · · x akn<br />
n = wk p ∗ , k = 1, · · · M (7.12)<br />
L’equació (7.11) que permet calcular p∗ dóna lloc a la<br />
<strong>de</strong>finició <strong>de</strong> la funció dual d(w) : RM → R,<br />
d(w) =<br />
M<br />
k=1<br />
wk ck<br />
wk<br />
(7.13)<br />
Es compleix què: f(x) ≥ d(w). A més, si el problema<br />
<strong>de</strong> PG (7.3) té solució es compleix que:<br />
p ∗ = f(x ∗ ) = min f(x) = max<br />
x w d(w) = d(w∗ ) (7.14)<br />
Per tant, el problema (7.3) també es pot resoldre amb el<br />
problema dual:<br />
M<br />
wk ck<br />
max d(w) =<br />
s. a<br />
k=1<br />
wk<br />
M<br />
aki wk = 0, i = 1, · · · n<br />
k=1<br />
M<br />
wk = 1<br />
k=1<br />
wk > 0<br />
(7.15)<br />
Exemple 7.1 PG sense restriccions<br />
min f(x) = 4 x 4 1 + 4 x<br />
<br />
−2<br />
1 x 2 2 + 5 x<br />
<br />
−4<br />
2 x 2 3 + x<br />
<br />
−2<br />
3 <br />
w1<br />
w2<br />
s. a xi > 0, i = 1, 2, 3<br />
Com que tenim 4 posi<strong>no</strong>mis, tindrem 4 variables duals<br />
wi, i = 1, · · · 4. Per facilitar la resolució, a sota <strong>de</strong> cada<br />
mo<strong>no</strong>mi <strong>de</strong>l problema s’ha posat la variable dual associada.<br />
El grau <strong>de</strong> dificultat és: M − (n + 1) = 0, per<br />
tant les condicions <strong>de</strong> <strong>de</strong> <strong>no</strong>rmalitat i ortogonalitat ens<br />
donen la solució:<br />
w3<br />
w1 + w2 + w3 + w4 = 1<br />
x1 → 4 w1 − 2 w2 = 0<br />
x2 → 2 w2 − 4 w3 = 0<br />
x3 → 2 w3 − 2 w4 = 0<br />
d’on tenim la solució: w1 = 1/5, w2 = 2/5, w3 =<br />
1/5, w4 = 1/5. Substituint en la funció dual tenim:<br />
log d(w) =<br />
4<br />
k=1<br />
w4<br />
wi log(ck/wk) = 1, 079 ⇒ p ∗ = 12, 011<br />
Ara <strong>de</strong>finim ui = log xi, xi = e ui . De (7.12) tenim:<br />
log<br />
wk p ∗<br />
ck<br />
<br />
=<br />
n<br />
aki ui, k = 1, · · · 3 (7.16)<br />
i=1<br />
Substituït en (7.16) calculem: u1 = −0, 055, u2 =<br />
−0, 015, u3 = −0, 19, d’on: x1 = 0, 88, x2 = 0, 96,<br />
x3 = 0, 645. <br />
7.3 PG amb restriccions<br />
Es tracta <strong>de</strong> resoldre el problema posi<strong>no</strong>mial:<br />
M0 <br />
min f(x) =<br />
k=1<br />
Mi <br />
s. a gi(x) =<br />
x > 0<br />
k=1<br />
c0k x a0k1<br />
1<br />
cik x aik1<br />
1<br />
i = 1, · · · m<br />
Per simplificar la <strong>no</strong>tació <strong>de</strong>finim:<br />
pik(x) = x aik1<br />
1<br />
· · · x a0kn<br />
n<br />
· · · x aikn<br />
n<br />
≤ 1<br />
(7.17)<br />
· · · x aikn<br />
n , i = 0, · · · m (7.18)<br />
<strong>de</strong> manera que po<strong>de</strong>m escriure la funció objectiu i les<br />
restriccions com: f(x) = M0 k=1 c0k p0k(x), gi(x) =<br />
Mi k=1 cik pik(x).
20 Capítol 8. Mèto<strong>de</strong>s <strong>de</strong> barrera<br />
El problema es pot resoldre <strong>de</strong> forma semblant al cas<br />
sense restriccions. Ara <strong>de</strong>finim les variables:<br />
w0k = c0k p0k(x∗ )<br />
f(x∗ ,<br />
)<br />
k = 1, · · · M0 (7.19)<br />
wik = cik pik(x ∗ ), i = 1, · · · m (7.20)<br />
k = 1, · · · Mi<br />
En funció d’aquestes variables i fent servir el Lagrangià<br />
(veure [5]), s’obtenen les variables duals ik, i =<br />
0, · · · m, k = 1, · · · Mi que han <strong>de</strong> complir les condicions<br />
<strong>de</strong> <strong>no</strong>rmalitat i ortogonalitat:<br />
M0 <br />
k=1<br />
0k = 1 (7.21)<br />
m Mi <br />
aikj ik = 0, j = 1, · · · n (7.22)<br />
i=0<br />
k=1<br />
Notar que el <strong>no</strong>mbre <strong>de</strong> variables duals a <strong>de</strong>terminar<br />
és igual al <strong>no</strong>mbre total <strong>de</strong> mo<strong>no</strong>mis: M = m i=0 Mi.<br />
Igual que en el cas sense restriccions, (7.21) i (7.22) formen<br />
un sistema <strong>de</strong> n + 1 equacions que tindran solució<br />
única si el grau <strong>de</strong> dificultat val zero: M − (n + 1) = 0.<br />
La relació entre ik i wik és:<br />
w0k = 0k, k = 1, · · · M0 (7.23)<br />
wik =<br />
La funció dual és:<br />
ik<br />
, i = 1, · · · m<br />
Mi<br />
k=1 ik<br />
k = 1, · · · Mi<br />
d() =<br />
m Mi <br />
i=0 k=1<br />
cik<br />
wik<br />
ik<br />
(7.24)<br />
(7.25)<br />
Un cop <strong>de</strong>terminats ik i wik, substituint en (7.25) tindrem<br />
el valor òptim <strong>de</strong> la funció objectiu (p ∗ = f(x ∗ )),<br />
i substituint en (7.19) i (7.20) obtindrem les equacions<br />
amb les que po<strong>de</strong>m calcular el valor òptim <strong>de</strong> les variables<br />
d’optimització (x ∗ ).<br />
Exemple 7.2 PG amb restriccions<br />
min f(x) = 40 x1 x2 + 20 x2 x3<br />
<br />
01<br />
s. a 1/5 x −1<br />
2 + 3/5 x<br />
<br />
−1<br />
3 ≤ 1<br />
<br />
1 x −1/2<br />
11<br />
xi > 0, i = 1, 2, 3<br />
02<br />
2 x −2/3<br />
Com que tenim 4 posi<strong>no</strong>mis, tindrem 4 variables duals<br />
ik, i = 0, 1, k = 1, · · · Mi. Per facilitar la resolució,<br />
a sota <strong>de</strong> cada mo<strong>no</strong>mi <strong>de</strong>l problema s’ha posat<br />
la variable dual associada. El grau <strong>de</strong> dificultat és:<br />
12<br />
M − (n + 1) = 0, per tant les condicions <strong>de</strong> <strong>de</strong> <strong>no</strong>rmalitat<br />
i ortogonalitat ens donen la solució:<br />
01 + 02 = 1<br />
x1 → 01 − 11 = 0<br />
x2 → 01 + 02 − 1/2 11 − 12 = 0<br />
x3 → 02 − 2/3 12 = 0<br />
d’on tenim la solució: 01 = 1/2, 02 = 1/2, 11 =<br />
1/2, 12 = 3/4. Substituint en (7.23) i (7.24):<br />
w01 = 01 = 1/2<br />
w02 = 02 = 1/2<br />
w11 = 11<br />
11 + 12<br />
w12 = 12<br />
11 + 12<br />
= 2/5<br />
= 3/5<br />
Substituint en la funció dual (7.25) tenim:<br />
log d() = 1<br />
2<br />
3 3/5<br />
log<br />
4 3/5<br />
40 1<br />
log +<br />
1/2 2<br />
20 1<br />
log +<br />
1/2 2<br />
log 1/5<br />
2/5 +<br />
= 1<br />
2 log 402 → d() = p ∗ = 40<br />
Ara <strong>de</strong>finim ui = log xi, xi = e ui . De (7.19) i (7.20)<br />
tenim:<br />
log w01 p ∗<br />
log w11<br />
c11<br />
c01<br />
log w02 p ∗<br />
= − log 2 = u1 + u2<br />
c02<br />
= 0 = u2 + u3<br />
= log 2 = −u1 − 1/2 u2<br />
D’on tenim que: u1 = − log 2, u2 = 0, u3 = 0, per tant:<br />
x1 = 1/2, x2 = 1, x3 = 1. <br />
Capítol 8<br />
Mèto<strong>de</strong>s <strong>de</strong> barrera<br />
8.1 Formulació<br />
Consi<strong>de</strong>rarem el problema d’optimització que suposarem<br />
convex:<br />
min f(x)<br />
s. a gi(x) ≤ 0, i = 1, · · · m<br />
(8.1)<br />
L’objectiu és plantejar un mèto<strong>de</strong> iteratiu per resoldre el<br />
problema (8.1) amb el mèto<strong>de</strong> <strong>de</strong> Newton explicat en la<br />
secció 4.4.2, pàg. 12. Per assolir aquest objectiu necessitem<br />
que el problema <strong>no</strong> tingui restriccions i sigui dues<br />
vega<strong>de</strong>s diferenciable. Per eliminar les restriccions po<strong>de</strong>m<br />
plantejar el problema equivalent:<br />
m<br />
min f(x) + Ix≤0(gi(x)) (8.2)<br />
i=1
Capítol 9. Programació dinàmica <strong>de</strong>terminista 21<br />
on Ix≤0(x) és la funció indicador (veure la figura (8.3)):<br />
<br />
0, x ≤ 0<br />
Ix≤0(x)<br />
(8.3)<br />
∞, x > 0<br />
0 2 4 6 8 10<br />
-2.0 -1.5 -1.0 -0.5 0.0<br />
Figura 8.1: Aproximacions <strong>de</strong> la funció indicador<br />
Ix≤0(x)<br />
Com que Ix≤0(x) <strong>no</strong> és diferenciable, aproximarem<br />
Ix≤0(x) per una funció B(x) que ho sigui. Les dues<br />
funcions que més es fan servir en la pràctica son:<br />
B(x) = −ρ<br />
(8.4)<br />
x<br />
B(x) = −ρ log(−x) (8.5)<br />
on ρ > 0 és un paràmetre que com més petit sigui, millor<br />
serà l’aproximació <strong>de</strong> B(x) a Ix≤0(x) (veure la figura<br />
(8.3)). El problema és que com més petit és ρ, més<br />
ràpidament variarà la inversa <strong>de</strong>l Hessià <strong>de</strong> la funció a<br />
optimitzar, i més difícil serà la convergència <strong>de</strong>l mèto<strong>de</strong><br />
<strong>de</strong> Newton. Per resoldre aquest problema el mèto<strong>de</strong> <strong>de</strong><br />
barrera consisteix en aplicar el mèto<strong>de</strong> <strong>de</strong> Newton iterativament<br />
fent servir una funció Bk(x) = ρkB(x), on<br />
0 < ρk+1 < ρk és una seqüència que aproxima progressivament<br />
Bk(x) a Ix≤0(x). En concret l’algorisme és el<br />
següent:<br />
1. Triar un punt inicial x0 interior a la regió factible:<br />
gi(x0) ≤ 0.<br />
2. Triar un valor inicial per ρ.<br />
3. Fer servir el mèto<strong>de</strong> <strong>de</strong> Newton amb el punt inicial<br />
x0 per resoldre el problema:<br />
m<br />
min f(x) + ρkB(gi(x)) (8.6)<br />
i=1<br />
La solució xk obtinguda en cada iteració <strong>de</strong> (8.6) es<br />
fa servir com a punt inicial per a una pròxima iteració,<br />
conjuntament amb el pròxim valor <strong>de</strong> la seqüència<br />
ρk.<br />
Observacions<br />
• Els mèto<strong>de</strong>s <strong>de</strong> barrera (o penalització) <strong>no</strong>rmalment<br />
s’inclouen dintre d’un conjunt més general a<strong>no</strong>menat<br />
“mèto<strong>de</strong>s <strong>de</strong> punts interiors” (veure [3]).<br />
• En el mèto<strong>de</strong> SUMT (veure [5]) s’agafa ρk+1 = ρk/4<br />
i en el cas més senzill es comença amb ρ0 = 1.<br />
Amb aquest mèto<strong>de</strong>, si hi ha restriccions d’igualtat<br />
hi(x) = 0, s’agafa funció <strong>de</strong> penalització ρ −1/2<br />
k<br />
h 2 i (x).<br />
Capítol 9<br />
Programació dinàmica <strong>de</strong>terminista<br />
9.1 Formulació<br />
Consi<strong>de</strong>rarem un procés a temps discret que pren valors<br />
en els instants o etapes (stages) k = 0, 1, · · · N caracteritzat<br />
<strong>de</strong> la següent manera:<br />
• L’estat <strong>de</strong>l sistema xk dóna la informació rellevant<br />
<strong>de</strong>l sistema en l’etapa k. Inicialment l’estat <strong>de</strong>l sistema<br />
és x0.<br />
• El <strong>no</strong>mbre d’etapes N que consi<strong>de</strong>rarem s’a<strong>no</strong>mena<br />
horitzó <strong>de</strong>l procés.<br />
• Per a cada etapa po<strong>de</strong>m prendre un conjunt <strong>de</strong> <strong>de</strong>cisions<br />
que <strong>de</strong>terminen l’estat <strong>de</strong>l sistema en la pròxima<br />
etapa.<br />
• En cada etapa k = 0, 1, · · · N hi ha una funció <strong>de</strong><br />
guany (o cost) gk(xk).<br />
• Hi ha una funció <strong>de</strong> objectiu fk(xk) que es <strong>de</strong>sitja<br />
optimitzar.<br />
• Donat l’estat en l’etapa k, la <strong>de</strong>cisió òptima per les<br />
pròximes etapes <strong>no</strong> ha <strong>de</strong> <strong>de</strong>pendre <strong>de</strong>ls estats assolits<br />
en les etapes anteriors. Aquesta condició s’a<strong>no</strong>mena<br />
“principi d’optimalitat <strong>de</strong> Bellman”.<br />
Resolució <strong>de</strong>l problema Hem <strong>de</strong> formular una<br />
equació recursiva que relaciona la funció objectiu en<br />
l’etapa k en funció <strong>de</strong>ls valors assolits en k + 1, k +<br />
2, · · · N. Per exemple:<br />
fk(xk) = min<br />
k {φ(gk(xk), fk+1(xk+1))} (9.1)<br />
L’estratègia consisteix en escollir l’estat i les etapes<br />
<strong>de</strong> forma que sigui fàcil calcular fN(xN). A continuació<br />
hem <strong>de</strong> formular l’equació recursiva (9.1) i buscar<br />
les <strong>de</strong>cisions òptimes que permeten calcular fk(xk),<br />
k = N − 1, N − 2, · · · 0. És a dir, si l’ín<strong>de</strong>x k representa<br />
el temps, anirem “cap enrera” en el temps (backward<br />
in time). També és possible plantejar el problema “cap<br />
endavant” en el temps, però en general, és més difícil<br />
<strong>de</strong> formular.
22 Apèndixs<br />
Exemple 9.1 Programació dinàmica<br />
Es fa un son<strong>de</strong>ig petrolífer en tres regions A, B, C on<br />
hi po<strong>de</strong>n treballar entre 1 i 3 equips <strong>de</strong> son<strong>de</strong>ig. La<br />
següent taula mostra les probabilitats <strong>de</strong> fracàs en trobar<br />
petroli en funció <strong>de</strong>ls equips que treballen en cada<br />
regió. Es disposen <strong>de</strong> 5 equips <strong>de</strong> son<strong>de</strong>ig i es <strong>de</strong>sitja<br />
calcular quants d’equips s’han <strong>de</strong> <strong>de</strong>stinar a cada regió<br />
per minimitzar la probabilitat <strong>de</strong> fracàs.<br />
Regió<br />
Nombre d’equips A B C<br />
1 0,50 0,70 0,75<br />
2 0,30 0,40 0,30<br />
3 0,15 0,20 0,10<br />
Solució Definim com etapes rk <strong>de</strong>l problema les regions:<br />
r1 = A, r2 = B, r3 = C. Definim l’estat xk<br />
com el <strong>no</strong>mbre d’equips que hi ha disponibles per a les<br />
etapes rk, rk+1, · · · r3, i la funció objectiu:<br />
<br />
fracàs en les etapes<br />
fk(xk) = min P<br />
rk, rk+1, · · · r3<br />
Com que la probabilitat <strong>de</strong> fracassar és el producte <strong>de</strong><br />
fracassar en les tres etapes, po<strong>de</strong>m formular l’equació<br />
recursiva:<br />
fk(xk) = min<br />
n {Pk {n} × fk+1(xk − n)}<br />
on Pk {n} és la probabilitat <strong>de</strong> fracàs en l’etapa rk si hi<br />
treballen n equips (és a dir, les probabilitats <strong>de</strong> la taula<br />
anterior). Tenim doncs:<br />
• Per l’etapa r3 = C:<br />
• Per l’etapa r2 = B:<br />
f3(1) = P3 {1} = 0, 75<br />
f3(2) = P3 {2} = 0, 30<br />
f3(3) = P3 {3} = 0, 10<br />
f2(2) =P2 {1} f3(1) = 0, 70 × 0, 75 = 0, 525<br />
f2(3) = min{P2 {1} f3(2); P2 {2} f3(1)} =<br />
= min{0, 21; 0, 30} = 0, 21<br />
f2(4) = min{P2 {1} f3(3); P2 {2} f3(2); P2 {3}<br />
• Per l’etapa r1 = A:<br />
f3(1)} = min{0, 07; 0, 12; 0, 15} = 0, 07<br />
f1(5) = min{P1 {1} f2(4); P1 {2} f2(3); P1 {3}<br />
f2(2)} = min{0, 035; 0, 063; 0, 07875}<br />
= 0, 035<br />
On s’han subratllat les <strong>de</strong>cisions òptimes. Es conclou<br />
doncs que la probabilitat <strong>de</strong> fallar és <strong>de</strong> 0, 035, <strong>de</strong>stinant<br />
1 equip en la regió A, 1 equip en la regió B i 3<br />
equips en la regió C. <br />
Apèndixs<br />
A. Mèto<strong>de</strong> <strong>de</strong> la secció àurea<br />
# busca e l mínim <strong>de</strong> l a f u n c i ó f ( x )<br />
# en l ’ i n t è r v a l [ x1 , x3 , x4 , x2 ]<br />
# amb e l mèto<strong>de</strong> <strong>de</strong> l a s e c c i ó àurea .<br />
x
Apèndix C. Mèto<strong>de</strong> <strong>de</strong> Hooke i Jeeves 23<br />
}<br />
x3
24 Apèndixs<br />
Anàlogament, una matriu que compleix ℜ[x H A x] <<br />
0, respectivament ℜ[x H A x] ≤ 0, es diu <strong>de</strong>finida negativa<br />
i semi<strong>de</strong>finida negativa (ho indicarem com A < 0<br />
i A ≤ 0 respectivament). Una condició necessària i suficient<br />
perquè una matriu Hermítica sigui <strong>de</strong>finida negativa<br />
és que tots els seus autovalors siguin < 0. També<br />
és una condició necessària i suficient que tots els els<br />
me<strong>no</strong>rs principals d’ordre k, k = 1, 2, · · · , n siguin<br />
negatius si k és senar, i positius si k és parell.<br />
Una matriu que <strong>no</strong> és ni (semi)<strong>de</strong>finida positiva ni<br />
negativa es diu que és in<strong>de</strong>finida.<br />
Exemple D.1 Matriu <strong>de</strong>finida positiva<br />
1 1<br />
La matriu A = és <strong>de</strong>finida positiva perquè la<br />
−1 1<br />
seva part Hermítica: AH = 1/2(A + AH <br />
1 0<br />
) = =<br />
0 1<br />
I és <strong>de</strong>finida positiva (té els autovalors +1, +1). Efectivament:<br />
xH A x = x2 1 + x2 2 > 0, ∀x = 0. <br />
E. Forma quadràtica<br />
S’a<strong>no</strong>mena forma quadràtica <strong>de</strong> n variables complexes<br />
x associada a una matriu A n×n <strong>de</strong> números complexes<br />
a la funció q : C n → C:<br />
q(x) = x H A x (E.1)<br />
on xH és el vector (o matriu) conjugat transposat: Si<br />
xij = u + i v, xH ji = u − i v. És fàcil comprovar que:<br />
q(x) = <br />
(E.2)<br />
1≤i≤n<br />
1≤j≤n<br />
xi aij xj<br />
q(x) = x H A x = x H AH x (E.3)<br />
on AH és la part Hermítica <strong>de</strong> la matriu A: AH =<br />
1/2(A + A H ). AH és una matriu Hermítica, per tant,<br />
una forma quadràtica sempre es pot associar a una matriu<br />
Hermítica (que serà una matriu simètrica si és <strong>de</strong><br />
números reals).<br />
En R 2 , l’equació:<br />
q(x) = a x 2 + b x y + c y 2<br />
es pot expressar en la forma quadràtica (E.1) on:<br />
<br />
a b/2<br />
A =<br />
b/2 c<br />
(E.4)<br />
(E.5)<br />
La superfície i les corbes <strong>de</strong> nivell <strong>de</strong> (E.5) (veure<br />
l’apèndix G) <strong>de</strong>penen <strong>de</strong>ls autovalors <strong>de</strong> la matriu A:<br />
1,2 = (a + c) ± (a + c) 2 − 4 a c + b2 =<br />
2<br />
(a + c) ± (a − c) 2 + b2 2<br />
(E.6)<br />
En particular, les corbes <strong>de</strong> nivell son (veure la figura<br />
E.1):<br />
• El·lipses si b 2 < 4 a c (1, 2 > 0, 1 = 2).<br />
• Cercles si a = c, b = 0 (1, 2 > 0, 1 = 2).<br />
• Paràboles si b 2 = 4 a c (1 > 0, 2 = 0).<br />
• Hipèrboles si b 2 > 4 a c (1 > 0, 2 < 0).<br />
Notar que si els dos autovalors són positius, la matriu<br />
A és <strong>de</strong>finida positiva (veure l’apèndix D) i la forma<br />
quadràtica és convexa. Per tant té un mínim (veure la<br />
figura E.1).<br />
F. Gradient<br />
Definim el vector columna gradient d’una funció f :<br />
Rn → R com:<br />
⎡ ⎤<br />
∂f(x)/∂x1<br />
∇f(x) = ⎣ · · · ⎦ (F.1)<br />
∂f(x)/∂xn<br />
La <strong>de</strong>rivada d’una funció f : R n → R en la direcció<br />
<strong>de</strong>l vector v ∈ R n es <strong>de</strong>fineix com:<br />
∇vf(x) = lim<br />
→0<br />
f(x + v) − f(x) = ∇f(x) T v (F.2)<br />
La interpretació intuïtiva <strong>de</strong> la <strong>de</strong>rivada direccional és la<br />
raó <strong>de</strong> variació <strong>de</strong> la funció f en en punt x en la direcció<br />
<strong>de</strong>l vector v. Per tant, la direcció <strong>de</strong>l gradient és la <strong>de</strong><br />
màxima variació <strong>de</strong> la funció f(x).<br />
En el cas d’una funció vectorial g : Rn → Rm :<br />
⎡ ⎤<br />
g1(x)<br />
⎢<br />
g(x) = ⎢ g2(x) ⎥<br />
⎣ · · · ⎦<br />
gm(x)<br />
Definim el gradient com la matriu n × m on la columna<br />
j és el gradient <strong>de</strong> la funció gj(x):<br />
∇g(x) = ∇g1(x) ∇g2(x) · · · ∇gm(x) <br />
(F.3)<br />
Exemple F.1 Gradient<br />
Si f(x) = aT x = xT a = xi ai, aleshores:<br />
⎡ ⎤<br />
∇f(x) = ∇(x T ⎢ a2 ⎥<br />
a) = ⎢ ⎥<br />
⎣·<br />
· · ⎦ = a (F.4)<br />
Si tenim la forma quadràtica f(x) = x T A x =<br />
x T AH x, on AH = 1/2(A + A T ) és una matriu<br />
a1<br />
an
Apèndix G. Hiperfície i subconjunt <strong>de</strong> nivell 25<br />
(a) a = b = c = 1, 1 = 3/2, 2 = 1/2. (b) a = c = 1, b = 3, 1 = 5/2, 2 = −1/2.<br />
Figura E.1: Forma quadràtica en R 2 (equacions (E.1) i (E.4)) i corbes <strong>de</strong> nivell per una matriu A: (a) <strong>de</strong>finida<br />
positiva, (b) in<strong>de</strong>finida.<br />
x2<br />
Cx0 = {x | f(x) ≤ f(x0)}<br />
Hx0 = {x | f(x) = f(x0)}<br />
∇f(x0)<br />
x0<br />
∇f(x0) T (x − x0) = 0<br />
x1<br />
Figura F.1: Relació entre el gradient ∇f(x0), hiperfície<br />
<strong>de</strong> nivell Hx0 i subconjunt <strong>de</strong> nivell Cx0 d’una<br />
funció f : R 2 → R.<br />
simètrica (veure l’apèndix D). Tenim que: x T AH x =<br />
(x T AH x) T = (AH x) T x = x T A T H x = xT AH x =<br />
x T A x. Per tant, aplicant la regla <strong>de</strong> la ca<strong>de</strong>na i el resultat<br />
(F.4):<br />
∇f(x) = ∇(x T A x) = A x + A x = 2 A x (F.5)<br />
Observacions<br />
• El transposat <strong>de</strong> (F.3) és el Jacobià <strong>de</strong> g(x).<br />
• Alguns autors <strong>de</strong>fineixen el gradient d’una funció<br />
f : R n → R com un vector fila igual al transposat<br />
<strong>de</strong>l vector (F.1). En aquest cas es <strong>de</strong>fineix el gradient<br />
<strong>de</strong> la funció vectorial g : R n → R m com el transposat<br />
<strong>de</strong> la la matriu (F.3), és a dir, coinci<strong>de</strong>ix amb el<br />
Jacobià.<br />
G. Hiperfície i subconjunt <strong>de</strong> nivell<br />
Es diu hiperfície <strong>de</strong> nivell (o conjunt <strong>de</strong> nivell, level set)<br />
Hx0 d’una funció f : R n → R que passa per un punt x0<br />
al conjunt (veure la figura F.1):<br />
Hx0 = {x | f(x) = f(x0)} (G.1)<br />
<br />
y<br />
graf f = {(x, y) | y = f(x), x ∈ dom f}<br />
epi f = {(x, y) | y ≥ f(x), x ∈ dom f}<br />
T <br />
∇f(x0) x x0<br />
−<br />
−1 y f(x0)<br />
x0<br />
∇f(x0)<br />
Figura F.2: Relació entre el gradient, gràfic i epigràfic<br />
d’una funció f : R → R.<br />
x<br />
= 0<br />
Si n = 2 es diuen corbes <strong>de</strong> nivell, i si n = 3 superfícies<br />
<strong>de</strong> nivell.<br />
Si el gradient en un punt x0 és ∇f(x0) = 0, aleshores<br />
∇f(x0) és un vector perpendicular a la hiperfície <strong>de</strong> nivell<br />
<strong>de</strong> la funció f(x) en x0. Per tant, l’hiperplà tangent<br />
a la la hiperfície <strong>de</strong> nivell (G.1) en el punt x0 és:<br />
∇f(x0) T (x − x0) = 0 (G.2)<br />
Es diu subconjunt <strong>de</strong> nivell (sublevel set) Cx0 d’una<br />
funció f : R n → R que passa per un punt x0 al conjunt<br />
(veure la figura F.1):<br />
Cx0 = {x | f(x) ≤ f(x0)} (G.3)<br />
És fàcil veure que si f(x) és convexa, aleshores Cx0<br />
és un conjunt convex: Si x1, x2 ∈ Cx0, aleshores<br />
f(α x1 + (1 − α) x2) ≤ α f(x1) + (1 − α) f(x2) ≤<br />
α f(x0) + (1 − α) f(x0) = f(x0) ⇒ f(α x1 + (1 −<br />
α) x2) ∈ Cx0. Així doncs, si f(x) és convexa (G.2) és<br />
l’hiperplà suport <strong>de</strong> Cx0 en x0 (veure la figura F.1).<br />
Notar que el gràfic d’una funció f(x):<br />
graf f = {(x, y) | y = f(x), x ∈ dom f} (G.4)<br />
el po<strong>de</strong>m interpretar com la hiperfície <strong>de</strong> nivell<br />
F (x, y) = 0 <strong>de</strong> la funció F : R n+1 → R, F (x, y) =
26 Bibliografia<br />
f(x) − y. Com que ∇F (x, y) =<br />
<br />
∇f(x)<br />
, apli-<br />
−1<br />
on ∇<br />
cant (G.2) tenim que l’hiperplà tangent al gràfic (G.4)<br />
en el punt (x0, f(x0)) és (veure la figura F.2):<br />
T <br />
∇f(x0) x x0<br />
− = 0 (G.5)<br />
−1 y f(x0)<br />
2f(x) és el Hessià: [∇2 <br />
∂2f(x) f(x)]ij = ∂xi ∂xj<br />
Bibliografia<br />
[1] The R Project for Statistical Computing. http:<br />
//www.r-project.org.<br />
Notar també que si f(x) és una funció convexa,<br />
aleshores (G.5) serà l’hiperplà suport <strong>de</strong> l’epigràfic <strong>de</strong><br />
f(x) en el punt x0 (veure la figura F.2).<br />
H. Teorema <strong>de</strong> Taylor per funcions<br />
<strong>de</strong> vàries variables<br />
Si la funció f : R n → R és diferenciable en una regió<br />
D que conté el segment [x1, x2], aleshores existeix un<br />
0 ≤ ≤ 1 tal que:<br />
f(x2) = f(x1) + ∇f( x1 + (1 − ) x2) T (x2 − x1) (H.1)<br />
Aquesta relació s’a<strong>no</strong>mena també teorema <strong>de</strong> Lagrange<br />
o <strong>de</strong>l valor mig. A més, si existeixen les <strong>de</strong>riva<strong>de</strong>s parcials<br />
<strong>de</strong> segon ordre, aleshores:<br />
f(x2) = f(x1) + ∇f(x1) T (x2 − x1)+<br />
1/2 (x2 − x1) T ∇ 2 f( x1 + (1 − ) x2) (x2 − x1) (H.2)<br />
[2] Wikipedia, the free encyclopedia. http://en.<br />
wikipedia.org.<br />
[3] Stephen Boyd i Lieven Van<strong>de</strong>nberghe. Convex Optimization.<br />
Cambridge University Press, 2004.<br />
[4] David G. Luenberger. Linear and Nonlinear Programming.<br />
Springer, segona edició, 2005.<br />
[5] Rafael Infante Macías. Métodos <strong>de</strong> <strong>programació</strong>n<br />
matemática, Tomo II. Ediciones UNED, segona<br />
edició, 1997.<br />
[6] Wayne L. Winston. Operations Research Applications<br />
and Algorithms. Wadsworth Publishing Company,<br />
tercera edició.