120
Optimización de Procesos

Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

  • Upload
    vomien

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Optimización deProcesos

Page 2: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleTier I: Métodos Matemáticos de

Optimización

Sección 3:Programación No Lineal

Page 3: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleIntroducción a la Programación No

Lineal• Ya hemos hablado sobre los aspectos

básicos de la programación no Lineal (nonlinear programming, NLP) en el capítulo de Introducción cuando consideramos la optimización no restringida.

Page 4: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

• Anteriormente optimizamos funciones no lineales de una variable usando la 1a y 2a

derivadas.

• Usaremos el mismo concepto aqui pero ahora extendido a funciones con más de una variable.

Introducción a la Programación No Lineal

Page 5: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleOptimización Multivariable No

Restringida

• Para funciones con una variable, usamos la 1a y 2a derivadas.

• Para funciones con múltiples variables, usamos información idéntica que es el gradiente y el Hessiano.

• El gradiente es la primera derivada con respecto a todas las variables, mientras que el Hessiano es el equivalente de la segunda derivada

Page 6: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEl Gradiente

• Repaso del gradiente (∇):Para una función “f ”, de variables x1, x2, …,

xn:

⎥⎦

⎤⎢⎣

⎡∂∂

∂∂

∂∂

=∇nx

fxf

xff K

21

Ejemplo: 231

