Aplicaciones de la Optimización Convexa al análisis de redes

44
Aplicaciones de la Optimización Convexa al análisis de redes Bibliografía optimización convexa: Nonlinear Programming: 2nd Edition. by Dimitri P. Bertsekas. ISBN: 1- 886529-00-0. Publication: 1999 Convex Optimization, Stephen P. Boyd , Lieven Vandenberghe Cambridge University Press, Mar 8, 2004

Transcript of Aplicaciones de la Optimización Convexa al análisis de redes

Page 2: Aplicaciones de la Optimización Convexa al análisis de redes

Introducción

Repaso de conceptos básicos

de funciones de varias

variables y convexidad

Page 3: Aplicaciones de la Optimización Convexa al análisis de redes

0x

f(x+h, y)-f(x, y)f (x, y) lim

hh

f z(x, y)=

x x

f z(x, y)=

y y

Repaso : Función derivada parcial

La derivada parcial de f con respecto de x, la denotamos por fx, y se define así

para todos los puntos (x, y) donde este límite exista.

La derivada parcial de f con respecto de y se define de forma similar

Si z = f(x, y), otras notaciones usuales para las derivadas parciales son

Page 4: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Gradiente

El gradiente de una función escalar de n variables f(x1,

x2,…, xn,), denotado por f, es el vector n-dimensional

nx

xf

x

xf

x

xfxf ,,,

21

El gradiente de una función en un punto

indica la dirección, a partir de ese

punto, en la que dicha función crece

más rápidamente y, además, la

dirección ortogonal a las curvas de

nivel de f (curvas en las que la función

tiene un valor constante)

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

-2

0

2

-20

-15

-10

-5

0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Page 5: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Derivada direccional

La Derivada direccional de f en p según el vector unitario

[ D f(p) ] es el producto escalar del gradiente en p, por :

D f(p) = f(p)T

¿En qué sentido deberían desplazarse las variables

de f, partiendo del punto p, para que los valores de f

crezcan más rápidamente?

Page 6: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Derivada direccional

Como la rapidez está dada por : f(p)T

En esta expresión se suponen ya conocidos f y p; faltando conocer “” que haga máximo el producto escalar

Siendo f(p)T = f(p). Cos = f(p).(1). Cos

Donde : , es el ángulo formado por los vectores f(p) y

f(p)T , será máximo si y sólo si Cos es máximo, ó sea cuando = 0 y f(p) con son colineales. Lo cual significa que el vector unitario debe tener el mismo sentido que el vector gradiente de f en p

Page 7: Aplicaciones de la Optimización Convexa al análisis de redes

Ejemplo:

f(x,y) = -20 + 3x2 +y2

f = [6x, 2y]

x

y

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-18

-16

-14

-12

-10

-8

-6

-2

-1

0

1

2

-2

-1

0

1

2-20

-15

-10

-5

0

Page 8: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Hessiano

El Hessiano de una función escalar de n variables

f(x1,x2,…, xn,), denotado por Hf, es la matriz de dimensión

nxn

Una matriz cuadrada A es definida positiva si :

y es definida negativa si la desigualdad es la contraria

2n

2

2n

2

1n

2

n2

2

22

2

12

2

n1

2

21

2

21

2

x

f

xx

f

xx

f

xx

f

x

f

xx

f

xx

f

xx

f

x

f

fH

00 xAxxT

Page 9: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Diferenciabilidad de funciones

de varias variables

Definición:

Teorema: Si f : u R, u Rn, es diferenciable en x entonces es continua

en x. El recíproco es falso.

Teorema: (Condición suficiente de diferenciabilidad)

Si f : u R, u Rn, posee derivadas parciales continuas en x0 u

entonces f es diferenciable en x0. Sin embargo, una función puede ser

diferenciable en un punto sin que sus derivadas parciales sean

continuas en dicho punto.

Definición: Decimos que una función es de clase Ck en A Rn, y

escribimos f Ck(A), si todas sus derivadas parciales de orden k existen

y son continuas en A. La llamaremos también k veces continuamente

diferenciable. Esta nomenclatura no es uniforme en diferentes autores.

0 0 0 ( )

( ) 0 cuando 0

T

c

c

f x v f x f x v v E v

E v v

Page 10: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Formula de Taylor en Varias

Variables

En una notación mas compacta

donde,

jj

ji

ii

n

j

n

iojj

j

n

jxx

xx

xfxxxx

x

xfxfxf 0

0

2

011

0

10

!2

1

