74
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes optimización Soluciones 1

Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Embed Size (px)

Citation preview

Page 1: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Sabemos reconocerlas, ycalcularlas como soluciones de sistemas de ecuaciones, o de desigualdades

Buscamos métodos de cálculo generales y eficientes

Problemas de optimizaciónSoluciones

1

Page 2: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Métodos iterativos: No existen métodos directos generales Se parte de un valor x0, y se genera una

sucesión { xk }k=0 con la propiedad de que

limk xk x*

y x* cumpla algunas condiciones de extremo

Soluciones de problemas de optimización

2

Page 3: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Consideremos el problema minx f (x )

Buscaremos un punto que cumplaf (x* ) = 0

Si xk no cumple la condición, se genera otro punto a partir de

f (xk+p ) = 0

Problema sin restricciones

3

Page 4: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Problema tan difícil como el originalPuede aproximarse: Encontrar la solución de

f (xk ) + 2f (xk )p = 0 o resolver

minp f (xk )Tp + ½pT 2f (xk )p

4

Page 5: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Interpretación gráfica del problema de optimización aproximado

5

Page 6: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problemas sin restricciones

Método de Newton básico:1) Partir de un valor inicial x0

2) Comprobar si f (xk ) <

3) Si no lo es, calcular un vector p a partir de2f (xk )p = - f (xk )

4) Obtener el siguiente punto como xk+1=xk

+pk

6

Page 7: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Ejemplo: x1min f (x )

(1+x12) (1+x2

2)

Punto inicial:x0 = [ -0.4 0.3 ]T

Solución:x * = [ -1 0 ]T

7

Page 8: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Método de Newton:2.1) Gradiente:f (x0 ) = [0.573 0.174]T, f (x0 ) =

0.5993.1) Dirección de movimiento: 1.335 -0.315 0.573 H0p0 = -g0 , p0 = - -0.315 0.485 0.174 -0.607 p0 = -0.754

8

Page 9: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

4.1) Nuevo punto: x1 = x0 + p0 = [-1.007 -0.454]T

2.2) Gradiente:f (x1) = [-0.003 -0.312]T, f (x1) = 0.312

3.2) Dirección de movimiento: 0.406 -0.002 -0.003 0.011 p1 = - , p1 = -0.002 0.452 -0.312 0.6904.2) Nuevo punto: x2 = x1 + p1 = [-0.996 0.236]T

9

Page 10: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

2.3) Gradiente:f (x2) = [0.002 0.212]T, f (x2) = 0.2123.3) Dirección de movimiento: 0.479 -0.001 -0.002 -0.004 p2 = - , p2 = -0.001 0.802 -0.212 -0.2644.3) N. punto: x3 = x2 + p2 = [-1.000 -0.028]T

2.4) Gradiente:f (x3) = [-0.000 -0.028]T, f (x3) =

0.028

10

Page 11: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Dificultades del método de Newton: No convergencia:

porque tiende a infinito, o

porque no existe solución del sistema de

ecuaciones

Convergencia a máximos o puntos de

silla

11

Page 12: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Procedimiento para converger a

mínimos: emplear segundas derivadas

direcciones de curvatura negativa

forzar el decrecimiento de la función objetivo cerca de puntos de silla o máximos

modelos cuadráticos convexos relacionados

12

Page 13: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Procedimiento usual: descenso obligado

En cada iteración se definexk+1 = xk + k pk

y se fuerza a que se cumpla:f (xk )Tpk < 0

f (xk + k pk ) - f (xk ) kf (xk )Tpk

[ 10-4 , 0.1 ]

13

Page 14: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Cambios en el cálculo de p. Hace falta: Asegurar que existe solución del sistema,

y garantizar que es dirección de descenso,

f (xk )Tpk < 0

Para ello bastaría con que2f (xk ) d.p.

14

Page 15: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Método de Newton modificado. Se resuelve el sistema de ecuaciones

Mk pk = - f (xk )

donde Mk cumple que Es definida positiva, y se parece todo lo posible a 2f (xk )

15

Page 16: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Construcción de la matriz Mk

