Sie sind auf Seite 1von 24

Simulacin y Optimizacin de los Procesos Qumicos

101





TEMA 10: MTODOS NUMRICOS PARA LA OPTIMIZACIN DE
PROBLEMAS NO LINEALES CON RESTRICCIONES



1.- INTRODUCCIN

2.- METODOS DE PENALIZACIN, BARRERA Y LAGRANGIANA AUMENTADA

2.1.- Mtodos de Penalizacin
2.2.- Mtodo de Penalizacin Exacta.
2.3.- Lagrangiana Aumentada.
2.4.- Mtodos de Barrera.

3.- PROGRAMACIN CUADRTICA SUCESIVA

4.- MTODO DEL GRADIENTE REDUCIDO

4.1.- Gradiente reducido con restricciones lineales.
4.2.- Extensin a sistemas con restricciones no lineales.

5.-ALGUNAS REGLAS PRACTICAS PARA LA FORMULACIN DE NLPs.

Simulacin y Optimizacin de los Procesos Qumicos

102
TEMA 10.



MTODOS NUMRICOS PARA LA OPTIMIZACIN DE
PROBLEMAS NO LINEALES CON RESTRICCIONES



1.- INTRODUCCIN

En todos los casos la idea bsica de los mtodos de optimizacin con restricciones es
transformar el problema en otro sin restricciones. Como se coment anteriormente los
mtodos ms usados son:

1. Mtodos de penalizacin externa.
2. Mtodos de penalizacin interna
3. Mtodos de programacin lineal sucesiva.
4. Mtodos de gradiente reducido
5. Programacin cuadrtica sucesiva.

Veremos una pequea introduccin a los mtodos de penalizacin. Sin entrar en
demasiados detalles, y nos centraremos sobre todo en los mtodos de gradiente reducido
y de programacin cuadrtica sucesiva.
Simulacin y Optimizacin de los Procesos Qumicos

103

2.- METODOS DE PENALIZACIN BARRERA Y LAGRANGIANA
AUMENTADA.

2.1.- MTODOS DE PENALIZACIN

La idea esencial de los mtodos de penalizacin consiste en transformar un problema no
lineal (NLP) en una secuencia de problemas sin restricciones que presentan la misma
solucin final.