00000!2

1xxxxxxxfxfxf

TT

1

, ,n

f ff

x x

2

2

2

2

1

22

2

2

2

2

12

21

2

21

2

2

1

2

nnn

n

n

x

f

xx

f

xx

f

xx

f

x

f

xx

f

xx

f

xx

f

x

f

GradienteHessiano

Page 11: Aplicaciones de la Optimización Convexa al análisis de redes

Optimización

Introducción

Page 12: Aplicaciones de la Optimización Convexa al análisis de redes

Optimización

Formulación del problema de optimización

La función objetivo puede tener un solo mínimo, en cuyo

caso se denomina unimodal, o varios mínimos locales o

globales, en cuyo caso se denomina multimodal

min ( )

: es una función continua de n variables

X= X es un subconjunto de .

Si X= se habla de problemas sin restricciones.

Si es lineal y X es un poliedro, entonces es un problema de op

x X

n

n n

n

f x

f

o

f

timización lineal.

Page 13: Aplicaciones de la Optimización Convexa al análisis de redes

Optimización sin

restricciones

Page 14: Aplicaciones de la Optimización Convexa al análisis de redes

Caracterización de los extremos

Page 15: Aplicaciones de la Optimización Convexa al análisis de redes

Condición necesaria de optimalidad

Sea x* un mínimo local de asumimos que

f es continuamente diferenciable en un conjunto

abierto S que contiene a x*. Entonces,

Si además f es dos veces continuamente diferenciable

en S, entonces,

( *) 0f x

2 ( *) : semidefinida positivaf x

: nf

Page 16: Aplicaciones de la Optimización Convexa al análisis de redes

Condición suficiente de optimalidad

Sea dos veces continuamente diferenciable.

Supóngase que x* satisface:

entonces x* es un mínimo local estricto de f.

Prueba: Sea >0 el menor valor propio de

( *) 0f x 2 ( *) : definida positivaf x

: nf

Page 17: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Funciones Convexas

Estamos particularmente interesados en la optimización

de este tipo de funciones sobre los llamados conjuntos

convexos

Definición: Un conjunto X en Rn es convexo si y sólo si

para dos puntos cualquiera x1 y x2 en X y cualquier valor

escalar 0 1, el punto x = x1 + (1 - ) x2 también

está dentro de X

x1

x2

x2

x1

Convexo No Convexo

x1

x2

x1

x2

x2

x1

x2

x1

Convexo No Convexo

Una esfera, un triángulo, el espacio Rn, una línea recta y un punto son conjuntos

convexos. Un hiperplano también es un conjunto convexo

Page 18: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Funciones Convexas

Definición: Una función f(x) es una función convexa

definida sobre un conjunto convexo X en Rn si para dos

puntos cualquiera x1 y x2 en X

donde 0 1

2121 11 xfxfxxf

a c b

A

B

a c b

A

B

bafBC

bfafAC

1

1

Page 19: Aplicaciones de la Optimización Convexa al análisis de redes

Repaso: Funciones Convexas

Las funciones convexas tienen una caracterización geométrica simple

e informativa

Teorema: Cualquier función lineal f(x) = cTx es tanto cóncava como

convexa

Teorema: Si f(x) es convexa -f(x) es cóncava (y viceversa)

Teorema: La suma de 2 o más funciones convexas es convexa

Teorema: Cualquier forma cuadrática semidefinida positiva

q(x) = xTDx donde D es simétrica, es una función convexa en todo Rn, y

si D es definida positiva es estrictamente convexa

Teorema: Cualquier forma cuadrática semidefinida negativa

q(x) = xTDx donde D es simétrica, es una función cóncava en todo Rn, y

si D es definida negativa es estrictamente cóncava

Page 20: Aplicaciones de la Optimización Convexa al análisis de redes

Criterios de convexidad

Teorema: Supongamos que f(x) tiene primeras derivadas parciales

continuas. Luego f(x) es cóncava sobre alguna región R en Rn si y

sólo si

similarmente, f(x) es convexa sobre alguna región R en Rn si y sólo

si

xxxfxfxf t

xxxfxfxft

Page 21: Aplicaciones de la Optimización Convexa al análisis de redes

Criterios de convexidad

Teorema: Sea f(x) una función C2 (segundas derivadas parciales

existen y son continuas). Entonces f(x) es convexa sobre una región

R en Rn si y sólo si su Hessiano es definido o semidefinido positivo

para todo x de la región R

Page 22: Aplicaciones de la Optimización Convexa al análisis de redes