Añadir un múltiplo de la identidad:

Mk = 2f (xk ) + I

- min(0 , min (2f (xk )) - ) Todos los autovalores se modifican en la

cantidad

16

Page 17: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Construcción de la matriz Mk

Cambiar los autovalores de la matriz:

2f (xk ) = UUT,

Mk = UUT, i = max( , i ) se conservan los autovectores

Otros métodos: Choleski modificado, etc.

17

Page 18: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

x1Ejemplo: f (x ) (1+x1)2 (1+x2)2

-1.29 0.24x0 = [ 0.5 -0.3 ]T, 2f (x0 ) = 0.24 -0.56

(2f (x0 )) = [ -1.36 -0.49 ]

Matriz definida negativa

18

Page 19: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Ejemplo: 0.08 0.24 Mk = Hk + I = Hk + 1.37I = 0.24 0.81 0.96 0.29 -1.36 0.96 -0.29 Hk = -0.29 0.96 -0.49 0.29 0.96 0.96 0.29 -1.36 0.96 -0.29 1.29 -

0.24Mk = = -0.29 0.96 -0.49 0.29 0.96 -0.24

0.56

19

Page 20: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Estos cambios no son suficientes Posibilidad de diverger (converger a

infinito) Posibilidad de ciclos

Asegurar descenso en cada iteración Búsqueda lineal:

xk+1 = xk + k pk , k (0,1]

20

Page 21: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Cálculo de k

Objetivo: en cada iteración el valor de f (xk) debe decrecer suficientemente.

Condición:

f (xk + k pk ) f (xk ) + kf (xk )Tpk

Parámetro k (0,1) . En la práctica

[ 10-4 , 0.1 ]

21

Page 22: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Procedimiento de cálculo de k

Búsqueda hacia atrás: Se prueba con k = 1 Si se cumple la condición, se acepta el valor Si no, se prueba con k /2

Otros métodos: ajuste polinómico, etc.

22

Page 23: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Ejemplo de cálculo de k Tenemos los datos siguientes:

x1 f (x ) = , x0 = [-0.5 -0.3]T, p0 = [-2 1]T

(1+x12) (1+x2

2)

Información necesaria:

f (x0 ) = -0.37 , f (x0 ) = [ 0.44 -0.20 ]T

f (x0 )Tp0 = -1.08 , = 0.1

23

Page 24: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Iteración 1. = 1f (x0 + p0) = -0.231 , f (x0 ) + f (x0 )Tp0 = -0.48

Iteración 2. = 0.5f (x0 + p0) = -0.444 , f (x0 ) + f (x0 )Tp0 = -0.43 Aceptamos = 0.5

x1 = x0 + 0.5p0 = [ -1.5 0.2 ]T

24

Page 25: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

x1Ejemplo: f (x ) (1+x1

2) (1+x22)

x0 = [ 0.5 -0.3 ]T

Iteración 1.1 ¿Es el punto actual solución?

f (x0 ) = [0.440 0.202]T, f (x0 ) = 0.4845

25

Page 26: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problemas sin restricciones

Iteración 1.2. Dirección de movimiento -1.29 0.24 1.29 -0.24 H0 = , M0 = 0.24 -0.56 -0.24 0.56

M0 p0 = - g0 p0 = [ -0.444 -0.551 ]T

Iteración 1.3. Cálculo de la longitud de pasof (x0 ) = 0.367, f (x0 )Tp0 = -0.307, f (x0 + p0 ) = 0.032

f (x0 ) + f (x0 )Tp0 = 0.336 > f (x0 + p0 ) 0 = 1

26

Page 27: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones Iteración 1.4. Nuevo punto

x1 = x0 + 0 p0 ,

x1 = [0.5 -0.3]T + [-0.444 -0.551]T = [0.056 -0.851]T

Iteración 2.1 ¿Es solución el último punto?f (x1 ) = [0.575 0.032]T, f (x1 ) = 0.576

Iteración 2.2. Dirección de movimiento -0.19 0.57 0.59 -0.10 H1 = , M1 = 0.57 -0.06 -0.10 0.56

