Está en la página 1de 36

Simulacin y Optimizacin de Procesos Qumicos Titulacin: Ingeniera Qumica. 5 Curso Optimizacin.

Programacin Cuadrtica Mtodos de Penalizacin Programacin Cuadrtica Sucesiva Gradiente Reducido

Octubre de 2009. Jos A. Caballero

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica
Sea el Problema

1 min : z = cT x + xTQ x 2 s.a. A x b x0

Q es una matriz simtrica y definida positiva

xTQ x > 0 x 0

Nota:

2 2 2 Si f = a1 x1 + a2 x2 + a3 x3 + .... +

b1,2 x1 x2 + b1,3 x1 x3 + ... + b2,3 x2 x3 + ... c1 x1 + c2 x2 + c3 x3 + ... + d


Reordenando el problema queda:

2a1 b12 b13 b 2a2 b23 Q = 12 b13 b23 2a3 M M M

L L L O

1 min : z = cT x + xTQ x 2 s.a. A x b 0 x 0


Simulacin y Optimizacin de Procesos Qumicos.

1 L = cT x + x TQ x + T (Ax - b) + v T (-x) 2
Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica
1 L = cT x + xTQ x + T (Ax - b) + v T (-x) 2
Condiciones de Optimalidad de KKT Funcin de Lagrange

c + Qx + A T - v = 0 Ax - b 0 T ( Ax - b ) = 0 Condiciones de Complementariedad T v x =0
Aadiendo variables de holgura a la restriccin:

Ax - b + x h = 0 Ax - b = - x h
Sustituyendo en la condicin de complementariedad

T ( Ax - b ) = T -x h = 0 T x h = 0
Simulacin y Optimizacin de Procesos Qumicos. Jos A. Caballero

( )

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica

Con lo que queda:

c + Qx + A - v = 0 Ax - b + x h = 0 Txh = 0 ; vTx = 0
Pasando los trminos constantes a la derecha

Qx A T + v = c Ax + x h = b T xh = 0 ; vTx = 0

Las dos primeras ecuaciones se pueden resolver utilizando una fase I del mtodo simplex. Si adems se tiene la precaucin de no permitir que en la base (utilizando el criterio de entrada) aparezcan simultneamente y xh v y x, la Fase I del simplex resuelve tambin el problema.

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica
2 2 min : z = 4 x1 6 x2 + 2 x1 + 2 x1 x2 + 2 x2

Ejemplo:

s.a.

x1 + 2 x2 2 x1 0; x2 0
2 2 + 2 x1 x2 + 2 x2 min : z = 4 x1 6 x2 + 2 x1

Transformar el problema a forma estndar

s.a.

h x1 + 2 x2 + x1 =2 h x1 0; x2 0; x1 0

x 1 4 2 x1 min : z = ( 4, 6 ) 1 + ( x1 , x2 ) x x 2 4 2 2 2
Escrito en forma matricial

s.a.

x1 (1, 2, 1) x2 = 2 h x1
h x1 0; x2 0; x1 0

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica
x 1 4 2 x1 min : z = ( 4, 6 ) 1 + ( x1 , x2 ) 2 4 x2 x2 2 x1 s.a. (1, 2, 1) x2 = 2 h x1
h x1 0; x2 0; x1 0

Recordando que el problema a resolver es:

Qx A T + v = c Ax + x h = b T xh = 0 ; vTx = 0

AT

v1 4 4 2 x1 1 x + v = 2 4 2 2 2 6
h x1 + 2 x2 + x1 =2 h = 0 ; v1 x1 = 0; v 2 x2 = 0 x1
Simulacin y Optimizacin de Procesos Qumicos. Jos A. Caballero
Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica
Reescribir el problema obligando a que los coeficientes de la parte derecha sean positivos

4 x1 + 2 x2 + v1 2 x1 + 4 x2 + 2 x1 + 2 x2 v2
h + x1

=4 =6 =2

Aadir, si es necesario variables artificiales, y resolver fase I del simplex


a a max: x1 x2

4 x1 + 2 x2 + v1 2 x1 + 4 x2 + 2 x1 + 2 x2 v2
h + x1

a + x1

=4
a + x2 =6

=2

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica

Ejemplo:

0 x1 1 1 0
a x1 a x2 h x1 Z

0 x2 2 4

0 v1 1 0 0 1

0 v2 0 1 0 1

0
h x1

1 1
a x1 a x2

1 2

4 2

0 0 1 0 0

1 0

0 1