Criterios de convexidad

Teorema de Schwartz: Si f(x,y) es tal que

son continuas en un entorno de un punto (x0,y0),

entonces

existe y se cumple que

yx

fy

y

f

x

f

2

,

00

2

yxxy

f

00

2

00

2

,, yxyx

fyx

xy

f

Page 23: Aplicaciones de la Optimización Convexa al análisis de redes

Criterio de optimalidad: Caso convexo Sea f es una función convexa

A) Un mínimo local de f, es también un mínimo global. Además, si f es estrictamente convexa entonces existe a lo sumo un mínimo global de f.

B)Si f es convexa, entonces

Es una condición necesaria y

suficiente para que el vector

x* sea un mínimo global

de f sobre X.

( *) 0f x

Page 24: Aplicaciones de la Optimización Convexa al análisis de redes

Optimalidad en el caso convexo

Se cumple que

Por lo tanto implica que x* es un mínimo global( *) 0f x

Page 25: Aplicaciones de la Optimización Convexa al análisis de redes

Caso cuadrático:

Con Q simétrica nxn y b en Rn

Ejemplo:

Page 26: Aplicaciones de la Optimización Convexa al análisis de redes

Métodos de descenso para funciones

de varias variables

La forma general de los métodos básicos de descenso se puede

expresar como

Determinación de Direcciones de Descenso

1 k k k kx x d

cosbaba

θa

b

Si θ > 90º, entonces cos(θ ) < 0

Si sabemos que el gradiente es la

máxima dirección de

crecimiento en un punto

Cualquier vector que tenga más

de 90º con el gradiente define

una dirección de descenso

d

f

0Kd f

Page 27: Aplicaciones de la Optimización Convexa al análisis de redes

Método de descenso

( ) 0f x Si existe un intervalo de pasos (0,δ) tales que

Si d tiene un ángulo con que es mayor que 90º,

entonces hay un intervalo de pasos para los cuales

( ( )) ( )

(0, )

f x f x f x

( )f x

( ) ' 0f x d

( ) ( )

(0, )

f x d f x

(0, )

Page 28: Aplicaciones de la Optimización Convexa al análisis de redes

Métodos de descenso

1

Los métodos básicos de descenso entonces son de la forma:

donde, si ( ) 0 las direcciones satisfacen:

( ) ' 0

y es un paso positivo.

Formulación de muchos de los métodos:

k k k k

k

k

k

x x d

f x d

f x d

x

1 ( )

donde es una matriz simétrica definida positiva.

( ) ' ( ) ' ( ) 0 por ser definida positiva

k k k k k

k

k k k

x D f x

D

f x d f x D f x

Page 29: Aplicaciones de la Optimización Convexa al análisis de redes

Dos métodos de descenso

El método de descenso “más rápido” (steepest) (es común llamarlo método del gradiente)

Es un método de convergencia lenta

Método de Newton

converge más rápido

1 ( )k k k kx x f x

2 1

1 ( ( )) ( )k k k k kx x f x f x

Existen muchas modificaciones y variaciones de estos métodos

Page 30: Aplicaciones de la Optimización Convexa al análisis de redes

Método del descenso más Rápido