M1p1 = - g1 p1 = [ -1.011 -0.234 ]T

27

Page 28: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Iteración 2.3. Longitud de pasof (x1 ) = 0.032, f (x1 )Tp1 = -0.589, f (x1 + p1 ) = -

0.230f (x1 ) + f (x1 )Tp1 = -0.027 > f (x1 + p1 ) 1 = 1 Iteración 2.4. Nuevo punto

x2 = x1 + 1 p1 ,

x2 = [0.06 -0.85]T + [-1.01 -0.23]T = [-0.95 -1.08]T

28

Page 29: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Método de Newton modificado. Maximización Paso 0. Determinar un punto inicial, x0

Paso 1. Comprobar si xk es solución

f (xk ) < Paso 2. Calcular la dirección de movimiento

Paso 2.1. Calcular los valores propios de

Hk = 2f (xk ) Paso 2.2. Si Hk es definida negativa, Mk = Hk

si no, Mk = Hk - , por ejemplo

29

Page 30: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Paso 2.3. Resolver el sistema de ecuaciones

Mk pk = - f (xk ) Paso 3. Calcular la longitud de paso

Paso 3.1. Para = 1 comprobar si se cumple

f (xk + k pk ) f (xk) + kf (xk )Tpk

Paso 3.2. Si no se cumple, probar con hasta que se cumpla.

Paso 4. Calcular el nuevo punto

xk+1 = xk + k pk

30

Page 31: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Convergencia del método de Newton ¿Converge la sucesión { xk } ? ¿Qué propiedades tienen sus límites?

limkxk

La sucesión puede divergir si: Función objetivo no acotada inferiormente Función objetivo decrece monótonamente

31

Page 32: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Condición habitual de acotación El conjunto S0 es compacto

S0 = { y : f (y ) f (x0 ) } Todos los puntos xk pertenecen a S0

Existen subsucesiones convergentes

Propiedades de los puntos límite No podemos asegurar que sean

mínimos

32

Page 33: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Propiedades de puntos límite Al menos, debiéramos esperar que

cumplan

f (x* ) = 0 Demostración de convergencia

De la condición sobre

f (xk + k pk ) f (xk ) + kf (xk )Tpk

en el límite kf (xk )Tpk 0

33

Page 34: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Demostración de convergencia (ii) Definición de pk y propiedades de Mk

Mk pk = - f (xk ) f (xk )Tpk = - f (xk )TMk-1f

(xk )

f (xk )Tpk - f (xk ) 2

De la condición anterior tenemosk f (xk ) 2 0

34

Page 35: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Problema sin restricciones

Demostración de convergencia (iii) La longitud de paso k no puede ir a cero

Desarrollo en serie de Taylor

0 (k ) - (0) - k ’ (0) =

(1-)k ’ (0) + ½k2’” (0) + o(k

2)

k - ((1-)k ’ (0) + o(k ))/(½’” (0))

Por tanto, f (xk ) 0

35

Page 36: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Problema con restricciones de igualdad:

minx f (x )

s.a c (x ) = 0

Condiciones necesarias:

c (x ) = 0

f (x ) - c (x )T = 0

36

Page 37: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Problema similar al caso sin restricciones Resolución de un sistema de ecuaciones

no lineales Sistema en x y

Aproximación del sistema mediante sistemas de ecuaciones lineales

O bien, aproximación mediante soluciones de problemas de optimización cuadráticos

37

Page 38: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Dado un punto (xk ,k ) aproximación a las condiciones necesarias:

c (xk ) + c (xk )pk = 0

f (xk ) + 2L (xk ,k )pk - c (xk )Tk - c (xk )Tk = 0

o bien (sistema KKT ), 2L (xk ,k ) c (xk )T pk L (xk ,k ) = - c (xk ) 0 - k c (xk )

38

Page 39: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Método de Newton básico: Paso 0. Se parte de un punto (x0 , 0 ) Paso 1. Se comprueba si es solución,

c (xk ) + f (xk ) - c (xk )Tk < Paso 2. Se resuelve el sistema lineal