321 )(3)(215 xxxxf −+=

[ ]312

22

3 6)(6)(315 xxxxf −−=∇

Page 7: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEl Hessiano

• El Hessiano (∇2) de f(x1, x2, …, xn) es:

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

∂∂

∂∂∂

∂∂∂

∂∂∂

∂∂

∂∂∂

∂∂∂

∂∂∂

∂∂

=∇

2

2

2

2

1

2

2

2

22

2

12

21

2

21

2

21

2

2

nnn

n

n

xf

xxf

xxf

xxf

xf

xxf

xxf

xxf

xf

f

L

MOMM

K

K

Page 8: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEjemplo de Hessiano

• Ejemplo (de antes):2

313

21 )(3)(215 xxxxf −+=

⎥⎥⎥

⎢⎢⎢

−−

−=∇

13

2

32

6060120600

xxx

xf

[ ]312

22

3 6)(6)(315 xxxxf −−=∇

Page 9: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleOptimización No Restringida

El procedimiento de optimización para funciones multivariables es:

1. Resolver el gradiente de la función igual a cero para obtener puntos candidatos.

2. Obtener el Hessiano de la función y evalúalo en cada uno de los puntos candidatos

• Si el resultado es "positivo definitivo" (será definido después) entonces el punto es un mínimo local.

• Si el resultado es un“negativo definitivo” (serádefinido después) entonces el punto es un máximo local.

Page 10: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title stylePositivo/Negativo Definitivo

• Una matriz es un “positivo definitivo” si todos los eigenvalores de la matriz son positivos(> 0)

• Una matriz es un “negativo definitivo” si todos los eigenvalores de la matriz son negativos(< 0)

Page 11: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title stylePositivo/Negativo Semi-definitivo

• Una matriz es un “positivo semi-definitivo”si todos los eigenvalores son no-negativos (≥ 0)

• Una matriz es un “negativo semi-definitivo”si todos los eigenvalores son no-positivos (≤ 0)

Page 12: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMatriz de Ejemplo

Dada la matriz A:

⎥⎥⎥

⎢⎢⎢

⎡−−−=211175

542A

Los eigenvalores de A son:22 −=λ702.31 −=λ 702.23 =λ

Esta matriz es un negativo definitivo

Page 13: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEjemplo de NLP No Restringida

Considera el problema:Minimizar f(x1, x2, x3) = (x1)2 + x1(1 – x2) + (x2)2

– x2x3 + (x3)2 + x3

Primero, encontramos el gradiente con respecto a xi:

1 2

1 2 3

2 3

2 122 1

x xf x x x

x x

+ −⎡ ⎤⎢ ⎥∇ = − + −⎢ ⎥⎢ ⎥− + +⎣ ⎦

Page 14: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

A continuación, igualamos el gradiente a cero:

0=∇f⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

++−−+−−+

000

12212

32

321

21

xxxx

xx⇒

Entonces, tenemos un sistema de 3 ecuaciones y 3 incógnitas. Cuando resolvemos, obtenemos:

⎥⎥⎥

⎢⎢⎢

−−−

=⎥⎥⎥

⎢⎢⎢

⎡=

111

3

2

1

xxx

x

Ejemplo de NLP No Restringida

Page 15: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Así tenemos solo un punto candidato para verificar.

Encuentra el Hessiano:

⎥⎥⎥

⎢⎢⎢

−−−

−=∇

210121

0122 f

Ejemplo de NLP No Restringida

Page 16: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Los eigenvalores de esta matriz son:

414.31 =λ 586.02 =λ 23 =λ

Todos los eigenvalores son > 0, entonces el Hessiano es un positivo definitivo.

Entonces, el punto es un mínimo ⎥

⎥⎥

⎢⎢⎢

−−−

=⎥⎥⎥

⎢⎢⎢

⎡=

111

3

2

1

xxx

x

Ejemplo de NLP No Restringida

Page 17: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

A diferencia de la Programación Lineal, a menos que conozcamos la forma de la función a ser minimizada o podamos determinar si es convexa, no podemos decir si este punto es el mínimo global o si hay valores de función más pequeños.

Ejemplo de NLP No Restringida

Page 18: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMétodo de Solución

• En el ejemplo previo, cuando igualamos el gradiente a cero, tuvimos un sistema de 3 ecuaciones lineales y 3 incógnitas.

• Para otros problemas, estas ecuaciones pueden ser no lineales.

• Entonces, el problema se puede convertir en un sistema de ecuaciones no lineales, que puede ser muy difícil de resolver.

Page 19: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

• Para evitar esta dificultad, los problemas de NLP son usualmente resuletosnuméricamente.

• Ahora veremos ejemplos de métodos numéricos usados para encontrar el punto óptimo para problemas de NLP de una sola variable. Estos y otros métodos pueden ser encontrados en cualquier referencia de métodos numéricos.

Método de Solución

Page 20: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMétodo de Newton

Al resolver la ecuación f ′(x) = 0 para encontrar un mínimo o un máximo, uno puede usar el paso de iteración:

)()(

''

'1

k

kkk

xfxfxx −=+

donde k es la iteración actual. La iteración se continua hasta que |xk+1 – xk|< ε donde ε es la tolerancia especificada.

Page 21: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleDiagrama del Método de

Newton

El método de Newton aproxima f′ (x) como una línea recta a xk y obtiene un nuevo punto (xk+1), que es usado para aproximar la función a la siguiente iteración. Esto es llevado a cabo hasta que el nuevo punto es suficientemente cercano a x*.

xx* xk+1 xk

Tangente de f′ (x) en xk

f′ (x)

Page 22: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleComentarios del Método de

Newton• Uno debe asegurar que f (xk+1) < f (xk) para

encontrar un mínimo y f (xk+1) > f (xk) para encontrar un máximo.

• Desventajas:– Tanto la primera como la segunda derivada

deben ser calculadas– El valor estimado inicial es muy importante –

si no es suficientemente cercano a la solución, pudiera ser que el método no converja

Page 23: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMétodo Regula-Falsi

Este método requiere dos puntos, xa y xb

que que agrupan la solución a la ecuaciónf ′(x) = 0.

)()()()(

''

'

ab

abbbc

xfxfxxxfxx

−−⋅

−=

Donde xc estará entre xa y xb. El siguiente intervalo será xc y xa o xb, cualquiera que tenga el signo opuesto a xc.

Page 24: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleDiagrama Regula-Falsi

El método Regula-Falsi aproxima la función f′ (x) como una línea recta e interpola para encontrar la raíz.

xxa

xb

xc

x*

f′ (x)

Page 25: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleComentarios del método

Regula-Falsi• Este método requiere conocimiento inicial

de dos puntos que limiten la solución• Sin embargo, no requiere el cálculo de la

segunda derivada• El Método Regula-Falsi requiere

ligeramente más iteraciones para converger que el Método de Newton

Page 26: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleOptimización Multivariable

• Ahora consideraremos la optimización multivariable no restringida

• Casi todos los métodos de optimización multivariable hacen lo siguiente:

1. Eligen una dirección de búsqueda dk

2. Minimizan a lo largo de esa dirección para encontrar un nuevo punto:

donde k es el número de iteración actual y αk

es un escalar positivo llamado tamaño de paso.

kkkk dxx α+=+1

Page 27: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEl Tamaño de Paso

• El tamaño de paso, αk, es calculado de la siguiente manera:

• Queremos minimizar la función f(xk+1) = f(xk

+αkdk) donde la única variable es αk

porque xk y dk son conocidas.• Establecemos y

resolvemos para αk usando un método de solución de una sola variable como los mostrados previamente.

( ) 0d

d=

+k

kkkfαα dx

Page 28: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMétodo de Descenso más

Inclinado• Este método es muy simple – usa el

gradiente (para maximización) o el gradiente negativo (para minimización) como la dirección de búsqueda:

)( kk f xd ∇⎭⎬⎫

⎩⎨⎧−+

= for⎭⎬⎫

⎩⎨⎧

minmax

Entonces, )(1 kkkk f xxx ∇⎭⎬⎫

⎩⎨⎧−+

=+ α

Page 29: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMétodo de Descenso Más

Inclinado• Puesto que el gradiente es la velocidad de

cambio de la función en ese punto, usar el gradiente (o gradiente negativo) como la dirección de búsqueda ayuda a reducir el número de iteraciones requeridas

x1

x2 f(x) = 5f(x) = 20

f(x) = 25

xk

∇f(xk)

-∇f(xk)

Page 30: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title stylePasos del Método de Descenso Más Inclinado

Los pasos del Método de Descenso más Inclinado son:

1. Elige un punto inicial x0

2. Calcula el gradiente ∇f(xk) donde k es el número de iteración

3. Calcula el vector de búsqueda:4. Calcula la siguiente x:

Usa un método de optimización de una variable para determinar αk.

)( kk f xd ±∇=kkkk dxx α+=+1

Page 31: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

5. Para determinar la convergencia, usa alguna tolerancia dada ε1 y evalúa:

para convergenciaO, usa otra tolerancia ε2 y evalúa:

para convergencia

11 )()( ε<−+ kk ff xx

2)( ε<∇ kf x

Pasos del Método de Descenso Más Inclinado

Page 32: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleConvergencia

• Estos dos criterios pueden ser usados para cualquiera de los métodos de optimización multivariable discutidos aquí

Recordatorio: La normal de un vector, ||x||está dada por:

222

21 )()()( n

T xxx +++=⋅= Lxxx

Page 33: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEjemplo del Método de

Descenso Más InclinadoResolvamos el problema anterior con el

Método del Descenso Más Inclinado: Minimizar f(x1, x2, x3) = (x1)2 + x1(1 – x2) + (x2)2

– x2x3 + (x3)2 + x3

Seleccionemos

⎥⎥⎥

⎢⎢⎢

⎡=

000

0x

Page 34: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

[ ]10000001)0(2)( 00 ++−−+−−+−=−∇= xd f

[ ]122)1(2)( 3232121 ++−−+−−+=∇ xxxxxxxf x

[ ] [ ]101101 −−=−=

[ ] [ ]101000 01 −−⋅+= αx

Ahora, necesitamos determinar α0

Ejemplo del Método de Descenso Más Inclinado

Page 35: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

2)(4)( 00

1

−= ααd

df x

)()(00)1)(()()( 0200201 αααα −++−+−+=xf

)(2)(2 020 αα −=

A continuación, iguala a cero y resuelve:

21

420 ==α2)(4 0 =α ⇒

Ejemplo del Método de Descenso Más Inclinado

Page 36: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Entonces,[ ] [ ]101000 01 −−⋅+= αx

[ ] ⎥⎦⎤

⎢⎣⎡ −−+=

210

21000

⎥⎦⎤

⎢⎣⎡ −−=∴

210

211x

Ejemplo del Método de Descenso Más Inclinado

Page 37: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

⎥⎦⎤

⎢⎣⎡ +−++++−−=−∇= 110

210

21011)( 11 xd f

[ ]0101 −=∴d

Toma el gradiente negativo para encontrar la siguiente dirección de búsqueda:

Ejemplo del Método de Descenso Más Inclinado

Page 38: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

[ ]010210

21 12 −⋅+⎥⎦

⎤⎢⎣⎡ −−= αx

⎥⎦⎤

⎢⎣⎡ −−−=

21

21 1α

Actualiza la fórmula de iteración:

Ejemplo del Método de Descenso Más Inclinado

Page 39: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

1)(2)( 11

1

−= ααd

df x

( )21

41

21)()(1

21

41)( 12112 −+⎟

⎠⎞

⎜⎝⎛−++⎟

⎠⎞

⎜⎝⎛−+= αααxf

21)( 121 −−= αα

Insertala en la función original y toma la derivada para encontrar α1:

Ejemplo del Método de Descenso Más Inclinado

Page 40: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Ahora podemos igualar la derivada a cero y resolver para α1:

211 =α1)(2 1 =α ⇒

Ejemplo del Método de Descenso Más Inclinado

Page 41: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Ahora, calcula x2:

[ ]010210

21 12 −⋅+⎥⎦

⎤⎢⎣⎡ −−= αx

⎥⎦⎤

⎢⎣⎡ −+⎥⎦

⎤⎢⎣⎡ −−= 0

210

210

21

⎥⎦⎤

⎢⎣⎡ −−−=∴

21

21

212x

Ejemplo del Método de Descenso Más Inclinado

Page 42: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Así,

⎥⎦⎤

⎢⎣⎡ +−+−++−−=−∇= 11

21

211

21

2111)( 22 xd f

⎥⎦⎤

⎢⎣⎡ −−=∴

210

212d

⎥⎦⎤

⎢⎣⎡ −−⋅+⎥⎦

⎤⎢⎣⎡ −−−=

210

21

21

21

21 23 αx

⎥⎦⎤

⎢⎣⎡ +−−+−= )1(

21

21)1(

21 22 αα

Ejemplo del Método de Descenso Más Inclinado

Page 43: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

23)1()( 2

2

3

−+= ααd

df x

41)1(

23)1(

21)( 2223 ++−+= ααxf

Iguala la derivada a cero y resuelve:

212 =α

23)1( 2 =+α ⇒

Encuentra α2:

Ejemplo del Método de Descenso Más Inclinado

Page 44: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Calcula x3:

⎥⎦⎤

⎢⎣⎡ −−⋅+⎥⎦

⎤⎢⎣⎡ −−−=

210

21

21

21

21 23 αx

⎥⎦⎤

⎢⎣⎡ −−+⎥⎦

⎤⎢⎣⎡ −−−=

410

41

21

21

21

⎥⎦⎤

⎢⎣⎡ −−−=∴

43

21

433x

Ejemplo del Método de Descenso Más Inclinado

Page 45: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

⎥⎦⎤

⎢⎣⎡ −=⎥⎦

⎤⎢⎣⎡−=−∇= 0

2100

210)( 33 xd f

⎥⎦⎤

⎢⎣⎡ −⋅+⎥⎦

⎤⎢⎣⎡ −−−= 0

210

43

21

43 34 αx

⎥⎦⎤

⎢⎣⎡ −+−−=

43)1(

21

43 3α

Encuentra la siguiente dirección de búsqueda:

Ejemplo del Método de Descenso Más Inclinado

Page 46: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

089)1(

21)( 3

3

4

=−+= ααd

df x

23)(

23)1(

41)( 3234 −−+= ααxfEncuentra α3:

453 =⇒α

Ejemplo del Método de Descenso Más Inclinado

Page 47: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Entonces, x4 se convierte en:

⎥⎦⎤

⎢⎣⎡ −+⎥⎦

⎤⎢⎣⎡ −−−= 0

850

43

21

434x

⎥⎦⎤

⎢⎣⎡ −−−=∴

43

89

434x

Ejemplo del Método de Descenso Más Inclinado

Page 48: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

⎥⎦⎤

⎢⎣⎡ −−=⎥⎦

⎤⎢⎣⎡ −−=−∇=

85

43

85

85

43

85)( 44 xd f

⎥⎦⎤

⎢⎣⎡ −−⋅+⎥⎦

⎤⎢⎣⎡ −−−=

85

43

85

43

89

43 45 αx

⎥⎦⎤

⎢⎣⎡ +−−−+−= )

253(

41)

23(

43)

253(

41 444 ααα

La siguiente dirección de búsqueda:

Ejemplo del Método de Descenso Más Inclinado

Page 49: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

03243

1673)( 4

4

5

=−= ααd

df x

6451

3243)(

3273)( 4245 −−= ααxf

146434 =α⇒

Encuentra α4:

Ejemplo del Método de Descenso Más Inclinado

Page 50: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Actualiza para x5:

⎥⎦⎤

⎢⎣⎡ −−⋅+⎥⎦

⎤⎢⎣⎡ −−−=

85

43

85

14643

43

89

435x

⎥⎦⎤

⎢⎣⎡ −−−=∴

11681091

7366

116810915x

Ejemplo del Método de Descenso Más Inclinado

Page 51: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Revisemos si el criterio de convergencia es satisfecho

Evalúa ||∇f(x5)||:

⎥⎦⎤

⎢⎣⎡=∇

58421

58435

58421)( 5xf

( ) ( ) ( ) 0786.058421

58435

58421)(

2225 =++=∇ xf

Ejemplo del Método de Descenso Más Inclinado

Page 52: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Entonces, ||∇f(x5)|| = 0.0786, que es muy pequeña y lo suficientemente cercana a cero para nuestro ejemplo

Nota que la respuesta de

⎥⎦⎤

⎢⎣⎡ −−−=

11681091

7366

11681091x

es muy cercana al valor deque obtuvimos analíticamente

[ ]111* −−−=x

Ejemplo del Método de Descenso Más Inclinado

Page 53: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleFunciones Cuadráticas

• Las funciones cuadráticas son importantes para el siguiente método que veremos

• Una función cuadrática puede ser escrita en la forma: xTQx donde x es el vector de variables y Q es una matriz de coeficientes

Ejemplo:[ ] )2(x x2x )(x2210121

0122

2212

1

3

2

1

321 +−=⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

−−−

xxx

xxx

)2(x x2x– 2332 +

Page 54: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMétodo del Gradiente

Conjugado• El Método del Gradiente Conjugado tiene

la propiedad de que si f(x) es cuadrática, tomará exactamente n iteraciones para converger, donde n es el número de variables en el vector x

• Aunque funciona especialmente bien con funciones cuadráticas, este método también podrá funcionar con funciones no cuadráticas A

Page 55: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title stylePasos del Método del Gradiente

Conjugado1. Elige un punto inicial x0 y calcula f(x0).

Deja d0 = -∇f(x0)

2. Calcula x1 usando:Encuentra α0 realizando optimización de una variable en f(x0 +α0d0) usando los métodos discutidos anteriormente. (Observa la ilustración después del algoritmo de explicación)

0001 dxx α+=

Page 56: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

3. Calcula f(x1) y ∇f(x1). La nueva dirección de búsqueda es calculada usando la ecuación:

)()()()()( 00

11011

xxxxdxd

fffff T

T

∇⋅∇∇⋅∇

+−∇=

Esto puede ser generalizado para la iteración kth:

)()()()()(

1111

kkT

kkTkkk

fffff

xxxxdxd

∇⋅∇∇⋅∇

+−∇=++

++

Pasos del Método del Gradiente Conjugado

Page 57: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

4. Usa cualquiera de los dos métodos discutidos antes para determinar la tolerancia:

11 )()( ε<−+ kk ff xx

2)( ε<∇ kf x

O,

Pasos del Método del Gradiente Conjugado

Page 58: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleNúmero de Iteraciones

• Para funciones cuadráticas, este método convergerá en n iteraciones (k = n)

• Para funciones no cuadráticas, después de n iteraciones, el algoritmo se cicla nuevamente con dn+1 convirtiéndose en d0.

Page 59: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleTamaño de Paso para Funciones

Cuadráticas• Al optimizar el tamaño de paso, podemos

aproximar la función a optimizar de la siguiente manera:

)()()()()()( 221 kkTkkkTkkk ffff dxddxxdx αααα ⋅∇⋅+⋅∇+≈+

• Para una función cuadrática, esta no es una aproximación – es exacta

Page 60: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Tomamos la derivada de la función con respecto a α e igualamos a cero:

0)()()()( 2 =⋅∇⋅+⋅∇=+ kkTkkkT

kk

ffd

df dxddxdx ααα

La solución a esta ecuación es:

kkTk

kkToptk

ff

dxddx⋅∇⋅

⋅∇−=

)()()(

2,α

Tamaño de Paso para Funciones Cuadráticas

Page 61: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

• Entonces, para el problema de optimizar una función cuadrática

kkTk

kkToptk

ff

dxddx⋅∇⋅

⋅∇−=

)()()(

2,α

es el tamaño de paso óptimo.• Para una función no cuadrática, esta es

una aproximación del tamaño de paso óptimo.

Tamaño de Paso para Funciones Cuadráticas

Page 62: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMétodo Multivariable de

Newton Podemos aproximar el gradiente de f a un

punto x0 usando:

)()()()( 0020 xxxxx −⋅∇+∇≈∇ fff

Podemos hacer el lado derecho de la ecuación igual a cero y rearreglar para obtener: [ ] )()( 01020 xxxx ff ∇⋅∇−=

Page 63: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Podemos generalizar esta ecuación para dar una expresión iterativa del Método de Newton:

[ ] )()( 121 kkkk ff xxxx ∇⋅∇−=−+

donde k es el número de iteración

Método Multivariable de Newton

Page 64: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title stylePasos del Método de Newton

1. Elige un punto inicial, x0

2. Calcula ∇f(xk) y ∇2f(xk)3. Calcula la siguiente x usando la

ecuación

4. Usa cualquiera de los criterios de convergencia discutidos anteriormente para determinar la convergencia. Si no ha convergido, regresa al paso 2.

[ ] )()( 121 kkkk ff xxxx ∇⋅∇−=−+

Page 65: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleComentarios del Método de

Newton• Podemos ver que a diferencia de los dos

métodos previos, el Método de Newton usa ambos, el gradiente y el Hessiano

• Esto usualmente reduce el número de iteraciones requerido, pero aumenta el cálculo necesitado para cada iteración

• De esta manera, para funciones muy complejas, un método más simple es por lo general más rápido

Page 66: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEjemplo del Método de Newton

Como ejemplo, usaremos el mismo problema que antes:

Minimizar f(x1, x2, x3) = (x1)2 + x1(1 – x2) + (x2)2

– x2x3 + (x3)2 + x3

[ ]12212)( 3232121 ++−−+−+−=∇ xxxxxxxf x

Page 67: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

El Hessiano es:

⎥⎥⎥

⎢⎢⎢

−−−

−=∇

210121

012)(2 xf

Y necesitaremos el inverso del Hessiano:

[ ]⎥⎥⎥⎥

⎢⎢⎢⎢

=⎥⎥⎥

⎢⎢⎢

−−−

−=∇

43

21

41

2112

14

12

14

3

210121

012)(

1

12 xf

Ejemplo del Método de Newton

Page 68: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Entonces, elige⎥⎥⎥

⎢⎢⎢

⎡=

000

0x

Calcula el gradiente para la 1a iteración:

[ ]100000100)( 0 ++−−+−+−=∇ xf

[ ]101)( 0 =∇⇒ xf

Ejemplo del Método de Newton

Page 69: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Así, la nueva x es:11 0 2 0 0( ) ( )

3 1 14 2 40 1

1 1 0 1 02 20 131 1

4 2 4

f f−

⎡ ⎤= − ∇ ⋅∇⎣ ⎦⎡ ⎤

⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥= − ⋅⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦

⎢ ⎥⎣ ⎦

x x x x

⎥⎥⎥

⎢⎢⎢

−−−

=∴111

1x

Ejemplo del Método de Newton

Page 70: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Ahora calcula el nuevo gradiente:

[ ] [ ]000121121112)( 1 =+−+−++−=∇ xf

Puesto que el gradiente es cero, el método ha convergido

Ejemplo del Método de Newton

Page 71: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleComentarios del Ejemplo

• Puesto que usa la 2a derivada, el Método de Newton modela funciones cuadráticas exactamente y puede encontrar el punto óptimo en una iteración.

• Si la función hubiera sido de mayor orden, el Hessiano no hubiera sido constante y se hubiera requerido mucho más trabajo para calcular el Hessiano y tomar el inverso para cada iteración.

Page 72: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleOptimización Restringida No

Lineal• Previamente en este capítulo, resolvimos

problemas de NLP que solo tenían funciones objetivo, sin restricciones.

• Ahora veremos métodos sobre como resolver problemas que incluyen restricciones.

Page 73: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleNLP con Restricciones de

Igualdad• Primero, trataremos problemas que solo

contienen restricciones de igualdad:

Minimiza f(x) x = [x1 x2 … xn]Sujeta a: hi(x) = bi i = 1, 2, …, m

Page 74: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleIlustración

Considera el problema:Minimiza x1 + x2

Sujeta a: (x1)2 + (x2)2 – 1 = 0

La región factible es un círculo con un radio de uno. Las posibles curvas de función objetivo son lines con pendiente de -1. El mínimo será el punto donde la línea más baja todavía toque el círculo.

Page 75: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleGráfica de Ilustración

f(x) = 1

f(x) = 0

f(x) = -1.414

Región Factible

⎥⎦

⎤⎢⎣

⎡=

707.0707.0*x

)(xf∇

El gradiente de f apunta en la dirección de incremento de f

Page 76: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMás sobre la Gráfica

• Puesto que las líneas de la función objetivo son líneas rectas paralelas, el gradiente de f es una línea recta apuntando en la dirección del incremento de f, que es a la derecha superior

• El gradiente de h estará apuntando fuera del círculo y su dirección dependerá del punto al que el gradiente es evaluado.

Page 77: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMás Detalles

f(x) = 1

f(x) = 0

f(x) = -1.414

Región Factible

⎥⎦

⎤⎢⎣

⎡=

707.0707.0*x

)( *xh∇

)( *xf∇

⎥⎦

⎤⎢⎣

⎡=

011x

)( 1xf∇

Plano Tangente

)( 1xh∇x1

x2

Page 78: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleConclusiones

• En el punto óptimo, ∇f(x) es perpendicular a ∇h(x)

• Como podemos ver en el punto x1, ∇f(x)no es perpendicular a ∇h(x) y podemos mover (bajar) para mejorar la función objetivo

• Podemos decir que en un max o min, ∇f(x) debe ser perpendicular a ∇h(x)– De otra manera, podemos mejorar la función

objetivo cambiando de posición

Page 79: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleCondiciones Necesarias de Primer

OrdenEntonces, para que un punto sea un mínimo (o un máximo), debe satisfacer la siguiente ecuación:

Esta ecuación significa que ∇f(x*) y ∇h(x*)deben estar exactamente en direcciones opuestas en un punto mínimo o máximo

0)()( *** =∇⋅+∇ xx hf λ

Page 80: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleLa función Lagrangiano

Para ayudar al usar este hecho, introducimos la Función Lagrangiano, L(x,λ):

)()(),( xxx hfL ⋅+= λλ

Repaso: La notación ∇x f(x,y) significa el gradiente de f con respecto a x.

Entonces, )()(),( xxx xxx hfL ∇⋅+∇=∇ λλ

Page 81: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

y para asegurar la factibilidad.0)( * =xh

Condiciones Necesarias de Primer Orden

• Así, usando la nueva notación para expresar las Condiciones Necesarias de Primer Orden (First Order Necessary Conditions, FONC), si x* es un mínimo (o máximo) entonces

( ) 0),( ** ,=∇

λλ

xx xL

Page 82: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

• Otra manera de verlo es que una Función Lagrangiano incluye toda la información sobre nuestro problema

• Entonces, podemos tratar el Lagrangiano como un problema de optimización no restringida con variables x1, x2, …, xn y λ1, λ2, …, λm.

Podemos resolverlo al resolver las ecuaciones 0

x=

∂∂L

& 0λ=

∂∂L

Condiciones Necesarias de Primer Orden (FONC)

Page 83: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleUsando las FONC

Usando las FONC para el ejemplo previo,

)()(),( xxx hfL ⋅+= λλ( ) ( )( )12

22

121 −+⋅++= xxxx λ

⎥⎦

⎤⎢⎣

⎡=

⎥⎥⎥

⎢⎢⎢

∂∂

∂∂

=∇00

),(2

1

xL

xL

Lx λx

Y la primera ecuación FONC es:

Page 84: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEjemplo de FONC

Esto se vuelve:

&

021 11

=+=∂∂ xxL λ

021 22

=+=∂∂ xxL λ

La ecuación de factibilidad es:

o,

( ) ( ) 0122

21 =−+ xx

( ) ( ) 0122

21 =−+=

∂∂ xxLλ

Page 85: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Entonces, tenemos tres ecuaciones y tres incógnitas.

Cuando se resuelven simultáneamente, obtenemos

707.021 ±== xx & 707.0m=λ

Podemos ver de la gráfica que x1 y x2 positivas corresponden a un máximo, mientras que x1 y x2 negativas corresponden a un mínimo.

Ejemplo de FONC

Page 86: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleObservaciones de FONC

• Si regresas al capítulo de LP y revisas la definición matemática de las condiciones KKT, puedes notar que se parecen a las FONC que acabamos de usar

• Esto se debe a que es el mismo concepto• Simplemente usamos una derivación

ligeramente diferente esta vez, pero obtuvimos el mismo resultado

Page 87: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleLimitaciones de FONC

• Las FONC no garantizan que las soluciones será mínimos/máximos.

• Como en el caso de la optimización no restringida, solo proveen puntos candidatos que deben ser verificados por las condiciones de segundo orden.

• Solo si el problema es convexo las FONC garantizan que las soluciones serán puntos extremos.

Page 88: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleCondiciones Necesarias de Segundo

Orden (Second Order Necessary Conditions, SONC)

Para donde

y para cualquier ydonde

)()(),( 222 xxx hfLx ∇⋅+∇=∇ λλ),(2 λxLx∇

0y

x

xyxJ

x

=⋅

⎥⎥⎥⎥

⎢⎢⎢⎢

∂∂

∂∂

=⋅

)(

1

*

*

)(m

hh

h

M

Si x*es un mínimo local, entonces0),( *2 ≥⋅∇⋅ yxy λLx

T

Page 89: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleCondiciones Suficientes de

Segundo Orden(Second Order Sufficient Conditions, SOSC)

• y puede considerarse como un plano tangente tal como en el ejemplo gráfico mostrado anteriormente– Jh es solo el gradiente de cada ecuación h(x) y

vimos en el ejemplo que el plano tangente debe ser perpendicular a ∇h(x) y por esa razón

0),( *2 >⋅∇⋅ yxy λLxT

0yJ =⋅)(xh

Page 90: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEl Vector y

x1

x3

x2

Plano Tangente (todos los vectores

y posibles))(xh∇

0)( =xh

*x

El plano tangente es la ubicación de todos los vectores y y se intersecta con x*

Debe ser ortogonal (perpendicular) a ∇h(x)

Page 91: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleProblemas de Maximización

• Las definiciones previas de SONC y SOSC son para problemas de minimización

• Para problemas de maximización, el sentido del signo de desigualdad debe ser invertido

Para problemas de maximización:SONC:

SOSC:

0),( *2 ≤⋅∇⋅ yxy λLxT

0),( *2 <⋅∇⋅ yxy λLxT

Page 92: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

• Las condiciones necesarias son requeridas para que un punto sea un extremo pero incluso si son satisfechas, no garantizan que el punto es un extremo.

• Si las condiciones suficientes son reales, entonces se garantiza que el punto es un extremo. Pero si no se satisfacen, no significa que el punto no es un extremo.

Necesario y Suficiente

Page 93: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleProcedimiento

1. Resuelve las FONC para obtener puntos candidatos.

2. Prueba los puntos candidatos con las SONC

– Elimina cualquier punto que no satisfaga las SONC

3. Prueba los puntos restantes con las SOSC– Los puntos que las satisfacen son min/max’s – Para los puntos que no las satisfacen, no

podemos decir si son puntos extremos o no

Page 94: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleProblemas con Restricciones de

DesigualdadConsideraremos problemas como:Minimiza f(x)Sujeta a: hi(x) = 0 i = 1, …, m

y gj(x) ≤ 0 j = 1, …, pUna restricción de desigualdad, gj(x) ≤ 0 es llamada “activa” en x* si gj(x*) = 0.Dejemos que el grupo I(x*) contenga todos los índices de las restricciones activas en x*:

0)( * =xjg Para todo j en el grupo I(x*)

Page 95: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleLagrangianos para Problemas con

Restricciones de Igualdad y Desigualdad

El Lagrangiano está escrito:

Usamos λ’s para las igualdades y μ’s para las desigualdades.

∑∑==

⋅+⋅+=p

jjji

m

ii ghfL

11)()()(),,( xxxμλx μλ

Page 96: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleFONC para Restricciones de

Igualdad y DesigualdadPara el Lagrangiano general, las FONC se

vuelven

∑∑==

=∇⋅+∇⋅+∇=∇p

jjji

m

ii ghfL

1

*

1

* *)(*)(*)(*)*,*,( 0xxxμλx μλ

y la condición de soltura complementaria:

[ ] ,0)( ** =⋅ xjj gμ,0* ≥jμ pj K,1=

Page 97: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleSONC para Restricciones de

Igualdad y DesigualdadLas SONC (para un problema de

minimización) son:

donde como antes.

0yxy x ≥⋅∇⋅ ),,( ***2 μλLT

0yxJ =⋅)( *

Ahora, J(x*) es la matriz de los gradientes de todas las restricciones de igualdad y solo las restricciones de desigualdad que están activas en x*.

Page 98: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleSOSC para Restricciones de

Igualdad y Desigualdad• Las SOSC para un problema de

minimización con restricciones de igualdad y desigualdad son:

0yxy >⋅∇⋅ ),,( ***2 μλLxT

Page 99: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEjemplo de Lagrangiano

Generalizado• Resuelve el problema:Minimizar f(x) = (x1 – 1)2 + (x2)2

Sujeta a: h(x) = (x1)2 + (x2)2 + x1 + x2 = 0g(x) = x1 – (x2)2 ≤ 0

El Lagrangiano para este problema es:

( ) ( ) ( ){ }2122

12

22

1 2)1(),,( xxxxxxL +++⋅++−= λμλx

( ){ }221 xx −⋅+ μ

Page 100: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

• Las condiciones necesarias de primer orden:

( ) 0212 111

=++⋅⋅+−=∂∂ μλλ xxxL

0222 2222

=⋅⋅−+⋅⋅+=∂∂ xxxxL μλλ

( ) ( ) 0212

22

1 =+++=∂∂ xxxxLλ

( )( ) 0221 =−⋅ xxμ

Ejemplo de Lagrangiano Generalizado

Page 101: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Resolviendo las 4 ecuaciones FONC, obtenemos 2 soluciones:

⎥⎦

⎤⎢⎣

⎡−

=4534.0

2056.0)1(x 9537.0=μ45.0=λ &

y ⎥⎦

⎤⎢⎣

⎡=

00)2(x 2−=μ0=λ &2)

1)

