27.04.2013 Views

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

SHOW MORE
SHOW LESS

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ó.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!