(KKT ) para calcular (pk , k ) Paso 3. Se actualizan las variables

xk+1 = xk + pk , k+1 = k + k

39

Page 40: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

El sistema (KKT ) se puede reescribir como

Ak AkTpY = - ck

ZkTHk ZkpZ = - Zk

T gk - ZkTHk Ak

TpY

pk = ZkpZ + AkTpY

AkTk = gk + Hkpk - Ak

Tk

dondeHk 2L (xk ,k ), Ak c (xk ), gk f (xk ), ck c (xk )

40

Page 41: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Modificación de dirección de movimiento Mejorar la función objetivo, y Cumplimiento de las restricciones

No es posible siempre mejorar ambas Por ejemplo:

Punto inicial: mínimo sin restricciones Siempre es posible cumplir las restricciones Prioridades:

1. Cumplir las restricciones2. Mejorar la función objetivo

41

Page 42: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

42

Restricciones de igualdad

Comportamiento respecto a restricciones Definimos una medida de mejora (x ) :

(x ) c (x ) 2 , (x ) = 2 c (x )Tc (x )

Ak pk = - ck kTpk = - 2 ck 2

p siempre dirección de descenso de restricciones

Comportamiento respecto a función objetivo Modificar p en lo que respecta a mejorar f Sin afectar a la mejora de (x )

Page 43: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Separar las componentes de p : Componentes mejora de las restricciones:

Movimiento normal a restricciones: c (xk)TpY

Componentes mejora de la función objetivo: Movimiento tangente a las restricciones: Zk pZ

Método de Newton modificado: Matriz Zk

THkZk debiera ser definida positiva Objetivo: descenso en el valor de la función

objetivo

43

Page 44: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

44

Restricciones de igualdad

Efecto de la modificación de ZkTHkZk :

Sistema a resolver:Ak Ak

TpY = - ck

Mk pZ = - ZkT gk - Zk

THk AkTpY

pk = ZkpZ + AkTpY

Descenso en la función objetivo:gk

Tpk = gkTZkpZ + gk

TAkTpY = -pZ

TMk pZ -pZTZk

THk AkTpY

+ gkTAk

TpY Descenso si ck = 0

Page 45: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Búsqueda lineal: punto siguiente dado por

xk+1 = xk + k pk

k+1 = k + k k

Para calcular k hace falta una medida de progreso a la solución

Progreso a la solución: Reducción en el valor de f, y mejora en cumplimiento de restricciones

45

Page 46: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Medida de cumplimiento de restricciones:

c (x ) Idealmente, descenso en f y mejora en c Si no se dan ambas condiciones, por ejemplo

c (xk +1) > c (xk ) , f (xk +1 ) < f (xk ) Se busca un compromiso entre ambas

46

Page 47: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Compromiso más simple: sumar valores Inconveniente: cambios de escala

Se añade un parámetro para corregir escala Función de penalización exacta:

mE (x ) = f (x ) + c (x ) Propiedad importante:

Mínimo de mE debe ser mínimo del problema

47

Page 48: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Propiedad teórica (penalización exacta): Existe un valor tal que para todo la

función mE tiene un mínimo en el mínimo del problema de optimización

Valor de , para * multiplicador en la solución = *

Inconveniente: la función mE no es diferenciable en todos los puntos

48

Page 49: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Funciones diferenciables Alternativa: la función lagrangiana tiene

primera derivada igual a cero en la solución La condición de segundo orden no se cumple Se añade término de penalización cuadrático

mA (x,) = f (x ) - Tc (x ) + ½ c (x ) 2

Propiedad: existe tal que los mínimos de mA y el problema coinciden

49

Page 50: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Función de mérito: Medida de compromiso entre f y c cuyo

mínimo sea solución del problema Combinación de valores de f y c o sus

derivadas Ejemplos: mE , mA , otras

50

Page 51: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Utilización de la función de mérito Se selecciona una al inicio del problema Se determina el valor de k para asegurar

descenso suficiente en la función de mérito Ejemplos: mE (xk + k pk ) mE (xk ) + kmE (xk )Tpk