4 6

1 2 0 6 6 3 6 6 3

0 0 2 1 1 0 0

1 1

Entran x1 o x2 ( o incluso ); Si entrase x1 entonces v1 no puede ser parte de la base Si entrase x2 entonces v2 no podra ser parte de la base h no podra ser parte de la base Si entrase entonces x1
Simulacin y Optimizacin de Procesos Qumicos. Jos A. Caballero
Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica

Ejemplo:

0 x1 0 1 0 x1
a x2 h x1

0 x2 12 3 32 3 3

0 v1 1 4 12 14

0 v2 0 1 0

0
h x1

1
a x2

14 32 1 4

1 0 0 0 0

0 0 1 0 0

0 1 0 1 0

1 4 1

Z W

3 2 1 2 1 32 1 2 1

Entra x2. v2 no podra formar parte de la base. Si fuese as entrara el siguiente candidato.

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica

Ejemplo:

0 0 1 0 x1
a x2 x2 Z W

0 x2 0 0 1 0 0

0
h x1 1 3

1
a x2 0

x1 1 0 0 0 0

13 2 1 6 2 2

v1 v 2 1 3 0 0 16 0 0 1 0 1 1

23 2 23

2 23 2 2

1 0 1 0

Entra . La variable de holgura no podra formar parte de la base.

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica

Ejemplo:

0 0 0 0 x1 x1 1 0 0 0 0

0 x2 0 0 1 0 0

0 v1 1 3 0 16 0 0

0 v2 16 1 2 1 12 0 0

0
h x1 1 3

0 1 0 0 0

13 1 56

x2 Z W

2 23 2 0

Sustituyendo en la F.O del problema original vemos que el ptimo es 25/6

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Mtodos de Penalizacin

La idea es transformar un NLP con restricciones es una secuencia de problemas sin restricciones, y el mismo resultado

min : f ( x) s.a. h( x) = 0 g ( x) 0

min : P( f , g , h, r )

Penalizacin Clsica

P( x, r ) = f ( x) + r hi2 ( x) + i

