Вы находитесь на странице: 1из 40

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 x
1
, x
2
, x
3
... 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 x
k k +
<
1
donde el superndice k designa el nmero de
iteracin y es la tolerancia pre-especificada o criterio de tolerancia.

Los mtodos indirectos tienen la ventaja inherente de que la convergencia es
generalmente ms rpida incluso aun cuando se utilicen mtodos numricos para calcular
las derivadas. Sin embargo, en problemas de ingeniera esta ventaja es muchas veces
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 x
k k
k
+

= +
1
1
2

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 x
c c
k
k
+


1
0 1
*
*


Orden p
x x
x x
c c p
k
k
p
+

>
1
0 1
*
*
; (El ms rpido en la prctica)

Superlineal lim
k
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 x
f x
k k
k
k
+
=
1
'
' '


Simulacin y Optimizacin de los Procesos Qumicos

46
Asegurndonos que en la etapa k, ( ) ( ) f x f x
k k +
<
1
, para minimizacin. Realmente lo que
hace el mtodo de Newton es aproximar la funcin por una funcin cuadrtica en x
k
.

( ) ( ) ( ) ( ) ( ) ( ) f x f x f x x x f x x x
k k k k
= + + ' ' '
1
2
2


y dado que ( ) f x ' = 0, diferenciando la ecuacin anterior:

( ) ( ) ( ) f x f x x x
k k k
' ' ' + =
1
2
2 0

Que se puede reordenar para dar la primera ecuacin. El mtodo de Newton es
equivalente a usar un modelo cuadrtico y aplicar las condiciones necesarias de
optimalidad.

Las ventajas del mtodo de Newton son:

1.- El procedimiento es cuadrticamente convergente (p=2), siempre que 0 ) ( ' ' x f
2.- Para una funcin cuadrtica el mnimo se obtiene en una nica iteracin.

Las desventajas son:

1.- Se debe calcular tanto f(x) como f(x).
2.- Si f(x)0 el mtodo converge muy lentamente.
3.- Si existe ms de un extremo, el mtodo podra no converger al extremo deseado.
Adems el mtodo podra oscilar.


2.2.2.- Mtodo de Newton en diferencias finitas

Los mtodos en diferencias finitas tipo Newton, se utilizan si la derivada de la funcin
objetivo es difcil de calcular, o sta viene dada de forma numrica. Se basan en sustituir
las derivadas por aproximaciones en diferencias finitas.




Simulacin y Optimizacin de los Procesos Qumicos

47
2.2.3.- Mtodos de secante

Los mtodos de secante toman dos puntos, x
p
y x
q
y resuelve una ecuacin similar a la
dada en el mtodo de Newton:

( ) ( ) f x m x x
k k
' + = 0

donde m es la pendiente de la lnea que conecta x
p
con x
q
. dada por:


( ) ( )
m
f x f x
x x
q p
q p
=

' '


El mtodo de la secante aproxima la segunda derivada por una lnea recta. Cuando x
q
x
p

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 x
f x f x
q
q q p
q p
~
*
'
' '
=



Los dos puntos seleccionados para el paso siguiente son x
~
* y x
p
x
q
dependiendo de los
signos de f(x
p
) y de f(x
q
) 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 x
1
, x
2
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 x
1 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 L
0
es la longitud del intervalo original (b-a) y L
k
es el intervalo despus de k
iteraciones, como en cada iteracin se llevan a cabo dos evaluaciones de la funcin
objetivo, entonces L
k
tras k iteraciones viene dado por:

L L
k
k
=
|
\

|
2
3
0


Un mtodo ms eficiente usa x
1
-a=b-x
2
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 L
k
k
=
|
\

|
1
2
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 y
y
y
x
+
=
x y
y
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
y
y
x
+ =
=
1
1

Esto nos lleva a que:

x F y F
s B
=

= =

=
3 5
2
0382 1
3 5
2
0 618 . ; .

Para un determinado intervalo L
k
se aplican las fracciones F
s
y F
B
para calcular las
distancias apropiadas. Si a
k
y b
k
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 k
S
k
k k
S
k
1
1
2
1
+
+
= +
=


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 L
k 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 x
1
, x
2
, x
3
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:

x
b
c
~
*=
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 x
f x a b x c x
f x a b x c x
1 1 1
2
2 2 2
2
3 3 3
2
= + +
= + +
= + +


lo que nos lleva a :


( ) ( ) ( )
( ) ( ) ( )
x
x x f x x f x x f
x x f x x f x x f
~
* =
+ +
+ +

(
1
2
2
2
3
2
1 3
2
1
2
2 1
2
2
2
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 x
1 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
a
f f
f f
elegir x x x
b
f f
f f
elegir x x x
. *
( )
*
*
, *,
( )
*
*
, , *

<
<
>
<
2 3
2
3
2 3
2
3
1 2


f(x) f(x)
(a)
(b)
x1 x2 x3 x*
x1 x2 x3 x*
Figura 1.- Ejemplo de interpolacin polinmica

Si el ptimo cae entre x1 y x2 se procede de forma anloga al caso anterior. La bsqueda
termina cuando se ha alcanzado la precisin deseada.


2.4.2.- Interpolacin cbica.

La interpolacin cbica en la bsqueda de un ptimo se basa en la aproximacin de la
funcin objetivo por un polinomio de tercer grado dentro del intervalo de inters, y
determinar el punto estacionario asociado con el polinomio.

Para realizar la interpolacin cbica hacen falta cuatro puntos o dos puntos con sus
respectivas derivadas.

Simulacin y Optimizacin de los Procesos Qumicos

52
En el caso de que se evalen cuatro puntos, tenemos que aparece un sistema de cuatro
ecuaciones lineales con cuatro incgnitas (los coeficientes del polinomio). Sea la matriz
X:

X
x x x
x x x
x x x
x x x
=
1
3
1
2
1
2
3
2
2
2
3
3
3
2
3
4
3
4
2
4
1
1
1
1


( ) ( ) ( ) ( ) [ ]
4 3 2 1
, , , x f x f x f x f f
T
=
[ ]
4 3 2 1
, , , a a a a a
T
=
f=Xa

El extremo de f(x) se obtiene igualando la derivada de esta a cero, por lo tanto:

f x a x a x a ' ( ) = = + + 0 3 2
1
2
2 3


x
a a a a
a
~
* =
2 4 12
6
2 2
2
1 3
1


El signo a utilizar depender del signo de la segunda derivada que gobernar si es un
mximo o un mnimo. Los valores de A se pueden calcular a=f
-1
X.

Despus de que se ha calculado el nuevo valor de x*, se elimina aquel punto que haya
dado el peor valor de todos los calculados, se toma el valor de x* como nueva estimacin
y se prosigue con el mtodo.

Si se dispone de la informacin de las primeras derivadas, entonces solo son necesarios
dos puntos para llevar a cabo la interpolacin cbica. Los valores disponibles son (x
1
, f
1
,
f
1
); y (x
2
, f
2
, f
2
). El ptimo cae en :

( ) x x
f w z
f f w
x x
~
*
'
' '
=
+
+

(

2
2
2 1
2 1
2

Simulacin y Optimizacin de los Procesos Qumicos

53
donde
[ ]
[ ]
[ ]
z
f f
x x
f f
w z f f
=

+ +
=
3
1 2
2 1
1 2
2
1 2
1
2
' '
' '


En un problema de minimizacin x
1
<x
2
; f
1
<0; f
2
>0 (x
1
, x
2
acotan el mnimo). Para
seguir con una nueva iteracin se calcula f x ' ( *)
~
para determinar cual de los dos puntos
previos debe ser reemplazado. La programacin de estos mtodos en algoritmos de
programacin no lineal con uso de gradiente se hace de una manera muy directa y
efectiva.

Por ltimo nos quedara por saber Cmo se utilizan los mtodos de optimizacin
unidimensional en funciones de varias variables? La minimizacin de una funcin f(x) de
varias variables suele seguir el procedimiento general de (a) calcular una direccin de
bsqueda y (b) reducir el valor de f(x) a lo largo de dicha direccin de bsqueda. Lo que
realmente se hace es optimizar el valor de un parmetro en una direccin prefijada s.
As cualquier nuevo punto calculado vendr dado por:

x
nuevo
= x
anterior
+ s

es la distancia que nos movemos en la direccin s.
Simulacin y Optimizacin de los Procesos Qumicos

54
2.5.- OPTIMIZACIN NUMRICA MULTIVARIABLE SIN RESTRICCIONES


2.5.1.- Introduccin.

La optimizacin numrica de funciones no lineales requiere la utilizacin de tcnicas de
optimizacin eficientes y robustas. La eficiencia es importante porque la solucin de
estos problemas se lleva a cabo por un procedimiento iterativo. La robustez (habilidad
para encontrar la solucin) es una propiedad deseable dado que el comportamiento de las
funciones no lineales puede ser impredecible: pueden presentar mximos, mnimos y
puntos de silla. En algunas regiones el avance hacia el ptimo puede ser muy lento,
necesitando mucho tiempo de clculo etc. Afortunadamente se posee mucha experiencia
utilizando mtodos de optimizacin numrica lo que permite contar con buenos
algoritmos y conocer sus limitaciones y posibilidades.

En este captulo discutiremos la solucin del problema sin restricciones:

Encontrar [ ] x x x x
n
T
* , ,....... =
1 2
que minimice ( )
( )
f x x x f
n 1 2
, ,.... x

La mayor parte de los procedimientos iterativos que son efectivos, alternan la
optimizacin en dos fases

(a) Eleccin de una direccin s
k

(b) Movimiento en la direccin s, (en alguna extensin, o hasta encontrar un
mnimo) para encontrar un nuevo punto x x x
k k +
= +
1
donde x
k
se suele llamar
el tamao del paso.

Adems de (a) y (b) un algoritmo debe especificar:

(c) Un vector de valores iniciales [ ] x
0
1
0
2
0 0
= x x x
n
T
, ,....
(d) Un criterio de convergencia para la terminacin del algoritmo.

La mayor parte de los algoritmos de clculo siguen una metodologa similar. Se
determina un punto inicial, se evala la funcin en ese punto y se elige una direccin de
bsqueda. Se comienza entonces un movimiento en la direccin de bsqueda, hasta
Simulacin y Optimizacin de los Procesos Qumicos

55
encontrar un ptimo en esa direccin, o bien hasta que se produzca una mejora
determinada. A continuacin se selecciona una nueva direccin y as sucesivamente.

Los mtodos NLP sin restricciones que discutiremos en este captulo difieren en como se
generan las direcciones de bsqueda. Algunos mtodos utilizan informacin de las
derivadas, mientras que otros se basan solamente en evaluaciones de la funcin objetivo.
Comenzaremos con algunos mtodos que no usan derivadas y despus presentaremos los
mtodos que usan informacin de las derivadas.

Simulacin y Optimizacin de los Procesos Qumicos

56

2.5.2.- MTODOS DIRECTOS

Los mtodos directos no hacen uso de la informacin proporcionada por las derivadas.
Bajo estas circunstancias, estos mtodos se pueden usar con bastante efectividad, pero
son muy ineficientes comparados con los mtodos discutidos en las siguientes secciones.
Tienen la ventaja de que estos mtodos son muy simples de entender y muy fciles de
ejecutar.


2.5.2.1.- Mtodos de bsqueda aleatoria

Un mtodo aleatorio simplemente selecciona un vector inicial x
0
, evala la funcin
objetivo en ese punto y entonces aleatoriamente selecciona otro vector x
1
. Tanto la
direccin de bsqueda como la longitud de bsqueda son elegidas simultneamente.
Despus de una o ms etapas, el valor de f(x
k
) se compara con el mejor valor previo de
f(x) y se toma la decisin de continuar o terminar el procedimiento. Existen diversas
variaciones de este algoritmo, aunque estrictamente hablando slo se alcanza la solucin
cuando k , pero desde un punto de vista prctico, si el objetivo tiene una forma muy
plana se pueden encontrar soluciones subptimas bastante aceptables. Aunque el mtodo
es bastante ineficiente por si mismo, puede dar valores aceptables de partida para otros
mtodos.


2.5.2.2.- Mtodos de bsqueda en rejilla.

Los mtodos bsicos de diseo de experimentos discutidos en muchos textos de
estadstica, se pueden aplicar tambin a minimizacin de funciones. Se pueden
seleccionar una serie de puntos alrededor de un punto base de referencia, de acuerdo a
algunos de los diseos del tipo que se muestra en la siguiente figura. Despus se pasa al
punto que ms mejora la funcin objetivo y se continua la bsqueda. Sin embargo el
sistema es muy ineficaz, por ejemplo con n=10 y una bsqueda factorial a tres niveles
deberamos realizar 3
10
-1=59048 evaluaciones de la funcin objetivo, lo cual es
obviamente prohibitivo.

Simulacin y Optimizacin de los Procesos Qumicos

57
Diseo factorial
a 3 niveles
Diseo hexagonal
Diseo factorial
a 2 niveles

Figura 2.- Mtodos de bsqueda en rejilla.


2.5.2.3.- Bsqueda Univariante

Otro mtodo muy sencillo de optimizacin consiste en seleccionar n direcciones fijas de
bsqueda, para n variables, (habitualmente los ejes coordenados) de tal manera que f(x)
se minimiza de forma secuencial usando bsquedas unidimensionales en cada una de las
direcciones previamente seleccionadas. El mtodo suele ser bastante ineficaz incluso
llegando a puntos muy alejados del ptimo de los cuales no puede salir.


2.5.2.4.- Mtodo simplex flexible.

Este mtodo se basa en tomar una figura regular (conocida como simplex) como base.
As en 2 dimensiones tal figura debera ser un tringulo equiltero. Los experimentos se
localizan de tal manera que la funcin objetivo se evala en cada uno de los vrtices que
forman la figura geomtrica.

Los valores de la funcin objetivo obtenida en cada uno de los vrtices se comparan entre
s rechazando el peor valor de todos formando una nueva figura geomtrica por reflexin
del peor de los puntos respecto a los que no han sido rechazados. En el simplex original
se mantiene la figura geomtrica, mientras que la modificacin de Neadler y Mead
permite distorsiones de sta para acelerar el proceso de bsqueda.

Veamos de forma sistemtica cada uno de los pasos del simplex:

Simulacin y Optimizacin de los Procesos Qumicos

58

a. Seleccin de la figura simplex inicial:

Para visualizarlo de forma sencilla comenzaremos con el caso de dos dimensiones. As la
distancia entre un punto x
1
=(x
11
, x
12
) y otro x
2
=(x
21
, x
22
) viene dada por la expresin:

( ) ( ) ( )
2 2
22 12
2
21 11
2
2 1
x x a x x x x = + =

procediendo de tal manera las distancias entre dos puntos vendrn dadas por una
expresin similar.

( ) ( ) ( ) x x x x x x a j k
j k j k ij ik
i
1 1
2
2 2
2 2
1
2
2
+ + = =
=


como tenemos tres puntos podemos hacer C
2
3
3
2 1
3 = =
!
! !
as en dos dimensiones (3
vrtices) podemos definir tres distancias entre vrtices (todas ellas iguales). Por la tanto,
especificando un punto base x
1
el punto x
2
estar localizado en un punto cualquiera de
una circunferencia de radio a centrada en x
1
. Una vez elegido el punto x
2
, el punto x
3

deber estar en la interseccin entre las circunferencias de radio a centradas en x
1
y en
x
2
respectivamente. Existen dos posibilidades.

x1
x2
x3

Figura 3.- Seleccin de la figura simples inicial

De forma similar en n dimensiones tenemos n+1 puntos. La tabla siguiente es una
propuesta para comenzar un simplex de n variables cuando x
1
es el origen.


Simulacin y Optimizacin de los Procesos Qumicos

59


Punto j x
1j
x
2j
X
3j
x
4j
x
n-1j
x
nj

1 0 0 0 0 0 0
2 p q q q q q
3 q p q q q q

n q q q q p q
n+1 q q q q q p

Si en lugar del origen se toma cualquier otro punto x
1
basta realizar una traslacin.

Se puede encontrar otra serie de puntos, pero este es uno de los ms simples para hallar p
y q y la condicin de que formen parte de la figura simplex, se puede aplicar a cada par
de puntos; as entre los puntos 1 y 2:


( ) ( )( )
( )
0 1 0
1
2 2
2
2 2 2
+ =
+ =
p n q a
p n q a


Entre los puntos 2 y 3:


( ) ( )( )
( )
2 1
2
2 2
2
2
2
p q n q q a
p q a
+ =
=


Resolviendo el sistema:


( )
( )
p
a
n
n n
q
a
n
n
= + +
= + +
2
1 1
2
1 1


Una vez fijada la figura inicial del simplex, se sigue una bsqueda secuencial, en la que
en cada paso se eliminar un vrtice y se incluir otro nuevo. (supondremos que
queremos minimizar).

Simulacin y Optimizacin de los Procesos Qumicos

60
Paso 0:
Calcular la funcin objetivo en cada uno de los puntos (vrtices), hallar el vrtice
con el valor mximo Q
max
el vrtice con valor mnimo Q
min
y el centroide de
todos los vrtices excepto aquel que ha dado el peor valor:
x
n
x
j B i
i
n
,
=
=

1
1

El procedimiento a seguir a continuacin consiste en calcular un nuevo vrtice y
eliminar aquel que dio un peor valor. (Q
max
)

Paso 1: Reflexin:
Se calcula un nuevo vrtice Q
*

cuyas coordenadas son:


( ) Q B Q
r r max
*


= + 1
donde
r
es el llamado coeficiente de reflexin, una cantidad positiva que
generalmente suele ser la unidad. Realmente lo que hemos hecho ha sido reflejar
el punto con el peor valor respecto del centroide. Las siguientes figuras lo ilustran
para el caso de 2 y 3 variables.

B
Peor valor
Q*
B
Q*
Peor valor
Figura 4.- Reflexion en el simples.

Despus de la reflexin pueden ocurrir tres posibilidades:

(a) Si Q Q Q
min max
< < * se reemplaza el vrtice Q
max
por Q*, se recalcula Q
max
y B
(centroide) y se vuelve a la etapa 1

(b) Si Q*<Q
min
se extiende Q* hasta Q**. expansin

( ) Q Q B
e e
** *


= + 1
donde
e
es un coeficiente de expansin, generalmente 2.
Simulacin y Optimizacin de los Procesos Qumicos

61
b1.- Si Q**<Q
min
se reemplaza Q
max
por Q** y se vuelve al punto 1 (recalcular
Q
max
, Q
min
=Q**, B).

b2.- Si Q**> Q
min
se reemplaza Q
max
por Q* y se vuelve al punto 1 (recalcular
Q
max
, Q
min
=Q**, B).

B
Peor valor
Q*
B
Q*
Peor valor
Q**
Q**

Figura5.- Expansin del simplex.

(c) Si Q*> Q
i
excepto de Q
max
se lleva a cabo una contraccin obtenindose un
nuevo punto Q***:

( ) Q Q B
c 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 Q
max
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 Q
min
. Se genera una nueva figura
dividiendo a la mitad la distancia de todos los vrtices a Q
min.


Peor valor Peor valor
Q
min
Q
min

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 s
i
y s
j
se dice que son conjugadas una con respecto a la otra si:

( ) ( ) s Q s
i
T
j
=0

En general un conjunto de n direcciones de bsqueda linealmente independientes s
0
, s
1
,
s
2
,...s
n-1
se dice que son conjugadas con respecto a una matriz definida positiva Q si

( ) ( ) s Q s
i
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 s
1
y Q s
2

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 x
0
.
Localizamos el punto x
a
que es el mnimo en una direccin cualquiera s. Elegimos otro
punto cualquiera (distinto del primero) x
1
. y localizamos el punto x
b
que es el mnimo
partiendo del punto x
1
en la misma direccin s. Los puntos x
a
o x
b
se obtienen
minimizando ( ) f x s
0
+ con respecto a admitiendo que f(x) es una funcin cuadrtica:

( ) ( ) ( ) ( ) ( ) f f x f
T
T
x x x x H x = + +
0 0 0 1
2
0 0


Se puede demostrar que el ptimo de una funcin cuadrtica cae en la lnea que une x
a

con x
b
. Sin embargo esta ltima afirmacin no es vlida para otro tipo de funciones.
X
X
X
X
1
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 s
n 1
0
2
0
3
0 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
s
1
0
para llegar al punto x
1
0
. Este punto (x
1
0
) se toma como punto de partida para una nueva
bsqueda unidireccional, en este caso en la direccin s
2
0
, y as sucesivamente hasta acabar
en el punto x
n
0
(La figura ilustra el caso para dos dimensiones).
Simulacin y Optimizacin de los Procesos Qumicos

64

Paso 2.- Buscamos el punto particular x
k
0
para el cual se ha obtenido una mejora mayor
de la funcin objetivo respecto al punto anterior x
k1
0
. Definimos dos magnitudes:

( ) ( )
[ ]

k
k k
f x f x =
1
0 0

= x x
0
0 0
n


Paso 3.- Determinamos:

( ) f f
t n
0 0
0
0
2 = x x

y llevamos a cabo dos comparaciones.

Si ( ) f f
t
0
0
0
x y/o
( ) ( ) ( ) ( ) ( ) ( )
( ) ( )
f f f f f x
f f
n t
n
t
x x x
x
0
0
0 0 0
0 0
0
0 0
2
2
+



Entonces la direccin no es una buena direccin de bsqueda y repetiramos la
bsqueda comenzando desde el punto x
o
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 x
o
o
al punto x
n
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
0
0
1
0
0
2
3
0
x x 2
2
0
=
0
0
-

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 x
0
es el
punto inicial y x
1
es un nuevo punto:

( ) ( ) f f x x
1 0
<

Una direccin s es llamada de descenso si satisface la siguiente relacin en un punto
dado:

( )
<
T
f s x 0


2.5.3.1.- Mtodo del Gradiente (Mximo descenso)

Se recordar que el gradiente es un vector en un punto x que proporciona la direccin
(local) de mxima variacin de la funcin. El vector gradiente es un vector ortogonal al
contorno de la funcin en el punto. Por lo tanto en la bsqueda de un mnimo la direccin
de movimiento ser contragradiente:

( )
s x
k
f =

En el mtodo de mximo descenso la transicin de un punto x
k
a otro x
k+1
viene dada por
la siguiente expresin:

( ) x x x x s x x
k k k k k k k k k
f
+
= + = + =
1


donde :x
k
= Vector desde x
k
hasta x
k+1

s
k
= Direccin de bsqueda de mximo descenso

k
= Escalar que determina la longitud de paso en la direccin s
k

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 f
d
d
d
x
d f
d x
s
f
x
f
i
i
i
i
i
i
T

= = = s

en el paso final de la bsqueda queremos que
d f
d x
i
=0 y por lo tanto ( ) s f x
T 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 x
0
. En pasos sucesivos ser x
k
.
2.- Calcular, analtica o numricamente las derivadas parciales


( )

f
x
j n
j
x
= 1 2 3 , , ....,

3.- Calcular el vector de bsqueda

( ) s x = f
k


4.- Usar la relacin x x s
k 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
k
x
+1
con ( ) f
k
x . 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 x
0
(punto inicial) calcular f(x
0
) y calcular ( ) s x
0 0
=f

2.- Almacenar ( ) f x
0
y calcular x x s
1 0 0 0
= + minimizando mediante una
bsqueda unidireccional en la direccin s
0
.

3.- Calcular f(x
1
) f(x
1
) la nueva direccin de bsqueda es una combinacin
lineal de s
0
y f(x
1
):

( )
( ) ( )
( ) ( )
s x s
x x
x x
1 1 0
1 1
0 0
= +


f
f f
f f
T
T


para la etapa k-sima la relacin es:

( )
( ) ( )
( ) ( )
k k T
k k T
k k k
f f
f f
f
x x
x x
s x s
1 1
1 1


+ =
+ +
+ +


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 x
k
. Examinemos ahora la siguiente figura y
realicemos una aproximacin cuadrtica de f(x) en x
k
.

( ) ( ) ( ) ( ) ( ) f f f
k T k k k
T
k k
x x x x x H x x + +
1
2


donde H(x) es la matriz Hessiana evaluada en el punto x
k
. 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
x
k
x*
linealizacion de f (x)

x
k
x*
( ) [ ] ( ) s x x = _ _

2
1
f f
k 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 k
x x H x x
o bien
( )
[ ]
( ) x x x H x x
k k k k k
f
+

= =
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 x
k k k k k k
f
+

= =
1
1


Obsrvese que la direccin s viene ahora dada por :

( )
[ ]
( ) s H x x =

k k
f
1


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:


( )
( ) ( )

opt
T k k
k
T
k k
f
=
x s
s 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 x
k k k
f =

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 k
x 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 x
k k k k k
f
+

=
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, x
k
y x
k+1
y un punto de referencia x
p
:


( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
= +
= +
=
+ +
+ +
f f
f f
f 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 x
k
y x
k+1


( )
)
H x x g
k k k
= donde ( ) ( ) g x x
k k k
f f
+1


una relacin equivalente sera . ( ) x H x g
k k k
=

)
1


Debido a que tenemos solamente n ecuaciones y un total de n
2
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 H
k
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:

( )
( ) ( )
( ) ( )
( ) ( ) ( ) ( )
[ ]
( ) ( ) ( )





)
) )
)
H
x x
x g
H g g H
g H g
k
k k
T
k
T
k
k k k
T
k
T
k
T
k k

=
1
1 1
1


( )( ) ( )
( ) ( )
( ) ( )
( )
[ ]
( )
[ ]





)
) ) )
H
g H x g g g H x
g x
g H x x g g
g x g x
k
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:


( )
( )
( )
( )





)
) )
)
H
g g
g x
H x x H
x H x
k
k k
T
k
T
k
k k k
T
k
k
T
k k
=

( )
( )
[ ]
( ) ( )
[ ]
( )
( )
[ ]
( )
( )
[ ]
( )
[ ]





)
) ) )
H
x H g x x x H g
g x
x H g g x x
g x g x
k
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


=
+

1
1 1 1

Вам также может понравиться