mA (xk+k pk ,k+k k ) mA (xk ,k )

+ kx mA (xk ,k )Tpk + kmA (xk ,k )T k

51

Page 52: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

x1Ejemplo: min f (x ) (1+x1)2 (1+x2)2

s.a x12 + x2

2 = 0.8

Punto inicial:

x0 = [ -0.6 -0.3 ]T , 0 = 0 Paso 1.1. ¿Es solución?c (x0) = -0.35, f (x0) - c (x0)T0 = [0.317 -

0.223]T

52

Page 53: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Paso 1.2. Cálculo de la dirección de movimiento 2L0 A0

T p0 L0

= - A0 0 -0 c0

1.115 0.175 -1.2 0.317 p0 -0.471 0.175 0.620 -0.6 = - -0.223 , p0 = -0 0.360 -1.2 -0.6 0 -0.350 0 = 0.137

53

Page 54: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Paso 1.3. Cálculo de la longitud de pasoFunción de mérito: penalización exacta

mE (x0 + p0) = f (x0 + p0) + c (x0 + p0) = ( )Búsqueda lineal: encontrar tal que ( ) (0) + ’(0), = 0.1 ( = 10)Valores previos:

(0) = 3.005, ’(0) = g0Tp0 + c0

TA0 p0 /c0 = -3.730

Búsqueda: = 1, ( ) = 3.019, (0) + ’(0) = 2.632 = 0.5, ( ) = 0.386, (0) + ’(0) = 2.909

54

Page 55: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Paso 1.4. Cálculo del nuevo puntox1 = x0 + 0.5p0 = [-0.836 -0.120]T, 1 = 0 + 0.50 = 0.069 Paso 2.1. ¿Es solución?

c (x1) = -0.087, f (x1) - c (x1)T1 = [0.218 -0.099]T

Paso 2.2. Dirección de movimiento 0.637 0.024 -1.672 0.218 p1 -0.075 0.024 0.792 -0.240 = - -0.099 , p1 = -1 0.158 -1.672 -0.240 0 -0.087 1 = - 0.104

55

Page 56: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de igualdad

Paso 2.3. Longitud de paso ( ) = f (x0 + p0) + c (x0 + p0)

( ) (0) + ’(0), = 0.1 ( = 10) (0) = 0.386, ’(0) = g1

Tp1 + c1TA1p1/c1 = -0.113

Búsqueda: = 1, ( ) = -0.497, (0) + ’(0) = 0.375

Paso 2.4. Nuevo punto x2 = x1 + p1 = [-0.911 -0.038]T, 2 = 1 + 1 = -0.035

56

Page 57: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Prob. con restricciones de desigualdad:minx f (x )

s.a c (x ) 0

Condiciones necesarias:c (x ) = 0

f (x ) - c (x )T = 0 0

Tc (x ) =0

57

Page 58: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Dificultad: algunas condiciones son desigualdades no podemos reducir el problema a un

sistema de ecuaciones

Solución: construir problemas aproximados con

restricciones de igualdad

58

Page 59: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Construcción de problemas aproximados: Funciones de mérito: no son eficientes

Necesidad de ajustar parámetros funciones de barrera: términos en la función

objetivo que se comportan como restricción impiden tomar valores fuera de la región

factible, y no afectan a los valores en la región factible

59

Page 60: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Ejemplo: minx x 2

s.a x 1

00 0.50.5 11 1.51.5 22 2.52.5 33 3.53.5 4400

22

44

66

88

1010

1212

1414

1616

ff ( (xx ) = ) = xx 22

xx 22 - log( - log(xx - 1) - 1)

xx 1 1

60

Page 61: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Paso 1. Convertir restricciones: minx f (x ) minx,s f (x )

s.a c (x ) 0 s.a c (x ) - s = 0

s 0 Paso 2. Llevar restricciones a la función

objetivo

minx f (x ) - i log si

s.a c (x ) - s = 0

61

Page 62: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Resultado teórico: Sea x* ( ) la solución del problema

minx f (x ) - i log si

s.a c (x ) - s = 0 ,