Ejemplo 1: Se desea minimizar la función 22 yx20)y,x(f

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

x

y

xEl mínimo está ubicado en el punto (0,0)

Supongamos que se asume como punto

inicial, el punto (-1.7, 1.7635)

El gradiente en un punto cualquiera es,

f = {2x, 2y}

Page 31: Aplicaciones de la Optimización Convexa al análisis de redes

Método del descenso más Rápido

Ejemplo 1:Evolución del método para un = 0.25

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Evolución del método para un = 0.9

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Page 32: Aplicaciones de la Optimización Convexa al análisis de redes

Método del Descenso más Rápido

Ejemplo 2: Se desea minimizar la función 22 yx320)y,x(f

Esta función es unimodal

El mínimo está ubicado en el punto (0,0)

Supongamos que se asume como punto

inicial, el punto (-1.7, 1.7)

El gradiente en un punto cualquiera es,

f = {6x, 2y}

Page 33: Aplicaciones de la Optimización Convexa al análisis de redes

Método del Descenso más Rápido

Ejemplo 2: Se desea minimizar la función

22 yx320)y,x(f

Las curvas de nivel de esta función son de

forma elíptica, y el cambio de la dirección

de búsqueda de una iteración a otra, se

observa en la trayectoria en forma de

zigzag

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Page 34: Aplicaciones de la Optimización Convexa al análisis de redes

Método de Newton

Consideramos una aproximación cuadrática de f(x) a

partir del desarrollo de Taylor:

Se puede estimar xk+1 determinando el punto donde el

gradiente de fk(x) se hace cero

21'

2

k

k k k k k kf x f x f x x x x x f x x x

2 0k

k k kf x f x f x x x

12

1

12

1

k k k k

k k k k k

x x f x f x

x x f x f x

xk xk+1

f(x)

xk xk+1

f(x)

Page 35: Aplicaciones de la Optimización Convexa al análisis de redes

Método de Newton

Ejemplo 3: Se desea minimizar la función

utilizando el método de Newton

22 yx320)y,x(f

El gradiente en un punto cualquiera es,

f = {6x, 2y}

mientras que el Hessiano es la matriz

21 0

0 6

1

2 0

0 6 1f

HH f

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

La aproximación de esta función utilizando la serie de Taylor es exacta, debido a

que es una función cuadrática

Page 36: Aplicaciones de la Optimización Convexa al análisis de redes

Criterio de minimización:

Hay que resolver otro problema de minimización pero esta vez en una sola variable.

Minimización limitada. Igual al anterior pero con

Paso constante

Paso decreciente y verificando la condición:

Existen otros criterios, como por ejemplo criterios de tipo “backtracking”.

Criterios de selección del paso

Page 37: Aplicaciones de la Optimización Convexa al análisis de redes

Criterios tipo “backtracking”

Sea una dirección de descenso,

y sean dados [0,1] y [0,0.5]

: 1

( ) ( ) ' ( )

:

k

k k k k k

d

t

f x td f x t f x dwhile

t t

Page 38: Aplicaciones de la Optimización Convexa al análisis de redes

Convergencia

Por un lado, debe existir una disminución significativa de f:

2222

2

22

k

))(())(())(('

))(())(())(('))(('

'

positivos realespor nteinferiorme esuperior acotados

están D matrices las de propios valoreslos si queprobar puede

))((

))((

))(('

kkkkk

kkkkkk

k

kkk

kk

kk

xfMxfDxfd

xfmxfDxfdxf

zMzDzzm

se

xfDd

si

dxf

dxf

Page 39: Aplicaciones de la Optimización Convexa al análisis de redes

Convergencia

Además de la dirección de descenso importa elegir el

paso adecuadamente.

Por lo tanto las pruebas de convergencia dependen de

que la dirección de descenso sea “buena” y que se elija

un “buen” paso de iteración.

Page 40: Aplicaciones de la Optimización Convexa al análisis de redes

Teoremas de convergencia

1) Sea la secuencia

Si el paso se elije mediante un método de minimización o

por backtracking y la matriz Dk verifica la condición vista

para las cotas de sus valores propios, entonces todo

punto límite de {xk} es estacionario.

Existen resultados más generales que la condición en los

valores propios.

1 ( )k k k k kx x D f x

k

Page 41: Aplicaciones de la Optimización Convexa al análisis de redes

Teoremas de convergencia

Paso constante2) Sea la secuencia

Si la matriz Dk verifica la condición vista para las cotas de sus valores propios, se asume además que:

entonces todo punto límite de {xk} es estacionario.

1 ( ) con ( )k k k k k k k kx x D f x d D f x

Existe 0 , ( )

0 y < (2 ) con

0 fijo.

k k

k k

k

L tal que f x f y L x y x y Lipschitz

f x dk d

L d

Page 42: Aplicaciones de la Optimización Convexa al análisis de redes

Velocidad de convergencia

Se analiza a través de una función de error. Las

más comúnmente utilizadas son:

Convergencia geométrica o lineal:

Convergencia superlineal

Convergencia sublineal

= 0

Page 43: Aplicaciones de la Optimización Convexa al análisis de redes

Velocidad de convergencia del

método de gradiente

Se puede probar que utilizando el método de

minimización del paso

Es decir que la convergencia es lineal.

1

2

( ) ( *)1

( ) ( *)

asumiendo que existen m y M el menor y mayor valor propio de

( ( ))

k

k

k

f x f x m

f x f x M

f x k

Page 44: Aplicaciones de la Optimización Convexa al análisis de redes

Velocidad de convergencia del

método de Newton

Idea: , observar que si

se tiene la forma pura del algoritmo de Newton.

Si con y el gradiente de g(x) es

invertible,

Lo cual implica convergencia superlineal