max {
j

0, g 2 j ( x)

El problema se vuelve mal condicionado incluso para valores pequeos del trmino de penalizacin. No funciona excepto para problemas muy simples.

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Mtodos de Penalizacin
r=0 Ejemplo
4.5 4
4

r=1
6
4
5
3

9 8

5
3

4.5

9
4

min : ( x1 1) + ( x2 2 )
2

3.5 3

6
4
5

3.5 3 2.5

1
3
1
2
0.5

s.a. x1 + x2 4 = 0

2.5 2

3
2

0. 5
1.5

1.5
2

0.5

1
2
3

0.5 6 08
5

5
4
5

0.5

6
0

P ( x, r ) = ( x1 1) + ( x2 2 ) +
2 2

-0.5 -1

-0.5

0.5

6 1.5

2.5

-0.5 -1

-0.5

0.5

1.5

2.5

4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 -0.5 -1

4.5 4 3.5 3 2.5 2 1.5 1

+ r ( x1 + x2 4 )

r = 10
-0.5 0 0.5 1 1.5 2 2.5 3

0.5 0 -0.5 -1

r = 100
-0.5 0 0.5 1 1.5 2 2.5 3

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Mtodos de Penalizacin
P( x, w1i , w2 j ) = f ( x) + w1i hi ( x) + w2 j max 0, g j ( x)
i j

Penalizacin Exacta

w1, w2 son factores de penalizacin positivos.

Sea x* un mnimo local del problema original, entonces si e cumple que:


w1i i i =1,.... m1 w2 j j j = 1... m2

x* es un mnimo del problema de penalizacin No existe problema de mal condicionamiento, ni es necesario llevar w1, w2 hasta infinito. Sin embargo, el problema es no diferenciable.

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Mtodos de Penalizacin

Lagrangiana Aumentada

LA = f ( x) + i hi ( x) + r hi2 ( x)
i i

Funcin de penalizacin derivable y exacta.

Donde es el multiplicador de KKT y r es un parmetro de penalizacin

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Mtodos de Penalizacin
Esquema bsico de aplicacin de L.A. Inicializacin Iteracin k: Hacer Seleccionar un valor de , y un valor inicial para x y valores positivos para los parmetros de penalizacin r

Viol ( x) = max hi ( x k )

Bucle interno: minimizar la funcin de penalizacin con los parmetros seleccionados


Si Viol ( x k ) = Fin 1 Si Viol ( x k ) Viol ( x k 1 ) ir a bucle externo 4 1 Si Viol ( x k ) > Viol ( x k 1 ) reemplazar el parmetro de penalizacin de 4 1 todas las hi ( x) > Viol ( x k 1 ) por ri =10 ri 4

Bucle externo: Actualizacin del multiplicador (Bazara, pag 496)

ik +1 = ik + 2 ri hi ( x k )
Simulacin y Optimizacin de Procesos Qumicos. Jos A. Caballero
Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva


El objetivo es resolver el siguiente problema de optimizacin
min : f (x) s.a. h(x) = 0 g ( x) 0 x n

Comenzamos suponiendo que se conoce el conjunto de restricciones activas J.


min : f (x) s.a. h(x) = 0

g j (x) = 0 j J Restricciones activas


La funcin de Lagrange es entonces:

N variables m1 restricciones de igualdad m2 restricciones de desigualdad activas

L = f ( x) + i hi ( x) + j g j ( x)
i
Simulacin y Optimizacin de Procesos Qumicos.

jJ

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva


Las condiciones de optimalidad de primer orden de KKT son:

x L = f ( x) + i hi ( x) + j g j ( x) = 0
i jJ

Sistema de ecuaciones N+m1+m2 ecuaciones y variables

i L = hi ( x) = 0 i j L = g j ( x) = 0 j J
El sistema se puede resolver aplicando el mtodo de Newton:

Supongamos que hemos terminado la iteracin k, y comenzamos la k+1.


x k = valor del vector x en la iteracin k

ik = valor del multiplicador asociado a la restriccin i en la iteracin k k j = valor del multiplicador asociado a la restriccin j en la iteracin k

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva

x L = f ( x) + i hi ( x) + j g j ( x) = 0
i jJ

Sistema de ecuaciones KKT N+m1+m2 ecuaciones y variables Valor en el punto xk

i L = hi ( x) = 0 i j L = g j ( x) = 0 j J

f ( x k ) +

ik hi ( xk )
i
i

kj g j ( x k )
jJ

+
+

xx f ( x k ) ( x x k ) +

ik xx hi ( xk ) ( x xk )
g j ( x k ) ( j kj )
jJ

kj xx g j ( xk ) ( x xk ) +
jJ

hi ( x k ) (i ik )
i

=0
Linealizacin con respecto a x en el punto xk Linealizaciones con respecto a y a Linealizacin de las Restricciones

hi ( x k ) + hi ( x k ) ( x x k ) = 0 i g j ( x k ) + g j ( x k ) ( x x k ) = 0 j J

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva

f ( x k ) +

k k h ( x i i )+ i

k k g ( x j j )+ jJ

xx f ( x k ) ( x x k ) +

ik xx hi ( xk ) ( x x k )
i jJ

kj xx g j ( xk ) ( x x k ) +
jJ

k k ( ) ( h x i i i ) + i

k k ( ) ( g x j j j) = 0

hi ( x k ) + hi ( x k ) ( x x k ) = 0 i g j ( x k ) + g j ( x k ) ( x x k ) = 0 j J

k xx L( x k , ik , k ) ( x x ) j

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva

Simplificando queda:

f ( x k ) +

hi ( xk ) i
i

g j ( x k ) j
jJ

k + xx L( x k , ik , k j ) (x x )

=0

hi ( x k ) + hi ( x k ) ( x x k ) = 0 i g j ( x k ) + g j ( x k ) ( x x k ) = 0 j J
Que escrito en forma matricial, y llamando d = x x k

k f ( x k ) + h( x k ) T + g ( x k ) T + xx L( x k , ik , k ) d =0 j

h( x k ) + hT ( x k ) d k = 0 g ( x k ) + g T ( x k ) d k = 0

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva


k f ( x k ) + h( x k ) T + g ( x k ) T + xx L( x k , ik , k j )d = 0

h( x k ) + hT ( x k ) d k = 0 g ( x k ) + g T ( x k ) d k = 0

Consideremos ahora el siguiente problema cuadrtico

1 k min : f ( x ) d + d T xx L( x k , ik , k ) d j 2 s.a. h( x k ) + hT ( x k )d k = 0
T k k

g ( x k ) + g T ( x k ) d k = 0
Resulta que las condiciones de KKT de este problema son

Utilizar el mtodo de Newton para resolver el sistema de ecuaciones que viene de aplicar las condiciones de KKT a un NLP es equivalente a resolver un Problema Cuadrtico, en cada iteracin.

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva

Extensin a sistemas con desigualdades: Trivial: Dejar que en cada iteracin sea el QP el que decida cul es el conjunto de restricciones activas

min : f T ( x k ) d k +

1 T k d xx L( x k , ik , k ) d j 2 s.a. h( x k ) + hT ( x k )d k = 0 g ( x k ) + g T ( x k ) d k 0

La programacin cuadrtica sucesiva suele presentar convergencia muy rpida hacia la solucin Son algoritmos de camino no-factible: Buscan el ptimo a la vez que convergen las restricciones. Los puntos intermedios de bsqueda no tienen por que ser factibles.

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva

Algunos problemas con SQP: 1. Si la Hessiana de la Lagrangiana no es definida positiva puede que el problema cuadrtico no genere una direccin de descenso. En ese caso se suele sustituir la matriz Hessiana por una matriz B utilizando un mtodo cuasi-Newton. Dicha matriz es simtrica y definida positiva:

Frmula BFGS:

s k = x k +1 x k y k = L( x k +1 , k +1 , k +1 ) L( x k , k , k ) B
k +1

B k s k ( s k )T B k y k ( y k )T =B + k T k k T k k (s ) B s (y ) s
k

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva

Algunos problemas con SQP: 2. Si el SQP no converge directamente, en cada iteracin es conveniente realizar una bsqueda unidireccional. Sin embargo dicha bsqueda debe tratar de minimizar la Lagrangiana y no slo la funcin objetivo. Existen varias alternativas, la ms corriente es tratar de minimizar una funcin de mrito. p.e.: Penalizacin Exacta:

P ( x, w) = f ( x) + wi hi ( x) + max 0, g j ( x)
i j

Lagrangiana Aumentada:

p ( x ) = f ( x ) + g ( x ) + h( x ) +
T T

2 i

hi2 ( x)

+ max 0, g j ( x) j

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva

Algoritmo Bsico

1.- Sea k = 0;

B0 = I . Suponer punto inicial xk

2.- Evaluar la funcin, las restricciones y sus gradientes en el punto xk

f ( x k ); g ( x k ); h( x k ); f ( x k ); h( x k ); g ( x k )
3.- Resolver el problema cuadrtico para obtener d, k+1, k+1

min : f T ( x k ) d k +

1 T k k d B d 2 s.a. h( x k ) + hT ( x k )d k = 0 g ( x k ) + g T ( x k ) d k 0

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Programacin Cuadrtica Sucesiva


Algoritmo Bsico (cont) 4.- Comprobar convergencia Si

L x k , k +1 , k +1 donde

Parar

L ( x , , ) = f ( x ) + h ( x ) + g ( x )
k

Si no

k +1

= x + d

(=1 paso de Newton; si no bsqueda unidireccional usando funcin de mrito regin de confiabilidad o filtro)

5.- Actualizar Hessiana utilizando BFGS

s k = x k +1 x k y k = L( x k +1 , k +1 , k +1 ) L( x k , k , k ) B
k +1

B k s k ( s k )T B k y k ( y k )T =B + k T k k T k k (s ) B s (y ) s
k

6.- Hacer k = k+1 y volver al paso 2.


Simulacin y Optimizacin de Procesos Qumicos. Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Gradiente Reducido

Sea el problema

min : f ( x) s.a. Ax = b x0

Funcin objetivo no lineal Restricciones lineales en forma estndar (m restricciones, n variables; n m)

Es posible hacer una particin de variables

xD x = xI

Variables dependientes o Bsicas ( m variables) Variables independientes o no-bsicas (n-m variables)

Tambin es posible particionar la matriz A

A = (B| N)

B = (m x m) invertible N = m x (n-m)

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Gradiente Reducido

Es posible despejar las variables dependientes en funcin de las independientes

Ax = b BxD + NxI = b; xD = B 1b B 1 N xI
O sea

B 1b B1 N xI x = x I

Si se sustituye en la funcin objetivo, pasamos a tener un problema sin restricciones

min : f ( x) = f ( xD , xI ) = f ( B 1b B 1 N xI , xI )

Las condiciones de optimalidad requieren que la derivada respecto a las variables independientes sea cero

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Gradiente Reducido

min : f ( x) = f ( xD , xI ) = f ( B 1b B 1 N xI , xI )

df f f dxD = + = xI f ( x)T xD f ( x)T B 1 N = g T R dxI xI xD dxI


Gradiente Reducido

Por otra parte, considere que nos movemos en un x en el problema anterior


k +1 k B 1b B 1 N x k +1 B 1b B 1 N x k xD xD I I x = = x k +1 x k xIk +1 xIk I I

) = B