Ejemplo de Lagrangiano Generalizado

Page 102: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Ahora trabaja las SONC en la 1a solución:Tanto h(x) como g(x) están activas en este punto (ambas son iguales a cero). Entonces, el Jacobiano es el gradiente de ambas funciones evaluado en x(1):

( )( ) ⎥⎦

⎤⎢⎣

⎡−−

=⎥⎦

⎤⎢⎣

⎡−

++=

9068.010932.0411.1

211212

)1(2

211

x

xJx

xx

Ejemplo de Lagrangiano Generalizado

Page 103: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

La única solución a la ecuación:0yxJ =⋅)( )1(

es: ⎥⎦

⎤⎢⎣

⎡=

0000

y

Y el Hessiano del Lagrangiano es:

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡−+

+=∇

993.0009.2

2220022

)1(

2

x

x μλλ

L

Ejemplo de Lagrangiano Generalizado

Page 104: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Entonces, la ecuación SONC es:

0≥⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⋅⎥⎦

⎤⎢⎣

⎡⋅⎥⎦

⎤⎢⎣

⎡0000

0000

993.0009.2

0000

Esta desigualdad es verdadera, entonces la SONC es satisfecha para x(1) y aún es un punto candidato.

Ejemplo de Lagrangiano Generalizado

Page 105: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

La ecuación SOSC es:

Y solo calculamos el lado izquierdo de la ecuación para ser la matriz cero. Entonces, en nuestro caso para x2:

0yxy x >⋅∇⋅ ),,( ***2 μλLT

0yyxx >⎥

⎤⎢⎣

⎡=⋅∇⋅

0000

)1(

2LT

Así, las SOSC no son satisfechas.

Ejemplo de Lagrangiano Generalizado

Page 106: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Para la segunda solución:Nuevamente, tanto h(x) como g(x) son activos en este punto. Entonces, el Jacobiano es:

( ) ⎥⎦

⎤⎢⎣

⎡−

=⎥⎦

⎤⎢⎣

⎡−

++=

0111

211212

)2(2

21)2(

x

xJx

xx

Ejemplo de Lagrangiano Generalizado

Page 107: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

La única solución a la ecuación:0yxJ =⋅)( )2(

es: ⎥⎦

⎤⎢⎣

⎡=

0000

y

Y el Hessiano del Lagrangiano es:

⎥⎦

⎤⎢⎣

⎡−

=⎥⎦

⎤⎢⎣

⎡−+

+=∇

2002

2220022

)2(

2

x

x μλλ

L

Ejemplo de Lagrangiano Generalizado

Page 108: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Entonces, la ecuación SONC es:

0≥⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⋅⎥⎦

⎤⎢⎣

⎡−

⋅⎥⎦

⎤⎢⎣

⎡0000

0000

2002

0000

Esta desigualdad es verdadera, entonces la SONC es satisfecha por x(2) y aún es un punto candidato

Ejemplo de Lagrangiano Generalizado

Page 109: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

La ecuación SOSC es:

Y solo calculamos el lado izquierdo de la ecuación para ser la matriz cero. Entonces, en nuestro caso para x2:

0yxy x >⋅∇⋅ ),,( ***2 μλLT

0yyxx >⎥

⎤⎢⎣

⎡=⋅∇⋅

0000

)2(

2LT

Así, las SOSC no son satisfechas.

Ejemplo de Lagrangiano Generalizado

Page 110: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleConclusiones del Ejemplo

• De esta manera, podemos decir que tanto x(1) como x(2) pueden ser mínimos locales, pero no podemos estar seguros porque las SOSC no son satisfechas para ningún punto.

Page 111: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleMétodos Numéricos

• Como pudiste observar de este ejemplo, el paso más difícil es resolver un sistema de ecuaciones no lineales para obtener los puntos candidatos.

• En vez de tomar gradientes de funciones, solvers automatizados de NLP usan varios métodos para transformar una NLP general en un problema de optimización más fácil.

Page 112: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEjemplo de Excel

Resolvamos el ejemplo previo con Excel:

Minimizar f(x) = (x1 – 1)2 + (x2)2

Sujeta a: h(x) = (x1)2 + (x2)2 + x1 + x2 = 0g(x) = x1 – (x2)2 ≤ 0

Page 113: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleEjemplo de Excel

Introducimos la función objetivo y las ecuaciones de restricción en la hoja de cálculo:

Variables:x1 x20 0

Valor LímiteFunción Objetivo: =(A3-1)^2+B3^2

Restricción 1: =A3^2+B3^2+A3+B3 0Restricción 2: =A3-B3^2 0

Page 114: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Ahora, abre la ventana de diálogo del solver en el menú Herramientas y especifica el valor de la función objetivo como la celda objetivo y elige la opción Min. Como estáescrito, A3 y B3 son las celdas variables. Y las restricciones deben adicionarse – la restricción de igualdad y la restricción ≤.

Ejemplo de Excel

Page 115: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

La ventana del solver debe verse como sigue:

Ejemplo de Excel

Page 116: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

• Este es un modelo no lineal, así que a diferencia de los ejemplos en el último capítulo, no elegiremos "Adoptar Modelo Lineal" en el menú opciones

• También, x1 y x2 no son especificadas como positivas, así que no marcamos la casilla de "Asumir no Negativos"

• Si se desea, la tolerancia puede ser disminuida hasta 0.1%

Ejemplo de Excel

Page 117: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

• Cuando resolvemos el problema, la hoja de cálculo no cambia porque nuestro valor inicial de x1 = 0 y x2 = 0 es una solución óptima, como vimos cuando resolvimos el problema analíticamente.

Ejemplo de Excel

Page 118: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title style

Sin embargo, si elegimos valores iniciales de -1 para x1 y x2 as, obtenemos la siguiente solución:

Ejemplo de Excel

Page 119: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleConclusiones

• Entonces, al variar los valores iniciales, podemos obtener los dos puntos candidatos que obtuvimos previamente

• Sin embargo, el solver NLP nos dice que ambos son puntos mínimos locales

Page 120: Optimización de Procesos - polymtl.ca · todos los eigenvalores de la matriz son positivos (> 0) • Una matriz es un “negativo definitivo”si todos los eigenvalores de la

Click to edit Master title styleReferencias

El material de este capítulo ha sido tomado de:

• Optimization of Chemical Processes 2nd

Ed.; Edgar, Thomas; David Himmelblau; &Leon Lasdon.