-
Simulacin y Optimizacin de los Procesos Qumicos
37
TEMA 8: MTODOS NUMRICOS DE OPTIMIZACIN: PROBLEMAS DE OPTIMIZACIN
SIN RESTRICCIONES
1.- INTRODUCCIN: PROGRAMACIN MATEMTICA
2.- OPTIMIZACIN DE FUNCIONES SIN RESTRICCIONES
2.1.- Bsqueda Unidireccional. Conceptos Generales.
2.1.1.- Introduccin 2.1.2.- Acotacin del ptimo.
2.2.- Bsqueda Unidireccional. Mtodos Indirectos
2.2.1.- Mtodo de Newton 2.2.2.- Mtodo de Newton en Diferencias
Finitas. 2.2.3.- Mtodo de la Secante.
2.3.- Bsqueda Unidireccional. Mtodos de Eliminacin de Regin
2.4.- Bsqueda Unidireccional Mtodos de Aproximacin Polinmica
2.4.1.- Interpolacin Cuadrtica. 2.4.2.- Interpolacin Cbica.
2.5.- Optimizacin Numrica Multivariable sin Restricciones.
2.5.1.- Introduccin 2.5.2.- Mtodos Directos
2.5.2.1.- Mtodos de Bsqueda Aleatoria 2.5.2.2.- Mtodos de
Bsqueda en Rejilla. 2.5.2.3.- Bsqueda Univariante. 2.5.2.4.- Mtodo
Simples Flexible. 2.5.2.5.- Direcciones Conjugadas. Mtodo de
Powell.
2.5.3.- Mtodos Indirectos. Mtodos de primer orden. 2.5.3.1.-
Mtodo de Gradiente. (Mximo Descenso). 2.5.3.2.- Mtodo de Gradiente
Conjugado.
-
Simulacin y Optimizacin de los Procesos Qumicos
38
2.5.4.- Mtodos Indirectos. Mtodos de Segundo Orden. 2.5.4.1.-
Mtodo de Newton. 2.5.4.2.- Forzando a la Matriz Hessiana a ser
Definida Positiva. 2.5.2.3.- Mtodos de Secante
-
Simulacin y Optimizacin de los Procesos Qumicos
39
TEMA 8
MTODOS NUMRICOS DE OPTIMIZACIN: PROBLEMAS DE OPTIMIZACIN SIN
RESTRICCIONES
1.- INTRODUCCIN: PROGRAMACIN MATEMTICA
Las condiciones de optimalidad discutidas en los captulos
anteriores forman la base terica para el desarrollo de varios
algoritmos para la optimizacin de funciones con y sin
restricciones.
Los algoritmos para la optimizacin no lineal sin restricciones
con mltiples variables se pueden clasificar como: (i) Bsqueda sin
el uso de derivadas (ii) bsqueda usando informacin de la derivada
primera, y (iii) bsqueda usando informacin de la derivada segunda.
Ejemplos tpicos de que no usan derivadas son el mtodo simplex, el
algoritmo de Hooke y Jeeves, el mtodo de Rosenbrock y el mtodo de
las direcciones conjugadas. Entre los algoritmos que usan
informacin del gradiente estn el mtodo de mximo descenso, el mtodo
del gradiente conjudado y los mtodos cuasi Newton. El mtodo del
mximo descenso realiza una bsqueda a lo largo de la direccin
opuesta al gradiente para minimizar la funcin. El mtodo de
gradiente conjugado combina la informacin del ltimo gradiente con
la informacin de gradientes de iteraciones previas. Los mtodos
cuasi Newton construyen una aproximacin de la curvatura de la
funcin no lineal utilizando slo informacin del gradiente, evitando
por lo tanto calcular de forma explcita la matriz hessiana. En el
mtodo de Newton, la inversa de la matriz hessiana premultiplica a
la direccin de mximo descenso y se encuentra una direccin adecuada
usando una aproximacin cuadrtica de la funcin objetivo.
En la optimizacin no lineal con restricciones los diferentes
mtodos pertenecen a las clases: (i) mtodos de penalizacin exterior.
(ii) mtodos de penalizacin interior (barrera) (iii) mtodos de
proyeccin de gradiente. (iv) mtodo de gradiente reducido
generalizado (v) programacin lineal sucesiva (vi) programacin
cuadrtica sucesiva.
-
Simulacin y Optimizacin de los Procesos Qumicos
40
En el mtodo de penalizacin exterior se aade un trmino de
penalizacin para cada violacin de las restricciones de igualdad o
desigualdad. El problema se transforma en un problema sin
restricciones o en una sucesin de problemas sin restricciones. Se
genera una secuencia de puntos no factibles. El parmetro de
penalizacin se debe hacer lo suficientemente grande para generar
una secuencia de soluciones que nos acerquen al ptimo desde puntos
no factibles. Para evitar el mal condicionamiento derivado de tener
que hacer el parmetro de penalizacin infinitamente grande a medida
que nos acercamos al ptimo se desarrollaron las funciones de
penalizacin exterior exactas. Estos mtodos tratan de conseguir el
ptimo utilizando valores finitos del parmetro de penalizacin. Las
funciones de penalizacin exactas no diferenciables introducen los
valores absolutos de las restricciones de igualdad en la funcin
objetivo. Las funciones de penalizacin exterior exactas
diferenciables suelen definir una lagrangiana aumentada aadiendo a
la lagrangiana original trminos cuadrticos para penalizar las
restricciones de igualdad y desigualdad.
Los mtodos de barrera transforman el problema original con
restricciones en una sucesin de problemas sin restricciones
introduciendo una funcin de barrera que evita la generacin de
puntos externos a la regin factible. El lmite de la secuencia de
puntos generados corresponde al ptimo del problema. Un ejemplo de
funcin de barrera es aquella que introduce los logaritmos de las
desigualdades en la funcin objetivo. Los mtodos clsicos de barrera
presentan graves problemas de mal condicionamiento en las
proximidades del ptimo. (Aunque ltimamente se han introducido
mejoras en los algoritmos que evitan los problemas de mal
condicionamiento).
Los mtodos de proyeccin de gradiente, cuando se aplican a
problemas con restricciones lineales proyectan el gradiente de la
funcin objetivo en el espacio nulo de gradientes de las igualdades
y desigualdades activas buscando mejorar en la direccin factible.
En presencia de restricciones no lineales, el gradiente proyectado
podra no llevar a direcciones factibles, y por lo tanto es
necesario introducir alguna correccin que permita obtener una
direccin factible. Los mtodos de gradiente reducido emplean
linealizaciones sucesivas de la funcin objetivo y de las
restricciones, reducen la dimensionalidad del problema a un
subconjunto reducido de variables, determina las componentes de las
variables independientes, y expresa los gradientes y la direccin de
bsqueda en trminos de las variables independientes.
-
Simulacin y Optimizacin de los Procesos Qumicos
41
En cada iteracin de los mtodos de programacin lineal sucesiva,
se formula un LP por linealizacin de la funcin objetivo y de las
restricciones. La solucin de este LP da una nueva direccin de
bsqueda. Habitualmente se usa una funcin de penalizacin exacta para
aceptar o rechazar aquellas nuevas direcciones de bsqueda que
llevan a violaciones en los lmites de las variables. Esta clase de
mtodos tienen la ventaja de utilizar solamente problemas lineales y
estn especialmente aconsejado usarlos cuando son predominantes las
restricciones lineales. La programacin lineal sucesiva presenta
convergencia cuadrtica en el caso de que la solucin ptima se site
en un vrtice de la regin factible. Sin embargo, si la solucin es un
punto interior la velocidad de convergencia es muy lenta.
La programacin cuadrtica sucesiva trata de mejorar la
convergencia de la programacin lineal sucesiva utilizando
aproximaciones de segundo orden. En este caso se aplica el mtodo de
Newton (o cuasi Newton) para resolver directamente las condiciones
de optimalidad de KKT del problema original. La nueva direccin de
bsqueda resulta de la solucin de un problema que tiene como funcin
objetivo una aproximacin cuadrtica de la lagrangiana de la funcin
con una aproximacin definida positiva de su hessiana y que tiene
como restricciones aproximaciones lineales de las originales no
lineales. El empleo de actualizaciones como la (BFSG) de la
hessiana de la lagrangiana ha demostrado caractersticas de
velocidad de convergencia superlineal si se da un punto inicial
suficientemente cercano al ptimo. La introduccin de funciones de
penalizacin exacta evita la necesidad de estimar puntos cercanos a
la solucin y que bajo ciertas suposiciones presenta caractersticas
de convergencia global.
-
Simulacin y Optimizacin de los Procesos Qumicos
42
2.- OPTIMIZACIN DE FUNCIONES SIN RESTRICCIONES
2.1.- BSQUEDA UNIDIRECCIONAL. CONCEPTOS GENERALES.
2.1.1.- Introduccin.
Una buena tcnica de optimizacin de funciones de una nica
variable es fundamental por al menos tres razones:
1.- En muchos problemas las restricciones se pueden incluir
dentro de la funcin objetivo, por lo que la dimensionalidad del
problema se reduce a una variable.
2.- Algunos problemas sin restricciones, inherentemente incluyen
una nica variable.
3.- Las tcnicas de optimizacin con y sin restricciones,
generalmente incluyen pasos de bsqueda unidireccional en sus
algoritmos.
Antes de la aparicin de los ordenadores de alta velocidad, los
mtodos de optimizacin estaban prcticamente limitados a los mtodos
indirectos en los cuales el clculo del extremo potencial estaba
restringido al uso de derivadas y la condiciones necesaria de
optimalidad. Los modernos ordenadores han hecho posible los mtodos
directos, esto es la bsqueda de un ptimo por comparacin sucesiva de
los valores de la funcin f(x) en una secuencia de puntos x1, x2,
x3... sin la necesidad de hacer intervenir derivadas analticas.
Para llevar a cabo los mtodos directos de minimizacin numrica
solamente se usa el valor de la funcin objetivo. Se comienza con un
valor inicial de x y se continua seleccionando valores de x de
acuerdo con una estrategia pre-seleccionada. El proceso termina
cuando ( ) ( )f x f xk k+
-
Simulacin y Optimizacin de los Procesos Qumicos
43
neutralizada por la falta de inters de determinaciones precisas
de la funcin objetivo debido a la falta de precisin de los
coeficientes que muchas veces se utilizan.
Los mtodos numricos directos, tienen la ventaja de que pueden
tratar fcilmente con problemas que incluyan discontinuidades,
puntos de inflexin y puntos finales. Tambin el carcter de f(x) en
las vecindades de un extremo es fcilmente estudiable.
Para resolver un problema de optimizacin no lineal sin
restricciones bastara derivar cada una de las funciones e igualar a
cero. Aparecera entonces un sistema de n ecuaciones no lineales.
Sin embargo el problema as planteado podra ser incluso ms difcil
que el problema de optimizacin original, por eso muchos autores
prefieren resolver el problema de optimizacin por mtodos directos
usando algunas de las tcnicas que veremos en prximas secciones.
Para aplicar los mtodos de bsqueda directa se debe comenzar por
acotar el punto donde se encuentra el ptimo, y asegurarse de que la
funcin es unimodal en el intervalo considerado. Es muy difcil
determinar, a priori, si una funcin es unimodal, pero en muchos
casos prcticos las funciones presentan esta caracterstica.
Un mtodo de optimizacin para una nica variable, podra consistir
en dividir el intervalo de bsqueda en una rejilla (numero de
intervalos), y calcular la funcin objetivo en cada uno de los
puntos de la rejilla. El ptimo ser el mejor de todos los valores
obtenidos. Por otra parte es casi imposible llevar a la prctica
estos mtodos en un espacio mltiple de variables.
Para seleccionar el mtodo de optimizacin se debe alcanzar un
compromiso entre la complejidad del procedimiento y el nmero total
de evaluaciones que se debe realizar.
2.1.2.- Acotacin del ptimo.
Casi todos los procedimientos de bsqueda unidimensional
requieren que el ptimo est acotado dentro de un intervalo conocido
como primer punto de la estrategia de bsqueda.
Existen varias estrategias que se pueden usar para acotar el
ptimo, la ms sencilla consiste en fijar un punto y comenzar a
movernos una distancia fija en una direccin. Por
-
Simulacin y Optimizacin de los Procesos Qumicos
44
ejemplo, si fijamos como punto inicial el cero, podemos movernos
0.01 cada vez. Aunque el mtodo da buenos resultados es bastante
ineficaz. Una alternativa es hacer una transformacin de x, por
ejemplo a una escala logartmica o bien incluir un factor de
aceleracin:
x xk kk
+
= +112
De todas maneras, en una buena parte de los problemas de
optimizacin los lmites de las variables vienen dados de forma
natural por consideraciones fsicas: mxima y mnima temperatura
permitida, lmites de presin, valores de las fracciones molares
etc...
Los mtodos de bsqueda unidimensional se pueden clasificar en
mtodos directos, mtodos indirectos de bsqueda secuencial, y mtodos
de interpolacin polinmica. Veremos ahora cada uno de ellos.
-
Simulacin y Optimizacin de los Procesos Qumicos
45
2.2- BSQUEDA UNIDIMENSIONAL: MTODOS INDIRECTOS
Han sido desarrollados, bsicamente tres mtodos para llevar a
cabo la bsqueda directa unidireccional, basados en las condiciones
de optimalidad. Estos son:
1.- Mtodo de Newton 2.- Aproximaciones finitas al mtodo de
Newton (Mtodos cuasi-Newton) 3.- Mtodos de secante.
Para comparar la eficacia de cada mtodo, es til examinar la
velocidad de convergencia de cada uno de ellos. Las velocidades de
convergencia se pueden clasificar de muchas maneras, las ms comunes
son:
Lineal x x
x xc c
k
k
+
1
0 1*
*
Orden p x x
x xc c p
k
k p
+
> 1
0 1*
*; (El ms rpido en la prctica)
Superlineal limk
x x
x x
k
k
+1
0*
*(Habitualmente rpido)
2.2.1.- Mtodo de Newton
De acuerdo con la primera condicin necesaria para que una funcin
tuviera un mnimo local se debe cumplir que ( )f x' = 0 . Por lo
tanto podemos aplicar el mtodo de Newton a la derivada, as:
( )( )x x
f xf x
k kk
k+
= 1 '
' '
-
Simulacin y Optimizacin de los Procesos Qumicos
46
Asegurndonos que en la etapa k, ( ) ( )f x f xk k+
-
Simulacin y Optimizacin de los Procesos Qumicos
47
2.2.3.- Mtodos de secante
Los mtodos de secante toman dos puntos, xp y xq y resuelve una
ecuacin similar a la dada en el mtodo de Newton:
( ) ( )f x m x xk k' + = 0
donde m es la pendiente de la lnea que conecta xp con xq. dada
por:
( ) ( )m
f x f xx x
q p
q p=
' '
El mtodo de la secante aproxima la segunda derivada por una lnea
recta. Cuando xqxp el valor de m se aproximar al valor de la
segunda derivada. En este sentido el mtodo de la secante se podra
considerar tambin un mtodo cuasi Newton. Admitiendo que la funcin
es unimodal, el mtodo comienza con dos puntos cualquiera del
intervalo de tal manera que la primera derivada tenga signos
diferentes. Calculando el cero de la ecuacin de partida se
obtiene:
( ) ( )( ) ( )[ ]x x
f x x xf x f x
qq q p
q p
~
*'
' '
=
Los dos puntos seleccionados para el paso siguiente son x~
* y xp xq dependiendo de los signos de f(xp) y de f(xq) con
respecto al de f x( *)
~
.
El mtodo de la secante parece bastante crudo pero funciona
bastante bien en la prctica. El orden de convergencia para
funciones de una sola variable es de ( )1 5 2 16+ / . . Su
convergencia es ligeramente menor que la del mtodo de Newton de
diferencias finitas, pero en muchas ocasiones funciona mejor que
este en lo que a nmero de evaluaciones de la funcin objetivo se
refiere.
-
Simulacin y Optimizacin de los Procesos Qumicos
48
2.3.- BSQUEDA UNIDIRECCIONAL: MTODOS DE ELIMINACIN DE REGIN
Los mtodos de eliminacin de regin para una bsqueda
unidimensional se basan en eliminar una regin, en cada etapa, del
intervalo en el que est comprendido el mnimo. Cuando la regin
posible es suficientemente pequea la bsqueda termina.
El elemento bsico dentro del sistema de eliminacin de regiones
es la comparacin de valores de f(x) en dos o ms puntos dentro del
intervalo de x. Debemos asumir que f(x) es unimodal, y que tiene un
mnimo (es convexa) dentro de [a, b].
Si partimos de dos puntos de test sean x1, x2 deberamos
elegirlos de tal manera que la bsqueda fuera lo ms eficiente
posible. Si usamos un espaciado igual, esto es x a b x x x1 2 2 1 =
= el mtodo de bsqueda se llama bsqueda de dos puntos a intervalos
iguales. El intervalo de incertidumbre se reduce en 1/3 en cada
iteracin. As si L0 es la longitud del intervalo original (b-a) y Lk
es el intervalo despus de k iteraciones, como en cada iteracin se
llevan a cabo dos evaluaciones de la funcin objetivo, entonces Lk
tras k iteraciones viene dado por:
L Lkk
=
23
0
Un mtodo ms eficiente usa x1-a=b-x2 pero x1 y x2 estn colocados
muy cerca uno del otro (idealmente una distancia infinitesimal).
Este mtodo es el mtodo de la biseccin o bsqueda dicotmica. La
incertidumbre del intervalo despus de k iteraciones vendr dada
por:
L Lkk
=
12
0
Sin embargo los mtodos ms eficientes de bsqueda por eliminacin
de regiones son los mtodos de Fibonacci y de la seccin urea, los
cuales usan una relacin constante para dividir el intervalo en
segmentos. Pasaremos a discutir el mtodo de la seccin urea que
viene de los nmeros de Fibonacci.
-
Simulacin y Optimizacin de los Procesos Qumicos
49
La estrategia empleada en el mtodo de la seccin urea es
localizar dos puntos interiores del intervalo eliminado en cada
iteracin de tal manera que se cumpla la relacin:
x yy
yx
+=
x yy
a b
Adems solamente una nueva evaluacin se realiza en cada etapa de
bsqueda. Para calcular la relacin dentro del mtodo de la seccin
urea tenemos que resolver:
x y
yyx
+ =
=
11
Esto nos lleva a que:
x F y Fs B=
= =
=
3 52
0 382 13 5
20 618. ; .
Para un determinado intervalo Lk se aplican las fracciones Fs y
FB para calcular las distancias apropiadas. Si ak y bk son los
extremos del intervalo en la etapa k de bsqueda los dos nuevos
puntos interiores estarn localizados en
x a F L
x b F L
k kS
k
k kS
k1
1
21
+
+
= +
=
Ntese en cada nueva iteracin uno de los nuevos puntos estar fijo
de la iteracin anterior. As despus de k etapas la longitud del
intervalo ser:
( )L Lk k= 0 618 0.
Donde se han llevado a cabo un total de k+1 evaluaciones de la
funcin objetivo.
-
Simulacin y Optimizacin de los Procesos Qumicos
50
2.4.- BSQUEDA UNIDIRECCIONAL: MTODOS DE APROXIMACIN
POLINMICA.
Otra clase de mtodos de minimizacin unidimensional localizan un
punto x cercano a x*, el valor de la variable independiente
correspondiente al mnimo de f(x), por interpolacin y extrapolacin
utilizando aproximaciones polinmicas a f(x). Se han propuesto tanto
aproximaciones cuadrticas como cbicas usando tanto los valores de
la funcin solamente como los de sus derivadas primeras. Se ha
comprobado que los mtodos de interpolacin polinmica son normalmente
ligeramente mejores que el mtodo de la seccin urea.
2.4.1.- Interpolacin cuadrtica.
Si comenzamos con tres puntos, por ejemplo x1, x2, x3 en orden
creciente, y no necesariamente igualmente espaciados, pero
contenidos dentro de la zona de bsqueda (a,b), podemos aproximarlos
a un polinomio de grado 2, ( )f x a bx cx= + + 2 de tal manera que
dicho polinomio pasa exactamente por esos tres puntos y debe
presentar un mnimo en:
xbc
~
*= 2
Si suponemos que f(x) se evala en los tres puntos, podramos
calcular los valores de a, b, c resolviendo el sistema de tres
ecuaciones lineales:
( )( )( )
f x a b x c xf x a b x c xf x a b x c x
1 1 12
2 2 22
3 3 32
= + +
= + +
= + +
lo que nos lleva a :
( ) ( ) ( )( ) ( ) ( )xx x f x x f x x fx x f x x f x x f
~
* = + +
+ +
12
22
32
1 32
12
2 12
22
3
2 3 1 3 1 2 1 2 3
-
Simulacin y Optimizacin de los Procesos Qumicos
51
con f f x f f x f f x1 1 2 2 3 3 ( ); ( ); ( )
Para ilustrar la primera etapa del procedimiento de bsqueda
examinaremos la Figura 1. Sealar que solamente una nueva evaluacin
de la funcin objetivo se lleva a cabo en cada etapa de bsqueda.
I Si x cae entre x y x
af ff f elegir x x x
bf ff f elegir x x x
. *
( ) **
, *,
( ) **
, , *
Qi excepto de Qmax se lleva a cabo una contraccin obtenindose un
nuevo punto Q***:
( )Q Q Bc c*** *= + 1
donde c es un coeficiente de contraccin, generalmente 0.5. Y se
vuelve al punto 1, excepto en el caso que el nuevo vrtice sea peor
que Qmax en cuyo caso se sigue con c1.
B
Peor valor
Q*
B
Q*
Peor valor
Q*** Q***
Figura 6.- Contraccin del simplex
-
Simulacin y Optimizacin de los Procesos Qumicos
62
(c1). Cambio todos los vrtices excepto Qmin. Se genera una nueva
figura dividiendo a la mitad la distancia de todos los vrtices a
Qmin.
Peor valor Peor valor
QminQmin
Figura 7.- Cambio de vrtices.
Se vuelve entonces a la etapa 1.
2.5.2.5.- Direcciones conjugadas. Mtodo de Powell
La experiencia ha demostrado que las direcciones llamadas
conjugadas son mucho ms efectivas como direcciones de bsqueda que
otras como pueden ser la bsqueda univariante o las direcciones
ortogonales.
Dos direcciones si y sj se dice que son conjugadas una con
respecto a la otra si:
( ) ( )s Q si T j = 0
En general un conjunto de n direcciones de bsqueda linealmente
independientes s0, s1, s2,...sn-1 se dice que son conjugadas con
respecto a una matriz definida positiva Q si
( ) ( )s Q si T j i j n= 0 0 1
En optimizacin la matriz Q es la matriz hessiana de la funcin
objetivo, H. Para una funcin cuadrtica f(x) de n variables, para la
cual H es una matriz constante est garantizado que se obtiene el
ptimo en n etapas de bsqueda unidireccional si se obtiene
exactamente el mnimo de cada etapa. Una direccin conjugada en
general no es una direccin nica. Sin embargo, en dos dimensiones,
si se elige una direccin s1 y Q s2 queda completamente
especificada.
-
Simulacin y Optimizacin de los Procesos Qumicos
63
La ortogonalidad es un caso especial de la conjugacin cuando
Q=I. Aunque es corriente encontrar en la bibliografa conjuntos de
mtodos conocidos como de direcciones conjugadas estas,
estrictamente hablando slo existen para funciones cuadrticas o
aproximaciones cuadrticas de la funcin objetivo en la etapa k.
Cmo se puede calcular las direcciones conjugadas sin usar
derivadas? Este es un concepto bsico que lo referiremos a la
siguiente figura. Comenzamos con el punto x0. Localizamos el punto
xa que es el mnimo en una direccin cualquiera s. Elegimos otro
punto cualquiera (distinto del primero) x1. y localizamos el punto
xb que es el mnimo partiendo del punto x1 en la misma direccin s.
Los puntos xa o xb se obtienen minimizando ( )f x s0 + con respecto
a admitiendo que f(x) es una funcin cuadrtica:
( ) ( ) ( ) ( ) ( )f f x fT Tx x x x H x= + +0 0 0 12 0 0
Se puede demostrar que el ptimo de una funcin cuadrtica cae en
la lnea que une xa con xb. Sin embargo esta ltima afirmacin no es
vlida para otro tipo de funciones.
X
X
X
X1
2
a
b
x*
Powell desarrollo un mtodo basado en las direcciones conjugadas
aplicable a cualquier tipo de funciones. Aunque Powell introdujo
importantes modificaciones a su mtodo para conseguir la adaptacin.
El mtodo sigue una serie de pasos:
Paso 1.- El mtodo comienza realizando una bsqueda en n
direcciones linealmente independientes ( )s s s sn10 20 30 0, , ,
....., que suelen tomarse paralelos a los ejes coordenados.
Partiendo del punto base x 0
0 se lleva a cabo una bsqueda unidimensional en la direccin
s10 para llegar al punto x1
0. Este punto (x10) se toma como punto de partida para una
nueva
bsqueda unidireccional, en este caso en la direccin s20, y as
sucesivamente hasta acabar
en el punto xn0 (La figura ilustra el caso para dos
dimensiones).
-
Simulacin y Optimizacin de los Procesos Qumicos
64
Paso 2.- Buscamos el punto particular xk0 para el cual se ha
obtenido una mejora mayor
de la funcin objetivo respecto al punto anterior xk10 .
Definimos dos magnitudes:
( ) ( )[ ]k k kf x f x= 10 0 = x x00 0n
Paso 3.- Determinamos:
( )f ft n0 0 002= x x
y llevamos a cabo dos comparaciones.
Si ( )f ft0 00 x y/o ( ) ( )( ) ( ) ( )( ) ( )( )f f f f f x f
fn t n tx x x x00 0 0 00 0 0
0 0
22
+
Entonces la direccin no es una buena direccin de bsqueda y
repetiramos la bsqueda comenzando desde el punto xo
n como punto base. En caso contrario se procede
a incorporar la direccin al conjunto de direcciones de bsqueda,
sustituyendo a la direccin que peor resultado hubiese obtenido.
En la nueva etapa de bsqueda conviene que la ltima direccin
investigada (en la etapa de bsqueda unidireccional) sea .
Las dos desigualdades anteriores comprueban, la primera si se
obtiene una mejora en la direccin al pasar del punto xo
o al punto xn
0, y la segunda, que la funcin descienda de
manera pronunciada y no a travs de una zona plana.
-
Simulacin y Optimizacin de los Procesos Qumicos
65
x
x
x
x
00
10
02
30 x x2 2
0=
00
-
Figura 8. Ilustracin del mtodo de Powell.
-
Simulacin y Optimizacin de los Procesos Qumicos
66
2.5.3. MTODOS INDIRECTOS: MTODOS DE PRIMER ORDEN.
Los mtodos indirectos, en contraste con los mtodos descritos en
las secciones previas hacen uso de las derivadas en la determinacin
de la direccin de bsqueda. Sin embargo, nuestra clasificacin en
mtodos directos e indirectos, podra no estar clara del todo debido
a la aproximacin de las derivadas por diferencias finitas, lo que
estrictamente hablando hace a estos mtodos libres de derivadas. Una
buena direccin de bsqueda debera reducir (para minimizacin) la
funcin objetivo, de tal manera que si x0 es el punto inicial y x1
es un nuevo punto:
( ) ( )f fx x1 0<
Una direccin s es llamada de descenso si satisface la siguiente
relacin en un punto dado:
( )
-
Simulacin y Optimizacin de los Procesos Qumicos
67
El gradiente negativo da la direccin de movimiento, pero no la
longitud de dicho movimiento. Por lo tanto existen varios
procedimientos posibles dependiendo de la eleccin de k. Entre los
diversos mtodos que existen para la seleccin de la longitud de
paso, dos merecen una mencin especial. El primero de ellos emplea
una bsqueda unidireccional en la direccin del gradiente. El segundo
especifica a priori la longitud del paso para cada iteracin.
Claramente la principal dificultad con la segunda aproximacin es
que a menudo no se sabe a priori la longitud de paso adecuada. Cmo
se debera cambiar esta longitud de paso y como debera reducirse a
medida que nos aproximamos al mnimo para conseguir la convergencia?
una ilustracin nos indicar el problema: Supongamos una funcin
cuadrtica de dos variables como la de la figura siguiente:
Figura 9.- Oscilacin del mtodo de mximo descenso
Si en cada paso se realiza una optimizacin total en la direccin
contraria al gradiente los pasos sucesivos del mtodo de mximo
descenso son ortogonales uno con respecto al anterior. Este
resultado, que parece peculiar, ocurre para una determinada f(x)
debido a que la derivada de f(x) a lo largo de la lnea s() viene
dado, utilizando la regla de la cadena por:
( )d fd
dd x
d fd x s
fx
fii i
iii
T
= = = s
en el paso final de la bsqueda queremos que d fd xi
= 0 y por lo tanto ( )s f xT k =+1 0. En la prctica, por lo
tanto no es deseable llevar a cabo suboptimizaciones con demasiada
precisin. Mientras que el mtodo del gradiente puede producir
progresos muy
-
Simulacin y Optimizacin de los Procesos Qumicos
68
satisfactorios en la reduccin de f(x) en la primeras iteraciones
tiende a hacerse muy lento en las ltimas. Alargando excesivamente
los clculos.
El algoritmo prctico lo podemos resumir en los siguientes
pasos:
1.- Elegir un valor inicial x0. En pasos sucesivos ser xk. 2.-
Calcular, analtica o numricamente las derivadas parciales
( )
fx
j nj
x= 1 2 3, , ....,
3.- Calcular el vector de bsqueda
( )s x= f k
4.- Usar la relacin x x sk k k k+ = +1 para obtener el siguiente
punto. El valor de k puede ser de valor fijo o calculado en cada
paso mediante una bsqueda unidireccional.
5.- Comparar ( )f kx +1 con ( )f kx . Si el cambio es menor que
una tolerancia pre-especificada terminar, en caso contrario volver
al paso dos y continuar con las iteraciones.
Un mtodo estricto de descenso mximo puede terminar en cualquier
punto estacionario, es decir, puede llegar a un mnimo local o a un
punto de silla. Para asegurarnos que tipo de resultado hemos
obtenido debemos asegurarnos que la matriz Hessiana es definida
positiva. Por otra parte la dificultad bsica del mtodo de gradiente
es que es muy sensible al escalado de f(x) por lo que la
convergencia puede ser muy lenta y producirse un nmero enorme de
oscilaciones. Desde este punto de vista el mtodo del gradiente no
es muy efectivo.
-
Simulacin y Optimizacin de los Procesos Qumicos
69
2.5.3.2.- Mtodo del gradiente conjugado
El mtodo del gradiente conjugado debido a Fletcher y Reeves
(1964) combina las caractersticas de la convergencia cuadrtica del
mtodo de las direcciones conjugadas con las del mtodo del
gradiente. El mtodo supone una importante mejora del mtodo del
gradiente con slo un pequeo incremento en el esfuerzo de clculo. El
mtodo del gradiente conjugado, esencialmente, combina la informacin
obtenida del vector gradiente con la informacin acerca del vector
gradiente de iteraciones previas. Lo que hace el mtodo es calcular
la nueva direccin de bsqueda utilizando una combinacin lineal del
gradiente en la etapa considerada y el de la etapa anterior. La
principal ventaja del mtodo es que necesita almacenar muy poca
cantidad de informacin con lo que puede ser programado fcilmente
incluso en calculadoras.
Los pasos de clculo se comentan a continuacin:
1.- En x0 (punto inicial) calcular f(x0) y calcular ( )s x0 0=
f
2.- Almacenar ( )f x0 y calcular x x s1 0 0 0= + minimizando
mediante una bsqueda unidireccional en la direccin s0.
3.- Calcular f(x1) f(x1) la nueva direccin de bsqueda es una
combinacin lineal de s0 y f(x1):
( ) ( ) ( )( ) ( )s x sx x
x x
1 1 01 1
0 0= +
f f ff fT
T
para la etapa k-sima la relacin es:
( ) ( ) ( )( ) ( )kkTkkT
kkkfffff
xx
xxsxs
1111
+=++
++
Para una funcin cuadrtica se puede demostrar que dos direcciones
de bsqueda son conjugadas. Despus de n iteraciones conviene
comenzar otra vez desde el principio tomando el ltimo punto k=n
como nuevo punto de partida.
-
Simulacin y Optimizacin de los Procesos Qumicos
70
4.- Realizar el test de convergencia, (la funcin objetivo ha
disminuido), y terminar el algoritmo cuando s k sea menor que
alguna tolerancia preestablecida.
Algunas de las dificultades que aparecen en el mtodo de Powell
tambin aparecen en el mtodo del gradiente conjugado. Se puede
producir una dependencia lineal de las direcciones de bsqueda. Esto
se puede eliminar reiniciando el proceso cada cuatro o cinco etapas
completas.
-
Simulacin y Optimizacin de los Procesos Qumicos
71
2.5.4.- MTODOS INDIRECTOS: MTODOS DE SEGUNDO ORDEN.
Desde el punto de vista de las direcciones de bsqueda el mtodo
del mximo descenso se puede interpretar como un movimiento
ortogonal a una aproximacin lineal (tangente) a la funcin objetivo
en el punto xk. Examinemos ahora la siguiente figura y realicemos
una aproximacin cuadrtica de f(x) en xk.
( ) ( ) ( ) ( ) ( )f f fk T k k k T k kx x x x x H x x + +
12
donde H(x) es la matriz Hessiana evaluada en el punto xk. Por lo
tanto es posible tener en cuenta la curvatura de la funcin en las
proximidades del punto de forma anloga a como se haca en el mtodo
de Newton.
( )s x= f k
xk
x*
linealizacion de f (x)
xk
x*
( )[ ] ( )s x x= _ _2 1f fk k
Aproximaxin cuadrtica de f ( )x
Figura 10.- Aproximacin lineal y cuadrtica de una funcin
2.5.4.1.- El Mtodo de Newton.
El mtodo de Newton hace uso de la aproximacin de segundo orden
de la funcin utilizando las derivadas segundas con respecto a cada
una de las variables independientes. De esta forma es posible tener
en cuenta la curvatura de la funcin en el punto e identificar las
mejores direcciones de bsqueda.
El mnimo de f(x) se obtiene diferenciando la aproximacin
cuadrtica de f(x) con respecto a cada una de las variables e
igualando a cero. As:
-
Simulacin y Optimizacin de los Procesos Qumicos
72
( ) ( ) ( ) = +f f k k kx x H x x o bien
( )[ ] ( )x x x H x xk k k k kf+ = = 1 1
Si f(x) es una funcin cuadrtica el mnimo se alcanza en un nico
paso. Pero para una funcin general no lineal el ptimo no se alcanza
en un nico paso, por lo que se puede modificar la ecuacin anterior
para introducir el parmetro de longitud de paso, con lo que
queda:
( )[ ] ( )x x x H x xk k k k k kf+ = = 1 1
Obsrvese que la direccin s viene ahora dada por :
( )[ ] ( )s H x x= k kf1
La longitud de paso se puede calcular va cualquier mtodo de
optimizacin numrica de los ya comentados o bien analticamente con
lo que se obtendra:
( )( ) ( )
optT k k
k T k k
f=
x ss H x s
En el mtodo de Newton estrictamente hablando el valor de es la
unidad. El problema tambin se puede resolver sin necesidad de
invertir la matriz hessiana resolviendo directamente el sistema de
ecuaciones lineales en x, aplicando la factorizacin adecuada y
evitando los errores de redondeo, en la medida de lo posible, que
puedan aparecer como consecuencia del proceso de inversin de
matrices.
( ) ( )H x x xk k kf =
El mtodo de Newton es el mtodo de minimizacin ms rpido, cuando
funciona bien. Pero presenta las siguientes desventajas:
1.- El mtodo no encuentra necesariamente un ptimo global (pero
esto es una caracterstica de todos los mtodos que hemos comentado
hasta el momento)
-
Simulacin y Optimizacin de los Procesos Qumicos
73
2.- Requiere la inversin de matrices o la resolucin de un
sistema de n ecuaciones lineales
3.- Necesita de las derivadas primera y segunda, las cuales en
la prctica no son fciles de obtener.
4.- El mtodo puede llevar a un punto de silla si la matriz
hessiana no es definida positiva.
La dificultad 3 se puede aliviar utilizando mtodos apropiados de
diferencias finitas para el clculo de las derivadas primera y
segunda. La convergencia global se puede reforzar si, al realizar
un paso de Newton propiamente dicho (=1) no se obtiene mejora de la
funcin objetivo, se vuelve al punto anterior y se realiza una
bsqueda con el valor de variable.
Para evitar la dificultad 4 se debe ser muy cuidadoso con la
tcnica que se utiliza para garantizar que la matriz hessiana o su
inversa sea definida positiva. (en algunos casos debido al nmero de
condicin de la matriz la inversin de sta podra llevar a matrices no
definidas positivas). Por otra parte slo est garantizado que el
valor de la funcin objetivo mejora si la matriz hessiana es
definida positiva. H(x) es definida positiva slo para funciones
estrictamente convexas, pero las funciones no lineales en general
la matriz H(x) puede cambiar de punto a punto y el mtodo de Newton
podra llevarnos a direcciones que no reducen el valor de la funcin
objetivo (o al menos no a las direcciones ptimas). En otras
palabras si los valores propios de la matriz hessiana son todos
positivos sabemos que estamos aproximando nuestra funcin por una
cuadrtica de contornos circulares o elipsoidales que tienen un
mnimo. Pero si al menos dos valores propios presentan signos
opuestos podramos movernos en direccin a un punto de silla en lugar
de hacia el mnimo.
El mtodo de Newton tiene la ventaja de la convergencia cuadrtica
slo en la vecindad del ptimo, donde la funcin objetivo puede ser
aproximada bastante bien por una funcin cuadrtica. Pero en zonas ms
alejadas otros mtodos pueden presentar velocidades de convergencia
mayores.
-
Simulacin y Optimizacin de los Procesos Qumicos
74
2.5.4.2.- Forzando a la matriz Hessiana a ser Definida
Positiva
Marquardt, Levenverg y otros han sugerido que la matriz Hessiana
de f(x) puede ser modificada para obligarla a ser definida positiva
y bien condicionada en cada etapa de bsqueda. El procedimiento
consiste en aadir elementos a la diagonal principal de H(x):
( ) ( )[ ]H x H x I~ = +
donde es una constante positiva para asegurar que ( )H x~ sea
definida positiva cuando H(x) no lo es. Tambin es posible usar
( ) ( )[ ]H x H x I-1~ = +1
donde es un escalar de suficiente valor para el mismo propsito.
Para estar seguro de que valor de usar se debe calcular el valor
propio ms pequeo (ms negativo) de la matriz hessiana en el punto y
hacer { } > min 1 , donde 1 es un valor propio de H(x). Remarcar
que si el valor de es demasiado grande la diagonal principal se
hace tan dominante que el mtodo se convierte en el de mximo
descenso. El problema que aparece ahora es que en cada paso se
deben calcular los valores propios de la matriz hessiana. Se han
desarrollado algunos algoritmos que utilizan valores arbitrarios de
dicho parmetro que se modifican en cada paso de acuerdo a los
valores previos obtenidos. Aunque el mtodo ms comn consiste en
utilizar una factorizacin de Cholesky de la matriz Hessiana.
2.5.4.3.- Mtodos de Secante
Los mtodos de secante comienzan con la misma ecuacin usada en el
mtodo de Newton:
( ) ( ) + =f k kx H x x 0
-
Simulacin y Optimizacin de los Procesos Qumicos
75
Pero a diferencia del mtodo de Newton estamos interesados en
conseguir una actualizacin de la matriz H(x), a la que llamaremos (
))H x usando solamente las derivadas parciales primeras de la
funcin, a semejanza de lo que hacamos en los mtodos de secante
unidimensionales. Si queremos aproximar la matriz inversa, los
mtodos de secante o quasi-Newton calculan un nuevo vector x a
partir de otro de una etapa precedente a travs de ecuaciones
anlogas a las del mtodo de Newton:
( )[ ] ( )x x H x xk k k k kf+ = 1 1 )
donde ( )[ ])H x -1 se conoce en ocasiones como Matriz de
direccin y representa una matriz que es una aproximacin de la
verdadera inversa de la hessiana. Desde este punto de vista si la
matriz ( )[ ])H x -1 es la identidad el mtodo se convierte en el de
descenso rpido.
Se han desarrollado varias frmulas para actualizar las matrices
hessianas. Supongamos por un momento que f(x) es una funcin
cuadrtica entonces podramos elegir dos puntos, xk y xk+1 y un punto
de referencia xp :
( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )
= + = + =
+ +
+ +
f ff ff f
k p k p
k p k p
k k k k
x x H x x
x x H x x
x x H x x
1 1
1 1
)
)
)
Para una funcin no cuadrtica, la matriz )H se podra obtener
resolviendo las ecuaciones
de la secante en los puntos xk y xk+1
( ))H x x gk k k = donde ( ) ( )g x xk k kf f +1
una relacin equivalente sera . ( ) x H x gk k k= ) 1
Debido a que tenemos solamente n ecuaciones y un total de n2
incgnitas (cada uno de los elementos de la matriz hessiana a
actualizar) aparece un nmero infinito de posibles soluciones a las
ecuaciones anteriores. Se debera elegir una matriz ( ))H x lo ms
parecida posible a Hk en algn determinado sentido. Se han hecho
muchas sugerencias al respecto, a continuacin se muestran las dos
actualizaciones ms utilizadas y que han demostrado dar los mejores
resultados en la prctica. Ambas mantienen la matriz hessiana
definida
-
Simulacin y Optimizacin de los Procesos Qumicos
76
positiva y simtrica. Son las actualizaciones de
Devidon-Fletcher-Powell (DFP) y la de Broyden-Fletcher-Goldfard y
Shanno (BFGS).
DFP:
( ) ( ) ( )( ) ( )( ) ( ) ( ) ( )[ ]
( ) ( ) ( )
)
) )
)Hx x
x g
H g g H
g H gk
k k T
k T k
k k k T kT
k T k k
=
1
1 1
1
( )( ) ( )( ) ( )
( ) ( )( )[ ] ( )[ ]
)) ) )
Hg H x g g g H x
g x
g H x x g g
g x g xk
k k k k T k k k k T
k T k
k k k T k k k T
k T k k T k=
+
BFGS:
( )( )
( )( )
)) )
)Hg g
g x
H x x H
x H xk
k k T
k T k
k k k T k
k T k k=
( ) ( )[ ]( ) ( )[ ]( )( )[ ] ( )
( )[ ] ( )[ ]
)
) ) )
Hx H g x x x H g
g x
x H g g x x
g x g xk
k k k k T k k k kT
k T k
k k kT
k k k T
k T k k T k
=
+
1
1 1 1