N xI = Z xI I

B 1 N Z = I
Simulacin y Optimizacin de Procesos Qumicos.

Matriz de transformacin
Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Gradiente Reducido

Si se desarrolla en serie f(x)

f ( x k +1 ) = f ( x k ) + f ( x)T x +
Recordando que x = Z xI

1 T x xx f ( x) x + ... 2

y sustituyendo

f ( x k +1 ) = f ( x k ) + f ( x)T Z xI +

1 T T xI Z xx f ( x) Z xI + ... 2

gT R
T gT R = f ( x ) Z

HR
Gradiente Reducido Hessiana Reducida

H R = Z T xx f ( x) Z

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Gradiente Reducido

f ( x k +1 ) = f ( x k ) + g T xI + R

1 T xI H R xI + ... 2

Tenemos por lo tanto un problema sin restricciones, para resolverlo se puede utilizar cualquiera de los mtodos para problemas sin restricciones Por ejemplo, si se utiliza el mtodo de Newton debemos resolver:

f =0 xI

Eliminando los trminos de orden superior a dos y derivando con respecto a las variables independientes un paso del mtodo de Newton sera:

g R + H R x k =0 I

Nota: La Hessiana se puede actualizar utilizando BFGS (u otra similar).


Simulacin y Optimizacin de Procesos Qumicos. Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Gradiente Reducido