m ) , , , ( : min
0 ) (
0 ) ( . .
) ( : min
r h g f P
x h
x g a s
x f

=


donde P es una funcin de penalizacin y r es un parmetro de penalizacin positivo.

Por ejemplo, considere el siguiente problema:


( ) ( )
0 4 ) ( . .
2 1 ) ( : min
2 1
2
2
2
1
= + =
+ =
x x x h a s
x x x f


Se puede transformar en el problema equivalente:

( ) ( ) ( )
2
2 1
2
2
2
1
4 2 1 ) , ( : min + + + = x x r x x r x P

El principal problema que plantea la funcin de penalizacin anterior estriba en que el
valor del parmetro r debe aumentar a medida que nos acercamos a la solucin. En el
lmite el producto
2
h r se aproxima a cero, y el valor de P(x,r) se aproxima al de f(x). En
el problema anterior el punto ptimo es x*=(1.5, 2.5)
T
, y el mnimo del mismo problema
Simulacin y Optimizacin de los Procesos Qumicos

104
si eliminamos la restriccin es x*=(1,2)
T
. La Tabla siguiente muestra el efecto del valor
del parmetro r en el valor que resulta al resolver el problema P.

r x
1
x
2
f
0 1.0000 2.0000 0.0000
0.1 1.0833 2.0833 0.0833
1 1.3333 2.3333 0.3333
10 1.4762 2.4762 0.4762
100 1.4975 2.4975 0.4975
1000 1.4998 2.5000 0.4998

El aumento en el valor de r acarrea un problema de mal condicionamiento, haciendo
enorme el nmero de condicin de la hessiana. ( ) , (
2
r x P ).

La forma general de la funcin de penalizacin cuadrtica clsica es:

( )

+ + =

j j
j j
x g x h r x f r x P
2 2
2
) ( , 0 max ) ( ) ( ) , (


2.2.- MTODO DE PENALIZACIN EXACTA

La penalizacin exacta trata de evitar los problemas de condicionamiento que aparecen
en los problemas que utilizan funciones de penalizacin cuadrticos clsicos. En ellos se
define una funcin de penalizacin de la siguiente manera:

{ }

+ + =

j j
j j j j
x g w x h w x f w w x P ) ( , 0 max ) ( ) ( ) , , (
2 1 2 1 1


Simulacin y Optimizacin de los Procesos Qumicos

105
donde w
1
, w
2
son parmetros de penalizacin positivos. De tal manera que cuando se
viola una restriccin aparece una contribucin positiva.

En este caso se evita el problema de condicionamiento debido al Teorema de la
Penalizacin Exacta que dice que:

Si x* es un mnimo local del problema original, entonces si se cumple que:

r j w
m j w
j j
j j
..... 1
..... 1
*
2
*
1
=
=


x* es tambin un mnimo del problema P
1
(x, w
1
, w
2
)

En este caso no existe problema de mal condicionamiento y no es tampoco necesario
aumentar el valor de los parmetros de penalizacin hasta el infinito.

Intuitivamente se puede observar que el problema de la penalizacin cuadrtica se hace
mal condicionado porque la velocidad a la que tiende a cero el trmino h
2
tiene que ser
compensada con el aumento del trmino de penalizacin, para llegar a la misma solucin
que el problema original.

A pesar de todo, los mtodos de penalizacin exacta presentan un grave inconveniente, y
es que tanto el trmino ) (x h como el trmino { } ) ( , 0 max x g no son diferenciables y por
lo tanto no se puede utilizar, de forma fiable, con ellos ningn mtdodo de optimizacin
que incluya el clculo de derivadas.







Simulacin y Optimizacin de los Procesos Qumicos

106

2.3.- LAGRANGIANA AUMENTADA.

La Lagrangiana aumentada es un funcin de penalizacin derivable exacta. Solucionando
tanto los problemas que presentan los mtodos clsicos de penalizacin tanto cuadrtica
como exacta. Por simplicidad consideraremos slo restricciones de igualdad:



+ + =
i j
j i i
x h r x h x f r x AL ) ( ) ( ) ( ) , , (
2

donde r es un parmetro positivo.

Sea x* un mnimo local del problema:


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


y sean *, x* los valores de los multiplicadores en la solucin y el punto solucin
respectivamente.

El gradiente de AL vendr dado por:



+ + =
j
j j
j
j j x
x h x h r x h x f AL ) ( ) ( 2 ) ( ) (
dado que en el punto solucin x* se debe cumplir que ( ) 0
*
= x h entonces:

( ) 0 ) ( ) ( , ,
* * * * *
= + =

j
j j x
x h x f r x AL

As pues x* es un punto estacionario de AL(x*, *,r) para cualquier r. Sin embargo no
todos los puntos son mnimos. Para que lo sean es necesario que ) , , (
* * 2
r x AL
x
sea
definida positiva. En general esto se cumple para valores de r por encima de un lmite
cierto valor lmite. El principal inconveniente es que ni el valor lmite que debe tomar el
parmetro r ni el valor del multiplicador de Lagrange en la solucin se conocen a priori.

Simulacin y Optimizacin de los Procesos Qumicos

107
Existen en la actualidad algunos cdigos que trabajan con formulaciones de lagrangiana
aumentada, sin embargo, aunque desde un punto de vista terico se pueden utilizar sin
problema, su eficacia ha sido superada por los mtodos de gradiente reducido o de
programacin cuadrtica sucesiva.


2.4.- MTODOS DE BARRERA

Los mtodos de barrera convierten un problema con restricciones en una sucesin de
problemas sin restricciones. La solucin ptima de estos problemas cae en el interior de
la regin factible y converge a la solucin del problema con restricciones a medida que el
parmetro de barrera tiende a cero.

Por ejemplo:

( ) ( )
0 4 ) ( . .
2 1 ) ( : min
2 1
2
2
2
1
= + =
+ =
x x x h a s
x x x f


Se puede transformar utilizando una de las funciones de barrera ms conocidas, la
funcin de barrera logartmica, en el siguiente problema:

[ ] ( ) ( ) [ ] 4 2 1 ) ( ) ( ) , (
2 1
2
2
2
1
+ + = = x x Ln r x x x g Ln r x f r x B

donde r es un escalar positivo llamado parmetro de barrera.

A medida que x se aproxima a la restriccin, g(x) se aproxima a cero y el trmino
[ ] ) (x g rLn se aproxima a infinito. La minimizacin fuerza a B a encontrar un mnimo
sin restricciones en el interior de la regin factible, y su localizacin depender del
parmetro r. A medida que r tiende a cero la solucin tiende a ser del problema original.

Nuevamente la Hessiana se hace mal condicionada cuando r tiende a cero ( ) r r x B
x
), (
2

tiende a infinito.

Simulacin y Optimizacin de los Procesos Qumicos

108

3.- PROGRAMACIN CUADRTICA SUCESIVA (SQP)

La idea bsica de la programacin cuadrtica sucesiva es resolver las condiciones
necesarias de optimalidad de Karush Kuhn Tucker utilizando el mtodo de Newton (o
mtodos cuasi Newton).

Dado un problema general de programacin no lineal:


0 ) (
0 ) ( . .
) (

=
x g
x h a s
x f Min
(1)

Las condiciones de KKT se pueden escribir como:


( ) ( ) ( ) ( )
( )
( ) J j x g
x h
J j x g x h x f x L
j
j
T T
x
=
=
= + + =
0
0
0 , ,
*
*
* * * * * *

(2)

donde J representa el conjunto de restricciones activas.

Si suponemos un punto (x
i
,
i
,
i
) y aplicamos el mtodo de Newton, a las condiciones
necesarias nos queda:

( ) ( ) ( ) ( ) ( )( )
( ) ( )( ) ( )( ) ( ) ( )( ) ( )( )
( ) ( ) ( )
( ) ( ) ( )

= +
= +
= + + +
+ + + +
0
0
0
, ,
i
T
i
j
i
j
i
T
i i
i i
x
i i
xx
T
i
i
i
x
i i
xx
T
i
i i
xx
i i
j x
i i i
x
i i i
x
x x x g x g
x x x h x h
x g x x x g x h x x x h
x x x f x g x h x f x L


(3)

Quizs en su forma matricial el problema aparezca ms claro que lo nico que se ha
hecho hasta el momento es aplicar un paso del mtodo de Newton.
Simulacin y Optimizacin de los Procesos Qumicos

109

( )
( )
( )


i
i
i i i
x xx
x h
x g
x L x
h
g
h g L

, ,
0 0
0 0

El sistema anterior lo podemos re-escribir como:

( ) ( ) ( ) ( )( )
( ) ( ) ( )
( ) ( ) ( )

= +
= +
= + + +
0
0
0 , ,
i
T
i
j
i
j
i
T
i i
i i i i
xx
i
j x
i
x
i
x x x g x g
x x x h x h
x x x L x g x h x f
(4)

donde:

( )( ) ( )( ) ( ) ( )( ) ( ) ( )( )
i i
j xx
T
i i i
xx
T
i i i
xx
i i i i
xx
x x x g x x x h x x x f x x x L + + = , ,

Si nos fijamos en la ecuacin (4) nos podemos dar cuenta de que son las condiciones
necesarias de optimalidad de otro problema que podemos escribir como:

( ) ( )
( ) ( )
( ) ( ) 0
0 . .
, ,
2
1
= +
= +
+
d x g x g
d x h x h a s
d x L d d x f Min
T
i
j
i
j
T
i i
i i i
xx
T
T
i

(5)
donde:
d=(x-x
i
)

El problema planteado por las ecuaciones (5) es lo que se conoce como programacin
cuadrtica. Es decir hemos transformado nuestro problema original en una sucesin de
problemas cuadrticos (sealar que existen mtodos muy eficientes para resolver un
problema cuadrtico). Sin embargo rara vez se utiliza el algoritmo de forma directa tal
como lo hemos planteado. Las razones son fundamentalmente dos, la primera es que
puede no converger a una solucin local del problema y la segunda es que resulta costoso
desde un punto de vista numrico.
Simulacin y Optimizacin de los Procesos Qumicos

110

Comencemos por el costo numrico. La razn por la que el mtodo es numricamente
costoso es que hay que calcular la matriz hessiana de la funcin objetivo y de las
restricciones activas. Esto implica calcular las derivadas segundas con respecto a las
variables. Una forma de reducir el costo numrico del algoritmo es utilizar
aproximaciones de tipo cuasi Newton de la hessiana de la lagrangiana. Evitndonos as el
calculo de las derivadas. A pesar de que la velocidad de convergencia terica es
ligeramente inferior a la que se obtiene con el mtodo de Newton tiene dos ventajas, la
actualizacin permite mantener una hessiana simtrica definida positiva, caracterstica
que podra perderse debido a los errores de redondeo al calcular derivadas o que
simplemente la matriz hessiana real no fuese definida positiva, lo que nos asegura que la
solucin del problema cuadrtico (QP) es nica. Y adems en problemas grandes permite
mantener la matriz en una factorizacin adecuada para su resolucin.

Por otra parte los resultados de convergencia para programacin cuadrtica sucesiva se
obtienen insistiendo en que (x
i+1
,
i+1
,
i+1
) son una estimacin mejor que la solucin en
(x
i
,
i
,
i
). En un problema sin restricciones el progreso se mide en trminos de la funcin
objetivo. En el caso de optimizacin con restricciones es comn utilizar una funcin
auxiliar llamada funcin de mrito o en ocasiones tambin lagrangiana aumentada.
Habitualmente una funcin de mrito es una suma de trminos que incluye la funcin
objetivo y la cantidad de infactibilidad de las restricciones. Si el nuevo punto reduce la
funcin objetivo y reduce las infactibilidades, entonces la funcin de mrito se reduce.
Sin embargo, en muchas ocasiones la reduccin de la funcin de mrito es a costa de las
infactibilidades o viceversa.

El uso de la funcin de mrito elimina adems otro problema, y es que el mtodo de
Newton podra no converger desde puntos no lo suficientemente cercanos al ptimo. As
pues en lugar de realizar un paso completo de Newton hacemos una bsqueda
unidireccional en la direccin d.

Nos queda el punto de como decidir qu restricciones van a ser activas y cuales no. Una
posibilidad es introducirlas todas en el programa cuadrtico y tomar como conjunto
activo aquellas que son activas en el QP.


Simulacin y Optimizacin de los Procesos Qumicos

111
Algoritmo SQP Bsico

0. Suponer x
0
, Hacer H0=I (matriz identidad) y evaluar f(x
0
), g(x
0
), y h(x
0
)
1. En el punto x
i
calcular ( ) ( ) ( )
i i i
x h x g x f , ,
2. Si i>0 actualizar H
i
utilizando la frmula BFGS:

y s
y y
s H s
H s s H
H H
T
T
i T
i T i
i i
+ =
+1
con
i i
x x s =
+1

( ) ( )
1 1 1 1 1
, , , ,
+ + + + +
=
i i i i i i
x L x L y

3. Resolver el siguiente QP (utilizando una estrategia activa como la que vimos en
captulos anteriores, un mtodo basado en programacin lineal o cualquiera de los
disponibles para este tipo de problemas):

( )
( ) ( )
( ) ( ) 0
0 . .
2
1
+
= +
+
d x g x g
d x h x h a s
d H d d x f Min
T
i i
T
i i
i T
T
i
d


4. Encontrar un tal que una funcin de mrito cumpla:

( ) ( )
i i
x d x < + 1 0 <

Como funciones de mrito se pueden usar:

Funcin de penalizacin exacta:

( ) ( ) ( ) ( ) J j x h x g x f x
m
i
i
j
j p

+ + =

=1
, 0 max ) (
{ }
j i
j i
, max
,
>
donde es el parmetro de penalizacin

Simulacin y Optimizacin de los Procesos Qumicos

112
Funcin de Lagrange aumentada

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

+ + + + =

= j
j
m
i
i
T
i j
T
j p
x g x h x h x g x f x
2
1
2
, 0 max
2



donde el parmetro de penalizacin debe cumplir:

[ ] 0 ) ( ) ( ) ( ) ( ) ( ) (
2
1
+ x g x g x h x h x g x h
j
T
j
T T T



5. Hacer x
i+1
= x
i
+ d , y i=i+1. Volver al paso 1.

Si despus del paso 3 el error de las condiciones de KKT es menor que una tolerancia pre
especificada entonces parar.



+ +
i i i i
T T
h g d f d L
o bien
h g y L
j
,

La gran ventaja de los mtodos de programacin cuadrtica sucesiva es que convergen de
forma muy rpida con muy poco nmero de evaluacin de las funciones. Sin embargo
para problemas con un elevado nmero de grados de libertad quizs sea mejores los
mtodos de gradiente reducido, en tanto que reducen la dimensionalidad del problema a
resolver.

Simulacin y Optimizacin de los Procesos Qumicos

113

4.- MTODOS DE GRADIENTE REDUCIDO

Dado un problema de optimizacin con m restricciones que vienen dadas en forma de
igualdad (forma estndar), y n variables ( m n ). Una forma directa de resolver el
problema consiste en plantear el problema en funcin de los n-m grados de libertad. En
otras palabras, sera posible pensar que se pueden despejar m variables (tantas como
restricciones) en funcin de las n-m restantes y resolver el problema como un problema
sin restricciones. Esta es la idea bsica que est detrs de los mtodos de gradiente
reducido. Por supuesto, no siempre es posible hacer esta eliminacin de variables de
forma algebraica, al menos con ecuaciones no lineales. Sin embargo, en un problema
donde las restricciones son lineales bien planteado (no tenemos problemas con el calculo
de las inversas asociadas a los diferentes conjuntos de variables dependientes) esta
eliminacin s que es posible. Comencemos considerando el caso del problema con
restricciones lineales.

4.1.- GRADIENTE REDUCIDO CON RESTRICCIONES LINEALES

Sea el problema:


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


Donde f(x) es una funcin objetivo escalar, continua diferenciable al menos dos veces y
no necesariamente lineal. Y el conjunto Ax = b define un sistema de m restricciones
lineales con n variables; donde m n .

Es posible hacer una particin de variables


|
|

\
|
=
I
D
x
x
x
Variables dependientes o bsicas (m variables)
Variables independientes o superbsicas (n-m variables)

As mismo tambin podemos dividir la matriz A en dos partes:

Simulacin y Optimizacin de los Procesos Qumicos

114
) | ( N B A=
B es una matriz m x m invertible que tiene asociados los coeficientes
de los vectores de las variables dependientes
N es una matriz m x (n-m) formada por los coeficientes de los
vectores de las variables independientes

As pues :

b x N x B b x A
I D
= + = Despejando x
D

I D
x N B b B x
1 1
= o sea:

|
|

\
|

=

I
I
x
x N B b B
x
1 1


Sustituyendo en la funcin objetivo se obtiene que:

) ( ) , ( ) (
1 1
I I D
x N B b B f x x f x f

= =

Se llama gradiente reducido al gradiente respecto a las n-m variables independientes, as
pues:

N B x f x f
x
x
x
f
x
f
g
T
x
T
x
I
D
D I
T
R
D I
1
) ( ) (

=

=

Matriz de transformacin

Considere, por otra parte, un x :

I I
k
I
k
I
k
I
k
I
k
I
k
I
k
D
k
D
x Z x
I
N B
x x
x b N B b B x b N B b B
x x
x x
x =
|
|

\
|

=
|
|

\
|

+
=
|
|

\
|

+
+
+
+ 1
1
1 1 1 1 1
1
1

A la matriz
|
|

\
|

I
N B
Z
1
se la conoce como matriz de transformacin.

Simulacin y Optimizacin de los Procesos Qumicos

115
El gradiente reducido y la hessiana reducida en funcin de la matriz de transformacin
vendrn dados por:

Z x f g
T T
R
) ( =
Z x f Z H
xx
T
R
) ( =

Se ha transformado un problema con restricciones en otro sin restricciones en el espacio
de variables reducidas. Se puede, por lo tanto, aplicar los mismos mtodos que se
utilizaban en el caso de problemas sin restricciones. Dado que los mtodos ms efectivos
son los basados en el mtodo de Newton veamos como podemos aplicar dicho mtodo en
el espacio de variables reducidas.

Mtodo de Newton en el espacio de variables reducidas:

Igual que se proceda en la deduccin del mtodo de Newton en problemas sin
restricciones comenzamos por desarrollar en serie alrededor del punto x hasta segundo
orden, as :

x x f x x x f x f x f
xx
T T k k
+ + =
+
) (
2
1
) ( ) ( ) (
1


Recordando que
I
x Z x = y sustituyendo, se tiene que

I R
T
I I
T
R
k
I xx
T T
I I
T k k
x H x x g x f
x Z x f Z x x Z x f x f x f
+ + =
= + + =
+
2
1
) (
) (
2
1
) ( ) ( ) (
1


Recordando que la condicin de optimalidad es:

0 0
) (
= + =

I R R
I
x H g
x
x f


As pues un paso del mtodo de Newton es equivalente a resolver:


R I R
g x H = o bien
R R I
g H x
1
=
Simulacin y Optimizacin de los Procesos Qumicos

116

NOTAS:

1. La Hessiana reducida se puede sustituir por una estimacin utilizando un
mtodo cuasi-Newton, como,por ejemplo BFGS.

2. Es posible calcular g
R
sin necesidad de hallar explicitamente
1
B ; para ello
como:

T
x
T
x
T T
R
x f N B x f Z x f g
I D
) ( ) ( ) (
1
+ = =


si se resuelve el sistema auxiliar : ) (x f w B
D
x
T
=
Como ( ) B w w B
T T
=
resulta que :
1
) (

= B x f w
T
x
T
D

o sea :
T
x
T T
R
x f N w g
I
) ( + =

4.2.- EXTENSIN A SISTEMAS CON RESTRICCIONES NO LINEALES

El problema que vamos a considerar en este caso puede escribirse como:

( )
n i U x L
m j x h a s
x f
i i i
j
..... 1
,... 1 0 . .
) ( min
=
= =

donde Li y Ui son los lmites inferior y superior de xi respectivamente. Estos lmites se
tratan como vectores separados, en lugar de ser clasificados como desigualdades
(restricciones) porque se tratan de forma diferente cuando se determina la longitud de
paso en la direccin de bsqueda.

El problema debe venir dado en forma estndar, as pues para aquellas restricciones en
forma de desigualdad debemos aadir variables de holgura de tal forma que:


0
0 ) ( ) (

= + =

x g x h
j j

Simulacin y Optimizacin de los Procesos Qumicos

117
Al igual que en apartado anterior podemos dividir las variables en dependientes e
independientes, sin embargo, no es posible, en general, en un sistema de m restricciones
no lineales m variables en funcin de las n-m restantes. No obstante, si linealizamos las
restricciones las aproximamos pos su plano tangente en un punto dado- podramos
proceder como en el caso anterior, as pues, sustituimos momentneamente el problema
original por otro con las restricciones linealizadas:


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


Donde la matriz ) (
i
x h que vamos a llamar ) (
i
x J , (Matriz Jacobiana de las
restricciones). Tambin la puedo dividir en dos partes, una asociada a las variables
dependientes y otra asociada a las variables independientes:

[ ] ) ( ), ( ) ( x J x J x J
I D
i
=
Podemos aplicar, por lo tanto, el mtodo visto en el apartado referente a problemas con
restricciones lineales. En este caso tendremos que:


|
|

\
|

I
J J
Z
I D
1

Y por lo tanto:
I D
T
x
T
x
T T
R
J J x f x f Z x f g
D I
1
) ( ) ( ) (

= =

Una vez que se ha efectuado un paso del algoritmo de optimizacin (por ejemplo del
mtodo de newton) dado que se est haciendo una aproximacin lineal del conjunto de
restricciones, lo ms probable es que el conjunto de restricciones original (h(x)=0 ) no se
satisfaga. En otras palabras, el nuevo punto obtenido es un punto no factible.

Los algoritmos se dividen en dos tipos dependiendo del tipo de procedimiento seguido
desde este punto: algoritmos sin restauracin de la factibilidad y algoritmos con
restauracin de la factibilidad.

Algoritmo bsico sin restauracin de la factibilidad.

Quizs el algoritmo ms conocido que trabaja sin restauracin de la factibilidad est
implementado en el solver MINOS. Para evitar minimizar el efecto de las no
Simulacin y Optimizacin de los Procesos Qumicos

118
factibilidades resuelve una sucesin de problemas utilizando el procedimiento anterior
aadiendo a la funcin objetivo un trmino de penalizacin (lagrangiana aumentada):

Pk :
( ) ( )
0 ) ( ) ( . .
) ( ) ( ) ( : min
= +
+
x x h x h a s
x h x h x f
k k
k
T
k



Donde
k
es el multiplicador de lagrange en la iteracin k. El problema puede seguir un
camino no-factible hasta el final.

Algoritmo bsico con restauracin de factibilidad (Gradiente Reducido Generalizado)

Resumiremos aqu los pasos bsicos del algoritmo de gradiente reducido generalizado.
Cualquier cdigo puede presentar variaciones basadas en procedimientos para la
manipulacin de matrices, seleccin de elementos de direccin de bsqueda, u otras
decisiones basadas en la experiencia. Se presenta aqu el algoritmo bsico, su equivalente
sin restricciones sera el mtodo de mximo descenso (aunque es fcil convertrlo en un
mtodo tipo Newton o cuasi-newton). Este es el algoritmo bsico que aparece en el
conocido Solver de Excel.

Suponemos que
|
|

\
|

D
x
h
no es singular. Dividiremos el algoritmo en 5 pasos.

1. Determinacin de las componentes de bsqueda para las variables independientes.

Comenzamos el algoritmo desde un punto factible x
k
(en la etapa k) y se calcula el
gradiente reducido.

( )
|
|

\
|

|
|

\
|

|
|

\
|

|
|

\
|

k
I
k
k
D
k
T
k
D
k
T
k
I
k
T
k
R
x
h
x
h
x
f
x
f
g
1


Ntese que en la primera etapa (x
k
=x
0
) se deben designar las variables
independientes. En principio la designacin de dichas variables se puede hacer o bien
seleccionando las cantidades controlables del proceso, o bien por consideraciones
estructurales.
Simulacin y Optimizacin de los Procesos Qumicos

119

Las componentes de la direccin de bsqueda, en el espacio de las variables
independientes se establece a partir de los elementos del gradiente reducido como
sigue:

a. Si
k
i
x est en uno de los lmites, la direccin del componente es 0 =
k
i
si el paso
excede el lmite. Esto es:
0
0
> =
< =
Ri i
k
i
Ri i
k
i
g L x
g U x


b. Si
i i i
U x L < < la direccin de bsqueda es la negativa del correspondiente
elemento del gradiente reducido:
Ri
k
i
g = . En algunos algoritmos solamente
la direccin original es la negativa al correspondiente gradiente reducido, las
iteraciones siguientes usan la frmula del gradiente conjugado.

2. Determinacin de las componentes de bsqueda de las variables dependientes

Se calculan a partir de la relacin:


k
I
I
k
D
k
k
D
x
h
x
h

|
|

\
|

|
|

\
|

=
1


La relacin anterior viene de la generalizacin de la ecuacin

0 =

=
D
D
I
I
dx
x
h
dx
x
h
h d

|
|

\
|

|
|

\
|

I D I
D
x
h
x
h
dx
dx
1
ya que dx
D
se deba calcular a partir de dx
I


3. Mejora de la funcin objetivo:

Se minimiza ( )
k
D
k
D
k
I
k
I
x x f + + , con respecto a ( >0) mediante una
bsqueda unidimensional.. La fase 3 nos lleva a:

Simulacin y Optimizacin de los Procesos Qumicos

120

k
I
k k
I
k
I
x x + =
+

1


k
D
k k
D
k
D
x x + =
+

1 ~


Dado que el algoritmo que nos interesa es de camino factible el valor de
1 ~ + k
D
x
solamente un valor posible. En otras palabras, debido a que las restricciones pueden
no ser lineales, la bsqueda unidimensional puede llevar a valores no factibles de las
variables x
D
.

4. Bsqueda de una solucin factible de las variables dependientes

Dado que las componentes de
1 ~ + k
D
x podran ser puntos no factibles, es decir
( ) 0
~
,
1 1

+ + k
D
k
I
x x h debemos modificar
1 ~ + k
D
x para volver a la regin factible, para ello
utilizamos el mtodo de Newton:


( )
( )
1 1
1
1 1
1 1 ~
,
~
,
~ + +

+ +
+ +

=
k
D
k
I
k
D
k
D
k
I k
D
k
D
x x h
x
x x h
x x

5. Fallo del mtodo de Newton?

a. Si x
k+1
es un punto factible y si ( ) ( )
k
D
k
I
k
D
k
I
x x f x x f , ,
1 1
<
+ +
se toma x
k+1
y se pasa a
la etapa 1.
b. Si x
k+1
es un punto factible, pero ( ) ( )
k
D
k
I
k
D
k
I
x x f x x f , ,
1 1
>
+ +
se reduce el valor de
(en 1/4 o 1/10) y se comienza otra vez la fase 3.
c. Si el mtodo de Newton falla en encontrar un punto factible (en digamos unas 20
iteraciones) se reduce en factor de o 1/10 y se vuelve a la fase 4.
d. Si todos los pasos anteriores fallasen se podra recurrir a un cambio de base,
intercambiando las variables dependientes y las independientes.


Acotaciones:

Si la variable x
i
alcanza uno de sus lmites (acotacin) entonces es eliminada de la
base tomando su valor lmite y se cambia por otra variable x
D
. La iteracin de
Newton se lleva a cabo para el nuevo conjunto de variables dependientes.
Simulacin y Optimizacin de los Procesos Qumicos

121

Terminacin:

Se puede aplicar cualquier criterio de terminacin, pero el mas simple es comprobar
si
k
I
despus de la fase 3.
Simulacin y Optimizacin de los Procesos Qumicos

122
Gradiente reducido para n variables y m restricciones.

x
I
Variables independientes. Vector de (n - m) variables
x
D
Variables dependientes. Vector de m variables
( )

=
) (
) (
1
x h
x h
x h
m
M vector (m x 1) con [ ]
D I
T
x x x , =

m
m m
m
D
x
x h
x
x h
x
x h
x
x h
x
h
) ( ) (
) ( ) (
1
1
1
1
L
M
L
matriz (m x m) matriz base.

= =
|
|

\
|

+ n m
T
x
T
I
x
x f
x
x f
x f
x
x f
I
) (
, ,
) (
) (
) (
1
L vector 1 x (m-n)

= =
|
|

\
|

m
T
x
T
D
x
x f
x
x f
x f
x
x f
D
) (
, ,
) (
) (
) (
1
L vector (1 x m)

=
+
+
n
m
m
m
n m
I
D
dx
x d
dx
x d
dx
x d
dx
x d
dx
dx
L
M M
L
1
1
1
1
matriz m x (n - m)

=
+
+
n
m
m
m
n m
I
dx
h d
dx
h d
dx
h d
dx
h d
x d
x h d
L
M M
L
1
1
1
1
) (
matriz m x (n m)
|
|

\
|

|
|

\
|

|
|

\
|

|
|

\
|

I D
T
D
T
I
T
R
x
x h
x
x h
x
x f
x
x f
g
) ( ) ( ) ( ) (
1
o bien
|
|

\
|

|
|

\
|

|
|

\
|

|
|

\
|

D
T
D
T
I I
R
x
x f
x
x h
x
x h
x
x f
g
) ( ) ( ) ( ) (
1






Simulacin y Optimizacin de los Procesos Qumicos

123
5.- ALGUNAS REGLAS PRCTICAS PARA LA FORMULACIN DE NLPs.

1. Tratar de especificar los lmites superior e inferior de todas las variables. Esto no
significa introducir nuevas restricciones al problema, ya que estos lmites se tratan de
forma independiente en todos los algoritmos de programacin matemtica y ayudan a
definir el problema.

2. Tratar de formular el problema utilizando restricciones lineales:

2 1
2
1
2 2 x x
x
x
=

3. Eliminar variables slo si no se introducen nuevas no linealidades o se pierden las
caractersticas de convexidad del problema:

Ej
1
:



=
+
=
2 1 . .
2
2 0
2 0
0 2 . .
1
1
1
2
2
1
2 1
2 1
1
2
x a s
x
x Min
x
x
x x a s
x x Min
x
x

no convexo convexo
Ej2:
( )
( )
( )
( )
( )



+
|
|

\
|
+

|
|

\
|
+
+ +
|
|

\
|
+




= +
+ +
|
|

\
|
+
=
2 5 . 0
2 5 . 0
0 1
10
2
10
. .
3 2
10
2 5 . 0
2 5 . 0
2 1
10 . .
3 2
3
2
2
3 2
2
3 2
3 2
2
3 2
10
3
2
1
2
3 2
3 2 1
2
3 2
1
1
x
x
x x
Ln
x x
Ln a s
x x
x x
Ln Min
x
x
x
x x e a s
x x x Mn
x x
Ln x
x

Aunque se reduce la dimensionalidad se aade una nueva restriccin no lineal.
Simulacin y Optimizacin de los Procesos Qumicos

124
4. Tratar de evitar overflows, divisiones por cero, etc:
Ej1.

0 ) exp(
0
0 ) ln(
=
= +
= +
z u
u y x
z y x
Ej2

0
0 ) (
3
3 ) (
2 2 2
2
1

=
=
=
u
z y x u
u v
z y x v

5. Explotar las propiedades globales cuando estas existan: Programa lineal, cuadrtico,
convexo, convexifcar si es posible, etc.

6. Explotar la estructura del problema.
Ej.

1 0
7 5 4
5 . .
3 min
2

= +
= +
=
T
T x T y x
T y y T x a s
y Tx z

Se fija T y se resuelve un problema lineal. T se optimiza en un bucle exterior

7. Tratar de escalar todas las variables y las restricciones, esto facilita la convergencia y
evita problemas de condicionamiento.

8. Tratar de proporcionar buenos valores iniciales a las variables.

Das könnte Ihnen auch gefallen