optimizacion problemas sin restricciones

40
Simulación y Optimización de los Procesos Químicos 37 TEMA 8: MÉTODOS NUMÉRICOS DE OPTIMIZACIÓN: PROBLEMAS DE OPTIMIZACIÓN SIN RESTRICCIONES 1.- INTRODUCCIÓN: PROGRAMACIÓN MATEMÁTICA 2.- OPTIMIZACIÓN DE FUNCIONES SIN RESTRICCIONES 2.1.- Búsqueda Unidireccional. Conceptos Generales. 2.1.1.- Introducción 2.1.2.- Acotación del Óptimo. 2.2.- Búsqueda Unidireccional. Métodos Indirectos 2.2.1.- Método de Newton 2.2.2.- Método de Newton en Diferencias Finitas. 2.2.3.- Método de la Secante. 2.3.- Búsqueda Unidireccional. Métodos de Eliminación de Región 2.4.- Búsqueda Unidireccional Métodos de Aproximación Polinómica 2.4.1.- Interpolación Cuadrática. 2.4.2.- Interpolación Cúbica. 2.5.- Optimización Numérica Multivariable sin Restricciones. 2.5.1.- Introducción 2.5.2.- Métodos Directos 2.5.2.1.- Métodos de Búsqueda Aleatoria 2.5.2.2.- Métodos de Búsqueda en Rejilla. 2.5.2.3.- Búsqueda Univariante. 2.5.2.4.- Método Simples Flexible. 2.5.2.5.- Direcciones Conjugadas. Método de Powell. 2.5.3.- Métodos Indirectos. Métodos de primer orden. 2.5.3.1.- Método de Gradiente. (Máximo Descenso). 2.5.3.2.- Método de Gradiente Conjugado.

Upload: peterdreamer

Post on 24-Nov-2015

34 views

Category:

Documents


3 download

TRANSCRIPT

  • 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