Extensin a sistemas con restricciones no lineales

min : f ( x) s.a. h( x) = 0
Se linealiza la restriccin

Slo restricciones de igualdad. Si aparecen desigualdades se transforman en igualdades a travs de variables de holgura.

g ( x) 0 g ( x) + s = 0

min : f ( x) s.a. h( x k ) + h( x k )x k = 0
J ( xk )

El problema se ha transformado en uno equivalente al caso cuando aparecen restricciones lineales

Jacobiano

As pues:

J =[ JB , JI ]

B = JB N = JN

x x = D xI

T T 1 gT R = xI f ( x ) xD f ( x ) J B J N
Simulacin y Optimizacin de Procesos Qumicos. Jos A. Caballero
Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Gradiente Reducido
Esquema Bsico de un algoritmo de Gradiente Reducido (con restauracin de factibilidad) 1.- Inicializar el problema y obtener un punto factible inicial. Si el punto inicial no es factible resolver un problema de factibilidad inicial (p.e. usando este mismo mtodo)

min u s.a. h( x) = u
2.- Dividir las variables en dependientes e independientes 3.- Evaluar la direccin de bsqueda en el espacio de variables reducido (mtodo de Newton, mximo descenso u otro) 4.- Hacer una bsqueda unidireccional variando slo las variables independientes. 5.- Recuperar la factibilidad: Se mantienen fijas las variables independientes y se resuelve el sistema de ecuaciones en funcin slo de las variables dependientes6.- Comprobar convergencia. Si no converge volver al punto 2

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Cdigos de Ordenador

Fuentes para conseguir cdigos de optimizacin sin restricciones Harwell (HSL) IMSL NAg Netlib (www.netlib.org)
MINPACK TOMS Algorithms etc Estas fuentes contienen varios mtodos Cuasi-Newton Gauss-Newton Newton Disperso Gradiente Conjugado, etc.

Simulacin y Optimizacin de Procesos Qumicos.

Jos A. Caballero

Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.

Cdigos de Ordenador

Fuentes para conseguir cdigos de optimizacin con restricciones


Quizs los mejores cdigos disponibles hoy en da sean: GRG2/CONOPT GRG2 es el solver de Excel. Gradiente reducido con restauracin CONOPT aparece en GAMS (y otros sistemas de modelado y es quizs el ms robusto de todos MINOS Gradiente reducido sin restauracin (disponible en GAMS) SQP SNOPT Disponible en GAMS usa rSQP (SQP proyectado en el espacio de variables reducidas IPOPT Mtodo de barrera

Algoritmos SQP se pueden encontrar en: HSL, NaG, IMSL libreras de mtodos numericos NPSOL Standford System Optimization Lab SNOPT Standford System Optimization Lab IPOPT: www.coin-or.org
Simulacin y Optimizacin de Procesos Qumicos. Jos A. Caballero
Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/3.0/es/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Citar como: J.A. Caballero Surez, material docente para la asignatura Simulacin y Optimizacin de procesos Qumicos, Octubre 2009. Universidad de Alicante.