se cumple que lim0 x* ( ) = x*, donde x* es la solución de

minx f (x )

s.a c (x ) 0

62

Page 63: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Solución del problema modificado: Paso 1. Seleccionar un valor inicial para , por ejemplo, 1 = 1

Paso 2. Tomando como valor inicialx0 = x* (s-1) ,

resolver el problema minx f (x ) - s i log si

s.a c (x ) - s = 0

63

Page 64: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Paso 3. Reducir el valor de , por ejemplo,

s+1 = 0.1s

y volver al paso 2.

El proceso se repite hasta que es del orden del error deseado en la solución Por ejemplo, = 10-5

64

Page 65: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Precauciones con la función objetivo La función objetivo solo está definida

para valores positivos de las variables El punto inicial ha de ser estrictamente

positivo La longitud de paso debe asegurar que

todos los puntos sean positivos

65

Page 66: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Cálculo de la longitud de paso Queremos que el nuevo punto siga siendo

positivo

xk+1 = xk + k pk > 0 mini {(xk)i + k (pk)i} > 0 Condición equivalente:

k < min{ xi /(-pi ) pi < 0 }

k = min{ 1 , 0.99 }

66

Page 67: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Ejemplo: optimización de cartera minx xTRx s.a mTx 3.5 eTx = 1 x 0

Datos: 1 1.64 25.9 55.6 e = , m = , R = 1 4.60 55.6 248

67

Page 68: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Problema modificado: Problema en forma estándar

minx,s xTR x s.a mTx - s = 3.5 eTx = 1 x , s 0

Problema con restricciones de desigualdad

minx,s xTR x - (i log xi + log s ) s.a mTx - s = 3.5 eTx = 1

68

Page 69: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Paso 0. Sean x0 = [0.5 0.5]T , 0 = [0 0]T

Tomamos 0 = 0.1

¿Valor de s0? Positivo

Por ejemplo, s0 = 0.5 > 0

Paso 1.1. ¿Es solución?

c (x0) = [-0.88 0]T

f (x0) - c (x0)T0 = [81.3 303.4 -0.2]T

69

Page 70: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Paso 1.2. Dirección de movimiento 2L (x0,0) c (x0)T p0

f (x0) - c (x0)T0 = - c (x0) 0 -0 c (x0) 52 111.2 0 1.46 1 81.3 111.2 496.2 0 4.6 1 p0 303.4 0 0 0.2 -1 0 = -0.2 1.46 4.6 -1 0 0 -0 -0.88 1 1 0 0 0 0

p0 = [0.675 -0.675 -2.877]T , 0 = [0.775 40.088]T

70

Page 71: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Paso 1.3. Cálculo de la longitud de paso

m (x ) = f (x ) + c (x ) , m (x0) = 105.283

m (x0) = f (x0) + c (x0)Tc (x0) / c (x0)

= [64.9 257.4 9.8]T

’(0) = m (x0)Tp0 = -158.1 < 0 Si probamos con = 1,

x0 + p0 = [1.175 -0.175 -2.377]T

La función objetivo no está definida

71

Page 72: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Paso 1.3. Cálculo de la longitud de pasoMayor paso admisible:

= min{xi /(-pi )| pi < 0}

= min{0.5/0.675 , 0.5/2.877} = 0.174 = min{1 , 0.995} 0.173

Comprobación de la condición:m (x0 ) = 105.283 , m (x0 + p0) = 73.32

m (x0 ) + m (x0 )Tp0 = 102.55 > m (x0 + p0) Aceptamos el paso

72

Page 73: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Paso 1.4. Nuevo punto:x1 = x0 + p0 = [0.617 0.383 0.002]T

1 = 0 + 0 = [0.134 6.935]T

Paso 2.1. ¿Es solución?

c (x1) = [-0.73 0]T

f (x1) - c (x1)T1 = [67.3 251.1 0.134]T

73

Page 74: Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas

Restricciones de desigualdad

Programación lineal: minx cTx

s.a Ax = b x 0

Transformar el problema: minx cTx - s i log si

s.a Ax = b Aplicar el método de Newton Actualizar s

74