Introducción a la Optimización No Lineal INTRODUCCIÓN A LA OPTIMIZACIÓN NO LINEAL CON SOFTWARE DE APLICACIÓN DIDÁCTICA CUARTA EDICIÓN Dr. Angel Sangiacomo C. Universidad Nacional de San Agustín Departamento de Matemática y Estadística Facultad de Ciencias Naturales y Formales Universidad Nacional de San Agustín Arequipa - Perú Ing. Fernando Ayres Hidalgo. Universidad Alas Peruanas Facultad de Ingeniería de Sistemas Arequipa - Perú Arequipa Perú 2006 A. Sangiacomo C. F. Ayres H. I Introducción a la Optimización No Lineal Título del Texto en su Cuarta Edición: INTRODUCCIÓN A LA OPTIMIZACIÓN NO LINEAL CON SOFTWARE DE APLICACIÓN DIDÁCTICA Autores: Dr. Ángel Carlos Wilfredo Sangiacomo Carazas. Profesor principal Departamento de Matemática y Estadística Facultad de Ciencias Naturales y Formales Universidad Nacional de San Agustín Ing. Fernando Ayres Hidalgo Profesor auxiliar Departamento de Matemática y Estadística Facultad de Ciencias e Ingenierías y Arquitectura Universidad Alas Peruanas Primera edición 2000 Cuarta edición 2006 La presentación y disposición en conjunto de INTRODUCCIÓN A LA OPTIMIZACIÓN NO LINEAL CON SOFTWARE DE APLICACIÓN DIDÁCTICA, son propiedad de los autores. Toda parte de este texto puede ser reproducida, archivada o transmitido en forma alguna o mediante algún sistema electrónico mecánico, de fotorreproducción, memoria o cualquier otro sin la autorización expresa por escrito de los autores, incluye los programas didácticos y sus manuales que es totalmente. Derechos reservados en Lengua española © 2006 Impreso en Arequipa Perú 2006 A. Sangiacomo C. F. Ayres H. II Introducción a la Optimización No Lineal A MIS HIJOS MIGUEL ANGEL IVETT GIANELLA CANDELARIA JOSÉ ALEJANDRO A MI MADRE A MI PADRE A MIS ALUMNOS DE LOS CURSOS DE MÉTODOS Y OPTIMIZACIÓN NO LINEAL A TODAS LAS PERSONAS QUE GUSTAN DE LAS COSAS PRÁCTICAS Y EFECTIVAS A. Sangiacomo C. A. Sangiacomo C. F. Ayres H. III Introducción a la Optimización No Lineal A. Sangiacomo C. F. Ayres H. IV Introducción a la Optimización No Lineal PREFACIO A LA CUARTA EDICIÓN El Tratamiento de un problema integral requiere en mucho de al aplicación de un proceso de optimización simple o complejo, a veces no tiene solución elemental (algebraica o analítica) pero nosotros para dar una solución nos basamos en una serie de cualidades que empiezan con el criterio de existencia de un mínimo [de alguna manera], el problema es de dar esa solución y al mismo tiempo que sea estable. El propósito del presente texto se resume en el siguiente objetivo: Presentar un conjunto de programas (de prueba) que resuelvan los problemas que involucran optimización, por alguno de los conocidos métodos de aproximación numérica a su servicio y además le brinde información de esta solución. Presentar de manera moderna (en forma visual) a la luz de técnica de resolución rápida por ordenador de procesos iterativos en muy poco tiempo y además que muestren los pasos intermedios en el peor de los casos. Entonces aquí se presenta un modulo general con toda la teoría elemental de funciones convexas, un conjunto de métodos para funciones unimodales de una variable, pero que son adaptables a varias variables. Después se presenta los métodos de descenso, sin descuidar los aspectos teóricos y también los aspectos computacionales. Se adicionan los códigos de los programas que se usan. A. Sangiacomo C. F. Ayres H. V Introducción a la Optimización No Lineal El texto también hace un tratamiento de los problemas con restricciones y algunos métodos de aplicación directa. Insisto la idea de que el texto para que se usen los programas para la solución de sus problemas de optimización, cualquiera que sea y pueda analizar y dar un dictamen de su comportamiento. Para finalizar queremos agradecer de manera especial a todos los alumnos del curso de Optimización No Lineal de la Escuela Profesional de Matemática a donde se permite aplicar este contenido y experimentar con los problemas en el laboratorio hasta tener ciertos resultados que podríamos llamar aceptables. Angel Sangiacomo Carazas Fernando Ayres Hidalgo Arequipa Perú 2006 E-Mail angel_sangiacomo@yahoo.com A. Sangiacomo C. angelsangiacomo @gmail.com F. Ayres H. VI Introducción a la Optimización No Lineal ÍNDICE INTRODUCCIÓN Modelos Matemáticos y Modelos Físicos Variables y parámetros Modelos Matemáticos Modelos Físicos Función Objetivo 1 1 1 4 6 8 CAPÍTULO 1 Optimización no lineal Propiedades básicas de la solución y algoritmos Condiciones necesarias de primer orden Direcciones factibles Ejemplos de problemas sin restricciones Condiciones de segundo orden Condiciones suficientes para un mínimo relativo Funciones convexas y cóncavas Combinaciones de funciones convexas Propiedades de las funciones convexas diferenciables Minimización y maximización de funciones convexas Convergencia global de algoritmos de descenso Algoritmos Descenso Transformaciones cerradas Teorema de la convergencia global Rapidez de convergencia Orden de convergencia Convergencia lineal Tasas promedio Convergencia de vectores 11 11 13 14 15 18 22 24 25 25 27 29 31 32 36 37 38 41 41 43 44 45 CAPÍTULO 2 Métodos básicos de descenso Búsqueda de Fibonacci Método de búsqueda de la sección áurea 49 49 50 52 A. Sangiacomo C. F. Ayres H. VII Introducción a la Optimización No Lineal Búsqueda Lineal Mediante Ajuste de Curvas Interpolación Cúbica Algoritmo Interpolación Cúbica Interpolación Cuadrática Algoritmo de Interpolación Cuadrática Método de Newton (Newton Raphson) Algoritmo de Newton Método de la falsa posición o de la cuerdas Algoritmo de la Falsa posición (cuerdas) Cierre de algoritmos de búsqueda lineal Método de descenso mayor pendiente El método de mayor pendiente Convergencia global El caso cuadrático Desigualdad de Kantorovich El caso no cuadrático Aplicación de la teoría Escalas Método de Newton Convergencia de orden dos Modificaciones El descenso Coordenado 55 55 56 57 58 59 61 61 63 64 65 66 67 67 69 73 74 76 78 79 79 82 CAPÍTULO 3 Métodos de dirección conjugada Direcciones conjugadas Teorema de la dirección conjugada Propiedades de descenso del método de la dirección conjugada Teorema del subespacio en expansión Método del gradiente conjugado Algoritmo del gradiente conjugado Verificación del algoritmo Teorema del gradiente conjugado El método G-C como un proceso optimal Cotas en la Convergencia Extensión a problemas no cuadráticos Aproximación cuadrática Algoritmo del Caso No cuadrático Métodos de búsqueda lineal Algoritmo de Fletcher-Reeves Algoritmo de Polak - Ribiere Métodos cuasi Newton 86 86 86 89 90 90 92 93 96 96 98 99 101 102 102 103 103 104 105 A. Sangiacomo C. F. Ayres H. VIII Introducción a la Optimización No Lineal Método de newton modificado Teorema del método de Newton modificado (Caso cuadrático) Un método clásico Construcción de la inversa Corrección de rango uno Método de Davidon-Fletcher-Powell Algoritmo alternativo de Davidon-Fletcher-Powell Definición positiva Convergencia en pasos finitos La familia de Broyden Mejora de la razón de valores propios Factores de Escala Un Algoritmo Cuasi Newton de Autoescala Métodos Cuasi Newton Sin Memoria 105 106 108 108 109 111 111 115 116 117 121 123 124 124 CAPÍTULO 4 Minimización con Restricciones Condiciones para la minimización con restricciones Restricciones El Plano Tangente Condiciones Necesarias de Primer Orden (Restricciones de Igualdad) Condiciones de Segundo Orden Condiciones necesarias de segundo orden Condiciones de suficiencia de segundo orden Restricciones de desigualdad Condiciones necesarias de primer orden Condiciones de Kuhn - Tucker Condiciones de Segundo Orden Condiciones necesarias de segundo orden Condiciones de suficiencia de segundo orden 128 128 128 128 130 132 134 134 135 136 137 137 139 139 140 CAPÍTULO 5 Métodos Primales Ventajas de los Métodos Primales Métodos de Conjunto Activo Cambios en el Conjunto de Trabajo Teorema del Conjunto Activo Método de Proyección del Gradiente Restricciones No Lineales Método de Gradiente Reducido El caso de Restricciones Lineales 142 142 142 145 147 148 149 153 155 156 A. Sangiacomo C. F. Ayres H. IX Introducción a la Optimización No Lineal APÉNDICE Identificación de parámetros en modelos de compartimentos y funciones convexas en procesos farmacológicos Identificación de Parámetros en Modelos de Compartimentos Elección de un problema Específico de Identificación Reducción a un Problema de Programación No Lineal con Restricciones Lineales Solubilidad y Método de Gradiente y Condición de Convexidad Método de Solución y Funciones convexas Método de Gradiente Problema de modelación [Motivaciones, Conceptos, métodos, recursos] [Análisis del sistema, marco experimental, relaciones, restricciones, estrategias de solución] [Formulación de hipótesis, Formulación del modelo básico, Formulación del modelo simplificado] Problema de aplicación práctica para la solución real y directa en la molienda de minerales Aplicación del método de Newton para hallar raíces complejas en ecuaciones 160 Bibliografía Índice alfabético 186 A. Sangiacomo C. F. Ayres H. 160 161 162 164 165 166 167 170 170 171 172 178 181 X Introducción Introducción a la Optimización No Lineal modelos Matemáticos modelos Físicos. 0.0. Introducción y los También este punto es para mencionar los elementos de estos y una posible clasificación. 0.1.1. Variables y Parámetros La tendencia mundial actual, hacia la opción de una economía de libre mercado, ha incrementado la competitividad en las industrias en general, el mismo que ha obligado a las empresas a incrementar su eficiencia, mediante la optimización del proceso de fabricación, desarrollo de nuevos procesos y productos. Generalmente para conseguir estos objetivos, se utiliza (consiente o inconscientes) un método de experimentación, desde experimentación intuitiva hasta los diseños robustos que deben de optimizar los resultados. 0.1. M o d e l o s M a t e m á t i c o s y Modelos Físicos Tenemos que una herramienta importante para la optimización, control y desarrollo de nuevos procesos, lo constituye el uso de los Angel Sangiacomo C. Parámetro: Aquel que no cambia o no puede cambiar su valor durante el rango de validez del modelo matemático o físico de un proceso. Comúnmente aparecen como simples constantes en las ecuaciones matemáticas. Por ejemplo: capacidad de celdas de flotación, coeficientes de conductividad térmica del acero, calor específico del agua, etc., En una función matemática como f(x)=ax2–dx–1, donde los parámetros son a y d. En un problema y ' ∝ ( A − y ) cuya ecuación diferencial sería y ' = m ( A − y ) , cuyos parámetros son k, A y m, pues la solución es y = A + ke − mt . Variables: Son aquellas que asumen más de un valor o estado durante el rango de validez del modelo. Por ejemplo: espesor de las planchas de acero, tiempo, dosificación de reactivos En matemática en la fórmula f(x)=ax2–dx–1, donde la varia1 Introducción ble es x o en y = A + ke − mt la variable es t. Las variables son normalmente clasificadas dentro de un número de categorías, basadas principalmente en cómo son observadas desde el punto de vista de operación de un proceso. Sin embargo, para los propósitos de modelamiento es esencial tener una idea clara sobre la naturaleza de cada variable incluida en el modelo. Entre estas tenemos: Introducción a la Optimización No Lineal tales que la salida de una etapa es la entrada de la siguiente etapa. La variables que describen las propiedades de estos semi-productos son denominadas variables intermedias. Variables independientes: Es una variable de proceso que puede tomar valores independientemente de las otras variables. (Así, para definir una variable dependiente debe existir por lo menos una variable independiente.) Una Máquina Variables dependientes: Son aquellas que describen los resultados de un proceso, tal como cantidad, calidad de productos y factores económicos, como costos o producción, valor de venta en la producción. En el caso de f(x)=ax2–dx–1=y o P = Sub Proceso1 P2 = Sub Proceso2 1 − mt y = A + ke la variable Dependientes Independientes xi = Controlable dependiente es “y” de donde se yi = Perfomance ui = No Controlable ve que representa el resultado de Wi = Intermedia zi = Desconocida aplicar las variable x o t. Figura 2. Variables Controlables: (Manipulable) Una variable controlable o manipulable es aquella cuyo Figura 1. valor o estado puede ser medido o controlado independientemente de Variables intermedias: las otras variables. Ejemplo la Si el proceso puede ser dividido en temperatura de laminación; la una serie de etapas o subprocesos; Angel Sangiacomo C. 2 Introducción dosificación flotación. Introducción a la Optimización No Lineal de reactivos de segundo); A/m2 amperaje y área de un electrodo. (Por ejemplo en electrometalurgia es común definir las variables Variables no controlables: Una amperaje y área del electrodo como densidad de corriente, definida como amperios por unidad de variable no controlada es una área del electrodo.) variable independiente cuyo valor o estado puede ser medido, pero no controlado. Por ejemplo: La humedad del aire; la ley de cabezas de mineral, en que el valor puede ser medido analíticamente, pero no puede ser controlado ya que depende del mineral en el lugar; otro es el de contenido de impurezas en las chatarras, precio de los metales. Variables desconocida: Es aquella cuyo valor o estado no pude ser medida ni controlable con los instrumentos existentes, o también que su medida o control representan un costo muy alto que no justifica una inversión. Temperatura de fusión en los altos hornos. Variables indirectas: son la compuestas; y=g(f(x)). Muchas variables independientes, o pueden ser combinadas adecuadamente por medio de una relación analítica para formar una variable indirecta o transformada [hi=hi(xi, uk)]. Así, hi debe representar desde el punto de vista la performance del proceso toda la información contenida en xi y uk. Ejemplo: km/s (kilómetros por Angel Sangiacomo C. 0.2. Modelos Matemáticos Modelos Físicos y Un modelo matemático es una descripción simplificada de un evento o una situación dada. Así, en cualquier actividad de nuestra vida usamos modelos consientes o no, complejos y simples, explícitos o tácitos. Por ejemplo la manera como estudiamos o el ritmo de trabajo son también modelos. Una herramienta importante, no sólo para la optimización de procesos, sino también para su evaluación, control y desarrollo de nuevos procesos lo constituye el uso de los modelos matemáticos y físicos. Por ello es importante definir los principios y analizar las estrategias que deben ser empleadas en una situación dada. 0.2.1. Modelos Matemáticos Un modelo matemático consiste en un sistema de ecuaciones algebraicas o diferenciales que repre3 Introducción sentan cuantitativamente el proceso o algunos aspectos del proceso. Su formulación depende del conocimiento de las leyes que gobiernan el proceso y de la habilidad de expresarlas matemáticamente. Por ejemplo podemos construir un modelo matemático que defina el tiempo de solidificación de un lingote de acero, o la velocidad de enfriamiento para evitar rajaduras. Introducción a la Optimización No Lineal A manera de ejemplo, consideremos una partícula metálica esférica de radio R, la cual está inicialmente a temperatura Ti . A un tiempo t=0 la partícula comienza a perder calor por radiación al medio ambiente el cual tiene una Te (escala Kelvin). Se requiere establecer un modelo matemático que representa la distribución de la temperatura en el interior de la esfera, en función del tiempo 0.2.1.1. Clasificación Modelos Matemáticos Teóricos (fenomenológicos) b) Modelos Matemáticos Empíricos (tipo Black - Box) Figura 3. c) Modelos Matemáticos Semi - El modelo dependiente del tiempo con la temperatura de la partícula esférica, está Empíricos. dada por la ecuación diferencial de conducción del calor, en sistema de a) Modelos Matemáticos Teóricos coordenadas esféricas: 2∂T ∂T ∂ 2T (fenomenológicos) a) ∂t Se derivan fundamentalmente de las leyes físicas, se basa generalmente en la aplicación de ecuaciones de balance de materia energía y también en otras leyes como por ejemplo la termodinámica, cinética de reacciones químicas. Transferencia de calor, problema de fluidos [capa límite], problema de transporte, . . . Angel Sangiacomo C. = α[ ∂r2 + r∂r ] Donde: r : es la distancia de algún punto al centro de la esfera. Las condiciones o las condiciones de frontera para el problema son: T=Ti; t=0 ∂T =0 ∂r ∂T k ∂ r = σεT 4 ; r=0 − Te4 ; r = R. Donde: T : Temperatura absoluta α : k/(DCp) (difusividad térmica). 4 Introducción k : Conductividad térmica. ε : Emisividad de la superficie. Introducción a la Optimización No Lineal antibiótico en cada instante en el cuerpo humano. b) Modelos Matemáticos Semi - Modelo Diferencial Empíricos ⎡ n ⎤ dxi n = − ⎢ ∑ a ji ⎥ ⋅ xi + ∑ aij ⋅ x j , i = 1..n ; dt ⎢⎣ j =1 ⎥⎦ j =1 Son muy similares a los anteriores y n pero dependen de la gran dificultad donde − aii = ∑ a ji , de su solución o la falta de datos. i = 1..n j =1 j ≠i En esencia están basados en las leyes físicas. Al igual que los modelos teóricos se basan en las ecuaciones de balance de materia y energía y en otras leyes existentes, pero cierta cantidad de empirismo es incorporado en la representación de estos sistemas debido básicamente a dos hechos: a) Las ecuaciones de modelamiento es tan complejo, que resolverlo resulta muy dificultoso o costoso, por lo que es necesario hacer algunas simplificaciones. b) A la falta de datos. dx = Ax dt o donde ⎡− a11 a12 ... a1n ⎤ ⎢a a22 ... a2 n ⎥⎥ : A = ⎢ 21 , ⎢ .. .. .. .. ⎥ ⎢ ⎥ ⎣ an1 an 2 ... ann ⎦ ⎡ x1 ⎤ x = ⎢⎢ ... ⎥⎥ , ⎢⎣ xn ⎥⎦ dx = Ax + u , dt K (aij ) = n ∑σ m ∫0 T m =1 (x exp m (t ) − xm (t ) ⎡ u1 ⎤ u = ⎢⎢ ... ⎥⎥ ⎢⎣u n ⎥⎦ )2 dt = min! donde xmexp(t) es la curva experimental para la variable m, y σm es el coeficiente que indica si la curva puede ser observada o no. K (aij ) = n ∑σ m ∫ 0 m =1 T 2 ⎛ dxmexp n ⎞ exp ⎜ ⎟ − ∑ ami xi (t ) dt = min! ⎜ dt ⎟ i =1 ⎝ ⎠ La gran mayoría de los modelos matemáticos usados en la práctica Depende en esencia de una tabla de datos empíricos de observaciones están dentro de esta categoría. de cantidades de antibiótico en la Aquí es donde se puede aplicar sangre [datos observables]. algunos procesos de aproximación e identificación de parámetros. c) Modelos Empíricos Otro ejemplo sería pues un modelo para determinar la cantidad de Angel Sangiacomo C. 5 Introducción Introducción a la Optimización No Lineal Estos modelos no están basados en leyes físicas. En este caso el proceso es considerado como una caja negra (tipo Black - Box) o como se les conoce también de tipo CAJA NEGRA. Donde la relación matemática que gobierna el proceso es desconocida o muy compleja y depende únicamente de las variables de entrada y salida, ignorando la estructura interior del fenómeno o proceso. La mejor manera de construir este tipo de modelos es a través de diseños experimentales; es decir los datos o puntos experimentales iniciales están basados en algún diseño experimental (muestreos, . . .). Por ejemplo en la recuperación del cobre tenemos: X1 : Adición de Cal X2 : Temperatura de segregación. Figura 4. 0.2.2. Modelos Físicos En muchos procesos no existe una adecuada base física o cuadro físico del fenómeno como para hacer uso de los modelos matemáticos teóricos, Debido básicamente a que la naturaleza del sistema real no y = a1 + a2 X 1 + a3 X 2 + a4 X 12 + a5 X 22 + a6 X 1 X 2 permite la observación directa del fenómeno, de los cuales un cuadro donde físico puede ser deducido. Por 1 y : es la recuperación del cobre . ejemplo es dificultoso observar la zona de fusión de los altos hornos. 1 Con la experimentación con los datos de la Un modelo físico de un proceso recuperación de Cu que se tiene en la tabla consiste en su representación a escala reducida, con otros matelos siguientes resultados: riales, a temperatura ambiente, con Segregación de residuos de Cobre INF. SUP. 23.9 X1: Adición de Cal 663 X2: Temperatura de segreg. N X1 X1 85.9 837 1 2 3 4 5 6 85.9 70.4 39.4 23.9 70.4 54.9 Angel Sangiacomo C. 750 837 837 750 663 663 Y 65.1 61.8 65.3 77.3 63.2 69.1 Cuyo óptimo es: X1 = 38.587228567, X2 = 735.775213125 f(x) = 79.1684695190607 6 Introducción la finalidad de posibilitar la visualización y medida de los aspectos específicos, de la manera más conveniente y al menor costo posible. Introducción a la Optimización No Lineal práctica un modelo que cumpla todos los criterios de similitud, siendo necesario algunas aproximaciones a los estados menos importantes. Como ejemplo, a un avión se le 0.2.2.1. Clasificación Modelos Físicos prueba en una posa de agua. Un modelo es geométricamente similar cuando sus dimensiones mantienen la misma razón con las del prototipo; es mecánicamente similar cuando las deformaciones relativas bajo tensión constante están en una misma proporción a sus dimensiones geométricas (similitud estática), o si las fuerzas que actúan en determinados tipos y lugares en el modelo y prototipo mantienen una razón fija (similitud dinámica); es térmicamente similar si las gradientes de temperatura en el modelo corresponden a los del prototipo; es químicamente similar si las velocidades de reacción en cualquier lugar del modelo son proporcionales a las velocidades de las mismas reacciones en el correspondiente tiempo y lugar del prototipo. Cada estado de similitud exige que las anteriores sean cumplidas, por ejemplo, una similitud térmica exige el cumplimiento de la similitud geométrica y mecánica. Generalmente es imposible obtener en la Angel Sangiacomo C. de los a) Modelos Físicos Riguroso (teórico) Son construidos siguiendo las reglas estrictas de similitud, de manera que la medida cualitativa de los aspectos importantes del modelo experimental (velocidad, perfil de temperatura, velocidad de reacción, etcétera) puedan ser trasladados directamente a través de un escalamiento apropiado para describir el proceso real. b) Modelos Físicos Semi - Riguroso El desarrollo de los anteriores, los teóricos, con frecuencia no es posible, porque no se puede satisfacer a todos los criterios de similitud. Como una alternativa se desarrolla el estudio analítico experimental del fenómeno con el objeto de obtener una relación cuantitativa entre las variables del proceso; tal realicen puede ser extrapolada bajo ciertas experimentales obtenidos y pueden ser usados para verificar un modelo 7 Introducción Introducción a la Optimización No Lineal matemático, el cual podría usarse con algún grado de confianza para 0.3.1. Criterio de Optimización representar un sistema real. Para empezar todo proceso de Otra optimización es básico definir adecuadamente un criterio de a). Modelos Mentales optimización, en otras palabras, Son modelos heurísticos o intuitivos que definir lo que queremos optimizar. sólo existen en nuestras mentes. Son Es decir, debemos escoger entre las imprecisos y difíciles de comunicar. A diferentes alternativas productivas diferencia de los animales, el ser humano (variables dependientes), aquella o es capaz de acumular experiencias que aquellas que bajo algún criterio puede servir como un modelo mental. La adecuado nos brindan los mejores habilidad para realizar una operación resultados. aritmética o el proceso de decisión de una situación no muy compleja, son ejemplos de modelos mentales. La introspección de estos modelos conduce frecuentemente a 0.3.2. Función Objetivo los modelos simbólicos. b) Modelos Simbólicos Son aquellos que incluyen operaciones lógicas o matemáticas que pueden utilizarse para formular una solución de un problema. Se construyen más fácilmente y resultan más económicos que los modelos físicos. Se subdividen en modelos matemáticos y no matemáticos. A su vez estos últimos pueden ser: lingüísticos (descripción verbal), gráficos (dibujo) y esquemáticos (diagramas de flujo). Teniendo en cuenta que el principal objetivo en un proceso de optimización será maximizar o minimizar una función objetivo, tenemos entonces: “La relación del criterio de optimización a las variables independientes consideradas en el estudio se denomina función objetivo”. Podría ser: Una teoría expresada en forma Fmáx=f(x,y,t,u) matemática será un modelo donde: F : Criterio de optimización matemático. x, y, t, u : Variables independientes. 0.3. Función Objetivo Angel Sangiacomo C. 8 Introducción Introducción a la Optimización No Lineal Las variables x, y, t, u pueden se variables controlables, que permiten controlables, no controlables, obtener el máximo de la función indirectas o desconocidas. objetivo. Por ejemplo usando un método dFmáx Selección de un criterio de = 0.57 − 0.0032 X 1 y optimización dX 1 dFmáx =0 La selección de un criterio de dX 1 optimización en muchos casos es de lo cual resulta X1=178.125s que una tarea difícil, en ciertos casos se es un punto de máximo. requiere de un conocimiento profundo del proceso a optimizar El problema nuestro es pues, donde así como de un análisis exhaustivo y lo más fácil y en que programar de todas las alternativas productivas se puede conseguir una solución de medición de la eficacia de un inmediata. proceso. 0.4. Superficie Respuesta 0.3.3. Forma y Parámetros de la Una superficie respuesta se define Función Objetivo como la representación geométrica de la función objetivo o más La elección de la forma de propiamente del modelo matemáparámetros de la función objetivo, tico obtenido. Debe distinguirse depende de la naturaleza del claramente de una superficie resproceso en estudio, pudiendo puesta estimada de una superficie utilizarse para ello los modelos respuesta real. Matemáticos teóricos, semiempíricos o empíricos. Una superficie respuesta estimada, es la respuesta geométrica del Por ejemplo un modelo de una modelo matemático obtenido. Así, función cuadrática es la respuesta del diseño hexagonal Fmáx = 26.13 + 0.57 X 1 − 0.0016 X 12 Y =63.2+2.18 X 1+3.93 X 2 − 4.53 X 12 donde − 0.35 X 22+ 3.83 X 1 X 2 X1 : tiempo de flotación en segundos. Y como el objetivo es optimizar, es encontrar la cantidad óptima de las Angel Sangiacomo C. 9 Introducción Introducción a la Optimización No Lineal Una cosa importante a tener en cuenta, es que un modelo nunca representa completamente un proceso o sistema, debido principalmente a las tres consideraciones siguientes: a) Falta de exactitud de conocimiento de las variables b) El no uso de todas las variables c) A la simplificación del modelo requisito a las complejidades matemáticas. Una réplica idéntica del sistema o proceso es un modelo perfecto. La representación geométrica de modelo sería la superficie respuesta real. Ahora, la superficie respuesta real es algo ideal, a esto sólo podemos aproximarnos [casi siempre] por los modelos matemáticos comúnmente usados. Angel Sangiacomo C. 10 Capítulo 1 Introducción a la Optimización No Lineal h1(x), h2(x), …, hm(x), funciones continua que denotan restricciones de igualdad, g1(x), g2(x), …, gp(x), funciones continuas CAPÍTULO 1 que denotan restricciones de desigualdad y x=(x1, x2, ..., xn)T un vector columna y un conjunto Ω ⊂ R n . Se define un problema de Objetivo: Conocer y comprender las optimización no lineal: condiciones básicas de un punto Minimizar f ( x ) óptimo. Sujeto a : OPTIMIZACIÓN NO LINEAL h1 ( x ) = 0 g1 ( x ) ≤ 0 h2 ( x ) = 0 M g2 ( x) ≤ 0 M hm ( x ) = 0 g p ( x) ≤ 0 x ∈Ω ⊂ R En este capítulo se trata de modelos y métodos que optimizan funciones no lineales, continuas, diferenciables y no diferenciables, de una o varias variables, sin o con restricciones (lineales o no lineales). Estos modelos se han aplicado a una variedad de problemas prácticos, tales como procesos químicos, cotizaciones de proyectos, problemas de diseño estructural, ajuste de curvas, equivalencias determinísticas de problemas aleatorios, asignación de recursos, etc. donde m ≤ n . Otra forma equivalente de representar un problema de optimización no lineal es a) Minimizar { f ( x ) x ∈ Ω ⊂ R n } , donde el conjunto Ω se define como Ω ={ x hi ( x ) = 0, g j ( x ) ≤ 0, x ∈ Ω ⊂ R n } para i=1, 2, …, m, j=1, 2, …, p, b) En forma vectorial, h=(h1, h2, ..., hm) y g=(g1, g2, ..., gp) y se vuelve a escribir el problema como Minimizar Sea f(x) una función continua, que denota a la función objetivo, Ejemplo: Angel Sangiacomo C. n f ( x) h( x ) = 0 g( x) ≤ 0 x ∈Ω F. Ayres H. 11 Capítulo 1 Introducción a la Optimización No Lineal Tenemos un problema de optimización no lineal dado por: Minimizar Sujeto a : Minimizar Sujeto a : f ( x ) = x12 + x22 + 2 x2 h1 ( x ) = x1 + 2 x2 − 12 = 0 g1 ( x ) = x12 + x22 − 1 ≤ 0 f ( x ) = ( x1 − 3) 2 + ( x2 − 4) 2 g1 ( x ) = x1 + x2 − 5 ≤ 0 g 2 ( x ) = x1 − x2 − 52 ≤ 0 g 3 ( x ) = − x1 ≤ 0 g 4 ( x ) = − x2 ≤ 0 x ∈ Ω ⊂ R2 g 2 ( x ) = − x1 ≤ 0 g 3 ( x ) = − x2 ≤ 0 x ∈ Ω ⊂ R3 Figura 3 Ejemplo: Figura 1. Hay casos en que a diferencia del anterior el óptimo o está en el interior de la región de factibilidad, como es el siguiente ejemplo (no son muy interesantes). Minimizar Sujeto a : Figura 2. Ejemplo: Angel Sangiacomo C. f ( x ) = ( x1 − 2) 2 + ( x2 − 2) 2 g1 ( x ) = x1 + x2 − 5 ≤ 0 g 2 ( x ) = x1 − x2 − 52 ≤ 0 g 3 ( x ) = − x1 ≤ 0 g 4 ( x ) = − x2 ≤ 0 x ∈ Ω ⊂ R2 F. Ayres H. 12 Capítulo 1 Introducción a la Optimización No Lineal Figura 4. Propiedades básicos de solución y algoritmos Empezaremos tratando los problemas de optimización de la forma minimizar f(x) sujeto a: x ∈Ω (1) donde f es una función real y Ω, el conjunto factible, es un subconjunto de En. En casi todo el capítulo se centra la atención en el caso en que Ω=En, que corresponde al caso totalmente sin restricciones, pero en algunas ocasiones se tienen en cuenta casos donde Ω es algún subconjunto especialmente sencillo de En. Primeramente se especifican aquellas condiciones que se deben satisfacer en un punto la Angel Sangiacomo C. solución de (1). Estas condiciones son simples n extensiones a E de las bien conocidas condiciones de la derivada para una función de una variable, que se cumplen en un punto máximo o mínimo. Se introducen las importantes clases de funciones convexas y cóncavas, que proporcionan una formulación natural para una teoría global de optimización, y se ofrecen interpretaciones geométricas de las condiciones de la derivada que se van a deducir. Al final nos dedicaremos a las características de convergencia básicas de los algoritmos. Aunque este material no es de aplicación exclusiva a los problemas de optimización, sino que también es aplicable a algoritmos iterativos generales para resolver otros problemas, puede considerarse como un requisito previo fundamental para un tratamiento moderno de las técnicas de optimización. Se plantean dos cuestiones esenciales en relación con los algoritmos iterativos. La primera cuestión, que es de naturaleza cualitativa, plantea si un algoritmo dado proporciona en algún sentido, al F. Ayres H. 13 Capítulo 1 menos en el límite, una solución al problema original. Esta cuestión se establece con condiciones suficientes para garantizar la convergencia apropiada. La segunda cuestión, de naturaleza cuantitativa, se refiere a la rapidez con que el algoritmo converge a una solución. Se examinan varios tipos especiales de convergencia, que se suelen presentar en el desarrollo de algoritmos para optimización. Introducción a la Optimización No Lineal Al investigar el problema general (1), se distinguen dos tipos de puntos solución: puntos mínimos locales y puntos mínimos globales. Definición 1. Un punto x*∈Ω es un punto mínimo relativo o un punto mínimo local de f en Ω, si existe un ε > 0 tal que f(x)≥f(x*) para todo x∈Ω a una distancia de x* menor que ε (es decir, x∈Ω y x − x ∗ < ε ). Si f(x)>f(x*) para Condiciones necesarias de toda x∈Ω, x≠x* a una distancia primer orden de x* menor que ε , entonces se dice que x* es un punto mínimo Quizá la primera cuestión que se relativo estricto de f en Ω. presenta en el estudio del problema de minimización (1) es Definición 2. saber si existe una solución. El resultado principal que se puede Un punto x*∈Ω es un punto utilizar para encausar esta mínimo global de f en Ω , si cuestión es el teorema de f(x)≥f(x*) para toda x∈Ω. Si Weierstras, que establece que si f f(x)>f(x*) para toda x∈Ω, x≠x*, es continua y Ω es compacta, entonces se dice que x* es un existe una solución. Este es un punto mínimo global estricto de f resultado importante que habrá en Ω. de tenerse en cuenta durante todo el desarrollo; sin embargo, el tema central consiste en caracterizar los puntos solución y diseñar los métodos efectivos para hallarlos. Angel Sangiacomo C. F. Ayres H. 14 Capítulo 1 Introducción a la Optimización No Lineal formular y estudiar el problema (1) se considera implícitamente, por imperativos prácticos, que se busca un punto mínimo relativo. Direcciones factibles Figura 5. Por definición al formular y estudiar el problema (1), se está buscando explicativamente un punto mínimo global de f en el conjunto Ω. Sin embargo, la práctica, desde los puntos de vista teórico y computacional, impone que en algunas circunstancias ha de bastar con un punto mínimo relativo. Por ejemplo, al deducir condiciones necesarias basadas en el cálculo diferencial, o al buscar el punto mínimo por un procedimiento por pasos convergentes, sólo se pueden comparar los valores de puntos cercanos y la atención se centra en los puntos mínimos relativos. Por regla general, sólo se pueden hallar condiciones y soluciones globales si el problema posee ciertas propiedades de convexidad que garanticen esencialmente que cualquier mínimo relativo sea un mínimo global. Por tanto, al Angel Sangiacomo C. Para deducir condiciones necesarias satisfechas por un punto mínimo relativo x*, la idea básica es considerar un movimiento que se aleje del punto en una dirección dada. En cualquier dirección dada, la función objetivo se puede considerar como una función de una variable, donde el parámetro define el movimiento en esta dirección, por lo que se puede aplicar el cálculo ordinario de una variable. Así, dada x ∈Ω , se puede decir que un vector d es una dirección factible en x si existe algún α > 0 tal que α, x + αd ∈ Ω para toda 0 ≤ α ≤ α . Con este sencillo concepto se pueden enunciar algunas condiciones sencillas satisfechas por los puntos mínimos relativos. Recodemos aquí que α es un valor para el cual no se supera el valor anterior. F. Ayres H. 15 Capítulo 1 Proposición 1. (Condiciones necesarias de primer orden). Sea Ω un subconjunto de En, y f∈C1, una función en Ω. Si x* es un punto mínimo relativo de f en Ω, entonces para cualquier d∈En que sea una dirección factible en x*, ∗ resulta ∇f ( x )d ≥ 0 Prueba: Introducción a la Optimización No Lineal suficientemente pequeños de α>0, el lado derecho de (*) será negativo y, por tanto, g (α ) − g (0) < 0 , lo cual contradice la naturaleza minimal de g (0) . Así, g ′(0) = ∇f ( x*)d ≥ 0 . ♦ Un caso especial muy importante es aquel donde x* está en el interior de Ω (como ocurriría si Ω=En). En este caso, hay direcciones factibles que salen en todas las direcciones desde x* y, por tanto, ∇f ( x*)d ≥ 0 para todo d ∈ En . Esto implica que ∇f ( x*) = 0 . Este importante Figura 6. resultado se enuncia como Para cualquier α , 0 ≤ α ≤ α , el corolario. punto x (α ) = x ∗ + αd ∈ Ω . Para Corolario (Caso sin 0 ≤ α ≤ α definimos la función restricciones). Sea Ω un g (α ) = f ( x (α )) , para ver que n subconjunto de E , y sea f∈C1 sucede en sólo una dirección (d). una función en Ω. Si x* es un Entonces, g tiene un mínimo, punto mínimo relativo de f de Ω y relativo en α = 0 . En la figura 3 x* es un punto interior de Ω, se muestra una g típica. Por entonces ∇f ( x*) = 0. aplicación de la expansión de Nota: Taylor a la función g(α) resulta. Las condiciones necesarias en el caso no restringido g (α ) − g (0) = g ′(0)α + 0(α ) , (*) puro producen n ecuaciones (una por cada de ∇f (x) de n incógnitas (las donde O(α) denota (error) componente componentes de x*), que en muchos casos se términos que tienden a cero más pueden resolver para determinar la solución. rápido que α. Si afirmamos que g’(0)<0, entonces para valores Ejemplo 1: Dado el problema Angel Sangiacomo C. F. Ayres H. 16 Capítulo 1 Introducción a la Optimización No Lineal Figura 9. Minimizar f ( x1 , x2 ) = x12 − x1 x2 + x22 − 3 x2 . Solución: Figura 8. No hay restricciones, luego Ω=E2. Al igualar a cero las derivadas parciales de f resultan las dos ecuaciones. 2 x1 − x2 = 0 − x1 + 2 x2 = 3, Figura 10. que tienen la solución única x1 = 1, x2 = 2 , la cual es un punto Este problema tiene la derivadas mínimo global de f. parciales expresadas por Ejemplo 2: Resolver el problema Minimizar f ( x1, x2 ) = x12 − x1 + x2 + x1x2 sujeto a: Angel Sangiacomo C. x1 ≥ 0 x2 ≥ 0 ∂ f = 2 x1 − 1 + x2 = 0 ∂ x1 ∂ f = 1 + x1 = 32 . ∂ x2 Fijándonos en este resultado rápidamente nos damos cuenta que por la restricción x2≥0 el valor de x2 es cero (x2=0), reemplazando en la primera derivada nos resulta x1=½, que es un mínimo global. Analizando tenemos que: F. Ayres H. 17 Capítulo 1 ∇f ( x*) = ∇f ( 12 ,0) = (0, 32 ) y cualquier d = (d1 , d 2 ) factible tiene d1 libre y d2≥0, de aquí nos damos cuenta que como las derivadas parciales con respecto a x2 no se anulan en la solución, y cualquier dirección factible tiene una componente x2 mayor o igual que cero, resulta que ∇f(x*)d≥0, para todo d∈E2, tal que d es una dirección factible en el punto ( 12 ,0) . Nota: se debe resolver por ejemplo usando los multiplicadores de Lagrange y teniendo en cuenta las condiciones de Kuhn Tucker. Introducción a la Optimización No Lineal relaciones entre variables, reduciendo así el número efectivo de variables. A continuación se presentan algunos ejemplos para ilustrar el amplio campo de aplicaciones de la teoría. Ejemplo 3: .(Producción). Determinar la mejor manera de combinar varias entradas para producir cierto bien es un problema común en teoría económica. Hay una función de producción conocida f(x1, x2, ..., xn), que presenta la cantidad de bienes producidos, como una función de las cantidades xi de las entradas, i=1, 2, …., n. El precio por unidad del bien producido es q, y los precios Ejemplos de problemas sin unitarios de las entradas son p1, restricciones p2, ..., pn. El productor que desee maximizar la ganancia debe Los problemas de optimización resolver el problema. sin restricciones se presentan en diversos contextos, pero son más Maximizar frecuentes cuando la formulación qf ( x1, x2 , ..., xn ) − p1 p1 − p1x1 − p2 x2 ... − pn xn . del problema es sencilla. A menudo, las formulaciones más Las condiciones necesarias de complejas implican restricciones primer orden son que se anulen explícitas. Sin embargo, muchos las derivadas parciales respecto a problemas con restricciones las xi Esto conduce directamente suelen convertirse en problemas a las n ecuaciones sin restricciones utilizando las ∂ f restricciones para establecer q ∂ xi ( x1, x2 , ..., xn ) = pi , i = 1, 2, ..., n. Angel Sangiacomo C. F. Ayres H. 18 Capítulo 1 Estas ecuaciones se pueden interpretar como confirmación, en la solución, de que el valor marginal debido a un incremento pequeño en la i-ésima entrada debe ser igual al precio pi. Introducción a la Optimización No Lineal respecto a a=(a0, a1, a2, ..., an) para hallar los mejores coeficientes. Esta es una expresión cuadrática en los coeficientes a. Para hallar una representación compacta de este objetivo se define Ejemplo 4: (Aproximación). Un uso común de la optimización es en la aproximación de funciones. Supóngase que durante un experimento se observa el valor de la función g en m puntos, x1, x2, ..., xm, con lo que se conocen los valores g(x1), g(x2), ..., g(xm) y se desea aproximar la función por un polinomio de grado n (o menor), donde n<m m qij = ∑ ( xk )i + j , k =1 m b j = ∑ g ( xk )( xk ) k =1 m j y c = ∑ g ( xk ) 2 . k =1 Entonces, recurriendo al álgebra se puede mostrar que f (a) = aT Qa − 2bT a + c donde Q = [qij ] , b = (b1, b2 ,..., bn +1 ) . Las condiciones necesarias de primer orden establecen que se debe anular el gradiente de f. Esto conduce directamente al h( x) = an x n + an −1 x n −1 + L + a0 sistema de n+1 ecuaciones En relación con cualquier Qa = b elección del polinomio de que se pueden resolver para aproximación, habrá un conjunto determinar a. de errores ε k = g ( xk ) − h( xk ) . Se define la mejor aproximación Ejemplo 5: (Problema de la como el polinomio que minimiza selección). la suma de los cuadrados de estos A menudo, es necesario errores, es decir, se minimiza. seleccionar varios factores para m 2 satisfacer un conjunto diario de ∑ (ε k ) k =1 requerimientos. Un ejemplo es el Lo cual, a su vez, significa que se problema de una planta eléctrica minimiza que ha de elegir los dispositivos m 2 de generación de energía. La f (a) = ∑ [g ( xk ) − (an xkn + an −1 xkn −1 + ... + a0 )] k =1 cantidad de energía que debe Angel Sangiacomo C. F. Ayres H. 19 Capítulo 1 proporcionar la planta varía según la hora del día, el día de la semana y la estación. Sus requerimientos de generación de energía se representan por una curva, h(x), como se ilustra en la figura 6, que refleja el total de horas al año en que se requiere al menos una cantidad de energía x para cada x. Por conveniencia, se normaliza la curva de modo que el límite superior es la unidad. La planta eléctrica se puede cubrir estos requerimientos instalando un equipo generador (1) nuclear, (2) de carbón o comprando energía a una red central de energía. Asociado al tipo i (i=1,2) de equipo generador, hay un costo de capital unitario anual bi y un costo de operación unitario ci. El precio por unidad de energía comprada a la red es c3. Las centrales nucleares tienen un costo de capital alto y un costo de operación bajo, por lo que se usan para proporcionar una carga base. Las plantas que funcionan con carbón se usan para la categoría intermedia y se compra directamente energía sólo para los periodos de máxima demanda. Los requerimiento se satisfacen según se muestra en la Angel Sangiacomo C. Introducción a la Optimización No Lineal figura 6, donde x1 y x2 representan las capacidades de las plantas nucleares y de carbón, respectivamente. (Por ejemplo, la planta de energía nuclear se pueden visualizar formada por x1/Δ generadores pequeños de capacidad Δ, donde Δ es pequeña. El primer generador funciona unas h(Δ) horas, proporcionando Δh(Δ) unidades Figura 11. (curva de requerimientos de energía) de energía; el siguiente proporciona Δh(2Δ) unidades, y así sucesivamente. Entonces, el total de energía proporcionada por la planta nuclear es el área mostrada.) El costo total es f ( x1 , x2 ) = b1 x1 + b2 x2 + c1 ∫ + c2 ∫ x1 + x 2 x1 x1 0 h( x)dx + c3 ∫ h( x)dx 1 x1 + x 2 h( xdx, y la compañía desea minimizar esto en el conjunto definido por F. Ayres H. 20 Capítulo 1 Introducción a la Optimización No Lineal x1 ≥ 0, x1 + x2 ≤ 1 . x2 ≥ 0 , Suponiendo que la solución es interna a las restricciones, igualando las derivadas parciales a cero se obtienen las dos ecuaciones que representan las condiciones necesarias, b1 + (c1 − c2 ) h( x1 ) + (c2 − c3 )h( x1 + x2 ) = 0 b2 + (c2 − c3 )h( x1 + x2 ) = 0 xk +1 = xk + u k , donde xk es el error en el tiempo k, y uk es la fuerza efectiva aplicada al tiempo uk (después de haberse normalizado para tener en cuenta la masa del objeto y la duración de la fuerza). El valor de x0 está dado. La sucesión de u0, u1, ..., un deberá seleccionarse para minimizar el objetivo. Si x1=0, entonces el teorema de la j = ∑ { xk2 + uk2 } k =0 condición necesaria general muestra que la primera igualdad podría llegar a ser ≥ 0 . El caso Esto representa un compromiso x1 + x2 = 1 requiere un análisis entre el deseo de igualar xk a 0 y al reconocimiento de que la más profundo (véase Ejercicio 2). acción de control uk es costosa. El problema se puede convertirse Ejemplo 6: (Control). en un problema sin restricciones eliminando las variables xk, k=1, Los problemas dinámicos, donde 2, ..., n, del objetivo. Se ve en las variables corresponden a segunda que xk = x0 + u0 + u1 + ... + u k −1 acciones tomadas en una sucesión de momentos de Así pues el objetivo se puede tiempos, a menudo se pueden volver a expresar como formular como problema de n J = ∑ { ( x0 + u0 + ... + uk −1 ) 2 + uk2 }, optimización sin restricciones. A k =0 modo de ejemplo, supóngase que que es una función cuadrática de la posición de un objeto grande las incógnita uk y tiene la misma se controla por una serie de estructura general que la del fuerzas de control correctas. El ejemplo 2, por lo que puede error de posición (la distancia a la tratarse de una forma similar posición deseada) está controlado por la ecuación n Angel Sangiacomo C. F. Ayres H. 21 Capítulo 1 Condiciones orden Introducción a la Optimización No Lineal de segundo La condición (a) fue demostrada en la proposición 1, y la segunda se aplica sólo si ∇f(x*)d=0. Para este caso lo haremos introduciendo la función x(α)=x*+αd y la función compuesta g(x)=f(x(α)) como antes. Como sabemos que g ′(0) = 0 , se obtiene La proposición 1 demostrada anteriormente se basa en la realización de una aproximación de primer orden a la función f en las proximidades del punto mínimo relativo por la serie de g (α ) − g (0) = 12 g ' ' (0)α 2 + 0(α 2 ). Taylor. Para conseguir condiciones adicionales se debe Si g ' ' (0) < 0 , el lado derecho de la tener en cuenta aproximaciones ecuación anterior es negativo de orden superior. para α suficientemente pequeña, Las condiciones de segundo esta última afirmación contradice orden, que se definen en función la definición de mínimo relativo de g(0). Así que concluimos de la matriz hessiana (∇2f ) de las g ' ' (0) = d T ∇ 2 f ( x*)d ≥ 0. segundas derivadas parciales de f, son de gran importancia teórica y van a predominar en buena parte Ejemplo 7 del análisis que presentamos Minimizar aquí. f ( x1 , x2 ) = x12 − x1 + x2 + x1 x2 Proposición 2 (Condiciones nesujeto a: x1 ≥ 0 cesarias de segundo orden). x2 ≥ 0 n Sea Ω un subconjunto de E , y Cuya solución 1 f∈C2 una función en Ω si x* es es x* = ( 2 ,0) . para un punto mínimo relativo de f en Sea ∇ f ( x *) d = Ω, entonces para cualquier d∈En 3 = d = 0 , de que sea una dirección factible en 2 2 donde se dedox* resulta ce por la cona) ∇f ( x*)d ≥ 0 b) si ∇f ( x*)d = 0, entonces d T ∇ 2 f ( x*)d ≥ 0, Prueba: Angel Sangiacomo C. Figura 12. dición (a) de la Así la condición 2) de la proposición 2 proposición 2 se aplica sólo que d 2 = 0 . si d 2 = 0 . En este caso, se tiene d T ∇ 2 f ( x*)d = 2d12 ≥ 0 , F. Ayres H. 22 Capítulo 1 Introducción a la Optimización No Lineal ⎡2 1 ⎤⎛ d1 ⎞ 2 (d1 ,0) ⎢ ⎥⎜⎜ 0 ⎟⎟ = 2d1 ≥ 0, 1 0 ⎣ ⎦⎝ ⎠ lo que hace evidente la prueba de la proposición Ejemplo 8: De nuevo, es de especial interés el caso en que el punto de minimización es un punto interior de Ω por ejemplo, en el caso de problemas completamente sin restricciones. Entonces, se obtiene el siguiente resultado clásico: Resolver usando la proposición 2, Proposición 3. (Condiciones el siguiente problema: necesarias de segundo orden: Minimizar f ( x1, x2 ) = x13 − x1x2 + 2 x22 caso sin restricciones). sujeto a: x1 ≥ 0 Sea x* un punto interior del x2 ≥ 0 conjunto Ω y supongamos que x* Solución: Aquí se cumple la es un punto mínimo relativo en Ω 2 proposición 2 como de la función f∈C . Entonces, Figura 13. en el ejemplo 1? Si seguimos porfiando en hallar otra solución (usando el corolario ∇f ( x*) = 0 ) es claro que la encontramos en el 1 punto x1 = 12 y Se ve claramente que x2 = hay solución en la frontera y x1 = 0 x2 = 0 . 1 48 , pero cumple que sea un mínimo pues se cumple que ∇ 2 f ( x*) sea definida positiva. Para ello basta hallar la combinación general de las componentes de d factible tal que dT∇2f(x*)d≥0. La tarea es hallarlo? Angel Sangiacomo C. a) ∇f ( x*) = 0 b) para toda d , d T ∇ 2 f ( x*)d ≥ 0 . Para simplificar la notación, se puede denotar por ∇ 2 f ( x) la matriz de n×n de las segundas derivadas de f, y el hessiano de f, por la notación alternativa F (x) . La condición (b) equivale a afirmar que la matriz F(x*) es semidefinida positiva. Como se observará, la matriz F(x*), que aparece aquí de manera bastante natural en el análisis de las condiciones necesarias, tiene un papel fundamental en el análisis de métodos iterativos de solución de problemas de optimización sin F. Ayres H. 23 Capítulo 1 Introducción a la Optimización No Lineal restricciones. La estructura de que evaluada en la solución esta matriz es la determinante propuesta x1=6, x2=9, es primaria de la tasa de ⎡ 18 − 12⎤ F (6,9) = ⎢ convergencia de algoritmos , − 12 4 ⎥⎦ ⎣ diseñados para minimizar la función f. Ejemplo 9. Téngase en cuenta el problema 8 minimizar f ( x1, x2 ) = x13 − x12 x2 + 2 x22 sujeto a: x1 ≥ 0, x2 ≥ 0. Esta matriz no es semidefinida Si se supone que la solución está positiva como se vio en el en el interior del conjunto ejemplo 8. factible, es decir, si x1>0, x2>0, entonces las condiciones Condiciones suficientes para un mínimo relativo necesarias de primer orden son 3x12 − 2 x1 x2 = 0 , − x12 + 4 x2 = 0. Hubo la solución en x1=x2=0 que es un punto frontera, pero también hay una solución en x1=6, x2=9. Se observa que para x1 fija en x1=6 el objetivo alcanza un mínimo relativo a x2 en x2 = 9. A la inversa, con x2 fija en x2 = 9, el objetivo alcanza un mínimo relativo respecto a x1 en x1=6. A pesar de este hecho, el punto x1=6, x2=9 no es punto mínimo relativo, porque la matriz hessiana es: ⎡6 x − 2 x2 F ( x) = ⎢ 1 ⎣ − 2 x1 Angel Sangiacomo C. − 2 x1 ⎤ 4 ⎥⎦ Reforzando algo la segunda condición de la proposición 3 anterior, se obtiene un conjunto de condiciones que implican que el punto x* sea un mínimo relativo. Se presentan aquí condiciones que sólo son aplicables a problemas sin restricciones o a problemas donde el punto mínimo es interior a la región factible, pues las condiciones correspondientes a los problemas en los que el mínimo se alcanza en un punto frontera del conjunto factible son muy difíciles y su valor práctico o teórico es marginal. F. Ayres H. 24 Capítulo 1 Introducción a la Optimización No Lineal de convexidad. Esto no sólo Proposición 4 (Condiciones suficientes proporciona una teoría más potente, aunque más restrictiva de segundo orden: caso sin restricciones). (aplicable a un conjunto más Sea f∈C2 una función definida en pequeño), sino también una una región, en la que el punto x* interesante interpretación es un punto interior. Además, geométrica del resultado de supóngase que suficiencia de segundo orden a) ∇f (x*) = 0 deducido antes. b) F (x*) es definida positiva. Entonces, x* es un punto mínimo Definición 3 relativo estricto de f. Una función f definida en un Prueba: conjunto convexo Ω es convexa Como F(x*) es definida positiva, si, para toda x1,x2∈Ω y toda α, hay una a>0 tal que para toda d, 0≤ α ≤1 se cumple 2 d T F ( x*)d ≥ a d . Así, por el f ( α x 1 ) + ( 1 – α ) x 2 ) ≤ α f(x 1 )+(1– α )f(x 2 ) teorema de Taylor (con residuo) Si, para toda α, 0< α <1 y x1≠x2 1 T 2 f ( x * + d ) − f ( x*) = d F ( x*)d + o( d ) se cumple 2 2 2 ≥ ( α2 ) d + o( d ). Para |d| pequeño, el primer término de la derecha domina al segundo, lo que implica que ambos lados son positivos para f ( α x 1 ) + ( 1 – α ) x 2 ) < α f(x 1 )+(1– α )f(x 2 ) una d pequeña. entonces, se dice que f es estrictamente convexa. Funciones convexas y cóncavas En la figura 14 se muestran varios ejemplos de funciones Para desarrollar una teoría convexas o no convexas. destinada a la caracterización global, en lugar de local, de puntos mínimos, es necesario introducir cierto tipo de premisas Angel Sangiacomo C. F. Ayres H. 25 Capítulo 1 Introducción a la Optimización No Lineal Combinaciones convexas a) b) c) e) d) Las figuras b), c), y d) son convexas. Las figuras a) y e) no son convexas. Figura 14. de funciones Se mostrará ahora que las funciones convexas se pueden combinar para producir funciones convexas nuevas y que cuando se usan funciones convexas como restricciones producen conjuntos de restricciones convexos. Proposición 5 Geométricamente, una función es Sean f y f funciones convexas 1 2 convexa si la recta que une dos en el conjunto convexo Ω. puntos de una gráfica nunca está Entonces, la función f +f es 1 2 debajo la misma gráfica. convexa en Ω. La siguiente es la definición de Prueba: 0 < α < 1. y Sea x1,x2∈Ω una función cóncava. Entonces, f1 (αx1 + (1 − α ) x2 ) + f 2 (αx1 + (1 − α ) x2 ) Definición 4. Una función g definida en un ≤ α [ f ( x ) + f ( x )] + (1 − α )[ f1 ( x2 ) + f 2 ( x2 )] conjunto convexo Ω se dice que ♦ 1 1 2 1 es cóncava si la función f = –g es convexa. La función g es estrictamente cóncava si –g es Proposición 6 Sea f una función convexa en el estrictamente convexa. conjunto convexo Ω. Entonces, la función af es convexa para cualquier a≥0. ♣ Prueba: (Se deja a lector). Función cóncava g. Función Convexa Figura 15. Angel Sangiacomo C. f = −g Obsérvese que con la aplicación repetida de las 5 y 6 resulta que una combinación positiva a1 f1 + a2 f 2 + ... + am f m de F. Ayres H. 26 Capítulo 1 Introducción a la Optimización No Lineal funciones convexas es también Si la función f es diferenciable, entonces existen caracterizacioconvexa para todo ai≥0. nes de convexidad alternativas. La siguiente proposición tiene aplicaciones dentro del contexto Proposición 8 de los problemas con Sea f∈C1. Entonces f es convexa restricciones de desigualdad en un conjunto convexo Ω si, y convexas. sólo si, Proposición 7 Sea f una función convexa en un conjunto convexo Ω. El conjunto Γc = { x : x ∈ Ω, f ( x ) ≤ c} es convexo para todo número real c. f ( y ) ≥ f ( x) + ∇f ( x)( y − x) para toda x, y∈Ω. Prueba: (sólo si) Supongamos que f es convexa. Entonces, para toda α, 0≤ α ≤1 , f (αy + (1 − α ) x ) ≤ αf ( y ) + (1 − α ) f ( x ). Así, para 0 < α ≤ 1 Prueba: f ( x + α ( y − x)) − f ( x) ≤ f ( y ) − f ( x) . Sea x 1 , x 2 ∈Γc* Entonces como, α f(x 1 )≤c , f(x 2 )≤c , para 0 < α < 1 . Al hacer α → 0, (nos resulta la f ( α x 1 ) + ( 1 – α ) x 2 ) ≤ α f(x 1 )+(1– α )f(x 2 ) derivada respecto sólo a α ) ≤ αc + (1 − α )c = c, Así, αx1 + (1 − α )x2 ∈ Γc . ∇ f ( x ) ( y − x ) ≤ f ( y ) − f ( x ). Esto demuestra la parte “sólo si”. Observación: como la intersección de conjuntos convexos también es convexa, el Ahora Probaremos la parte del si conjunto de puntos que satisfacen ( ⇐ ). simultáneamente Supongamos que f1 ( x ) ≤ c1 , f 2 ( x ) ≤ c2 , ..., f m ( x ) ≤ cm , f ( y ) ≥ f ( x ) + ∇f ( x ) ( y − x ) (1) donde cada fi es una función convexa, define un conjunto convexo. Esto es importante en para toda x , y ∈Ω. Fijaremos programación matemática, pues el conjunto de x1,x2∈Ω y α , 0 ≤ α ≤ 1 . Al hacer restricción suele definirse así. x = αx1 + (1 − α ) x 2 y también y=x1 o y= x2, resulta Propiedades de las funciones convexas diferenciables Angel Sangiacomo C. f ( x1 ) ≥ f ( x ) + ∇ f ( x ) ( x1 − x ) f ( x2 ) ≥ f ( x ) + ∇f ( x )( x2 − x ) (2) (3) F. Ayres H. 27 Capítulo 1 Introducción a la Optimización No Lineal multiplicando (2) por α y (3) Sea f∈C2. Entonces, f es convexa por (1 − α ) , y sumando, se obtiene en un conjunto convexo Ω que αf (x1 ) + (1 − α ) f ( x2 ) contenga un punto interior si, y ≥ f (x ) + ∇f ( x )[αx1 + (1 − α )x 2 − x ]. sólo si, la matriz hessiana F de f pero sustituyendo es semidefinida positiva en todo x = αx1 + (1 − α )x2 , se tiene Ω. αf ( x1 ) + (1 − α ) f ( x2 ) ≥ f (αx1 + (1 − α )x2 ). Prueba: ♠ (Si). Aplicando el teorema de Taylor, se tiene f ( y ) − f ( x ) = ∇f ( x )( y − x ) + 12 ( y − x )T F ( x + α ( y − x ))( y − x ) (1) b) a) para algún α, 0≤ α ≤1. Por hipótesis se tiene que el hessiano La formulación de la proposición es semidefinido positivo en todas anterior se ilustra en la figura 16. partes, es evidente que resulte: (2) Se puede considerar como una f ( y) ≥ f ( x) + ∇f ( x)( y − x), especie de caracterización dual lo cual según la proposición 8, de la definición original ilustrada implica que f es convexa. en la figura 16a. En esencia, la (Sólo si). Supóngase ahora que la hessiana no es definición original establece que matriz la interpolación lineal entre dos semidefinida positiva en algún puntos sobre valora la función, en punto x∈Ω. Por la continuidad tanto que la proposición anterior del hessiano, se puede suponer, afirma que la aproximación lineal sin pérdida de generalidad, que x basada en la derivada local es un punto interior de Ω. Existe infravalora la función. un y∈Ω, tal que (y–x)TF(x)(y–x) Para funciones diferenciables <0, también por la continuidad continuamente dos veces, hay del hessiano, y puede otra caracterización de seleccionarse de la forma que convexidad. para todo α, 0≤ α ≤1 , (y–x)TF(x+α(y–x))(y–x) < 0. Según (1), esto implica que (2) Proposición 9 no se satisface, lo cual, por la Figura 16. Angel Sangiacomo C. F. Ayres H. 28 Capítulo 1 Introducción a la Optimización No Lineal proposición 8, implica que f no es deducida sólo en función del convexa, Luego f es convexa. ♣ cálculo elemental, está íntimamente relacionada con la convexidad –al menos localmente–. Por esta razón, se puede considerar las dos teorías, local y global, no como desarrollados paralelos disjuntos, sino complementarias e interactivas. Los resultados basados en la Figura 17. convexidad son aplicables La matriz hessiana es la incluso a problemas no convexos generalización a En del concepto en una región próxima a la de curvatura de una función y, de solución y, a la reciproca, los la forma análoga, la definición resultados locales son aplicables positiva del hessiano es la a un punto mínimo global. generalización de curvatura positiva. Las funciones convexas Minimización y maximización tienen curvatura positiva (o, al de funciones convexas menos, no negativa) en todas las direcciones. A causa de estas A continuación se presentan los observaciones, a veces se dice tres resultados clásicos concerque una función es localmente nientes a la minimización o convexa si su matriz hessiana es maximización de funciones semidefinida positiva en una convexas. región pequeña, y localmente estrictamente convexa si el Teorema 1 hessiano es de definido positivo Sea f una función convexa en la región. En función de esto, definida en el conjunto convexo se observa que el resultado de Ω. Entonces, el conjunto Γ donde suficiencia de segundo orden de f alcanza su mínimo es convexo y la última sección requiere que la cualquier mínimo relativo de f es función sea localmente estricta- un mínimo global. mente convexa en el punto x*. Prueba: Así incluso la teoría local, Angel Sangiacomo C. F. Ayres H. 29 Capítulo 1 Si f no tiene mínimos relativos, el teorema se cumple por defecto. Supóngase ahora que c0 es el mínimo de f. Entonces, es evidente que Γ = { x : f ( x ) ≤ c0 , x ∈ Ω} y esto es convexo por la anterior proposición 7. Por otro lado supongamos ahora que x*∈Ω es un punto mínimo relativo de f, pero que hay otro punto y∈Ω que cumple con f(y)<f(x*). En la recta αy + (1 − α )x*, 0 < α < 1, resulta f (αy + (1 − α )x *) ≤ αf ( y ) + (1 − α ) f ( x *) < αf ( x *) + (1 − α ) f ( x *) = f ( x *), lo que contradice el hecho de que x* es un punto mínimo relativo. ♠ Se podría enunciar el teorema anterior diciendo que, para funciones convexas, todos los puntos mínimos están situados juntos (en un conjunto convexo) y todos los mínimos relativos son mínimo globales. El siguiente teorema establece que si f es continuamente diferenciable y convexa, entonces para el cumplimiento de las condiciones necesarias de primer orden es necesario y suficiente para que un punto sea de minimización global. Angel Sangiacomo C. Introducción a la Optimización No Lineal Teorema 2 Sea f∈C1 convexa en el conjunto convexo Ω. Si hay un punto x*∈Ω tal que, para toda y∈Ω, ∇f(x*)(y–x) ≥ 0, entonces x* es un punto mínimo global de f en Ω. Prueba: Se observa particularmente que como y − x* ≈ d es una dirección factible en x*, la condición dada equivale a la condición necesaria de primer orden formulada así ∇f(x*)d≥0 anteriormente (proposición 1). La demostración de la proposición es inmediata, pues por la anterior proposición 8, f ( y ) ≥ f ( x *) + ∇f ( x *)( y − x *) ≥ f ( x *). ♦ A continuación se desarrolla la cuestión de maximizar una función convexa en un conjunto convexo. Sin embargo, no hay un teorema análogo al 1 para la maximización; en realidad, la tendencia existe para el caso de numerosos puntos máximos relativos no globales. No obstante, se puede demostrar un resultado importante, que no se utiliza en los capítulos siguientes, pero que es útil para algunas áreas de optimización. F. Ayres H. 30 Capítulo 1 Introducción a la Optimización No Lineal Teorema 3 Sea f una función convexa definida en el conjunto Ω convexo, cerrado y acotado. Si f tiene un máximo en Ω, se alcanza en un punto extremo de Ω. Prueba: Supóngase que f alcanza un máximo global en x*∈Ω. Se muestra en primer lugar que este máximo se alcanza en algún punto frontera de Ω. Si x* es un punto frontera, entonces no hay nada que demostrar, de modo que se supone que x* no es un punto frontera. Sea L cualquier recta que pase por el punto x*. La intersección de esta recta con Ω es un intervalo de la recta L con puntos extremos y1, y2 los cuales son punto frontera de Ω y resulta x* = αy1 + (1 − α ) y 2 para alguna α ,0 < α < 1. Por la convexidad de f f (x *) ≤ αf ( y1 ) + (1 − α ) f ( y 2 ) ≤ máx{ f ( y1 ), f ( y 2 ) }. frontera, x*, es un punto extremo de Ω, no hay que probar nada más. Si no es punto extremo, considérese la intersección de Ω con un hiperplano de apoyo H en x*. Está intersección, T1, es de dimensión n–1 o menor, y el máximo global de f en T1 es igual a f(x*) y debe alcanzarse en un punto frontera x1 de T1. Si este punto frontera es un punto extremo de T1, también es un punto extremo de Ω por el lema 1 de la sección B.4 (en el texto de Luenberger, 480 [apéndice]), por lo que el teorema está demostrado. Si x1 no es un punto extremo de T1, se forma T2, la intersección de T1 con un hiperplano en En-1 que apoya a T1 en x1. Este proceso puede continuar un máximo de n veces hasta obtener un conjunto Tn de dimensión cero, formado por un solo punto. Este único punto es un punto extremo de Tn y además, por aplicación repetida del lema 1 de la sección B,4 es un punto extremo de Ω. ♥ Así, f(y1) o f(y2) debe ser al menos tan grande como f(x*), Como x* es un punto máximo, también lo es y1 o y2. Se ha mostrado que el máximo, si Convergencia global se alcanza, debe alcanzarse en un algoritmos de descenso punto frontera de Ω. Si este punto Angel Sangiacomo C. de F. Ayres H. 31 Capítulo 1 Nos dedicaremos a la presentación y análisis de diversos algoritmos diseñados para resolver problemas de programación no lineal. Aunque el objeto, aplicación y análisis detallado de estos algoritmos varían considerablemente, desde los sencillos a los más complejos, todos tienen la propiedad común de ser algoritmos iterativos descendentes. Por iterativo, se entiende, a grandes rasgos, que el algoritmo genera una serie de puntos, calculándose cada punto en función de los puntos que le proceden. Por descendente se entiende que, a medida que el algoritmo genera cada punto nuevo, el valor correspondiente de cierta función (evaluada en el punto más reciente) decrece. Idealmente la sucesión de puntos así generados por el algoritmo converge en un número finito o infinito de pasos a una solución del problema original. Un algoritmo iterativo se inicia especificando un punto de partida. Si se garantiza que para puntos de partida arbitrarios el algoritmo genera una sucesión de puntos que convergen a una solución, entonces se dice que el algoritmo es globalmente converAngel Sangiacomo C. Introducción a la Optimización No Lineal gente. Lo cierto que no todos los algoritmos tienen esta propiedad obviamente deseable; de hecho, muchos de los algoritmos no más importantes para resolver el problemas de programación no lineal, no son globalmente convergentes en su forma más pura, por lo que en ocasiones generan sucesiones que no convergen o convergen a puntos que no son soluciones. Sin embargo, a veces se pueden modificar esos algoritmos añadiéndoles ciertas cualidades especiales que garanticen la convergencia global. Afortunadamente, el tema de convergencia global se puede unificar mediante el análisis de una teoría general de algoritmos desarrollados sobre todo por Zangwill. A partir del análisis que se presenta en esta sección, se deduce el teorema de la convergencia global aplicable al estudio de cualquier algoritmo iterativo descendente. En los capítulos siguientes se citan con frecuencia ciertos importantes resultados. Algoritmos F. Ayres H. 32 Capítulo 1 Un algoritmo se considera como una transformación. Dado un punto x en un espacio X, la salida de un algoritmo aplicado a x es un punto. Operando de manera iterativa, un algoritmo se aplica repetidamente a los nuevos puntos que genera, para producir una sucesión de puntos. Así, como definición preliminar, se podría definir formalmente un algoritmo A como una transformación que convierte puntos de un espacio X en (otros) puntos de X. Al operar iterativamente, el algoritmo A iniciado en x0∈X generará la sucesión {xk} definida por xk+1=A(xk) Introducción a la Optimización No Lineal Un algoritmo A es una transformación definida en un espacio X que asigna a todo punto x∈X un subconjunto de X. En esta definición, el término “espacio” tiene una interpretación libre. En general, X es el espacio vectorial En, pero puede ser sólo un subconjunto de En o un espacio métrico más general. Sin embargo, el aspecto más importante de la definición es que la transformación A, en lugar de ser una transformación punto a punto de X, es una transformación punto a conjunto de X. Un algoritmo A genera una sucesión de puntos como sigue: dado xk∈X, el algoritmo produce A(xk) que es un subconjunto de X. De este subconjunto se selecciona un elemento arbitrario xk+1. De esta manera, dado un punto inicial x0, el algoritmo genera sucesiones mediante la iteración xk+1∈A(xk) En la práctica, la transformación A podría definirse explícitamente con una expresión matemática sencilla, o implícitamente, mediante un largo y complejo programa de computadora, y dado un vector de entrada, ambos definen una salida correspondiente. Con esta idea intuitiva de algoritmo, se generaliza en algo el Es evidente que, excepto en el concepto, a fin de flexibilizar el caso en que A es una transformación punto a punto, en análisis. general, la sucesión generada por Definición 5 el algoritmo A no se puede Angel Sangiacomo C. F. Ayres H. 33 Capítulo 1 Introducción a la Optimización No Lineal percibir tan sólo a partir del derivada, por el algoritmo dado conocimiento del punto inicial x0. por , Monte Carlo, etcétera. f ( xk ) Este grado de incertidumbre tiene a) Newton xk +1 = xk − , donde f ′( xk ) por objeto reflejar la f(x) es la aproximación a la raíz de incertidumbre que se pudiera 4.5; o sea f(xk)= ( xk2 − 4.5) → 0 . producir en la práctica relativa a b) Derivada g ( x) = x , g ' ( x) = 1 /[ 2 x ] , los detalles específicos de un g ( x0 + h0 ) = g ( x0 ) + g ' ( x0 )h0 , donde algoritmo. Ejemplo 10 Supóngase que para x, es la recta real, se define A( x ) = [− x / 2, x / 2] de modo que A(x) es un intervalo de la recta real. Comenzando en x0 = 100 , cada una de las sucesiones siguientes se podría generar a partir de la aplicación iterativa de este algoritmo 100,50,25,12,−6,−2,1.,1 / 2,... 100,−40,20,−5,−2,1,1 / 4,1 / 8,. .. 100,10,−11 , / 16,1 / 100,−1 / 1000,1 / 10000,... x0 + h = 4.5 , x0 = 4 , h0 = 0.5 , que generan la aproximación a la raíz. c) Método de Montecarlo (aleatorio). d) Método de Cuerdas (con sus arreglos correspondientes). , se aproxima sólo e) El dado por por defecto. Creando una función error de descenso dada por ejemplo * xk +1 − xk* , donde xk es una elección arbitraria del conjunto obtenido del paso anterior xk∈A(xk-1). A manara de ejemplo dentro de esta solución lo haremos con lo correspondiente a la derivada, cuerdas y al Monte Carlo. Ejemplo 11 Supóngase que queremos Algoritmo para derivadas: 2 encontrar la raíz cuadrada del Paso 1: Entrar xk; { 2g(x)= x ; f(x)=4.5–x } Paso 2: h = 4.5 − xk , número 4.5. f (x ) Una solución la daremos en Paso 3: xk +1 = g ( xk ) + g ' ( xk )h = xk − f ' ( xk ) . k seguida. La idea se presenta en el uso de Algoritmo para cuerdas: los algoritmos que se tienen en Paso 1: Entrar xk , a y b. { a ≤ xk y además f (a ) f (b) < 0 } mano por ejemplo de Newton, Cuerdas, por aplicación de la Paso 2: Si ( a ≤ xk < b ) y ( f ( xk ) f (b) < 0 ) Angel Sangiacomo C. F. Ayres H. 34 Capítulo 1 Introducción a la Optimización No Lineal entonces extremo inferior xk , Paso 3: en otro caso extremo b = xk . {tal que el intervalo quede [ xk , b] } Paso 4: xk +1 = xk − f ( xk )(b − xk ) . f (b) − f ( xk ) Algoritmo para Monte Carlo: 5. para xk = 2.1213203 5 Carlo=2.1213203 Æ 1 er= 0.00000000 5 deriv =2.1213203 Æ 2 er= 0.00000000 5 Cuerd=2.1213203 Æ 3 er= 0.00000000 Haga sus propios análisis de los resultados. Sigue el programa en Pascal: Program Metodos_de_Derivada_Carlo_Cuedas_s; 2 uses crt; Paso 2: h = 4.5 − xk Type _r=real; _i=integer; Paso 3: Si h < 0 entonces hacer i = −1 en otro var a,xk,h,aa,aleat,kk,a1,a2:_r; caso hacer i=1, vx:array[0..5] of _r; i,j:longint; Paso 4: h=|h| d:char; Paso 5: Si h < 1 entonces h = h / 2 procedure Monte_carlo; en otro caso h = [mayor entero cuyo begin Paso 1: Entrar xk Paso 6: Paso 7: Paso 8: Paso 9: cuadrado no supere a h] aaleatorio = [número aleatorio], {0 < aaleatorio < 1, extraído de tablas} a= (aaleatorio )2 xk+1.= xk.+ aaleatorio hi Publicar xk+1. Una corrida con: xk=2.00 y para las cuerdas [1.80, 3.00] se tiene los resultados siguientes: 1.- para xk = 2.00 Æ 1 er= 0.33379854 1 Carlo=2.0411275 1 deriv =2.1250000 Æ 2 er= 0.01562500 1 Cuerd=2.1000000 Æ 3 er= 0.09000000 2. para xk = 2.041175 ; 2 Carlo=2.1942176 Æ 1 er= 0.31459096 2 deriv =2.1228957 Æ 2 er= 0.00668603 2 Cuerd=2.1073426 Æ 3 er= 0.05910736 3. para xk = 2.1228957 3 Carlo=2.1199755 Æ 1 er= 0.00570375 3 deriv =2.1213209 Æ 2 er= 0.00000248 3 Cuerd=2.1212900 Æ 3 er= 0.00012871 4. para xk = 2.1212900 4 Carlo=2.1212950 Æ 1 er= 0.00010745 4 deriv =2.1213203 Æ 2 er= 0.00000000 4 Cuerd=2.1213203 Æ 3 er= 0.00000005 Angel Sangiacomo C. h:=aa-xk*xk; if h<0 then i:=-1 else i:=1; h:=abs(h);kk:=0; if h<1 then h:=h/2 else begin repeat kk:=kk+1 until kk*kk>h; h:=kk-1 end; aleat:=sqr(random); vx[1]:=xk+i*h*aleat; writeln(j:3,' Carlo=',vx[1]:2:7,' -->1', ' er= ',abs(aa-sqr(vx[1])):2:8); if vx[1]<0 then vx[1]:=abs(vx[1]); end; procedure derivadas; begin vx[2]:=xk-(xk*xk-aa)/(2*xk); writeln(j:3,' deri =',vx[2]:2:7,' -->2', ' er= ',abs(aa-sqr(vx[2])):2:8); end; procedure cuerdas; begin if (xk*xk-aa)*(a1*a1-aa)<0 then a2:=xk else a1:=xk; vx[3]:=a1-(a1*a1-aa)*(a2-a1)/(a2*a2-a1*a1); writeln(j:3,' Cuer =',vx[3]:2:7,' -->3', ' er= ',abs(aa-sqr(vx[3])):2:8); end; begin randomize; write('Entrar número que se desee extraer raíz x='); read (aa); write('Entrar a para cuerdas a='); read (a1); write('Entrar b para cuerdas b='); read (a2); write('Entrar xk=');read (xk); j:=0; repeat j:=j+1; F. Ayres H. 35 Capítulo 1 Monte_Carlo; derivadas; cuerdas; writeln(' Elegir 1 2 3'); d:=UpCase(readkey); if d='1' then xk:=vx[1] else if d='2' then xk:=vx[2] else xk:=vx[3]; until d='F' end. La aparente ambigüedad inherente a esta definición de algoritmo no implica que los algoritmos reales sean de carácter aleatorio. En la aplicación práctica real, los algoritmos no se definen de manera ambigua. En realidad, un determinado programa de computador ejecutado dos veces por el mismo punto inicial generará dos copias de la misma sucesión. En otras palabras, en la práctica los algoritmos son transformaciones punto a punto. La utilidad de la definición más general es que permite analizar la convergencia de una familia integra de algoritmos análogos en un solo paso. Así, dos programas de computador, diseñados a partir de la misma idea básica, pueden diferir ligeramente en algunos detalles, por lo que quizá no produzcan resultados idénticos dando el mismo punto inicial. Sin embargo, ambos programas se pueden considerar como aplicación de la misma Angel Sangiacomo C. Introducción a la Optimización No Lineal transformación punto a conjunto. En el ejemplo anterior, por ejemplo no se necesita saber con exactitud como se determina xk+1 a partir de xk, si se sabe que su valor absoluto no es mayor que la mitad del valor absoluto de xk. El resultado siempre tenderá a cero. De esta forma, el concepto generalizado de algoritmo a veces conduce a un análisis más sencillo. Descenso Para describir la idea de un algoritmo descendente se debe considerar un subconjunto Γ del espacio X, que se denominará conjunto solución. La idea básica de una función descendente, definida a continuación, es que, para puntos que están fuera del conjunto solución, un solo paso del algoritmo produce un decrecimiento en el valor de la función descendente. Definición 6 Sea Γ⊂X un conjunto solución dado y sea A un algoritmo en X. Una función continua Z con valores reales en X es una F. Ayres H. 36 Capítulo 1 función descendente para Γ y A si satisface 1) si x∉Γ y y∈A(x), entonces Z(y)<Z(x) 2) si x∈Γ y y∈A(x), entonces Z(y)≤Z(x). Hay distintas maneras de definir un conjunto solución, un algoritmo y una función descendente. Un planteamiento natural del problema Minimizar f (x) ( ) sujeto a: x∈Ω es hacer que Γ sea el conjunto de puntos de minimización y definir un algoritmo A en Ω de forma que f decrezca en cada paso y sirva de función descendente. De hecho, éste es el procedimiento seguido en la mayoría de los casos. Otra posibilidad para problemas sin restricciones es hacer que Γ sea conjunto de puntos x, que satisface ∇f(x)=0. En este caso, se podría diseñar un algoritmo para el cual |∇f(x)| o f(x) sirva como función descendente. Transformaciones cerradas Angel Sangiacomo C. Introducción a la Optimización No Lineal Una propiedad importante de algunos algoritmos consiste en ser cerrados. Esta propiedad, que es una generalización de las transformaciones punto a conjunto del concepto de continuidad para transformaciones punto a punto, resulta ser la clave para formular un teorema de convergencia global general. Al definir esta propiedad, se permite que la transformación punto a conjunto transforme puntos de un espacio X en subconjuntos de otro espacio Y. Definición 7 Una transformación punto a conjunto A de X a Y se dice que es cerrada en x∈X si las hipótesis 1) xk → x , xk ∈ X , 2) yk → y , yk ∈ A( xk ) implican 3) y ∈ A( x ) La transformación punto a conjunto A se dice que es cerrada en X si es cerrada en cada punto de X. Ejemplo 12 F. Ayres H. 37 Capítulo 1 Como caso especial, supongamos que la transformación A es una transformación punto a punto, es decir, para cada x∈X, el conjunto A(x) consta de un solo punto en Y. Además supongamos que A es continua en x∈X. Esto significa entonces que si xk→x, A(xk)→A(x), por tanto A es cerrada en x. Así para transformaciones punto a punto, la continuidad implica cierre. Sin embargo, en general, el recíproco no es cierto. La definición de transformación cerrada se puede representar en función del grafo de transformación, que es el conjunto { (x, y ) : x ∈ X , y ∈ A(x ) } . Si X es cerrado ,entonces A es cerrada en todo X si, y sólo si, este grafo es un conjunto cerrado. Sin embargo, esta equivalencia es válida sólo cuando se considera el cierre en todos los puntos. En general, una transformación puede ser cerrada en algunos puntos, y en otros, no. Introducción a la Optimización No Lineal Muchos de los algoritmos complejos que se analizan conviene considerarlos como la composición de dos o más transformaciones sencillas punto a conjunto. Por tanto, es norma preguntarse si el cierre de transformaciones individuales implica el cierre de la composición. La respuesta es definitivamente “si”. Definición 8 Sean A:X→Y y B:Y→Z transformaciones punto a conjunto. La transformación compuesta C=BA se define como la transformación punto a conjunto C:X→Z, con C (x ) = U B( y ). y∈ A( x ) Teorema de la convergencia global El teorema de la convergencia global se utiliza para establecer la convergencia en la siguiente situación general. Hay un conjunto solución Γ. Los puntos Ejemplo 13 se generan según el algoritmo El lector deberá comprobar si la x ∈A(xk), y cada punto nuevo transformación punto a conjunto k+1 siempre hace decrecer estrictadefinida en el ejemplo 1 es mente una función descendente cerrada. Z, a menos que se alcance el Angel Sangiacomo C. F. Ayres H. 38 Capítulo 1 conjunto solución Γ. Por ejemplo, en programación no lineal, el conjunto solución puede ser el conjunto de puntos mínimos (quizá solo un punto), y la función descendente puede ser la propia función objetiva. Se encuentra un algoritmo adecuado que genere puntos tales que cada punto nuevo reduzca estrictamente el valor de la función objetivo. Entonces, en condiciones apropiadas, el resultado es que la sucesión converge al conjunto solución. El teorema de convergencia global establece las condiciones técnicas para las cuales se garantiza la convergencia. Introducción a la Optimización No Lineal Si x∉Γ, entonces Z(y)<Z(x) para toda y ∈ A( x ) b) Si x∈Γ, entonces Z(y)≤Z(x) para toda y∈A(x). 3) la transformación A es cerrada en puntos que están fuera de Γ. Entonces, el límite de cualquier subsucesión convergente de {xk} es una solución. a) Dado el conjunto solución Γ⊂X, supóngase Prueba: Téngase la subsucesión convergente {xk}, donde k ∈ K converge al límite x. Como Z es continua, k∈K , resulta que para Z(xk)→Z(x). Esto significa que Z es convergente respecto a la subsucesión, y se demostrará que es convergente con respecto a toda la sucesión. Por la monotonía de Z en la sucesión {xk}, resulta que Z(xk)–Z(x)≥0 para toda k. Por la convergencia de Z en la subsucesión, existe una K ∈ K para un ε > 0 tal que Z(xk)–Z(x)<ε para toda k>K, k∈K . Así, toda k>K todos los puntos xk están contenidos en el conjunto compacto S ⊂ X 2) existe una función continua Z en X tal que lo que demuestra que Z(xk)→Z(x) Para completar la demostración sólo se necesita mostrar que x es una solución. Supongamos que x no es una solución. Considérese Teorema de convergencia global Sea A un algoritmo de X y supóngase que, dada x0, genera la ∞ sucesión { xk } k = 0 que cumple xk+1∈A(xk) 1) Angel Sangiacomo C. Z ( xk ) − Z ( x ) = Z ( xk ) − Z ( x K ) + Z ( x K ) − Z ( x ) < ε F. Ayres H. 39 Capítulo 1 la subsucesión {xk+1}k. Como todos los miembros de está sucesión están contenidos en un conjunto compacto, existe K ⊂ K tal que { xk +1}K converge a algún límite x . Por tanto se tiene que xk → x , k ∈ K y xk+1∈A(xk), con xk +1 → x , k ∈ K . Así, como A es cerrada en x resulta que x ∈ A( x ) . Pero, por lo expuesto anteriormente Z ( x ) = Z ( x ) , lo cual contradice el hecho de que Z es una función descendente. ♣ Corolario. Si por las condiciones del teorema de la convergencia global, Γ está formado por un solo punto x , entonces la sucesión {xk} converge a x . Prueba: Supóngase, por el contrario, que existe una subsucesión { xk }K y un ε>0 tal que xk − x > ε para toda k ∈ K . Por compatibilidad, debe existir K ′ ⊂ K tal que { xk }K ' converja, por ejemplo, a x′ . Es evidente que x′ − x ≥ ε , pero por el teorema de la convergencia global x ′ ∈ Γ , por lo cual es una contradicción. ♠ Angel Sangiacomo C. Introducción a la Optimización No Lineal Posteriormente, el teorema de la convergencia global se usa para probar la convergencia de varios algoritmos estándar. A continuación se tratan algunos ejemplos sencillos para ilustrar la función de las distintas condiciones del teorema. Ejemplo 14 En muchos aspectos, la condición 3) del teorema, el cierre de A fuera del conjunto solución, es la condición más importante. El fracaso de muchos algoritmos de uso común se debe a que no satisfacen esta condición. Considérese en la recta real el algoritmo punto a punto ⎧⎪ 1 ( x − 1) + 1, x > 1 A( x ) = ⎨ 2 1 ⎪⎩ 2 x, x ≤1 y el conjunto solución Γ={0}. Es fácil comprobar que una función descendente para este conjunto solución y este algoritmo es Z(x)=|x|. Sin embargo, partiendo de x>1, el algoritmo genera una sucesión que converge a x=1. Y no es una solución. La dificultad está en que A no es cerrado en x=1. Ejemplo 15 F. Ayres H. 40 Capítulo 1 En la recta real X, considérese que el conjunto solución está vació, la función descendente es y el algoritmo, Z(x)=e-x, A(x)=x+1. Se cumplen todas las condiciones del teorema de la convergencia, excepto la 1). La sucesión generada desde cualquier condición inicial se dirige al infinito. Esto no es una violación estricta de la conclusión del teorema, sino un ejemplo ilustrativo de que si no se introduce ninguna hipótesis de compatibilidad, la sucesión generada puede no tener subsucesión convergente. Introducción a la Optimización No Lineal donde [0, x) denota un intervalo semiabierto. Haciendo Γ={0}, la función Z(x)=x sirve como función descendente, para todos los puntos de A(x) son menores que x para x≠0. La sucesión definida por x0 = 1 xk +1 = xk − 1 2 k +2 satisface xk+1∈A(xk) pero se puede observar fácilmente que xk → 12 ∉ Γ , ( 1 − 1 ∑ ∞ 2 p ). La p =0 4 dificultad en este caso se debe, lógicamente, a que el algoritmo A no es cerrado fuera del conjunto Ejemplo 16 Considérese el algoritmo A punto solución. conjunto definido por la gráfica de la figura 18 y dado Rapidez de convergencia explícitamente en X=[0,1] por El estudio de rapidez de ⎧[0, x) 1 ≥ x > 0 convergencia es un tema A( x ) = ⎨ 0 x = 0 ⎩ importante, pero a veces complejo. Sin embargo, hay una teoría de tasas de convergencia rica, aunque elemental, que permite predecir con seguridad la efectividad relativa de una amplia clase de algoritmos. En esta sección, se introducen varios conceptos diseñados para medir la rapidez de convergencia y Figura 18. Angel Sangiacomo C. F. Ayres H. 41 Capítulo 1 Introducción a la Optimización No Lineal preparar el estudio de este importantísimo aspecto de la programación no lineal. Una ilusión de los matemáticos que se dedican a la creación y mejora de los algoritmos es conseguir ordenes altos de convergencia (orden 3, 4, …). Orden de convergencia Considérese una sucesión de ∞ números reales { rk }k = 0 convergente al límite r* se definen varios conceptos relacionados con la rapidez de convergencia de esa sucesión. Definición 9 Sea la sucesión {rk} converge a r*. Se define el orden de convergencia de {rk} como el máximo de los números no negativos p que satisfagan ____ rk +1 − r * k →∞ p 0 ≤ lím rk − r * <∞. vez son necesarios en el análisis real, pues, en general, las sucesiones generadas por algoritmos se comportan bien. Obsérvese que el orden de convergencia, al igual que sucede con las demás nociones relacionadas con la rapidez de convergencia que se introducen, está determinado sólo por las propiedades de la sucesión a medida que k→∞. Así pues, de manera un tanto informal, se denomina cola de una sucesión a aquella parte de la sucesión que está arbitrariamente lejos. En esta terminología, se podría decir que el orden de convergencia es una medida de bondad de la peor parte de la cola. En cierto sentido, los valores grandes del orden implican una convergencia más rápida, pues se reduce la distancia al límite r*, al menos en la cola, con la p-ésima potencia en un solo paso. De hecho, si la sucesión tiene orden p y (como es usual) existe el límite Para asegurar que la definición es r −r* aplicable a cualquier sucesión, se β = lím k +1 p k →∞ r − r * formula en función del límite k superior, en lugar de sólo el entonces, asintóticamente, resulta límite, y 0/0 (que se produce si p rk +1 − r * = β rk − r * . rk = r * para toda k) se considera finito. Pero estos tecnicismos rara Ejemplo 17 Angel Sangiacomo C. F. Ayres H. 42 Capítulo 1 Introducción a la Optimización No Lineal La sucesión con rk=ak, donde ge, con tasa de convergencia β, 0<a<1 converge a cero con orden tiene una cola que converge, al unitario, pues (rk +1 / rk ) = a. menos tan rápido como la sucesión geométrica cβ k para alguna constante c. Así la Ejemplo 18 convergencia lineal se denomina, (2 k ) La sucesión con rk = a , para a veces, convergencia geométri0<a<1 converge a cero con orden ca, aunque nosotros nos 2 reservamos ese nombre sólo para dos, pues (rk +1 / rk ) = 1. el caso en que una sucesión sea exactamente geométrica. Por regla general, al comprobar Convergencia lineal la efectividad relativa de dos La mayoría de los algoritmos algo-ritmos, cualquiera de los analizados en este libro tienen un cuales se puede producir lineal-mente orden de convergencia igual a la sucesiones unidad. Por tanto, conviene tratar convergentes, la comparación se esta clase con mayor detalle y basa en sus razones de convergencia correspondientes diferenciar ciertos casos. cuanto más pequeña sea la razón, Definición 10 más rápida es la tasa. El caso Si la sucesión {rk} converge a r* extremo, β=0, se donde de manera que denomina convergencia r −r* superlineal. Se observa de lím k +1 = β < 1. k → ∞ rk − r * inmediato que la convergencia de se dice que la sucesión converge cualquier orden mayor que la linealmente a r* con tasa de unidad es superlineal, pero también es posible que la convergencia β. convergencia superlineal Para los efectos de lo que corresponda al orden unitario. trataremos, la convergencia lineal es, sin lugar a dudas, el tipo más Ejemplo 19 importante de comportamiento de La sucesión r = 1 / k converge a k convergencia. Se puede decir que cero. La convergencia es de una sucesión linealmente converAngel Sangiacomo C. F. Ayres H. 43 Capítulo 1 orden uno, pero no es lineal, pues lím (rk +1 / rk ) = 1 , es decir, β no es k →∞ estrictamente menor que uno. Ejemplo 20 k La sucesión rk = (1 / k ) es de orden unitario, pues ( rk +1 / rkp ) → ∞ , para p > 1 . Sin Introducción a la Optimización No Lineal lím rk − r * 1/ p k k →∞ = 1. Si la igualdad no se cumple para ninguna p>1, el orden es infinito. Ejemplo 21 k Para la sucesión rk = a ( 2 ) , 0<a<1, dada en el ejemplo 18, resulta embargo, (rk +1 / rk ) → 0 cuando 1 / 2k rk =a, k→∞, por tanto, la convergencia mientras que es superlineal. rk Tasas promedio Todas las definiciones dadas antes pueden denominarse conceptos de convergencia paso a paso pues definen cotas en el proceso realizado al avanzar un solo paso: de k a k+1. Otro enfoque es definir conceptos realizados con el proceso promedio en un número grande de pasos. A continuación se da una breve explicación del proceso. Definición 11 Sea la sucesión {rk} converge a r*. El orden promedio de convergencia es el mínimo de los números p>1 tal que Angel Sangiacomo C. 1/ p k =a ( 2p ) k →1 para p>2. Así, el orden promedio es dos. Ejemplo 22 Para rk=ak con 0<a<1, resulta k k ( rk )1 / p = a k (1 / p ) → 1 para cualquier p>1. Así, el orden promedio es unitario. Como antes, el caso más importante es el de orden unitario, y en él se define la razón de convergencia promedio como lím rk − r * k →∞ 1/ k . Así, para la sucesión geométrica rk=cak, 0<a<1, la razón de convergencia promedio es a. Comparando las definiciones anteriores, el lector F. Ayres H. 44 Capítulo 1 puede definir los conceptos correspondientes de convergencia lineal promedio y superlineal promedio de manera similar. Aunque el conjunto anterior de definiciones se puede adornar y ampliar, es bastante adecuado para nuestros efectos. En general, se trabajará con las definiciones paso a paso, pues al analizar algoritmos iterativos es natural comparar un paso con el siguiente. Es más, en la mayoría de las situaciones, cuando las sucesiones se comportan bien y existen los límites de las definiciones, entonces coinciden los conceptos paso a paso y promedio de las tasas de convergencia. Convergencia de vectores ∞ Supóngase que { xk }k =0 es una sucesión de vectores en En converge a un vector x*. Las propiedades de convergencia de dicha sucesión se definen respecto a cierta función determinada que convierte cualquier sucesión de vectores en una sucesión de números. Así, si f es una función continua dada, en En, las propiedades de Angel Sangiacomo C. Introducción a la Optimización No Lineal convergencia de {xk} pueden definirse con respecto a f analizando la convergencia de f(xk) a f(x*). La función f usada de esta manera para medir la convergencia se denomina función de error. En la teoría de optimización es común elegir la función de error por la cual se mide la convergencia igual a la función que define la función objeto del problema de optimización original. Esto significa que se mide la convergencia por lo rápido que el objetivo converge a su mínimo. A veces también se 2 utiliza la función x − x * , por lo que la convergencia se mide por lo rápido que la distancia al (cuadrado) hasta el punto solución decrece a cero. En general, el orden de convergencia de una sucesión es indiferente a la función de error espacial usada, pero para la convergencia lineal paso a paso, la razón de convergencia asociada no lo es. Sin embargo, la razón de convergencia promedio no es muy sensible, como lo demuestra la siguiente proposición, de ahí que no sea F. Ayres H. 45 Capítulo 1 Introducción a la Optimización No Lineal realmente muy importante cuál es Como ejemplo de aplicación de la función de error espacial usada la proposición anterior, para medir la convergencia. considérese el caso donde 2 g (x) = x − x * y f ( x ) = ( x − x *)T Q( x − x *) , donde Q es Proposición 10 Sea f y g dos funciones de error una matriz simétrica definida que satisfagan f(x*)=g(x*)=0, y, positiva. Entonces, a1 y a2 para toda x, una relación de la corresponden, respectivamente, a forma los valores propios menores y 0 ≤ a1 g ( x ) ≤ f ( x ) ≤ a2 g ( x ) mayores de Q. Así, la para algunos a1 > 0, a2 > 0 fijos. convergencia lineal promedio es idéntica respecto a cualquier ∞ Si la sucesión { xk }k =0 converge función de error construida a linealmente a x* con razón partir de una forma cuadrática promedio β respecto a una de definida positiva. estas funciones, también lo hace respecto a la otra. Problemas Prueba: Es fácil observar que la 1. Para aproximar una función g formulación es simétrica en f y g. en el intervalo [0, 1] con un Así, se puede suponer que {xk} es polinomio p de grado n (o linealmente convergente con menor), se1minimiza el criterio f (a ) = ∫ [ g ( x ) − p( x )] 2 dx , razón de convergencia promedio 0 β respecto a f, y probar que lo donde mismo es cierto respecto a g. Se p( x ) = a x n + a x n −1 + ... + a . . 0 n n −1 tiene Hállense las ecuaciones satisfechas por los coeficientes β = lím f ( x k )1 / k ≤ lím a12/ k g ( x k )1 / k = lím g ( x k )1 / k k →∞ k →∞ k →∞ optimales a=(a0, a1, ..., an) y β = lím f ( x k )1/ k ≥ lím a11 / k g ( xk )1 / k = lím g ( xk )1 / k . k →∞ k →∞ β = lím g ( xk )1 / k . k →∞ Angel Sangiacomo C. k →∞ ♦ Con las condiciones necesarias de primer orden, hállese un punto mínimo de la función 2. a) F. Ayres H. 46 Capítulo 1 Introducción a la Optimización No Lineal f ( x, y, z ) = 2 x 2 + xy + y 2 + yz + z 2 − 6 x − 7 y − 8 z + 9. Verifíquese que el punto es un punto mínimo relativo comprobando que se cumplen las condiciones suficientes de segundo orden. c) Demuéstrese que el punto es un punto mínimo global. definida positiva si, y sólo si, tiene una descomposición LU (sin intercambio de filas) y los elementos en la diagonal de U son todos positivos. b) 3. 4. En este ejercicio y en el siguiente, se desarrolla un método para determinar si una matriz simétrica dada es definida positiva. Dada una matriz A de n×n, se denota por Ak la submatriz principal formada por las k primeras filas y columnas. Demuéstrese (por inducción) que si las primeras n–1 submatrices principales son no singulares, entonces hay una matriz triangular superior indica única U, tales que A=LU (Véase Apéndice C). Una matriz simétrica es definida positiva si, y sólo si, el determinante de cada una de sus submatrices principales es positivo. Usando este hecho y las consideraciones del ejercicio 4, muéstrese que una matriz simétrica A de n×n es Angel Sangiacomo C. 5. Sea fi, i∈I un conjunto de funciones convexas definidas en un conjunto convexo Ω. Demuéstrese que la función f definida por f ( x ) = sup f i ( x ) es i∈I convexa en la región que es finita. 6. Defínase la transformación punto a conjunto en En por A(x) = { y : yTx ≤ b }, donde b es una constante fija ? Es A correcta? 7. Sea { rk }k =0 y { ck }k =0 sucesiones de números reales. Supóngase que rk→0 linealmente en promedio y que hay constantes c>0 y C tales que c ≤ ck ≤ C para toda k. ck rk → 0 Muéstrese que linealmente en promedio. ∞ ∞ F. Ayres H. 47 Capítulo 1 Angel Sangiacomo C. Introducción a la Optimización No Lineal F. Ayres H. 48 Capítulo 2 Introducción a la Optimización No Lineal CAPÍTULO 2 Objetivo: Comprender y aplicar elementalmente los métodos básicos de descenso. Métodos básicos de descenso A continuación se describen las técnicas básicas utilizadas para la resolución iterativa de problemas de minimización sin restricciones. Como es lógico, estas técnicas son importantes para las aplicaciones prácticas, ya que suelen ofrecer posibilidades más sencillas y directas para la obtención de soluciones; pero quizá su mayor importancia radique en que establecen ciertos niveles de referencia respecto a la dificultad de aplicación y a la rapidez de convergencia. Por eso motivo, en los capítulos posteriores, a medida que se desarrollen técnicas más eficientes y capaces de manejar restricciones, se hace continuamente referencia a las técnicas básicas de este capítulo a Angel Sangiacomo C. modo de guía y como punto de comparación. Hay una estructura fundamental subyacente para casi todos los algoritmos descendentes que se analizan. Se comienza en un punto inicial, se determina, de acuerdo con una regla fija, una dirección de movimiento y después se sigue es dirección hacia el mínimo (relativo) de la función objetivo de esa recta. En el punto nuevo se determina una nueva dirección, y se repite el proceso. Las diferencias fundamentales entre algoritmos (descenso de mayor pendiente, método de Newton, etc.) radican en la regla mediante la cual se seleccionan las direcciones sucesivas del movimiento. Una vez que se a hecho la selección todos los algoritmos exigen movimiento hacia el punto mínimo de la recta correspondiente. El proceso de determinar el punto mínimo de una recta dada se denomina búsqueda lineal. De hecho, para funciones no lineales generales que no se puedan minimizar analíticamente, este proceso se completa buscando detenidamente en la recta el punto mínimo. Estás técnicas de F. Ayres H. 49 Capítulo 2 búsqueda lineal, que no son otra cosa que procedimientos de resolución de problemas de minimización unidimensionales, constituyen la base fundamental de los algoritmos de programación no lineal, pues los problemas de dimensiones superiores se resuelven analizando una secuencia de búsqueda lineales sucesivas. Son varios los métodos de esta importante fase de la minimización y la primera mitad nos dedicaremos a su análisis. Nota: Como en la demostración de la proposición 1, usando una composición de funciones, a una función de varias variables se le convierte en función de una sola variable (parámetro). Búsqueda de Fibonacci Un método muy utilizado para resolver el problema de búsqueda lineal es la búsqueda de Fibonacci que describiremos aquí. El método tiene cierta elegancia teórica, lo cual, sin duda, explica su popularidad, pero, como se verá, hay otros procedimientos que en la mayoría de los casos son superiores. El método determina el valor mínimo de una función f en un Angel Sangiacomo C. Introducción a la Optimización No Lineal intervalo cerrado [c1,c2]. En las aplicaciones, f puede estar definida en un dominio más amplio, pero para este método debe especificarse un intervalo fijo de búsqueda. La única pro-piedad que se supone a f es ser unimodal, es decir, que tenga un solo mínimo relativo. La idea es acorralar al punto óptimo en un intervalo de tolerancia prefijada. El intervalo inicial de incertidumbre es L0 ( L0 = b1 − a1 ) y se define un incremento h1 dado por h1 = L0 Fibonaccin − 2 , Fibonaccin donde n es el número de iteraciones que se desea realizar es el y Fibonaccin correspondiente número de Fibonacci con la siguiente regla: para n=2, 3, 4, … Fibonacci0 = Fibonacci1 = 1 Fibonaccin = Fibonaccin −1 + Fibonaccin − 2 Se tiene: x1 = a1 + h1 x2 = b1 − h1 Se supone que se quiere minimizar la función unimodal f (x) . Entonces si f ( x1 ) > f ( x2 ) entonces a2 = a1 + h1 , b2 = b1 , si f ( x1 ) < f ( x2 ) entonces b2 = b1 − h1 , F. Ayres H. 50 Capítulo 2 Introducción a la Optimización No Lineal a2 = a1 , si f ( x1 ) = f ( x2 ) entonces b2 = b1 − h1 , a2 = a1 + h1 , para es te caso particular tenemos si a2 ≠ a1 entonces x3 = a2 + h2 , si b2 ≠ b1 entonces x3 = b2 − h2 , En la figura se hace continuando de esta manera hasta esquemáticamente como completar con n − 3 iteraciones. funciona en una curva el método. Algoritmo de Fibonacci. (ver apéndice) Paso 1: Definir f (x) , Paso 2: Entrar a, b, Err { límite inferior, superior y error} Paso 3: Hacer N ≥ 1 ; Err 1 ; n ∈ Z} } Err Paso 4: Hacer Fibonacci0 = 1, Fibonacci1 = 1 , { a) Paso 5: N = Mín {n : n ≥ Para i=1 hasta N hacer Paso 6: Fibonaccii +1 = Fibonaccii + Fibonaccii −1 Paso 7: Hacer i = 0 , k = 0 Paso 8: Mientras i < N − 2 hacer paso 9: h = (b − a) ⋅ FibonacciN − i − 2 , FibonacciN − i b) Figura 19. Se continua calculando siguiente incremento h2 con h2 = L1 el Fibonaccin − 3 , Fibonaccin −1 donde L1 = b2 − a2 y x3 tomando en rechazado, o sea, cumpla (para i iteración) hallamos el cuenta el donde se la i-ésima si ai ≠ ai −1 entonces xi +1 = ai + hi , si bi ≠ bi −1 entonces xi +1 = bi − hi , Angel Sangiacomo C. paso 10: si k = 0 entonces x = a + h, y = b− h, paso 11: si k ≠ 0 entonces paso 12 si b = y entonces y = b− h, paso 13 en otro caso x=a+h paso 14: si x>y intercambiar(x, y) paso 15: si f ( x) > f ( y ) entonces a = x ; k =1 paso 16: en otro caso entonces b = y , k =1 paso 17: i=i+1; Paso 18: si f (a) > f (b) entonces x* = b Paso 19: en otro caso x* = a . Paso 20: Publicar Mínimo x * . Paso 21: Parar. F. Ayres H. 51 Capítulo 2 Introducción a la Optimización No Lineal Programa en Delphi Pascal unit Fibonac1222; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Functx; type TFibonacci = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Label3:TLabel; Edit3:TEdit; Button1:TButton; Button2:TButton; Memo1: TMemo; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); end; Edit2: TEdit; var Fibonacci: TFibonacci; implementation {$R *.DFM} procedure TFibonacci.Button1Click(Sender: TObject); var a, b, x1, x2, x3, x4, error, Fibona_n, Fibona_n1 : Double; f2, f4 : double; nn, i1 : integer; sx1, sx2, sx3, sx4, sx5 : string[30]; function f( t : double ) : Double; begin f := 2*t*t-3*t-4 end; Procedure Fibonacci( var n : Integer); var xx : Double; begin Fibona_n := 1; Fibona_n1 := 1; xx := 1; n := 0; repeat n := n + 1; Fibona_n := xx; xx := Fibona_n1; Fibona_n1 := Fibona_n + xx; until Fibona_n1 > 1/error; nn := n; end; begin a := strToFloat(Edit1.Text); b := strToFloat(Edit2.Text); Error := strToFloat(Edit3.Text); Fibonacci( nn ); memo1.Clear; if a > b then begin x1 := a; a := b; b := x1 end; x2 := a + (b-a) * Fibona_n / Fibona_n1; f2 := f(x2); Angel Sangiacomo C. x1 := a; x3 := b; i1 := 0; repeat x4 := x1 - x2 + x3; f4 := f(x4); str(x1:1:8, sx1); str(x3:1:8, sx2); str(x4:1:8, sx5); str(f(x1):1:8, sx3); str(f(x3):1:8, sx4); memo1.Lines.Add(' a= '+sx1+' b= '+sx2+ ' t= '+ sx5 + ' f(a)= '+sx3+ ' f(b)= '+sx4); if f4 < f2 then begin if x4 < x2 then x3 := x2 else x1 := x2; x2 := x4; f2 := f4; end else if x4 < x2 then x1 := x4 else x3 := x4; i1 := i1 +1; Until i1 > nn; memo1.Lines.Add(' El intervalo Final es [ '+ sx1 + ' ; ' + sx2 + ' ]'); str( error * (b-a):1:8 , sx1); str( x2-x1:1:8 , sx2); memo1.Lines.Add(' Con Error Pedido de Err = ' + sx1 + ' y Error de intervalo = '+ sx2); end; end. Método de búsqueda de la sección áurea Este método también requiere que la función sea de una sola varia-ble o en caso contrario de una transformación a una de una variable y unimodal. Si el intervalo de incertidumbre original es a≤x≤b, el que denotaremos por [a,b], el proceso reduce este inter-valo en cada iteración en una proporción constante τ. Este valor constante que recibiera de los antiguos griegos el nombre de proporción divina (sección áurea), se calcula de la siguiente manera: F. Ayres H. 52 Capítulo 2 Introducción a la Optimización No Lineal Sea la iteración k con intervalo de incertidumbre [ak,bk] y los puntos k k a examinar x1 y x2 . Entonces τ= x2k − ak bk − x1k = , bk − ak bk − ak (1) De esta relación se establece que x2k − ak = bk − x1k . o (2) x1k − ak = bk − x1k − ak x2k − ak Si se supone que se está minimizando la función f (x) , entonces si f ( x2k ) > f ( x1k ) , se elimina del análisis el intervalo [ x2k , bk ] . De otra forma si f ( x2k ) < f ( x1k ) se elimina el k intervalo [ak , x1 ] . En el primer ⎡ x2k − ak ⎤ − ⎢ ⎥, x2k − ak ⎣⎢ x2k − ak ⎦⎥ bk − ak remplazando u efectuando operaciones nos queda x1k − ak x2k − ak = 1 τ −1. (4) Pero de la expresión (3) se tiene que x1k − ak x2k . = x2k − ak =τ , (5) reduciendo nos da la ecuación en τ τ= 1 τ −1, (6) o sea la expresión cuadrática τ 2 + τ −1 = 0 . Esta ecuación es de fácil solución por la fórmula respectiva y nos k k caso ( f ( x2 ) > f ( x1 ) ) se tiene que da los siguiente valores para τ −1+ 5 los nuevos extremos del intervalo τ= 2 de incertidumbre son o b = xk k +1 2 ak +1 = ak τ= x2k +1 = x1k −1− 5 2 tomando el valor positivo sería La constante de quedaría definida por reducción τ = 0.6180339887499... Para el otro caso f ( x2k ) < f ( x1k ) se x2k +1 − ak x1k − ak x2k − ak = k = τ= k (3) obtiene un resultado similar. x2 − a k x2 − ak bk − ak Hagamos el proceso seguido por acomodando (2) para usarla en el método de sección áurea: (3) obtenemos: x1k − ak = bk − x2k = bk − x2k + ak − ak x1k − ak = bk − x2k = bk − ak − ( x2k − ak ) dividiendo entre queda Angel Sangiacomo C. x1k − ak nos Paso 1: Definir f (x) Paso 2: Entrar a, b, Tol {límite inferior y superior y error} Paso 3: Hacer x1 = (1 − τ )(b − a ) + a x2 = τ (b − a) + a F. Ayres H. 53 Capítulo 2 Introducción a la Optimización No Lineal Paso 4: hacer k = 0 , f 1 = f ( x1) , k = k +1, s = 0 , paso 16: Paso 17: ir al paso (5) f 2 = f ( x 2) ; Paso 5: si x1 − x2 < Tol entonces ir al paso (13), Paso 18: Publicar [a, b] final. Paso 18: Parar. Paso 6: si f ( x1 ) < f ( x2 ) entonces paso 7: d = x 2 − a ; b = x 2 ; x 2 = x1 ; Programa en Delphi Pascal x1 = a + d ⋅ (1 − τ ) la Regla Áurea paso 8: f 2 = f 1 ; f 1 = f ( x1) ; Paso 9: si f ( x1 ) ≥ f ( x2 ) entonces paso 10: d = b − x1 ; a = x1 ; x1 = x 2 ; x2 = a + d ⋅ τ paso 11: f 1 = f 2 ; f 2 = f ( x 2) ; Paso 12: ir al paso (5) Paso 13: Publicar [a, b] final. Paso 14: Parar. de unit Aurea11x3; Hagamos el proceso alternativo seguido por el método de sección áurea: Paso 1: Paso 2: Paso 3: interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Functx; type TFibonacci = class(TForm) Definir f ( x) GroupBox1: TGroupBox; Entrar a, b, Tol Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; {límite inferior y superior y error} Label3: TLabel; Edit3:TEdit; Button1:TButton; Button2: TButton; Memo1: TMemo; Hacer x1 = (1 − τ )(b − a ) + a procedure Button2Click(Sender: TObject); x2 = τ (b − a ) + a procedure Button1Click(Sender: TObject); end; hacer k = 0 ; s = 3 , Paso 4: Paso 5: si k > 0 entonces paso 6: si s = 1 entonces x1 = (1 − τ )(b − a ) + a paso 7: si s = 0 entonces x2 = τ (b − a ) + a Paso 8: si x1 − x2 < Tol entonces ir al paso (18), Paso 9: si x1 > x2 entonces Paso 10: u = x1 ; x1 = x2 ; x2 = u ; Paso 11: si f ( x1 ) > f ( x2 ) entonces a = x1 , paso 12: k = k + 1, s = 1, paso 13: Paso 14: si f ( x1 ) < f ( x2 ) entonces b = x2 , paso 14: Angel Sangiacomo C. var Fibonacci: TFibonacci; implementation {$R *.DFM} procedure TFibonacci.Button1Click(Sender: TObject); var a, b, x1, x2, Tau, error, x0, dx : Double; fx1, fx2 : double; s, i1 : integer; sx1, sx2 : string; function f( t : double ) : Double; var vx : _v1; begin vx[24] := t; f := funcionxx('2*x*x-3*x-4', vx) end; begin a := strToFloat(Edit1.Text); b := strToFloat(Edit2.Text); Error := strToFloat(Edit3.Text); memo1.Clear; Tau := (sqrt(5)-1)/2; if a > b then begin x1 := a; a := b; b := x1 end; x2 := a + (b-a) * Tau; F. Ayres H. 54 Capítulo 2 Introducción a la Optimización No Lineal x1 := a + (b-a) * (1 - Tau); i1 := 0; fx1 := f(x1); fx2 := f(x2); repeat i1 := i1+1; str(a:1:8, sx1); sx2:=IntToStr(i1)+' a = '+sx1; str(b:1:8, sx1); sx2:=sx2+' b = '+sx1; str(x1:1:8, sx1); sx2:=sx2+' x1 = '+sx1; str(x2:1:8, sx1); sx2:=sx2+' x2 = '+sx1; str(fx1:1:8, sx1); sx2:=sx2+' f1 = '+sx1; str(fx2:1:8, sx1); sx2:=sx2+' f2 = '+sx1; memo1.Lines.Add(sx2); if fx1 < fx2 then begin dx:=x2-a; b:=x2; x2:=x1; x1 := a + dx*(1-Tau); fx2 := fx1; fx1 := f(x1); end else begin dx:=b-x1; a:=x1; x1:=x2; x2:=a+dx*(tau); fx1 := fx2; fx2 := f(x2); end Until abs(dx) < error;str(a:1:11,sx1);str(b:1:11,sx2); memo1.Lines.Add(' El intervalo Final es [ ' + sx1 + ' ; ' + sx2 + ' ]'); str( error :1:8 , sx1); str( abs(a-b):1:8 , sx2); memo1.Lines.Add(' Con Error Pedido de Err = ' + sx1 + ' y Error de intervalo = '+ sx2); end; end. Búsqueda Lineal Ajuste de Curvas El punto de partida x de la búsqueda de los óptimos, mientras d es la dirección de búsqueda. La idea consiste en aproximar la función g (α ) = f ( x + αd ) , por un polinomio cúbico de la forma p (α ) = a + bα + cα 2 + dα 3 . También g ′(α ) = dg (α ) = ∇f ( x + αd ) ⋅ d . dα (2) Supónganos que se conocen los puntos p = xn −1 y q = xn también g p = g ( p) , y g q = g (q ) , (3) G p = g ′( p ) , Gq = g ′(q ) . Aplicamos ahora esto Mediante polinomio aproximante. Sea pues Interpolación Cúbica Este método fue desarrollado por “Davidon” y requiere que la función sea diferenciable. Consiste en hallar un valor mínimo local (óptimo) de una función f(x) en un parámetro α (variable) usando g (α ) = f ( x + αd ) , donde d es una dirección determinada (normalmente factible) y x es un valor inicial arbitrario. al a + bα + cα 2 + dα 3 = g (α ) . Construimos un sistema de ecuaciones lineales con cuatro ecuaciones y cuatro incógnitas a, b, c y d como sigue: Para p = 0 , y para p=q en directo en g y la g’≡G = gp a a + bq + cq 2 + dq 3 = g q b = Gp (4) b + 2cq + 3dq 2 = Gq Acto seguido obtenemos: a = g ( p) , Angel Sangiacomo C. (1) b = g ′( p) , F. Ayres H. 55 Capítulo 2 Introducción a la Optimización No Lineal g ′( p ) + z , q g ′( p ) + g ′(q ) + 2 z y haciendo equivalencias c=− d= donde z= 3q 2 r g ′(q ) − z + W = 1− q g ′(q ) − g ′( p) + 2W , (10) y para p ≠ 0 αc − q 3( g ( p) − g (q )) + g ′( p) + g ′(q) , q (5) q− p =− g ′(q) − z + W . g ′(q) − g ′( p ) + 2W La última expresión la de uso común en los cálculos numéricos optimizando o sea encontrando es de la siguiente forma: g ′(α ) = 0 y a encontrando puntos g ′(q ) − z + W αc = q − (q − p) , críticos g ′(q) − g ′( p) + 2W g ′( p ) + 2 − g ′( p ) + z g ′( p ) + g ′( q ) + 2 z 2 α +3 α q 3q 2 (11) cuya presentación en p = xn −1 q = xn resulta = g ′(α ) = 0 , o g ′( p ) − 2( g ′( p ) + z ) α 2 ⎛α ⎞ + ( g ′( p ) + g ′(q ) + 2 z )⎜⎜ ⎟⎟ = 0 , q ⎝q⎠ α c = xn − g ′( xn ) − z + W ( xn − xn −1 ) , g ′( xn ) − g ′( xn −1 ) + 2W resolviendo la ecuación de α con segundo grado en función de 3( g ( xn −1 ) − g ( xn )) q z= nos queda α q = g ′( p) + z ± ( g ′( p ) + z ) 2 − g ′( p )(( g ′( p) + g ′(q ) + 2 z ) g ′( p ) + g ′(q ) + 2 z y xn − xn −1 (11’) + g ′( xn −1 ) + g ′( xn ) (6’) , 2 W = z − g ′( xn −1 ) g ′( xn ) (7’) o α q = g ′( p ) + z ± z 2 − g ′( p ) g ′(q) , g ′( p ) + g ′(q ) + 2 z (6) haciendo W = z 2 − g ′( p ) g ′(q ) , (7) nos queda α q = g ′( p) + z ± W . g ′( p) + g ′(q) + 2 z (8) Tomando la segunda derivada se tiene 2c+6dh reemplazando nos indica que óptimo es con el signo positivo α q = g ′( p) + z + W , g ′( p ) + g ′(q) + 2 z Angel Sangiacomo C. (9) Algoritmo Interpolación Cúbica Definir g (α ) = f ( x + αd ) Definir g ′(α ) = ∇f ( x + αd ) ⋅ d Entrar x , d α 0 = 0 . Hallar g ′(α i ) y g (α i ) . i = 2 . α1 = 1 . Paso 4: Mientras ( g ′(α i ) < 0) o ( g (α i −1 ) ≤ g (α i )) hacer paso 6: α i = 2α i −1 paso 7: i + i + 1 Paso 8: Hacer a = α i −1 , b = α i 3( g (a ) − g (b)) + g ′(a) + g ′(b) Paso 9: z = b−a Paso 1: Paso 2: Paso 3: Paso 4: F. Ayres H. 56 Capítulo 2 Paso 10: W = z 2 − g ′(a ) g ′(b) g ′(b) − z + W (b − a) , Paso 11: α c = b − g ′(b) − g ′(a) + 2W Paso 12: si [( g (a ) ≥ g (α c )) y ( g (b) ≥ g (α c ))] entonces α * = α c ir al paso (16) Paso 13: si [( g (a) < g (α c )) o ( g (b) < g (α c ))] entonces paso 14: si ( g ′(α c ) > 0) entonces b = α c ir al paso (9) paso 15: si ( g ′(α c ) < 0) entonces a = α c ir al paso (9) Paso 16: Publicar α * Paso 17: Parar. Introducción a la Optimización No Lineal z = −4 W = 28 = 5.2915 , g ′( xn ) − z + W α c = xn − ( xn − xn −1 ) g ′( xn ) − g ′( xn −1 ) + 2W 2 − (−4) + 5.2915 αc = 1 − (1 − 0) , 2 − (−6) + 2 ⋅ 5.2915 α c = 0.39 g (α c ) = g (0.39) = −25 . g (α c ) < g (a ) y g (α c ) < g (b) entonces el mínimo local es dado por α * = α c = 0.39 . Ahora encontramos el x por Como x* = x + αd = 1 + 0.39 = 1.39 . Ejemplo 23 Hallar un mínimo local de la Interpolación Cuadrática función unimodal de una variable Cuando la función es multimodal f ( x) = x 4 − 10 x 3 + 35 x 2 − 50 x de una variable (o convertida a con valor inicial x = 1 y una variable) o es discreta, los dirección d = 1 . anteriores procedimientos no tieSolución: nen efectos satisfactorios (puesto Construimos la función g: que la función no es diferenciable g (α ) = f ( x + αd ) en los puntos de discontinuidad u g (α ) = f (1 + α ) , otros problemas). En estos casos g (α ) = (1 + α ) 4 − 10(1 + α )3 + 35(1 + α ) 2 − 50(1 + α ) el método de interpolación cuag ′(α ) = 4(1 + α ) 3 − 30(1 + α ) 2 + 70(1 + α ) − 50 drática es el apropiado. α g (α ) g ′(α ) Este procedimiento fue diseñado 0 -24 -6 por Powell y mejorado posteg ′(α ) > 0 1 -24 2 riormente por Zangwill. Aquí presentamos la versión original tenemos ahora que a=0 y b=1. De de Powell. lo que sabemos por teoría el mínimo está 0≤α*≤1. Si conocemos los valores de f(x) Usando las fórmulas (6’, 7’ y en tres distintos puntos a, b, c y 11’) nos resulta sus respectivos valores f(a), f(b), Angel Sangiacomo C. F. Ayres H. 57 Capítulo 2 Introducción a la Optimización No Lineal f(c), entonces nosotros podemos y le aplicamos la interpolación aproximar a f por un polinomio cuadrática a g (α ) . Aclaremos con una figura. cuadrático h( x) = Ax 2 + Bx + C (1) y la constantes A, B y C son determinadas por las ecuaciones Aa 2 + Ba + C = f a Ab 2 + Bb + C = f b , Ac 2 + Bc + C = f c donde f a = f (a) , (2) y f b = f (b) f c = f (c ) . Las ecuaciones dan A = [(c − b) f a + (a − c) f b + (b − a) f c ] / Δ B = [(b 2 − c 2 ) f a + (c 2 − a 2 ) f b + (a 2 − b 2 ) f c ] / Δ , C = [bc(c − b) f a + ac(a − c) f b + ab(b − a ) f c ] / Δ (3) donde Δ = (a − b)(b − c)(c − a) , el determínate de la parte izquierda de (2). Claramente el polinomio h(x) tienen un óptimo (mínimo) en x = − B . 2A Si A>0, la aproximación dada es a un punto de mínimo de la función f (x) y es dado por: Figura 20. Algoritmo de Cuadrática Interpolación Paso 1: Definir g (α ) = f ( x + αd ) Paso 2: Entrar x, d {x es el punto de partida de la búsqueda y d la dirección} Paso 3: hallar g (0) = f ( x) , α 0 = 0 , α1 = 1 , i = 1 Paso 4: Mientras ( g (α i −1 ) > g (α i )) hacer paso 5: i = i + 1 paso 6: α i = 2α i −1 Paso 7: Hacer a = α i − 2 , b = α i −1 , c = α i {Ojo a ≤ α * ≤ c } Paso 8: 1 (b 2 − c 2 ) g (a ) + (c 2 − a 2 ) g (b) + (a 2 − b 2 ) g (c) 2 (c − b) g (a ) + (a − c) g (b) + (b − a) g (c) αc = − ⋅ 1 (b 2 − c 2 ) f a + (c 2 − a 2 ) f b + (a 2 − b 2 ) f c . Paso 9: Si g (α c ) < g (b) entonces α * = α c 2 (c − b) f a + (a − c) f b + (b − a ) f c Paso 10: Si g (α c ) > g (b) entonces α * = b αc = − ⋅ (4) Paso 11: Publicar α * (como el mínimo). Paso 12: Parar. Para el caso de una función de varias variables se hace la composición usando un Ejemplo 24 parámetro α como antes Hallar un mínimo local de la x(α ) = x0 + αd y función g (α ) = f ( x(α )) = f ( x0 + αd ) f ( x, y ) = x 2 − 3 xy + y 2 Angel Sangiacomo C. F. Ayres H. 58 Capítulo 2 Introducción a la Optimización No Lineal en la dirección d = (1,3) x0 = (1,1) . Solución: Construimos la función g: g (α ) = f ( x + αd ) y f ' ' ( xk ) . Entonces se puede construir una función cuadrática g (α ) = (1 + α ) 2 − 3(1 + α )(1 + 3α ) + (1 + 3α ) 2 . Ahora estamos en condiciones de encontrar un mínimo si existiera este. q que concuerde con f en xk hasta la segunda derivada, es decir, q( x) = f ( xk ) + f ′( xk )( x − xk ) + 12 f ′′( xk )( x − xk ) 2 . (1) Entonces se puede calcular y estimar xk+1 de punto mínimo de f hallando el punto en el que se anula la derivada de q. Así, al hacer g (α ) 0 −1 1 −4 −5 2 4 − 1 el último g se ha incrementado. Entonces a = α i − 2 = 1 , b = α i −1 = 2 , 0 = q' ( xk +1 ) = f ' ( xk ) + f ' ' ( xk )( xk +1 − xk ) , α resulta c = αi = 4 . Calculamos (4): αc usando la fórmula 1 (b 2 − c 2 ) g ( a) + (c 2 − a 2 ) g (b) + (a 2 − b 2 ) g (c) αc = − ⋅ 2 (c − b) g (a) + (a − c) g (b) + (b − a ) g (c) xk +1 = xk − f ' ( xk ) , f ' ' ( xk ) (2) Este proceso, se ilustra en las figuras 21, 1 (2 2 − 4 2 )(−4) + ( 4 2 − 12 )(−5) + (12 − 2 2 )(−1) , 2 (4 − 2)(−4) + (1 − 4)(−5) + ( 2 − 1)(−1) αc = − ⋅ 1 − 24 = 2. 2 6 αc = − ⋅ Como g (2) = −5 < g (4) = −1 entonces α* = αc = 2 . Ahora encontramos el x dado por x* = x + αd = (1,1) + 2(1,3) = (3,7) . Método de Newton (Newton Raphson) Supongamos que se va ha minimizar la función f de una variable x, y supongamos que el punto xk, donde se hace una modificación, se pueden calcular los tres números f ( xk ) , f ′( xk ) , Angel Sangiacomo C. Figura 21. Para esta figura el proceso se puede repetir en xk+1. Se observa de inmediato que el nuevo punto xk+1, resultante del método de Newton, no depende del valor f(xk). Una forma más sencilla de ver el método es F. Ayres H. 59 Capítulo 2 Introducción a la Optimización No Lineal considerado como una técnica de resolución iterativa de ecuaciones de la forma g(x)=0, donde, al aplicarlas a la minimización, se hace g(x)≡f '(x). Figura 23. A continuación se demuestra que el método de Newton tiene orden de convergencia dos: Figura 22. Proposición 11 Sea g una función con segunda derivada continua, y x* que satisface g(x*)=0, g’(x*)≠0. está Entonces si x0 suficientemente cerca de x* el La gráfica representa, que la función derivada en el punto óptimo cambia de signo o sea pasa por un cero, ello es lo que g ( xk ) usamos, con los métodos del método xk +1 = xk − g ′( xk ) análisis numérico para encontrar converge con una orden de raíces. convergencia de al menos dos. En esta notación, el método de Prueba: Newton toma la forma g ( xk ) Para puntos ξ en una región xk +1 = xk − . (9) g ′( xk ) próxima a x*, existe k1 tal que Esta forma se ilustra en la figura g ' ' (ξ ) < k1 y k2 tal que g ′(ξ ) > k 2 . 23 el método de Newton para Entonces, como g(x*)=0, se resolver ecuaciones puede escribir xk +1 − x* = xk − x * − g ( xk ) − g ( x*) g ′( xk ) = −[g ( xk ) − g ( x *) + g ′( xk )( x * − xk )] / g ′( xk ) Angel Sangiacomo C. F. Ayres H. 60 Capítulo 2 Introducción a la Optimización No Lineal El término entre corchetes, por el Paso 9: Parar. teorema de Taylor, es de cero a primer orden. De hecho, utilizando el término residuo en Método de la falsa posición o de una expansión en serie de Taylor las cuerdas al rededor de xk, se obtiene El método de minimización de 1 g ′′(ξ ) xk +1 − x* = − ( xk − x*) 2 Newton se basa en el ajuste de 2 g ′( xk ) para algún ξ entre x* y xk. Así, una curva cuadrática a partir de la información de un solo punto, en la región próxima a x*, cuantos más puntos se utilicen, k 2 xk +1 − x * ≤ 1 xk − x * . menos información se requiere en 2k 2 Se observa que si xk − x * k1 / 2k 2 < 1 , cada uno de ellos. Así utilizando f ( xk ), f ' ( xk ), f ' ' ( xk ) , se pueden entonces xk +1 − x * < xk − x * y así ajustar a la cuadrática se concluye que, comenzando q ( x ) = f ( xk ) + f ' ( xk )( x − xk ) suficientemente cerca de la f ' ( xk −1 ) − f ' ( xk ) ( x − xk ) 2 solución, el método convergerá a . ⋅ + xk −1 − xk 2 x* con un orden de convergencia Que tienen los mismos valores de al menos dos. ♣ correspondientes. Entonces se puede determinar una estimación Algoritmo de Newton xk+1 hallando el punto donde se Paso 1: Define función f ′( x) anula la derivada de q; así, Paso 2: Define función f ′′( x) Paso 3: Entrar x0 {Valor inicial para empezar el proceso} Entrar Err {Valor de la tolerancia o error de cálculo} Paso 4: Hacer xn = x0 Paso 5: x = xn − f ' ( xn ) f ' ' ( xn ) Paso 6: Si x − xn < Err entonces ir al paso (8) Paso 7: En otro caso hacer xn = x , ir al paso (5) {Redefine a xn } Paso 8: Publicar la respuesta: Raíz = x . Angel Sangiacomo C. ⎡ ⎤ xk −1 − xk xk +1 = xk − f ' ( xk ) ⎢ ⎥. ⎣ f ' ( xk −1 ) − f ' ( xk ) ⎦ (1) (Ver Figura. 24) Comparando esta fórmula con el método de Newton, se observa de nuevo que el valor f(xk) no interviene; de ahí que el ajuste pudo haber pasado por f(xk) o f(xk-1). Además, la fórmula puede considerarse como una aproximación al método de Newton, donde la segunda F. Ayres H. 61 Capítulo 2 Introducción a la Optimización No Lineal derivada se sustituye por la diferencia entre las dos primeras derivadas. De nuevo, como este método no depende directamente de los valores de f, se puede considerar como un método para resolver f ' ( x ) ≡ g ( x ) = 0 . Tratado así (ver figura 25), el método toma la forma ⎡ xk − xk −1 ⎤ xk +1 = xk − g ( xk ) ⎢ ⎥. ⎣ g ( xk ) − g ( xk −1 ) ⎦ sucesión { xk }k =0 generada por el método de la falsa posición (2) converge a x* con orden τ 1 ≈ 1.618 . ∞ Prueba: (2) A continuación, se investiga el Figura 25. orden de convergencia del método de la posición falsa y se Introduciendo la descubre que es de orden (diferencias divididas) τ 1 ≈ 1.618 o τ = 0.618 , la media g (b) − g (a) g [a, b] = b−a áurea. notación (3) resulta ⎡ xk − xk −1 ⎤ xk +1 − x* = xk − g ( xk ) ⎢ ⎥ ⎣ g ( xk ) − g ( xk −1 ) ⎦ ⎧ g[ xk −1 , xk ] − g[ xk , x*] ⎫ = ( xk − x*)⎨ ⎬. g[ xk −1 , xk ] ⎩ ⎭ (4) Es más, al introducir la notación g[a, b, c] = Figura 24. g[a, b] − g[b, c] , a−c se puede escribir (4) como ⎧ g[ xk −1 , xk , x*] ⎫ xk +1 − x* = ( xk − x*)( xk −1 − x*)⎨ ⎬. Proposición 12 g [ x , x ] k −1 k ⎩ ⎭ Sea g con segunda derivada Ahora bien, por el teorema del continua y supóngase que x* es valor medio con residuo, resulta tal que g(x*)=0, g ' ( x*) ≠ 0 . g[ xk −1 , xk ] = g ' (ξ k ) (5) Entonces, para x0 sufi- y cientemente próxima a x*, la g[ x , x , x*] = 1 g ' ' (η ) , (6) k −1 k k 2 Angel Sangiacomo C. F. Ayres H. 62 Capítulo 2 Introducción a la Optimización No Lineal ξk ηk ⎛ ( M ⋅ ε k +1 ) ⎞ son ⎟ → 0, log⎜ ⎜ ( M ⋅ ε )τ k ⎟ k ⎝ ⎠ combinaciones convexas de xk , de donde xk −1 x x x * y , k, k −1 , ε k +1 respectivamente. Así, → M (τ 1 −1) . ♦ donde xk +1 − x* = y g ' ' (ηk ) ( xk − x*)( xk −1 − x*) . 2 g ' (ξ k ) (7) Resulta de inmediato que el proceso converge si comienza suficientemente cerca de x*. Para determinar el orden de convergencia se observa que para k grande, la ecuación (7) se convierte aproximadamente en xk +1 − x* = M ( xk − x*)( xk −1 − x*) , donde M= g ' ' ( x *) . 2 g ' ( x *) Así al definir ε k = ( xk − x*) se tiene, en el límite, ε k +1 = M ⋅ ε k ⋅ ε k −1 . (8) Al tomar el logaritmo de esta ecuación resulta, con yk = log( M ⋅ ε k ) , y k +1 = y k + y k −1 , (9) que es la ecuación de diferencias de Fibonacci analizada anteriormente. Una solución a esta ecuación cumplirá yk +1 − τ1 yk → 0 . ε τk 1 Una vez deducida la fórmula (8) del error por análisis directo, es el momento de presentar una técnica rápida, basada en la simetría y otras consideraciones, que a veces se puede utilizar en situaciones incluso más complicadas. El lado derecho de la fórmula (8) del error debe ser un polinomio en ε k y ε k −1 , pues se deduce de aproximaciones basadas en el teorema de Taylor. Además debe ser de segundo orden, pues el método se deduce al de Newton cuando xk=xk-1. Además, debe tener a cero si εk o εk-1 tienden a cero, pues, en ese caso, el método proporciona εk+1=0. Finalmente, debe ser simétrico en εk y εk-1, pues el orden de los puntos es irrelevante. La única fórmula que satisface estos requerimientos es ε k +1 = M ⋅ ε k ⋅ ε k −1 . Así, log(M ⋅ ε k +1 ) − τ 1 log(M ⋅ ε k ) → 0 o Angel Sangiacomo C. Algoritmo de la Falsa posición (cuerdas) F. Ayres H. 63 Capítulo 2 Introducción a la Optimización No Lineal Paso 1: Definir función f ′(t ) en que se va a realizar la búsqueda. El resultado de la Paso 2: Entrar x0 , x1 y Err búsqueda es un punto nuevo. Así, {Entramos las dos primeras aproximaciones y el error} se define el algoritmo de f ′( x1 )( x1 − x0 ) búsqueda S como una Paso 3: Hacer x = x1 − f ′( x1 ) − f ′( x0 ) 2n n transformación de E a E . {Uso de la fórmula de la Secante} Se supone que la búsqueda se Paso 4: Si x − x1 < Err entonces hará sobre la recta semiinfinita ir al paso (6) que parte de x en la dirección d. Paso 5: Si el Paso (4) es falso entonces: hacer x0 = x1; x1 = x , ir al paso (3) También se supone, por simpli{Renovación de los valores x} cidad, que la búsqueda no se hace Paso 6: Publicar la Solución: La raíz = x en vano; es decir, se supone que Paso 7: Parar. en la recta hay un punto mínimo. Este será el caso, por ejemplo, si f es continua y crece sin límite a Cierre de algoritmos de medida que x tiende a infinito. búsqueda lineal Definición 12. Como la búsqueda de un punto La transformación S: E2n→En mínimo en una recta forma parte está definido por de la mayoría de los algoritmos S (x, d) = {y : y = x + αd para algún α ≥ 0 , de programación no lineal, es (1) f ( y ) = mín f ( x + αd )⎫⎬ conveniente establecer de una vez que este procedimiento es cerrado, es decir, que el producto final de los procedimientos iterativos esbozados antes, considerado como un solo paso algorítmico para hallar un mínimo en una recta, define algoritmos cerrados. Este es el objetivo de esta sección. Para iniciar una búsqueda lineal con respecto a una función f, deben especificarse dos vectores: el punto inicial x y la dirección d Angel Sangiacomo C. 0 ≤α < ∞ ⎭ En algunos casos, puede haber muchos vectores y que produzcan el mínimo, de modo que S es una transformación cuyos valores son conjuntos. Hay que comprobar que S es cerrado. Teorema 3 Sea f continua en E n . Entonces, la transformación definida por (1) es cerrada en ( x , d ) si d ≠ 0 . F. Ayres H. 64 Capítulo 2 Introducción a la Optimización No Lineal Prueba: Supóngase que { xk } y { d k } son xk → x , sucesiones con d k → d ≠ 0 . Supóngase, además que yk ∈ S( xk , d k ) y que yk → y . Hay que demostrar que y ∈S( x , d ) . Para cada k se tiene yk = xk + α k d k para alguna αk. A partir de esto se puede escribir práctico, esta condición implica que, al construir algoritmos, la elección d=0 seria mejor hacerla sólo en conjunto solución, pero es evidente que si d=0, no se hará ninguna búsqueda. En teoría la transformación S puede no resultar cerrada en d=0, como se ilustra a continuación. Ejemplo 25 Defínase f(x)=(x–1)2 en E1. y −x Entonces, S(x,d) no es cerrado en αk = k k . dk x=0, d=0. Para ilustrar esto, se Tomando el límite de lado observa que para cualquier d>0 derecho de lo anterior, se observa mín f (αd ) = f (1) , 0≤α < ∞ que de donde y−x αk → α ≡ . S ( 0, d ) = 1 ; d pero Resulta entonces que y = x + α d . mín f (α ⋅ 0 ) = f (0 ) , 0 ≤α < ∞ Todavía falta mostrar que de modo que y ∈S( x , d ) . S (0,0) = 0 . Para cada k y cada α , 0 ≤ α < ∞ . Así según d → 0, S (0, d ) → / S (0,0 ) . f ( yk ) ≤ f ( xk + αd k ) Al hacer, k → ∞ , resulta f ( y ) ≤ f ( x + αd ) . Método de descenso mayor Así, pendiente f ( y ) ≤ mín f ( x + αd ) , 0 ≤α < ∞ y por tanto, y ∈S( x , d ) . Uno de los métodos más antiguos y conocidos de minimización de El requerimiento de que d ≠ 0 una función de varias variables es es, teóricamente y prácticamente, el método de descenso de mayor natural. Desde un punto de vista pendiente (también llamado Angel Sangiacomo C. ♣ F. Ayres H. 65 Capítulo 2 método del gradiente). El método es de gran importancia teórica, pues uno de los más sencillos para los que existe un análisis satisfactorio. A menudo, se consiguen algoritmos más avanzados intentando modificar la técnica de descenso de mayor pendiente básica de forma que el nuevo algoritmo tenga mejores propiedades de convergencia. Por tanto, el método de descenso de mayor pendiente sigue siendo no sólo la técnica que se prueba en primer lugar con un problema nuevo, sino también la referencia para medir otras técnicas. Los principios utilizados para su análisis se usarán a lo largo del desarrollo del curso. El método de mayor pendiente Introducción a la Optimización No Lineal Cuando no hay posibilidad de ambigüedad, a veces se suprime el argumento x y, por ejemplo, se gk en lugar de escribe T g ( xk ) = ∇ f ( x k ) . El método de descenso de mayor pendiente está definido por el algoritmo iterativo xk +1 = xk − α k g k , (1) donde α k es un escalar no negativo que minimiza f ( x k − αg k ) . Expresado en palabras a partir del punto xk se busca en la dirección del gradiente negativo − g k hasta un punto mínimo de esa recta; este punto mínimo se toma como xk +1 . En términos más formales, el A : En → En , algoritmo que proporciona xk +1 ∈ A( xk ) , se puede descomponer en la forma A = SG . Aquí, G : E n → E 2n se define por G( x ) = ( x,− g ( x )) , que da el punto inicial y la dirección de la búsqueda lineal. Después, se continúa con la búsqueda lineal S : E 2n → E n definida anterior-mente. Sea f con primeras derivadas parciales continuas en En. Con frecuencia se necesitará el vector gradiente de f, por lo que se dará alguna notación simplificadora. El gradiente ∇f ( x ) , de acuerdo con lo establecido, está definido como un vector fila ndimensional. Por conveniencia, se define el vector columna nEjemplo: g ( x ) = ∇f ( x )T . dimensional Angel Sangiacomo C. F. Ayres H. 66 Capítulo 2 Introducción a la Optimización No Lineal Como uno podemos tornar el problema de minimización para la función f ( x1 , x2 ) = x 12 − x1 x2 + x22 , Solución: Cuya figura es Anteriormente se mostró que S es cerrado si ∇f ( x ) ≠ 0 y es evidente que G es continua. Se define el conjunto solución como los puntos x, donde ∇f ( x ) = 0 . Entonces, Z ( x ) = f ( x ) es una función descendente para A, pues para ∇f ( x ) ≠ 0 mín f ( x − αg (x )) < f (x ) . 0 ≤α < ∞ (2) Así, por el teorema de la convergencia global, si la sucesión {xk} está acotada, tendrá puntos límite y cada uno de ellos es una solución. Figura 26. El caso cuadrático Esencialmente, todas las características importantes de g1 = (2 x1 − x2 ;− x1 + 2 x2 ) = (3;0) , convergencia local del método de ∇f ( x0 − αg1 ) g1 = 0 descenso de mayor pendiente se ⎛ 3⎞ ∇f (2 − 3α ;1)⎜⎜ ⎟⎟ = 3 ⋅ (2(2 − 3α ) − 1) = 0 , revelan investigando el método al ⎝0⎠ aplicarlo a problemas α = 0.5 entonces se tiene que el nuevo cuadráticos. Téngase f ( x ) = 12 xT Qx − xT b . (3) punto x1 es x1 = x0 − αg1 = ( 2;1) − 0.5 ⋅ (3;0) = (0.5;1) , donde Q es una matriz de n×n y así sucesivamente para los simétrica definida positiva. Como demás puntos y llegaremos a la Q es definida positiva, todos sus solución valores propios son positivos. Se x* = (0;0) . supone que estos valores propios están ordenados: Convergencia global 0 < a = λ1 ≤ λ 2 ... ≤ λ n = A . Con Q definida positiva, de la Supongamos que x0 = (2,1) , Angel Sangiacomo C. F. Ayres H. 67 Capítulo 2 Introducción a la Optimización No Lineal proposición 9, anteriormente expuesto, resulta que f es estrictamente convexa. El único punto mínimo de f se puede hallar directamente, igualando el gradiente a cero, como el valor x* que cumple Qx* = b (4) Es más, introduciendo la función E ( x ) = 12 ( x − x *)T Q( x − x *) , (5) resulta E ( x ) = f ( x ) + 12 x *T Qx * , lo cual muestra que la función E difiere de f sólo en una constante. Entonces, a muchos efectos, será conveniente considerar que se está minimizando E, en lugar de f. El gradiente (de f y E) está dado explícitamente por g ( x ) = Qx − b . (6) Así, el método de descenso de mayor pendiente se puede expresar como xk +1 = xk − α k g k , (1’) donde g k = Qxk − b , y donde α k f ( xk − αg k ) . minimiza Sin embargo, en este caso especial, se puede determinar explícitamente el valor de αk. Por la definición (3), resulta f ( xk − αg k ) = 12 ( xk − αg k )T Q( xk − αg k ) − ( xk − αg k )T b , Angel Sangiacomo C. lo cual (como se puede ver diferenciando respecto a α) se minimiza en αk = g kT g k g kT Qg k . (8) Por tanto, el método de descenso mayor de mayor pendiente (1’) toma forma explícita ⎛ gT g ⎞ x k +1 = x k − ⎜ Tk k ⎟ g k , ⎜ g Qg ⎟ k ⎠ ⎝ k donde g k = Qx k − b . (9) La función f y el proceso de descenso de mayor pendiente se pueden ilustrar como en la figura 27, mostrando los contornos de los valores constantes de f y un sucesión típica desarrollada por el proceso. Los contornos de f son elipsoides n-dimensionales con ejes en las direcciones de los n vectores propios mutuamente ortogonales de Q. El eje correspondiente al i-ésimo vector propio tiene longitud A proporcional a 1/λi. continuación se analiza este proceso y se muestra que la tasa de convergencia depende de la razón de las longitudes de los ejes de los contornos elípticos de f, esto es, de la excentricidad de los elipsoides. F. Ayres H. 68 Capítulo 2 Introducción a la Optimización No Lineal instrumento de uso general útil para el análisis de la convergencia. Desigualdad de Kantorovich Sea Q una matriz de n×n simétrica definida positiva. Para cualquier vector x se cumple Figura 27. Descenso de mayor dependiente ( xT x) 2 Lema 1. El proceso iterativo (9) satisface ⎧⎪ E ( xk +1 ) = ⎨1 − ⎪⎩ T T −1 ( x Qx)( x Q x) ⎫⎪ ( g kT g k ) 2 ⎬ E ( xk ) . ( g kT Qg k )( g kT Q −1 g k ) ⎪⎭ ≥ 4aA (a + A) 2 , (11) donde a y A, respectivamente, son los valores propios menor y mayor de Q. Prueba: Sean los valores propios λ1, λ2, Prueba: ..., λn de Q que satisfacen La demostración se realiza por 0<a=λ1≤λ2≤...≤λn =A cálculos directos. Haciendo Haciendo un cambio apropiado yk = xk − x * , resulta de coordenadas, la matriz Q se E ( xk ) − E ( xk +1 ) 2α k g kT Qyk − α k2 g kT Qg k en diagonal, con . convierte = E ( xk ) ykT Qyk diagonal (λ1, λ2, ..., λn). En este g = Qy Utilizando k k , resulta sistema de coordenadas, resulta (10) 2( g kT g k ) 2 − ( g kT g k ) 2 E ( xk ) − E ( xk +1 ) ( g kT Qg k ) ( g kT Qg k ) = E ( xk ) g kT Q −1 g k ( g kT g k ) 2 = T . ( g k Qg k )( g kT Q −1 g k ) ( xT x) 2 ( xT Qx)( xT Q −1 x) (∑ ) 2 n 2 x i i =1 n n 2 λx x2 i =1 i i i =1 i )(∑ ( / λi )) , que se puede expresar ♦ Para obtener un límite en la tasa de convergencia, se necesita un límite en el lado derecho de (10). El límite más adecuado se debe a Kantorovich y su lema, enunciado a continuación, es un Angel Sangiacomo C. = (∑ ( xT Qx)( xT Q −1 x) donde ξ i = 1 / ∑i =1 ξ i λi n ( xT x) 2 = xi2 ∑ (ξi / λi ) n i =1 ∑i =1 xi2 n ≡ o/ (ξ ) ψ (ξ ) , . La expresión se ha trasformado en la razón de dos funciones que incluyen combinaciones convexas, una es F. Ayres H. 69 Capítulo 2 Introducción a la Optimización No Lineal una combinación de las λi, y otra, una combinación de las 1/λi. La situación se ilustra en la figura 28. La curva de la figura representa la función 1/λi. Como n ∑i =1ξi λi es un punto entre λ1 y λn el valor de o/ (ξ ) es un punto en la curva. Por otro lado, el ψ (ξ ) valor de es una combinación convexa de puntos en la curva, y su valor correspondiente a un punto en la Figura 28. región sombreada (por ejemplo αλk + (1 − α )λ j , donde los alfas Combinando los dos lemas anteriores, se obtiene el resultado son los ξ i ). Para el mismo vector central sobre la convergencia del ξ , las funciones están método de descenso de mayor representadas por puntos en la pendiente. misma línea vectorial. El valor Nota: Para aclarar la prueba de este mínimo de esta razón se alcanza teorema dado anteriormente se pone un para algún λ = ξ1λ1 + ξ n λn con ejemplo de una función convexa ξ1 + ξ n = 1 . Usando la relación cuadrática que se puede reducir Q a la forma diagonal haciendo los cambios ξ1 / λ1 + ξ n / λn = (λ1 + λn − ξ1λ1 − ξ n λn ) / λ1λn indicados en la demostración: Ejemplo: una cota apropiada es Por medio de una rotación de (1 / λ ) o/ (ξ ) ≥ mín . coordenadas, redúzcase ψ (ξ ) λ1 ≤ λ ≤ λ n (λ1 + λn − λ ) / (λ1λn ) f ( x, y ) = 7 x 2 + 2 3 xy + 5 y 2 El mínimo se alcanza en a su forma diagonal. λ = (λ1 + λn ) / 2 , que da o/ (ξ ) ψ (ξ ) ≥ 4λ1λn (λ1 + λn )2 . Angel Sangiacomo C. ♣ Solución: Su Q es dado por ⎡14 2 3⎤ Q = 12 ⎢ ⎥. 10 ⎦ ⎣2 3 F. Ayres H. 70 Capítulo 2 Introducción a la Optimización No Lineal Sea la forma f ( x, y ) = Ax 2 + 2 B xy + Cy 2 , o haciendo λ ≡ r (λ − 8)(λ − 4) = 0 entonces tomaremos ( A, B) = (7, 3 ) y ( B, C ) = ( 3 ,5) . Tomando λ = 8 nos resulta Usando el cambio de coordenadas o (rotación por ejemplo aquí) dado por (7 − 8)u1 + 3u 2 = ( A − r1 , B)u = 0 , donde r1 es una raíz de (&). Para el otro ( x, y ) = U ( x′, y ′) = x′u + y′u ⊥ de lo que nos resulta caso es ( B, C − r2 )u ⊥ = 0 . Una solución a esta expresión es x = x′u1 − y′u2 y = x′u2 + y′u1 y tendremos 2 2 (7 − 8)u1 + 3u2 = (−1, 3 )u = 0 , 2 u=( 2 3 1 , ). 2 2 Ax + 2 B xy + Cy = A′x′ + 2 B′ x′y ′ + C ′y ′ entonces para que B′ = 0 de la expresión La rotación de coordenadas es ( x, y ) = x′u + yu ⊥ = 12 ( 3 x′ − y ′, x′ + 3 y ′) anterior tendremos con L( x, y ) = ( xA + yB, xB + yC ) = x( A, B ) + y ( B, C ) expresando los coeficientes A′, B′ y C ′ en la forma A′ = u ⋅ L(u) , B′ = u ⊥ ⋅ L(u) , y tenemos como L(u) a L(u) = u1 (7, 3 ) + u2 ( 3,5) = C ′ = u ⊥ ⋅ L (u ⊥ ) . (^^) Que L(u) sea paralelo a u , o sea, existe un número r ≠ 0 tal que se cumple ru = L(u) . (^) 3 1 (7, 3 ) + ( 3,5) 2 2 = (4 3 ,4) , y L(u ⊥ ) = (−2, 2 3 ) de donde de (^^) se tiene: 3 1 Continuando, y como L es el operador A′ = u ⋅ L(u) = ( , ) ⋅ (4 3 ,4) = 8 , 2 2 combinación lineal de u por ( A, B, C ) 1 3 B′ = u ⊥ ⋅ L(u) = (− , )(4 3 ,4) = 0 , L(u) = u1 (7, 3 ) + u2 ( 3 ,5) 2 2 Deseamos hallar una u tal que para algún 1 3 número real r, u satisfaga a (^). Es decir: C ′ = u ⊥ ⋅ L(u ⊥ ) = (− , )(−2,2 3 ) = 4 . 2 2 u1 (7, 3 ) + u2 ( 3 ,5) = (7u1 + 3u2 , 3u1 + 5u 2 ) = r (u1 , u2 ) o igualando a cero Entonces el nuevo Q es Este sistema homogéneo tiene solución no trivial si y sólo si (7 − r )(5 − r ) − 3 3 = 0 , ⎡8 0⎤ Q=⎢ ⎥ ⎣0 4 ⎦ Problema Hacer el mismo trabajo pero con la ecuación o r 2 − 12r + 32 = 0 , o Angel Sangiacomo C. Ax 2 + 2 B xy + Cy 2 = 8 x′ 2 + 2(0) x′y ′ + 4 y ′2 = 8 x′ 2 + 4 y ′ 2 . ⎧(7 − r )u1 + 3u 2 = 0 ⎨ ⎩ 3u1 + (5 − r )u2 = 0 r 2 − ( A + C )r − ( B 2 − AC ) = 0 , Y la forma reducida a la diagonal es (&) a) f ( x, y ) = 5 x 2 + 24 xy − 5 y 2 . F. Ayres H. 71 Capítulo 2 Introducción a la Optimización No Lineal Sol. f ( x′, y ′) = 13 x′2 − 13 y ′2 . b) f ( x, y ) = 7 x 2 + 2 xy + 5 y 2 . c) f ( x, y ) = 23 x 2 + 4 5 xy + 22 y 2 . d) f ( x, y ) = x 2 − 4 xy + 4 y 2 . e) f ( x, y ) = y 2 − 2 6 xy . Teorema (descenso de mayor pendiente: caso cuadrático). Para cualquier x0∈En, el método de descenso de mayor pendiente (9) converge a un único punto mínimo x* de f. Es más, con E ( x ) = 12 ( x − x*)T Q(a = x*) , en todo paso k se cumple que 2 ⎛ A−a ⎞ E ( xk +1 ) ≤ ⎜ ⎟ E ( xk ) . ⎝ A+ a ⎠ (12) Prueba: Por el lema 1 y la desigualdad de Kantorovich 2 ⎧⎪ 4aA ⎫⎪ ⎛ A−a ⎞ E ( x k +1 ) ≤ ⎨1 − E ( x ) E ( xk ) . = ⎟ ⎜ ⎬ k ⎪⎩ ( A + a )2 ⎪⎭ ⎝ A+ a⎠ Resulta directamente que E (x k ) → 0 , por lo que, como Q es definida positiva, x k → x * . ♦ En términos generales, el teorema anterior establece que la tasa de convergencia de descenso de mayor pendiente es más lenta a medida que los contornos de f se hace más excéntricos. Si a=A, correspondientes a contornos circulares, la convergencia tiene Angel Sangiacomo C. lugar en un solo paso. No obstante, obsérvese que aunque n–1 de los valores propios sean iguales y el restante esté a mucha distancia, la convergencia será lenta, por lo que un solo valor propio anormal puede destruir la efectividad del descenso de mayor pendiente. En la terminología introducida en la rapidez de convergencia, anteriormente desarrollada, el teorema anterior establece que al respecto a la función de error E (o, para el caso, f) el método de descenso de mayor pendiente converge linealmente con una razón no mayor que 2 [( A − a ) / ( A + a )] . La tasa real depende del punto inicial x0. Sin embargo, para algunos puntos iniciales se alcanza realmente el límite. Además, Akaike mostró que si la razón es desfavorable, es muy probable que el proceso converja a una tasa próxima a la cota. Así, informalmente, pero con cierta justificación, se dice que la razón de convergencia del descenso de mayor pendiente es [( A − a ) / ( A + a )]2 . Debemos de tener en cuenta que la tasa de convergencia depende en realidad de la razón r=A/a de F. Ayres H. 72 Capítulo 2 Introducción a la Optimización No Lineal los valores propios mayor y pendiente, según se muestra en la menor. Así, la razón de siguiente tabla, es consistente con esta estimación. convergencia es 2 2 ⎛ A−a⎞ ⎛ r −1⎞ ⎜ ⎟ =⎜ ⎟ . ⎝ A+a⎠ ⎝ r + 1⎠ Que muestra claramente que la convergencia es más lenta a medida que r aumenta. La razón r, que es el único número asociado con la matriz Q que caracteriza la convergencia, suele denominarse número de condición de la matriz. Ejemplo Téngase ⎡ 0.78 - 0.02 - 0.12 - 0.14 ⎤ ⎢ - 0.02 0.86 - 0.04 0.06 ⎥ ⎥ Q=⎢ ⎢ - 0.12 - 0.04 0.72 - 0.08 ⎥ ⎥ ⎢ ⎣ - 0.14 0.06 - 0.08 0.74 ⎦ b = (0.76, 0.08, 1.12, 0.68 ) . Para esta matriz, se puede calcular que a=0.52, A=0.94, de donde r=1.8. Este es un número de condición muy favorable y da lugar a la razón de convergencia [( A − a ) / ( A + a )]2 = 0.081 . Así, cada iteración reducirá el error en el objetivo es más que un factor de diez o, dicho de otra forma, cada iteración añadirá al rededor de un dígito más de precisión. De hecho, comenzando en el origen, la sucesión de valores obtenidos mediante el descenso de mayor Angel Sangiacomo C. Tabla: Paso k Solución al ejemplo f (x k ) 0 0 1 -2.1563625 2 -2.1744062 3 -2.1746440 4 -2.1746585 5 -2.1746595 6 -2.1746595 Punto solución x* = ( 1.534965, 0.1220097, 1.975156, 1.412954 ) El caso no cuadrático El resultado expuesto aquí ilustra cómo, en general, una propiedad de convergencia deducida para problemas cuadráticos se traduce en otra similar para problemas no cuadráticos. El procedimiento en general, que se puede aplicar a la mayoría de los métodos con orden de convergencia unitario, es utilizar el hessiano del objetivo en el punto solución como si fuera la matriz Q de un problema cuadrático. El teorema siguiente es un caso especial de un teorema de tasa de convergencia que veremos más adelante, por lo que aquí no se prueba, pero ilustra la generabilidad de un análisis de los problemas cuadráticos. F. Ayres H. 73 Capítulo 2 Teorema Supóngase que f está definida en En tiene segundas derivadas parciales continuas y un mínimo relativo en x*. Supóngase también que la matriz hessiana de f, F(x*) tiene valor propio menor a>0 y valor propio mayor A>0. Si {xk} es una sucesión generada por el método de descenso de mayor pendiente que converge a x*, entonces la sucesión de valores objetivo {f(xk)} converge lineal-mente a f(x*) con una razón de convergencia no mayor que [( A − a ) / ( A + a )] 2 . Aplicaciones de la teoría Una vez desarrollada la teoría de la convergencia básica, representada por la fórmula (12) para la tasa de convergencia, y demostrado que caracteriza realmente el comportamiento de descenso de mayor pendiente, es conveniente mostrar cómo se puede utiliza la teoría. En general, no se sugiere calcular el valor numérico de la fórmula, pues incluye valores propios o razones de valores propios difíciles de determinar. No Angel Sangiacomo C. Introducción a la Optimización No Lineal obstante, la fórmula en si es de gran importancia práctica, pues permite la comparación teórica de distintas situaciones. Sin dicha teoría, habría que depender totalmente de comparaciones experimentales. Aplicación 1 (Solución de la ecuación del gradiente). Un enfoque a la minimización de una función f es tener en cuenta la resolución de ∇f ( x ) = 0 , las ecuaciones representan las condiciones necesarias. Se ha propuesto la resolución de estas ecuaciones aplicando el descenso de mayor pendiente a la función 2 h(x)=|∇f(x)| . Una ventaja de este método será más rápido o más lento que la aplicación del descenso de mayor pendiente a la función original f. Por simplicidad, se trata sólo el caso en que f es cuadrática. Así, sea f(x)= xTQx–bTx. Entonces el gradiente de f es g(x)=Qx–b, y h(x)=|g(x)|2=xTQ2x–2xTQb+bTb. Así, h(x) es una función cuadrática. La tasa de convergencia del descenso de mayor pendiente aplicado a h estará controlada por los valores F. Ayres H. 74 Capítulo 2 Introducción a la Optimización No Lineal propios de la matriz Q2. En de mayor pendiente, el método propuesto será algo peor. concreto, la tasa será 2 ⎛ r −1⎞ ⎜ ⎟ , ⎝ r +1⎠ donde r es el número de la condición de la matriz Q2. Sin embargo, los valores propios de Q2 son los cuadrático de los de Q, de modo que r = r 2 , donde r es el número de la condición de Q, y es evidente que la tasa de convergencia para el método propuesto será peor que para el descenso de mayor pendiente aplicado a la función original. Se puede profundizar más y estimar realmente cuánto más lento puede ser el método propuesto. Si r es grande, se tiene Aplicación 2 Considérese por un momento un problema con una sola restricción: (Métodos de penalización). minimizar f (x) sujeto a h (x) = 0. (13) Un método para enfocar este problema es convertirlo (al menos aproximadamente) en el problema sin restricciones (14) minimizar f ( x ) + 12 μh( x )2 , donde μ es un coeficiente (grande) de penalización. Debido a la penalización, la solución de (13) tenderá a tener una h(x) pequeña. El problema (13) se puede resolver como un problema sin restricciones por el tasa del descenso de mayor método del descenso de mayor 2 ⎛ r −1⎞ ~ 4 pendiente = ⎜ pendiente. Cómo se comportará? ⎟ − (1 − 1 / r ) ⎝ r +1⎠ Por simplicidad, téngase el caso tasa del método propuesto donde f es cuadrática y h es ⎛ r 2 −1⎞ 4 2 ⎟~ =⎜ 2 − (1 − 1 / r ) . lineal. Considérese en especial el ⎜ r +1⎟ ⎝ ⎠ problema 2 r ~ Como (1 − 1 / r ) − 1 − 1 / r , resulta (15) minimizar 12 x T Qx − b T x que el nuevo método tarda sujeto a cT x = 0 . aproximadamente r pasos para El objetivo del problema de igualar un paso del descenso de penalización asociado es mayor dependiente normal. Se 1 { xT Qx + μxT ccT x}− bT x . La forma puede llegar a la conclusión de 2 que si el problema original es cuadrática asociada con este difícil de resolver con el descenso objetivo está definida por la Angel Sangiacomo C. F. Ayres H. 75 Capítulo 2 matriz Q + μcc T y, en consecuencia, la tasa de convergencia del descenso de mayor pendiente estará controlada por el número de condición de esta matriz, que es la matriz original Q con una matriz grande de rango uno añadida. Tendremos en cuenta que este añadido hará que un valor propio de la matriz sea grande (del orden de μ). Así, el número de condición es aproximadamente proporcional a μ. Así pues, a medida que se aumenta el orden de μ para obtener una solución precisa al problema con restricción original, la tasa de convergencia se hace muy pobre. Se llega a la conclusión de que el método de la función de penalización, utilizando de esta manera tan simple con el descenso de mayor pendiente, no será muy efectivo (Posteriormente se amplia el estudio de las funciones de penalización y la forma de minimizarlas más rápidamente). Escalas El funcionamiento del método del descenso de mayor pendiente de la elección de las variables x Angel Sangiacomo C. Introducción a la Optimización No Lineal utilizadas para definir el problema Una nueva elección puede alterar en gran medida las características de convergencia. Supóngase que T es una matriz invertible de n×n. Entonces, se pueden representar puntos en E n con el vector estándar x o con el y, donde Ty=x. El problema de hallar x para minimizar f(x), equivale a hallar y para h( y ) = f (Ty ) . minimizar Utilizando y como conjunto de variables subyacentes, resulta ∇h = ∇fT , (16) donde ∇f es el gradiente de f respecto a x. Así, utilizando el descenso de mayor pendiente, la dirección de búsqueda será Δy = − T T ∇f T , (17) que en las variables originales es Δx = − TT T ∇f T . (18) Así, se observa que el cambio de variables cambia la dirección de búsqueda. La tasa de convergencia del descenso de mayor pendiente respecto a y será determinada por los valores propios del hessiano del objetivo, tomando respecto a y. Ese hessiano es ∇ 2 h( y ) ≡ H ( y ) = T T F (Ty )T . F. Ayres H. 76 Capítulo 2 Introducción a la Optimización No Lineal Así, si x*=Ty* es el punto piada puede producir una ganansolución, la tasa de convergencia cia sustancial en la mejora de la tasa de convergencia, en el está controlada por la matriz H ( y *) = T T F ( x *)T . (19) análisis del descenso de mayor No es mucho lo que se pueda pendiente se presta poca atención decir al comparar la razón de a esta posibilidad, pues si no se convergencia asociada con H y la conoce algo la estructura del de F. Si T es una matriz problema no se pueden dar ortogonal, correspondiente a y orientaciones concretas. definida a partir de x por una simple rotación de coordenadas, Aplicación 3 entonces T T T = I , y se observa (Diseño de programas). En el por (18) que las direcciones no trabajo aplicado es muy raro cambian y que los valores resolver un solo problema de propios de H son los mismos que optimización de un tipo dado. Lo los de F. normal es una vez codificado el En general, antes de tratar un problema para resolverlo por problema con el descenso de computador, se resuelva mayor pendiente es conveniente, repetidamente para diferentes de ser factible, introducir un valores de parámetro. Así, por cambio de variables que ejemplo, si se está buscando un proporcione una estructura más plan de producción optimal favorable de los valores propios. (como en el ejemplo 1 de los En genera, el único tipo de ejemplos sin restricciones, antetransformación que resulta prác- riores), el problema se resolverá tico es una que tenga T igual a para diferentes valores de los una matriz diagonal, correspon- precios de entrada. Igualmente, diente a la introducción de otros problemas de optimización factores de escala en cada una de se resolverán teniendo en cuenta las variables. Al hacer esto, hay diversas hipótesis y valores de que tratar de conseguir las segun- restricción. Por esta razón son tan das derivadas respecto a cada importantes la rapidez y el variable sean aproximadamente análisis de convergencia. Lo que iguales. Aunque una escala apro- se desea es un programa Angel Sangiacomo C. F. Ayres H. 77 Capítulo 2 Introducción a la Optimización No Lineal eficiente. En muchos casos, el esfuerzo dedicado a buscar la escala apropiada no se compensa en la primera ejecución, sino a largo plazo. A modo de ejemplo, téngase el problema de minimizar la función f ( x ) = x − 5 xy + y − ax − by . 2 4 Es deseable obtener rápidamente soluciones para valores diferentes de los parámetros a y b . Se empieza con los valores a=25, b=8. Si se aplica el método de mayor pendiente se necesita 80 iteraciones, lo cual puede considerarse decepcionante. La razón de este rendimiento tan pobre se revela examinando la matriz hessiana ⎡ 2 -5 ⎤ F=⎢ 2⎥ . ⎣− 5 12 y ⎦ Utilizando los resultados del primer experimento, se conoce que y=3. Por tanto, los elementos de la diagonal del hessiano, en la solución, difieren en un factor de 54. (De hecho, el número de condición es aproximadamente 61). Como recurso sencillo, se cambia la escala del problema sustituyendo la variable y por z=ty. Entonces, el nuevo término Angel Sangiacomo C. de la esquina inferior derecha del 2 4 hessiano es 12 z / t , que tiene magnitud 12 × t 2 × 32 / t 4 = 108 / t 2 . Así, se puede hacer t = 7 , para que los dos términos diagonales sean aproximadamente iguales. −5/ 7 ⎤ ⎡ 2 ⎢− 5 / 7 108 / 49⎥ ⎣ ⎦ Aplicando los cambios anteriores se tiene el resultado en tan sólo 9 iteraciones. (Este mejor rendimiento esta de acuerdo con la teoría general, pues el número de condición del problema a esta escala es aproximadamente dos.) Para otros valores próximos de a y b se consiguen rapideces similares. Método de newton El método de Newton se basa en que la función f que se minimiza se aproxima localmente por una función cuadrática, y esta función de aproximación se minimiza exactamente. Así, cerca de xk se puede aproximar f por la serie de Taylor truncada f ( x) ~ − f ( xk ) + ∇f ( xk )( x − xk ) + 12 ( x − xk )T F ( xk )( x − xk ) . El lado derecho se minimiza en F. Ayres H. 78 Capítulo 2 xk +1 = xk − [F ( xk )]−1 ∇f ( xk )T , Introducción a la Optimización No Lineal Prueba: y esta ecuación es la forma pura Hay ρ > 0, β1 > 0, β 2 > 0 tales que para toda x, con x − x * < ρ , se del método de Newton. Teniendo en cuenta las cumple que F ( x )−1 < β1 (Véase en condiciones de suficiencia de algún texto la definición de la segundo orden para un punto norma de una matriz) y mínimo, se supone que en un 2 ∇f ( x*)T − ∇f ( x )T − F ( x )( x * − x ) ≤ β 2 x − x * . punto mínimo relativo, x*, la matriz hessiana F(x*) es definida Ahora, supóngase que se elige x k positiva. Entonces, se puede con β1β 2 xk − x * < 1 y xk − x * < ρ . argumentar que se f tiene Entonces, segundas derivadas parciales xk +1 − x * = xk − x * − F ( xk )−1∇f (xk )T continuas, F(x) es definida positiva cerca de x*, por lo que el = F ( xk ) −1 [∇f ( x*)T − ∇f ( xk )T − F ( xk )( x * − xk )] método está bien definido cerca 2 ≤ F ( xk ) −1 β 2 xk − x * de la solución. (20) 2 ≤ β1β 2 xk − x * < xk − x * . Convergencia de orden dos El método de Newton tiene propiedades muy interesantes si se comienza suficientemente cerca del punto solución. Su orden de convergencia es dos. Teorema (Método de Newton) . Sea f∈C3 en En, y supóngase que en el punto mínimo local x*, el hessiano F(x*) es definido positivo. Entonces, si se comienza suficientemente cerca de x*. El orden de convergencia es al menos dos. Angel Sangiacomo C. La desigualdad final demuestra que el nuevo punto está más cerca de x* que el primitivo, por lo que todas las condiciones vuelven a ser aplicables a xk+1. La desigualdad anterior prueba que la convergencia es de segundo orden. ♠ Modificaciones Aunque el método de Newton es muy atractivo en función de sus propiedades de convergencia cerca de la solución, ha de modificarse antes de poderlo utilizar en puntos lejanos de la F. Ayres H. 79 Capítulo 2 Introducción a la Optimización No Lineal solución. El resto de esta sección se dedica a la naturaleza general de estas modificaciones. La primera modificación suele ser la introducción de un parámetro de búsqueda α, de modo que el método toma la forma xk +1 = xk − α [F ( xk )]−1 ∇f ( xk )T , donde αk se elige para minimizar f. Se espera que cerca de la solución, dependiendo de cómo se dedujo el método de Newton, αk≈1. Sin embargo, al introducir el parámetro para puntos generales se evita la posibilidad de que el objetivo crezca con αk=1, debido a los términos no cuadráticos de la función objetivo. Los aspectos básicos necesarios para desarrollar la segunda modificación se pueden ver más claramente con un breve examen de la clase general de algoritmos xk +1 = xk − αM k g k , (21) donde Mk es una matriz de n×n, α es un parámetro de búsqueda positivo, y g k = ∇f ( xk )T . Se observa que el descenso de mayor pendiente ( M k = I ) y el método de Newton ( M k = [F ( xk )]−1 ) pertenecen a esta Angel Sangiacomo C. clase. El vector dirección d k = − M k g k obtenido de esta forma es una dirección de descenso si para α pequeño el valor de f disminuye según α se incrementa desde cero. Para α pequeño, se puede decir que f ( xk +1 ) = f ( xk ) + ∇f ( xk )( xk +1 − xk ) ( + O xk +1 − xk 2 ). Utilizando (21), esto se puede expresar f ( xk +1 ) = f ( xk ) − α .g kT M k g k + O(α 2 ) . A medida que α→0, el segundo término de la derecha domina al tercero. Por tanto, si se quiere garantizar un decremento de f para α pequeño, se debe tener g kT M k g k > 0 . La forma más sencilla de asegurar esto es exigir que Mk sea definida positiva. Para obtener el método del descenso de mayor pendiente, la manera más sencilla de garantizar el descenso quizá sea hacer Mk=I, pero este método converge sólo linealmente. Haciendo M k = [F ( xk )]−1 se produce un descenso rápido cerca de la solución, pero para un punto general puede no producir una dirección de descenso, pues [F (xk )]−1 puede no ser definida positiva o incluso puede no F. Ayres H. 80 Capítulo 2 Introducción a la Optimización No Lineal existir. Entonces, en la práctica, el método de Newton debe modificarse para ajustar la definición no positiva en regiones alejadas de la solución. Un enfoque usual es tomar M k = [ε k I + F ( xk )]−1 para algún valor no negativo de εk. Esto puede considerarse como una especie de compromiso entre el descenso de mayor pendiente (εk muy grande) y el método de Newton (εk=0). Siempre hay una εk que hace a Mk definida positiva. La siguiente es una modificación de este tipo. Sea Fk ≡ F ( xk ) . Fíjese una constante δ>0. Dada xk, calcúlese los valores propios de Fk, y sea εk la menor constante no negativo para lo cual la matriz εkI+Fk tiene valores propios mayores o iguales que δ. Después defínase d k = −(ε k I + Fk )−1 g k (22) e itérese de acuerdo con xk +1 = xk + α k d k , (23) donde αk minimiza f (xk + αd k ) , α≥0. Este algoritmo tiene las propiedades locales y globales deseadas. Primero, como los valores propios de una matriz dependen continuamente de sus elementos, εk es una función Angel Sangiacomo C. continua de xk, por lo que la D : E n → E 2n transformación definida por D( xk ) = ( xk , d k ) es continua. Así, el algoritmo A=SD es cerrado en los puntos que están fuera del conjunto solución Ω = { x : ∇f ( x ) = 0} . Segundo, como ε k I + Fk es definida positiva, dk es una dirección descendente, y Z ( x) ≡ f ( x) es una función descendente continua para A. Por tanto, suponiendo que la sucesión generada está acotada, se aplica el teorema de la convergencia global. Además, si δ > 0 es menor que el menor valor propio de F(x*), entonces para xk suficientemente próxima a x*, se tendrá εk=0, y el método se reduce al método de Newton. Así, este método revisado también tiene orden de convergencia igual a dos. La elección de una δ apropiada es casi un arte. Una δ pequeña significa que hay que invertir matrices casi singulares, mientras que una δ grande significa que se puede perder el orden de convergencia dos. Con frecuencia, es necesario experimentar y estar familiarizado con una clase dada F. Ayres H. 81 Capítulo 2 de problemas para hallar la mejor δ. La utilidad del algoritmo anterior se ve obstaculizada por la necesidad de calcular los valores propios de F(xk), y en la práctica se recurre a otro procedimiento. En una clase de métodos (métodos del tipo LevenbergMarquardt), para un valor de ε k dado, se utiliza la factorización de Cholesky de la forma ε k I + F ( xk ) = GGT , para verificar la definición positiva. Si la factorización falla, se incrementa ε k . Entonces, la factorización también proporciona el vector dirección mediante la solución de las ecuaciones GGT d k = g k , que son fáciles de resolver, pues G es triangular. Después, se examina el valor de f(xk+αkdk). Si está suficientemente por debajo de f(xk), entonces se acepta xk+1 y se determina una nueva εk+1. Esencialmente ε funciona en estos métodos como parámetro de búsqueda. Por lo expuesto, es evidente que la sencillez, que parecía prometer al principio el método de Newton, en la práctica no se consigue totalmente. Angel Sangiacomo C. Introducción a la Optimización No Lineal Métodos coordenado de descenso Los algoritmos tratados en esta sección a veces son atractivos debido a su facilidad de aplicación. Sin embargo, sus propiedades de convergencia suelen ser más débiles que el descenso de mayor pendiente. Sea f una función en En con primeras derivadas parciales continuas. Dado un punto x=(x1, x2,..., xn), el descenso respecto a la coordenada xi (i fija) significa que se resuelve minimizar f ( x1 , x2 ,..., xn ) . xi Así, buscando un vector x nuevo y mejor, sólo se permiten cambios en la componente xi. En la terminología general, cada descenso de este tipo se puede considerar como un descenso en la dirección ei (o − ei ) , donde ei es el i-ésimo vector unitario. Minimizando secuencialmente para diversos componentes, se podría llegar a determinar un mínimo relativo de f. Son varias las formas de desarrollar este concepto en un algoritmo completo. El algoritmo de descenso coordenado cíclico F. Ayres H. 82 Capítulo 2 minimiza f cíclicamente con respecto a las variables coordenadas. Así, x1 cambia primero, después, x2, y así hasta xn. Entonces, se repite el proceso comenzando de nuevo con x1. Una variante de esto es el método del doble recorrido de Aitken. En este procedimiento se busca en x1, x2, ..., xn, en ese orden, y después se regresa en el orden xn1, xn-2, . . . , x1. Estos métodos cíclicos tienen la ventaja de que no necesitan información sobre ∇f para determinar las direcciones de descenso. Si se dispone del gradiente de f, entonces se puede seleccionar el orden de las coordenadas de descenso a partir del gradiente. Una técnica popular es el método de Gauss-Southwell, donde en cada etapa se escoge para el descenso la coordenada correspondiente a la mayor componente (en valor absoluto) del vector gradiente. Introducción a la Optimización No Lineal Partiendo de un x0 = ( x10 , x20 ) = (8, 2) , el cual nos da una altura de 0 0 f ( x1 , x2 ) = f (8,2) = −12 unidades. El gradiente indicará la dirección de movimiento y este será perpendicular a la tangente del f ( x10 , x20 ) = −12 . contorno de Calculando el gradiente se tiene ∂f ∂f ∇f ( x) = ( ∂x , ∂x )T 1 2 = ( 2 x1 − x2 − 7, 2 x2 − x1 − 4)T ⎡− 7⎤ =⎢ ⎥ ⎣ 8⎦ Aquí sabemos que la información que nos brinda el gradiente, que el mejor descenso está en la dirección positiva o sea en x2 que es de 8 unidades. Aquí se tiene nuevamente el mismo problema de cuánto nos moveremos en la dirección x2 y ello se hace calculando un α unidades en dicha dirección, hacemos x1 = x 0 + α (0,8) x1 = ( x10 , x20 ) + α (0,8) = ( x10 , x20 + α 8) x1 = (8, 2 + α 8) Hagamos una descripción del método coordenado de GaussSouthwell, aquí lo pondremos como un descenso de la función f ( x1 , x2 ) = x12 − x1 x2 + x22 − 4 x2 − 7 x1 Calculamos α óptimo para esta operación usamos g (α ) = f (8,2 + α 8) , calculando g ' (α ) = 0 , f (8,2 + α 8) = 82 − 8(2 + α 8) + (2 + α 8) 2 − 4(2 + α 8) − 7(8) f (8,2 + α 8) = 64 − 16 − 64α + (2 + α 8) 2 − 8 − 32α − 56 Angel Sangiacomo C. F. Ayres H. 83 Capítulo 2 Introducción a la Optimización No Lineal Calculamos α óptimo para esta operación usamos Se usa este valor para calcular el g (α ) = f (8 − α 3,6) , calculando 1 nuevo valor de x , g ' (α ) = 0 , df (8, 2+α 8) dα α = 12 = −64 + 16(2 + α 8) − 32 = 0 x1 = (8,2 + 12 8) = (8,2 + 4) = (8,6) este mejora el valor de f (x) , así: f ( x11 , x12 ) = f (8,6) = −28 df (8−α 3,6) dα = −18α + 9 = 0 α = 12 por casualidad es igual al anterior o sea se a conseguido bajar 16 y resulta x 2 = (8 − 12 (3),6) = (6.5,6) unidades, sigamos mejorando: este mejora el valor de f (x) , así: f ( x12 , x22 ) = f (6.5,6) = −30.25 o sea se a conseguido bajar 2.25 unidades, sigamos mejorando: Figura 29. ∇f ( x) = (2 x1 − x2 − 7, 2 x2 − x1 − 4)T ⎡ 0⎤ =⎢ ⎥ ⎣− 1.5⎦ Tomamos el mejor de las coordenadas en este caso x2 = −1.5 , x 3 = ( x12 , x22 ) + α (,−1.5) = (6.5,6 − 1.5α ) Calculamos α óptimo para esta usamos Volvemos a buscar la nueva operación dirección y lo hacemos g (α ) = f (6.5,6 − 1.5α ) , calculando g ' (α ) = 0 , calculando el gradiente ∇f ( x) = (2 x1 − x2 − 7, 2 x2 − x1 − 4)T ⎡− 3⎤ =⎢ ⎥ ⎣ 0⎦ df ( 6.5,6−1.5α ) dα 1 α=2 = − 92 α + 94 = 0 Esta es otra casualidad de que Tomamos el mejor de las α = 12 (no siempre es así) y nos da el coordenadas en este caso x1 = −3 , nuevo punto: 2 1 x = x + α (−3,0) x 2 = ( x11 , x12 ) + α (−3,0) = (8 − α 3,6) x 2 = (8 − α 3,6) Angel Sangiacomo C. x 3 = (6.5,6 − 1.5(0.5)) = (6.5,5.25) este mejora el valor de f ( x) , así: f ( x13 , x23 ) = f (6.5,5.25) = −30.8125 F. Ayres H. 84 Capítulo 2 Introducción a la Optimización No Lineal o sea se a conseguido bajar 0.5625 unidades, para seguir mejorando se repite el proceso hasta cumplir las condiciones de tolerancia o error ε > 0 dado por f ( x k ) − f ( x k +1 ) ≤ ε o x k − x k +1 ≤ ε también podría ser por ∑( n i =1 ) <ε ∂f ( x*) 2 ∂xi . Apéndice Algoritmo alternativo de Fibonacci Paso 1: Definir f(x) Paso 2: Entrar a, b, err Paso 3: n=mín{ k ≥ 1/err; k∈Z } Paso 4: Calcular Fibonacci(n); r=Fibonacci(n -2)/Fibonacci(n); Paso 5: x1=a+(b-a)r; f1=f(x1); Paso 6: x2=a- x1+b; // x2=b-(b-a)r; f2=f(x2); Paso 7: si f2<f1 hacer Paso 8: si x2< x1 hacer b= x1; Paso 9: en otro caso a = x1; Paso 10: x1= x2; f1=f2; Paso 11: en otro caso Paso 12: si x2< x1 hacer a= x2; Paso 13: en otro caso b=x2; Paso 14: i=i+1; Paso 15: si i<n ir Paso 9; Paso 16: Parar. Angel Sangiacomo C. F. Ayres H. 85 Capítulo 3 Introducción a la Optimización No Lineal CAPÍTULO 3 Objetivo: estudiar y aplicar los sistemas cuasi Newton en la solución de problemas de minimización. Métodos de dirección conjugada minimizar 12 x T Qx − bT x , donde Q es una matriz de n×n simétrica definida positiva. Las técnicas desarrolladas para este problema se extienden, por aproximación, a problemas más generales; se argumenta que, como cerca del punto solución todo problema es aproximadamente cuadrático, el comportamiento de la convergencia es similar al de la situación cuadrática pura. El área de los algoritmos de dirección conjugada ha supuesto una gran aportación al campo de la programación no lineal, lo cual ilustra que el análisis detallado del problema cuadrático puro puede demostrar importantes avances prácticos. De hecho, los métodos de dirección conjugada, sobre todo el método de los gradientes conjugados, han demostrado ser muy efectivos en el tratamiento de las funciones objetivo generales y están considerados entre los mejores métodos de propósito general existentes. Los métodos de dirección conjugada se pueden considerar como algo intermedio entre el método del descenso de mayor pendiente y el de Newton. Se debe acelerar la convergencia típicamente lenta inherente al descenso de mayor pendiente al tiempo que se evitan los requerimientos de información asociados con la evaluación, almacenamiento e inversión del hessiano (o al menos con la solución de un sistema de ecuaciones correspondiente), según requiera el método de Newton. Los métodos de dirección conjugada se crean y analizan sin Direcciones conjugadas excepción para el problema Definición 1 cuadrático puro Angel Sangiacomo C. F. Ayres H. 86 Capítulo 3 Introducción a la Optimización No Lineal Dada una matriz simétrica Q, se ortogonal Q si diT Qd j = 0 para dice que dos vectores d1 y d2 son toda i ≠ j . ortogonales Q, o conjugados respecto a Q , si d1T Qd 2 = 0 . Ejemplo 1: Como casos para darnos cuenta, sean: ⎡ 2 −1 ⎤ Q=⎢ 2⎥⎦ ⎣− 1 y a = (1, 2) , b = (b1 , 0) , entonces aQbT ⎡ 2 − 1 ⎤ ⎛ b1 ⎞ = (1, 2) ⎢ ⋅⎜ ⎟ 2⎥⎦ ⎜⎝ 0 ⎟⎠ ⎣− 1 =0 ⎡ 5 − 2⎤ Q=⎢ 1 ⎥⎦ ⎣− 2 y a = (3, 1) , b = (b1 , 13b1 ), 5 (I) entonces aQbT ⎡ 5 − 2⎤ ⎛ b1 ⎞ = (3, 1) ⎢ ⋅ ⎜ 13b ⎟ 2⎥⎦ ⎜⎝ 5 1 ⎟⎠ ⎣− 2 =0 ⎡ 3 0 − 1⎤ Q = ⎢⎢ 0 4 1 ⎥⎥ , y a = (1, 2,−1) , ⎢⎣− 1 1 3⎥⎦ b = (−1, 1, 32 ) , entonces ⎡ 3 T aQb = (1, 2,−1) ⎢⎢ 0 ⎢⎣− 1 0 −1⎤ ⎛ −1 ⎞ ⎜ ⎟ 4 1 ⎥⎥ ⋅ ⎜ 1 ⎟ = 0 ⎜ ⎟ 1 3⎥⎦ ⎜⎝ 32 ⎟⎠ En las aplicaciones que se tratan aquí, la matriz Q será definida positiva pero esto no es inherente a la definición básica. Así, Q = 0, dos vectores cualesquiera son conjugado, mientras que si Q = 1, la conjugación equivale a la notación usual de ortogonalidad. Se dice que un conjunto finito de vectores d0, d1, d2, ..., dk es Angel Sangiacomo C. (II) Figura 1. En la figura 1 se ha tomado los vectores de el ejemplo 1 para Q de arriba; la (I) y (II) hacen notar que los vectores a y b son linealmente independiente, pues no son paralelos. Lo cual veremos formalizado en la siguiente proposición. Proposición 1 Si Q es definida positiva y el conjunto de vectores distintos de cero d0, d1, d2, ..., dk son ortogonales Q, entonces estos F. Ayres H. 87 Capítulo 3 Introducción a la Optimización No Lineal vectores son independientes. linealmente matriz Q de n×n definida positiva. Por la proposición anterior, son linealmente Prueba: independientes, lo que implica Supóngase que hay constantes αi, que la solución x* de (1) o (2) se i=0, 1, 2, ...,k, tales que puede expandir en función de α 0 d 0 + ... + α k d k = 0 ellos a la forma Multiplicando por Q y tomando x* = α 0 d 0 + ... + α n −1d n −1 (3) el producto escalar con di se para algún conjunto de las α De i genera hecho, multiplicando por Q y α i d iT Qd i = 0 tomando luego el producto resulta con d i, y, como d iT Qd i > 0 por la escalar definición positiva de Q, resulta directamente que αi =0. ♦ Antes de analizar el algoritmo de dirección conjugada general, se investigará por qué el concepto de ortogonalidad Q es útil para la solución del problema cuadrático minimizar 12 x T Qx − b T x , (1) cuando Q es definida positiva. Recuérdese que la única solución a este problema es también la única solución a la ecuación lineal Qx = b , (2) por tanto, el problema de minimización cuadrático equivaldrá a un problema de ecuación lineal. Sean d0, d1, d2, ..., dn-1, n vectores ortogonales Q distintos de cero correspondientes a la Angel Sangiacomo C. αi = d iT Qx * d iT Qd i = d iT b d iT Qd i . (4) Esto muestra que las α i y, en consecuencia, la solución x* se pueden hallar por la evaluación de productos escalares simples. El resultado final es n −1 x* = ∑ d iT b T i =0 d i Qd i di . (5) En (5) hay dos ideas básicas incorporadas. La primera es la idea de seleccionar un conjunto ortogonal de di de forma que tomando un producto escalar apropiado, se anulan todos los términos del lado derecho de (3), excepto el i-ésimo. Lógicamente, esto podría lograrse haciendo las di ortogonales en el sentido normal, en lugar de hacerlas F. Ayres H. 88 Capítulo 3 Introducción a la Optimización No Lineal ortogonales Q. Sin embargo, la segunda observación básica es que utilizando la ortogonalidad Q, la ecuación resultante para αi se puede expresar en función del vector conocido b, en lugar del vector desconocido x*; por tanto, los coeficientes se pueden evaluar sin conocer x*. La expansión para x* se pueden considerar como el resultado de un proceso iterativo de n pasos, en el que se añade αidi en el iésimo paso. Visto el procedimiento de esta forma y admitiendo un punto inicial arbitrario para la iteración, se obtiene el método de la dirección conjugada básico. converge a la solución única, x*, de Qx=b después de n pasos, es decir, xn= x*. Prueba: Como las d k son linealmente independientes, de xk +1 − xk = α k d k se puede escribir x * − x0 = α 0 d 0 + α1d1 + ... + α n −1d n −1 para algún conjunto de αk. Al igual que se hizo para obtener (4), se multiplica por Q y se toma el producto escalar con dk para hallar αk = d kT Q( x * − x0 ) d kT Qd k . (8) Ahora, haciendo el proceso iterativo (6) desde x0 hasta xk, resulta xk − x0 = α 0 d 0 + α1d1 + ... + α k −1d k −1 , (9) Teorema de la dirección y por tanto, por la ortogonalidad conjugada Q de las dk, resulta que n −1 Sean { d i } i = 0 un conjunto de d kT Q ( xk − x0 ) = 0 . (10) vectores ortogonales Q distintos Sustituyendo (10) en (8), y de cero. Para cualquier x0∈En, la tomando en cuenta que sucesión {xk} generada según Qx * −Qxk = b − Qxk = − g k , se x k +1 = x k + α k d k , k ≥ 0 (6) produce con d T Q([ x * − x ] + [ x − x ]) αk = − y g kT d k d kT Qd k g k = Qx k − b , Angel Sangiacomo C. αk = (7) k k k d kT Qd k 0 ; aquí d kT Q( xk − x0 ) = 0 , αk = d kT Q( x * − xk ) d kT Qd k =− g kT d k d kT Qd k , F. Ayres H. 89 Capítulo 3 que es idéntica a (7). Introducción a la Optimización No Lineal ♣ Hasta aquí, el método de la dirección conjugada se ha deducido esencialmente por la observación de que resolver (1) equivale a resolver (2). El método de la dirección conjugada se ha considerado sólo como una expansión ortogonal algo especial, aunque directa, para la solución de (2). Este punto de vista, aunque es importante debido a su sencillez inherente, ignora algunos de los aspectos más importantes del algoritmo; en especial, aquellos aspectos que son importantes cuando se extiende el método a problemas no cuadráticos. Estas propiedades adicionales se estudian en la sección siguiente. Además, todavía no se ha presentado métodos para seleccionar o generar sucesiones de direcciones conjugadas. En los ejercicios se tratan algunos métodos para hacer esto, pero el más importante, el de los gradientes conjugados, se trata posteriormente. Se define Bk como el subespacio de En generado por {d0, d1, ..., dk-1}. A continuación se muestra que a medida que el método de las direcciones conjugadas avanza, cada xk minimiza el objetivo en la variedad lineal kdimensional x0 + Bk . Teorema del expansión subespacio en Sea { d i } i = 0 una sucesión de vectores ortogonales Q distintos de cero en En. Entonces, para cualquier x0∈En, la sucesión {xk} generada según n −1 x k +1 = x k + α k d k αk = − g kT d k d kT Qd k (11) (12) tiene la propiedad de que x k minimiza f ( x ) = 12 x T Qx − b T x en x = xk −1 + αd k −1 , la recta − ∞ < α < ∞ , además de la variedad lineal x0 + Bk . Prueba: Tan sólo hay que mostrar que xk minimiza f en la variedad lineal x0 + Bk , pues contiene a la recta Propiedades de descenso del x = xk −1 + αd k −1 . Como f es una método de la dirección función estrictamente convexa, la conjugada Angel Sangiacomo C. F. Ayres H. 90 Capítulo 3 Introducción a la Optimización No Lineal conclusión será valida si puede mostrarse que gk es ortogonal a Bk (esto es el gradiente de f en xk es ortogonal al subespacio Bk ). La situación se ilustra en la figura 2. Se prueba g k ⊥Bk por inducción. Como B0 es vacío, la hipótesis es verdadera para k=0. Suponiendo que es verdadero Figura 2. para k, es decir, suponiendo que Método de la dirección conjugada g k ⊥Bk se demuestra que Corolario g k +1⊥Bk +1 . Se tiene En el método de las direcciones conjugadas, los gradientes gk, g k +1 = g k + α k Qd k , (13) k=0, 1, ..., n satisfacen de donde g kT d i = 0 para i < k . ♠ d kT g k +1 = d kT g k + α k d kT Qd k = 0 (14) por la definición de αk, pues El teorema anterior se conoce dT g α k − Tk k = 0 . Además, para i<k como el teorema del subespacio d k Qd k en expansión, pues las Bk forman una sucesión de d iT g k +1 = d iT g k + α k d iT Qd k . (15) subespacios con Bk +1 ⊃ Bk . El primer término del lado derecho de (15) se anula debido a Como xk minimiza f en x0 + Bk , la hipótesis de inducción, es evidente que xn debe ser el mientras que el segundo se mínimo de toda f. elimina por la ortogonalidad Q de Para obtener una interpretación de este resultado, se introduce de los di. Así, g k +1⊥Bk +1 . ♥ nuevo la función E (x) = Angel Sangiacomo C. 1 2 ( x − x *)T Q(x − x *) (16) F. Ayres H. 91 Capítulo 3 Introducción a la Optimización No Lineal como medida de la proximidad del vector x a la solución x*. Como E ( x ) = f ( x ) + 12 x *T Qx * , la función E se puede considerar como el objetivo que se quiere minimizar. Teniendo en cuenta la minimización de E, se puede considerar como el problema original es minimizar una distancia generalizada desde el punto x*. De hecho, si Q=I, la noción generalizada de distancia correspondería (en un factor de dos) a la distancia euclidiana usual. Para una Q definida positiva arbitraria, se afirma que E es una métrica euclidiana generalizada o una función de la distancia. Los vectores di, i=0, 1, 2, ..., n-1, que son ortogonales Figura 3. Interpretación del teorema del subespacio en expansión Angel Sangiacomo C. Q, se pueden considerar ortogonales en este espacio euclidiano generalizado, lo que da lugar a la sencilla interpretación del teorema del subespacio en expansión representado en la figura 3 Por sencillez, se supone que x0=0. En la figura, dk se muestra ortogonal a Bk en relación con la métrica generalizada. El punto xk minimiza E sobre Bk mientras que xk+1 minimiza E sobre Bk +1 . La propiedad básica es que, como dk es ortogonal a Bk , el punto xk+1 se puede hallar minimizando E a lo largo de dk y sumando el resultado a xk. Método del gradiente conjugado El método del gradiente conjugado es el método de la dirección conjugada, que se obtiene eligiendo los vectores de dirección sucesiva como una versión conjugada de los gradientes sucesivos obtenidos a medida que avanza el método. Así, las direcciones no se especifican de antemano, sino se determinan secuencialmente en cada paso de la iteración. En el F. Ayres H. 92 Capítulo 3 paso k, se evalúa el vector del gradiente negativo actual y se le suma una combinación lineal de los vectores dirección anteriores para obtener un vector de dirección con jugada nuevo en el cual moverse. Este método de elección dirección tiene tres ventajas básicas. Primero, a no ser que se alcance la solución en menos de n pasos, el gradiente es siempre distinto de cero y linealmente independiente de todos los vectores dirección anteriores. En realidad, el gradiente gk es ortogonal al subespacio Bk generado por d0, d1, d2, ..., dk-1. Si la solución se alcanza antes de n pasos, el gradiente se anula y el proceso termina, en cuyo caso no es necesario hallar direcciones adicionales. Segundo, una ventaja más importante del método del gradiente conjugado es la fórmula especialmente sencilla que se utiliza para determinar el nuevo vector dirección. Esta sencillez hace que el método sea tan sólo ligeramente más complicado que el descenso de mayor pendiente. Tercero, como las direcciones están basadas en los gradientes, Angel Sangiacomo C. Introducción a la Optimización No Lineal el proceso tiene en cada paso un buen avance uniforme hacia la solución. Esto contrasta con la situación para sucesiones arbitrarias de direcciones conjugadas, en la cual el avance puede ser insignificante hasta los últimos pasos. Aunque el avance uniforme no tiene mayor importancia para las generalizaciones a problemas no cuadráticos. Algoritmo conjugado del gradiente Comenzando en cualquier x0∈En, se define d 0 = − g 0 = b − Qx0 y x k +1 = x k + α k d k (17) αk = − g kT d k (18) d kT Qd k d k +1 = − g k +1 + β k d k βk = g kT+1Qd k , d kT Qd k donde g k = Qx k − b . (19) (20) En el algoritmo, el primer paso es idéntico a un paso del descenso de mayor pendiente; cada paso sucesivo se mueve en una dirección, que es una combinación lineal del gradiente actual y el vector dirección F. Ayres H. 93 Capítulo 3 Introducción a la Optimización No Lineal anterior. El atractivo del algoritmo está en las sencillas fórmulas, (19) y (20), de actualización del vector dirección. El método es sólo ligeramente más complicado de aplicar que el método del descenso de mayor pendiente, pero converge en un número finito de pasos. Nota: Presentamos la forma alternativa del algoritmo anterior: { PROGRAMA De método de Direcciones Conjugadas } { Caso únicamente cuadrático, programa didáctico } unit Dir_Conju02; interface Paso 1: Definir f (x) {función cuadrática} Paso 2: Entrar x0 ∈ E {Cualquiera} Paso 3: Calcular Q, Paso 4: Hacer d 0 = − g 0 = b − Qx0 , n uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls ; type _r=extended; _i=integer; _s=string; _v1=array[0..28] of _r; T g d _m=array[0..28] of _v1; Paso 5: Hacer α k = − Tk k , TForm_Direcion_Conjugada1 = class(TForm) d k Qd k Memo1: TMemo; Memo2: TMemo; Button1: TButton; Paso 6: Hacer x k +1 = x k + α k d k , Button2: TButton; Memo3: TMemo; Edit1: TEdit; Edit2: TEdit; Button3: TButton; Label1: TLabel; Paso 7: Hacer g k +1 = Qxk +1 − b , Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure Button2Click(Sender: TObject); g T Qd Paso 8: Hacer β k = kT+1 k , procedure FormCreate(Sender: TObject); d k Qd k procedure Button1Click(Sender: TObject); Procedure Valor_Matriz(Sender: TObject); Paso 9: Hacer d k +1 = − g k +1 + β k d k , procedure Button3Click(Sender: TObject); Paso 10: Ir al paso (5), {Hasta cumplir la tolerancia de n} end; Paso 11: Publicar la Solución. Programa en Pascal Delphi: var Form_Direcion_Conjugada1: TForm_Direcion_Conjugada1; implementation {$R *.DFM} var Matriz_s:_s; QxQ : _m ; Tope :_i; kk : _i; ////////////////////////////////////////////////// function f(s:_s; x :_r) : _r; begin f := StrToFloat(s) end; procedure Minus(s:_s;var s1:_s);var i:_i; begin s1:=s; i:=0; repeat i:=i+1; if s1[i]=' 'then begin delete(s1,i,1);i:=i-1; end; until i>=length(s1); Angel Sangiacomo C. F. Ayres H. 94 Capítulo 3 Introducción a la Optimización No Lineal end; Procedure Mat_vec(M:_m;V:_v1;var v1:_v1); var i,j:_i; Procedure TForm_Direcion_Conjugada1.Valor_Matriz(Sender: begin TObject); for i:=1 to Tope do var i,j,k, Li ,ii :_i; s : _s; begin v[28]:=0; for j:=1 to Tope do begin v[28]:=v[28]+M[i,j]*v[j]; minus(Matriz_s,Matriz_s); v1[i]:=v[28]; if Matriz_s[1]<>'[' then Matriz_s:='['+Matriz_s; end; if Matriz_s[length(Matriz_s)]<>']' then end; Matriz_s:=Matriz_s+']'; Procedure Vec_Mat(M:_m;V:_v1;var v1:_v1);var i,j:_i; k := length(Matriz_s); ii :=0; j:=0; Li := 1; begin for i := 1 to k do for i:=1 to Tope do if Matriz_s[i] in [ #13,#10 ] then Matriz_s[i] := ' '; begin v[28]:=0; minus(Matriz_s,Matriz_s); k := length(Matriz_s); for j:=1 to Tope do for i := 1 to k do v[28]:=v[28]+M[j,i]*v[j]; begin v1[i]:=v[28]; if Matriz_s[i]='[' then begin ii:=ii+1; j:=0; end; Li := Li +1 end; end; if Matriz_s[i] in [',',';',']'] then Procedure Vec_vec(v1:_v1;V:_v1;var r:_r);var i:_i; begin j:=j + 1 ; s := copy(Matriz_s,li,i-li); begin r:=0; QxQ[ii,j]:= f(s,0);Li := i +1; for i:=1 to Tope do end; r:=r+v[i]*v1[i]; end; //Filas:=ii; Columnas := j; end; end; Procedure Mat_Mat(A:_m;B:_M;var C:_m);var i,j,k:_i; v:_r; ////////////////////////////////////////////////// begin procedure TForm_Direcion_Conjugada1.Button2Click(Sender: for i:=1 to Tope do TObject); for j:=1 to Tope do begin close end; begin v:=0; for k:=1 to Tope do v:=v+A[i,k]*B[k][j]; C[i][j]:=v; procedure TForm_Direcion_Conjugada1.FormCreate(Sender: end; TObject); end; begin memo3.Clear; memo2.Text:=' [ 5, 3 ]'; Procedure a_vec(a:_r;V:_v1;var v1:_v1);var i:_i; memo1.Text:= ' x^2 - x*y+ 2*y^2 - y ' begin end; for i:=1 to Tope do v1[i]:= v[i]*a; procedure TForm_Direcion_Conjugada1.Button1Click(Sender: end; TObject); var s : _s; procedure Solucion_direcciones_conjugadas; var x,y : _r; i:_i; fxi : array[0..5] of _s; i, k : _i; begin k:=0; v0, vk, vx, gk, gk1, b, d0 : _v1; error, Alfa, Beta : _r; Mat_vec(QxQ, V0, gk); s:=''; for i:=1 to tope do function f(s:_s;v:_v1):_r; begin begin //' x^2 - x*y+ 2*y^2 - y ' gk[i]:=b[i]+gk[i]; f:=v[1]*v[1]-v[1]*v[2]+2*v[2]*v[2]-v[2]; s:=s+' g = '+FloatToStr(gk[i]); end; d0[i]:=-gk[i]; Procedure Gradiente(v:_v1;var g:_v1); end; begin //' x^2 - x*y+ 2*y^2 - y ' memo3.Lines.Add(' '+s); g[1] := 2*v[1]-v[2]; repeat k:=k+1; g[2] := -v[1]+4*v[2]-1; Vec_Vec(d0,gk,x); g[3] := 0; Mat_vec(QxQ, d0, vk); end; Vec_Vec(d0,vk,y); procedure b_b(v:_v1;var b:_v1); Alfa:=-x/y;s:=''; s:=IntTostr(k)+' '; begin fillchar(v,sizeof(v),0); b:=v; Gradiente(v, b ); for i:=1 to Tope do end; begin Procedure MatQ(var q: _m); vx[i]:=v0[i]+Alfa*d0[i]; begin fillchar(q,sizeof(q),0); s:=s+' x = '+FloatToStrF(vx[i],ffFixed ,15,7) q[1,1]:=2; Q[1,2]:=-1; end; Q[2,1]:=Q[1,2]; Mat_vec(QxQ, vx, vk); Q[2,2]:=4; for i:=1 to Tope do end; Angel Sangiacomo C. F. Ayres H. 95 Capítulo 3 begin gk1[i] := vk[i]+b[i]; s:=s+' g = '+FloatToStrF(gk[i],ffFixed, 15,7) end; s:=s+' f(x) = ' +FloatToStr(f(s,vx) ); memo3.Lines.Add(' '+s); Mat_vec(QxQ, d0, vk); Vec_Vec(gk1,vk,x); Beta:= x/y; y:=0; for i:=1 to Tope do begin d0[i] := -gk1[i]+Beta*d0[i]; y:=y+sqr(vx[i]-v0[i]) end; y:=sqrt(y); v0:=vx; gk:=gk1; if k>kk then Break; until y<error end; begin {Procedure Principal} Tope :=2; FillChar(v0,sizeof(v0),0);vx:=v0; vk:=v0; gk:=v0; gk1:= vx; b:=vx; d0:=vx; kk:=StrToInt(Edit1.Text); error:=StrToFloat(Edit2.Text); Matriz_s:=Memo1.Text; Minus(Matriz_s,fxi[0]); memo3.Lines.Add(' f( x ) = '+fxi[0]); memo3.Lines.Add(' M# de variables = '+IntToStr(Tope)); Matriz_s:=Memo2.Text; Valor_Matriz(Sender); v0:=QxQ[1];s:=''; for i:=1 to Tope do s:=s+' '+FloatToStr(v0[i])+' ;'; if s[length(s)]=';' then delete(s,length(s),1); Memo3.Lines.Add(' v0 = ['+s+' ]'); MatQ( QxQ ); b_b( v0, b ); Solucion_direcciones_conjugadas; Memo3.Lines.Add(' Solución');s:=''; for i:=1 to Tope do s:=s+' x= '+FloatToStrF(v0[i],ffFixed, 15,7); for i:=1 to Tope do s:=s+' g= '+FloatToStrF(gk[i],ffFixed, 15,7); s:=s+' f(x) = '+FloatToStr(f(Fxi[0],v0)); Memo3.Lines.Add(s); end; procedure TForm_Direcion_Conjugada1.Button3Click(Sender: TObject); begin Memo3.Clear; end; end. Verificación del algoritmo Angel Sangiacomo C. Introducción a la Optimización No Lineal Para verificar si un algoritmo es de dirección conjugada, se necesita comprobar que los vectores {dk} son ortogonales Q. Es más fácil demostrar esto demostrando simultáneamente otras propiedades del algoritmo. Esto se hace en el teorema siguiente, donde la notación [d0, d1, d2, ..., dk] se utiliza para denotar el subespacio generado por los vectores d0, d1, d2, ..., dk. Teorema del gradiente conjugado El algoritmo del gradiente conjugado, (17) a (20), es un método de dirección conjugada. Si no termina en xk, entonces a) [ g 0 , g1 ,..., g k ] = [ g 0 , Qg 0 ,..., Q k g 0 ] k b) [ d 0 , d1 ,..., d k ] = [ g 0 , Qg 0 ,..., Q g 0 ] c) d k Qd i = 0 para i ≤ k − 1 T T T d) α k = g k g k / d k Qd k T T e) β k = g k +1 g k +1 / g k g k . Prueba: Primero, se prueban simultáneamente a), b) y c) por inducción. Es evidente que son verdaderas para k=0. Suponiendo ahora que son verdaderas para k, se demostrará que son verdaderas para k+1. Se tiene F. Ayres H. 96 Capítulo 3 g k +1 = g k + α k Qd k . Por la hipótesis de inducción, g k y Qd k pertenecen a [g0, Qg0, Q2g0, ..., Qk+1g0], el primero por a) y el segundo por b). Así, g k +1 ∈ [ g 0 , Qg 0 ,..., Q k +1 g 0 ] . Además, g k +1 ∉ [ g 0 , Qg 0 ,..., Q k g 0 ] = [d 0 , d1 ,..., d k ] , pues en otro caso, gk+1=0 ya que para cualquier método de dirección conjugada gk+1 es ortogonal a [d 0 , d1 ,..., d k ] . (La hipótesis de la inducción en c) garantiza que el método es de dirección conjugada hasta xk+1). Así, se concluye que [ g 0 , g1 ,...g k +1 ] = [ g 0 , Qg0 ,..., Q k +1 g 0 ] , lo que demuestra a). Para demostrar b), se escribe d k +1 = − g k +1 + β k d k , Introducción a la Optimización No Lineal conjugada hasta xk+1, y por el teorema del subespacio en expansión, que garantiza que gk+1 es ortogonal a [d0, d1, d2, ..., dk+1]. El segundo término se anula por la hipótesis de inducción en c). Esto demuestra c) y también que el método es de dirección conjugada. Para demostrar d), se tiene − g kT d k = g kT g k − β k −1 g kT d k −1 , y el segundo término es cero por el teorema de subespacio en expansión. Por último, para demostrar e), se T observa que g k +1 g k = 0 , pues g k ∈ [d 0 ,..., d k ] y gk+1 es ortogonal a [d 0 ,..., d k ] . Así, como Qd k = 1 αk (g k +1 − g k ) , y b) se obtiene de inmediato de a) resulta y de las hipótesis de inducción en 1 T T g Qd = g k +1 g k +1 . ♦ k + 1 k b). αk A continuación, para probar c) se tiene Los aparatos a) y b) de este T T T d k +1Qd i = − g k +1Qd i + β k d k Qd i . teorema son una formulación Para i=k, el lado derecho es cero formal de la relación entre los por la definición de βk. Para i<k, vectores dirección y los vectores ambos términos se anulan. El gradiente. El aparato c) es la primer término se anula porque ecuación que verifica que el es de dirección Qd i ∈ [d1 , d 2 ,...d i +1 ] , la hipótesis de método inducción que garantiza que el conjugada. Los aparatos d) y e) método es de dirección son identidades, que establecen fórmulas opcionales para αk y βk Angel Sangiacomo C. F. Ayres H. 97 Capítulo 3 Introducción a la Optimización No Lineal que con frecuencia son más cada polinomio Pk determina una apropiadas que las originales. sucesión de xk. Se tiene xk +1 − x* = x0 − x * + pk (Q )Q( x0 − x *) = [I + Qpk (Q )]( x0 − x *) , El método G-C como un proceso de donde optimal E ( x k +1 ) = (22) ( xk +1 − x *)T Q( xk +1 − x *) A continuación se describe un T 2 1 punto de vista especial que da = 2 (x0 − x *) Q[I + QPk (Q )] (x0 − x *) . rápidamente unos resultados de convergencia muy consistentes para el método de los gradientes conjugados. El fundamento del punto de vista es el aparato b) del teorema del gradiente conjugado. Este resultado establece que los espacios βk sobre los que se minimiza sucesivamente están determinados por el gradiente y por sus original g0 multiplicaciones por Q. Cada paso del método incluye una potencia adicional de Q multiplicando por g0. Esta es la observación que se tendrá en cuenta. A continuación se presenta un nuevo enfoque general para resolver el problema de minimización cuadrático. Dado un punto inicial arbitrario x0, sea 1 2 (23) Ahora se puede plantear el problema de elección del polinomio Pk para minimizar E(xk+1) con respecto a todos los polinomios posibles de grado k. Sin embargo, expandiendo (21), se obtiene xk +1 = x0 + γ 0 g 0 + γ 1Qg 0 + ... ... + γ k Q k g 0 , (24) donde las γ i son coeficientes de Pk, considerando Bk +1 = [d 0 , d1 ,..., d k ] = [g 0 , Qg 0 ,..., Q k g 0 ], el vector xk +1 = x0 + α 0 d 0 + α1d1 + L L + αk dk , generando por el método de los gradientes conjugados, tiene precisamente esta forma; es más, según el teorema del subespacio en expansión, los coeficientes γ 0 determinados por el proceso del xk +1 = x0 + Pk (Q )g 0 , (21) gradiente conjugado con tales donde Pk es un polinomio de que minimizan E(xk+1). Así, pues, grado k. La elección de un el problema de elegir la Pk conjunto de coeficientes para optimal se resuelve por el Angel Sangiacomo C. F. Ayres H. 98 Capítulo 3 procedimiento del gradiente conjugado. Lógicamente, la relación explícita entre los coeficientes optimales γ i de Pk y las constantes αi, βi asociadas con el método del gradiente conjugado es algo complicada, como lo es la relación entre loa coeficientes de xk y la de Pk+1. La consistencia del método del gradiente conjugado está en que, a medida que avanza, resuelve sucesivamente los pro-blemas polinomiales optimales al tiempo que sólo actualiza una pequeña cantidad de información. El desarrollo anterior se resume en el práctico teorema siguiente. Introducción a la Optimización No Lineal x1 = x0 + α 0 d 0 x2 = x1 + α1g1 = x0 + α 0 g 0 + α1 g1 = x0 + α 0 g 0 + α1Qg 0 (1) Por el subespacio en expansión sabemos que: [d 0 , d1 ,L, d k ] = [ g 0 , Qg 0 ,L, Q k g 0 ] (2) xk +1 = x0 + γ 0 g 0 + L + γ k Q k g 0 (3) xk +1 = x0 + Pk (Q ) g 0 , donde Pk es un polinomio de grado k, el problema es elegir de conjunto de coeficientes así dado x0 inicial arbitrario se tiene: xk +1 − x* = x0 − x * + Pk (Q)Q( x0 − x*) xk +1 − x* = [ I + QPk (Q)]( x0 − x*) ahora para minimizar tomando el error E ( x) = 12 ( x − x*)T Q( x − x*) . Entonces E ( xk +1 ) = 12 ( xk +1 − x*)T Q ( xk +1 − x*) , reemplazando tenemos pues: Teorema 1 T 1 El punto xk+1 generado por el E ( xk +1 ) = 2 ( x0 − x*) Q[ I método del gradiente conjugado, + QPk (Q)]2 ( x0 − x*) satisface ahora para la elección de Pk que T 1 E ( xk +1 ) = mín 2 ( x0 − x *) Q minimice E(xk+1) se tiene (2 y 3) Pk que se minimiza con los αidi ⋅ [I + QPk (Q )]2 ( x0 − x *) . (25) respectivamente, o sea: donde el mínimo se toma E ( x ) = Mín 1 ( x − x*)T 0 k +1 Pk 2 respecto a todos los polinomios Pk de grado k. ⋅ Q[ I + QPk (Q )]2 ( x0 − x*) ♦ Prueba: Dado el proceso x1 = x0 + αg 0 ; Cotas en la Convergencia d0 = g0 ; Angel Sangiacomo C. F. Ayres H. 99 Capítulo 3 Introducción a la Optimización No Lineal Para una mejor utilización, es conveniente expresar el teorema 1 en función de los vectores y valores propios de la matriz Q. Supóngase que el vector x0–x* se escribe en la expansión de vectores propios x0 − x* = ξ1e1 + ξ 2 e2 + ... + ξ n en , donde la ei son vectores propios normalizados de Q. Entonces, como Q ( x0 − x *) = λ1ξ1e1 + λ2ξ 2 e2 + ... + λnξ n en y como los vectores propios son mutuamente ortogonales, se tiene E ( x0 ) = 1 2 (x0 − x *)T Q(x0 − x *) 1 2 = n ∑ λ iξi2 , (26) i −1 donde las λi son los valores propios correspondientes de Q. Aplicando las mismas manipulaciones a (25), se tiene que para cualquier polinomio Pk de grado k, se cumple E (xk +1 ) ≤ 1 2 n ∑ [1 + λi Pk (λi )]2 λiξi2 . i =1 Entonces, resulta que E ( xk +1 ) ≤ [ i n ( )] ∑ máx 1 + λi Pk λi 2 12 λ de donde, por último, i =1 λiξ i2 E ( xk +1 ) ≤ máx[1 + λi pk (λi )]2 E ( x0 ) . , Este resultado se resume en el siguiente teorema. Teorema 2 En el método de los gradientes conjugados, se tiene E (xk +1 ) ≤ máx[1 + λi Pk (λi )] 2 E (x0 ) λi (27) para cualquier polinomio Pk de grado k, donde el máximo se toma sobre todos los valores propios λi de Q. Prueba: De la teoría de valor propio de Q, como es definido positivo se tiene que un vector x0–x* se puede representar como x0 − x* = ξ1e1 + ξ 2e2 + L + ξ n en , donde ei son vectores propios normalizados de Q. Ahora aplicando Q a la izquierda tenemos: Q ( x0 − x*) = λ1ξ1e1 + λ 2ξ 2 e2 + L + λnξ n en , y los vectores propios son mutuamente ortogonales se tiene: E ( x0 ) = 1 2 (x0 − x *)T Q (x0 − x *) = 1 2 n ∑ λiξi2 i −1 λi Angel Sangiacomo C. F. Ayres H. 100 Capítulo 3 Introducción a la Optimización No Lineal Aplicando E(xk+1) tenemos para conjugada E(xk+1) es menor que cualquier polinomio Pk de grado cualquier otra xk+1 de la forma k, (24), se llega a la conclusión n deseada. E ( xk +1 ) ≤ 12 ∑ [1 + λi Pk (λi )]2 λiξ i2 Como norma, cuando se tiene i =1 alguna información sobre la y con mayor razón se tiene n estructura del valor propio de Q, 2 1 E (xk +1 ) ≤ máx[1 + λi Pk (λi )] 2 ∑ λiξ i2 esta se puede aprovechar λi i =1 construyendo un polinomio ♦ adecuado Pk para utilizar en (27). Esta forma de considerar el Por ejemplo, supóngase que se método del gradiente conjugado supiera que Q tiene sólo m<n como un proceso optimal se valores propios distintos. utiliza después. Aquí se observa Entonces es evidente que que ello implica el hecho no muy mediante una elección adecuada claro de que los pasos del método de Pm-1 se podría hacer que el del gradiente conjugado son por polinomio de grado m-ésimo lo menos tan buenos como lo 1 + λPm −1 (λ ) tuviera sus m ceros serían los del descenso de mayor en los m valores propios. pendiente desde el mismo punto. Utilizando este polinomio Para ver esto, supóngase que xk especial en (27), se demuestra se ha calculado por el método del que E(xm)=0. Así, la solución gradiente conjugado. Por (24), se optimal se obtendrá como sabe que xk tiene la forma máximo en m, en lugar de n xk = x0 + γ 0 g 0 + γ 1Qg 0 + ... pasos. ... + γ k −1Q k −1 g 0 . Ahora si xk+1 se calcula desde xk mediante el descenso de mayor pendiente, entonces x k +1 = x k − α k g k para algún αk. A la vista del aparato a) del teorema del gradiente conjugado, xk+1 tendrá la forma (24). Como para el método de la dirección Angel Sangiacomo C. Extensión a cuadráticos problemas no El problema general de minimización sin restricciones en En minimizar f(x) F. Ayres H. 101 Capítulo 3 Introducción a la Optimización No Lineal se puede tratar por aproximaciones adecuadas de algoritmo del gradiente conjugado, lo que se puede hacer de varias formas, dependiendo, en parte, la elección de las propiedades de f que se calculan fácilmente. En esta sección, se analizan tres métodos, y en la siguiente, otro. Aproximación cuadrática En el método de aproximación cuadrática, se hacen las siguientes asociaciones a xk: g k ↔ ∇f ( x k )T , Q ↔ F (xk ) , gradiente conjugado no suelen terminar en n pasos. Por tanto, sólo se pueden seguir buscando nuevas direcciones de acuerdo con el algoritmo y acabar sólo cuando se alcanza un criterio de terminación. Además, el proceso de gradiente conjugado también se puede interrumpir después de n o n+1 pasos y ser iniciado de nuevo con un paso de gradiente puro. Como la conjugación Q de los vectores del algoritmo del gradiente conjugado puro depende de la dirección inicial, que es la del gradiente negativo, parece preferible el procedimiento de volver a comenzar, que es el que incluye siempre. Así pues, el algoritmo del gradiente conjugado general se define como sigue: y usando estas asociaciones, evaluadas de nuevo en cada paso, se pueden calcular todas las cantidades necesarias para implementar el algoritmo del gradiente conjugado básico. Si f es cuadrática, estas asociaciones son identidades, de modo que el Algoritmo del Caso No algoritmo general obtenido al cuadrático utilizarlas es una generalización del esquema del gradiente Paso 0: Definir f (x) y F (x) {Función y Hessiano } dado arbitrario} conjugado. Esto es análogo a la Paso 1: Entrar x0 , {Punto inicial, T filosofía base del método Paso 2: Hacer g 0 = ∇f (x0 ) y d 0 = − g 0 Newton, donde en cada paso la Paso 3: Hacer d 0 = − g 0 , xk = x0 , d k = d 0 , g k = g 0 solución del problema general se aproxima por la solución de un Paso 4: Para k = 0 hasta n − 1 hacer Paso 5: Fk = F ( xk ) problema cuadrático puro con gT d Paso 6: α k = − T k k estas mismas asociaciones. d k Fk d k Cuando se aplican a problemas Paso 7: xk +1 = xk + α k d k no cuadráticos, los métodos del Paso 8: g k +1 = ∇f ( xk +1 ) ; Angel Sangiacomo C. F. Ayres H. 102 Capítulo 3 Paso 9: si k = n − 1 entonces hacer gT F d β k = kT+1 k k , d k Fk d k d k +1 = − g k +1 + β k d k Paso 10: en otro caso xk = xk +1 , d k = − g k +1 , g k = g k +1 . Paso 11: xk = xk +1 , d k = d k +1 , g k = g k +1 . Paso 12: Mientras no se cumpla la tolerancia ir al paso (4) Paso 13: Parar. Introducción a la Optimización No Lineal algoritmo no es globalmente convergente. Métodos de búsqueda lineal Se puede evitar el uso directo de Q ↔ F ( xk ) . la asociación Primero, en lugar de utilizar la fórmula para αk en el paso (6) del algoritmo anterior, se halla αk Problemas con una búsqueda lineal que Usando el algoritmo anterior minimice el objetivo. Esto concuerda con la fórmula del resolver: caso cuadrático. Segundo, la 2 2 a) f ( x, y ) = 2 x − 3 xy + 3 y − x + 2 y , fórmula para βk en el paso (9) se 2 2 2 b) f ( x, y ) = 100( y − x ) + (1 − x ) , sustituye por una fórmula f ( x , y ) = sin ( x ) + cos( y ) c) . diferente, que es, no obstante, d) f ( x, y ) = ysin( x) + x cos( y ) equivale a la del paso (9) del caso e) Hacer un programa en cuadrático. computadora para el algoritmo El primero de los métodos anterior. propuestos fue el método de Una característica atractiva del Fletcher - Reeves, que en el algoritmo es que, al igual que en aparato (9) utilizó el teorema del la forma pura del método de gradiente conjugado, es decir, Newton, no se requiere búsqueda g kT+1 g k +1 βk = lineal en ninguna etapa. Además, . T g g k k el algoritmo converge en un número finito de pasos para un El algoritmo completo (utilizando problema cuadrático. Las nuevo inicio) es: características no deseadas son que F(xk) debe evaluarse en cada Algoritmo de Fletcher-Reeves punto, lo que suele ser no Paso 0: Definir f ( x) {Función } práctico, y que, de esta forma, el Paso 1: Entrar xo , {Punto inicial, dado arbitrario} Angel Sangiacomo C. F. Ayres H. 103 Capítulo 3 Introducción a la Optimización No Lineal Paso 2: Hacer g o = ∇f ( xo )T y d o = − g o Paso 3: Hacer d o = − g o , xk = x0 , d k = d0 , gk = g0 Paso 4: Para k = 0 hasta n − 1 hacer Paso 5: α k ∈{α mín f ( xk + αd k )} α <∞ Paso 6: xk +1 = xk + α k d k Paso 7: g k +1 = ∇f ( xk +1 ) ; Paso 8: si k = n − 1 entonces hacer gT g β k = k +T1 k +1 , gk gk d k +1 = − g k +1 + β k d k Paso 9: en otro caso xk = xk +1 , d k = − g k +1 , g k = g k +1 . Paso 10: xk = xk +1 , d k = d k +1 , g k = g k +1 . Paso 11: Mientras no se cumpla la tolerancia ir al paso (4) Paso 12: Parar. se usa para determinar βk. De nuevo, esto da como resultado un valor idéntico a la fórmula estándar del caso cuadrático. La evidencia experimental parece favorecer al método de PolakRibiere sobre otros métodos de este tipo general. Algoritmo de Polak - Ribiere Paso 0: Definir f ( x) Paso 1: Entrar xo , Paso 2: Hacer g o = ∇f ( xo )T y d o = − g o Paso 3: Hacer d o = − g o , xk = x0 , d k = d0 , g k = g0 Paso 4: Para k = 0 hasta n − 1 hacer Paso 5: α k ∈{α mín f ( xk + αd k )} Paso 6: xk +1 = xk + α k d k Usando el algoritmo anterior resolver: 2 Paso 7: g k +1 = ∇f ( xk +1 ) ; Paso 8: si k = n − 1 entonces hacer 2 a) f ( x, y ) = 2 x − 3xy + 3 y − x + 2 y , 2 2 2 b) f ( x, y ) = 100( y − x ) + (1 − x) , c) f ( x, y ) = sin ( x ) + cos( y ) . d) f ( x, y ) = ysin ( x ) + x cos( y ) Hacer un programa en computadora para el algoritmo anterior. Otro método importante de este tipo es el método de Polak Ribiere, donde βk = {Punto inicial, dado arbitrario} α <∞ Problemas e) {Función } ( g k +1 − g k )T g k +1 Angel Sangiacomo C. g kT g k βk = ( g k +1 − g k )T g k +1 , g kT g k d k +1 = − g k +1 + β k d k Paso 9: en otro caso xk = xk +1 , d k = − g k +1 , g k = g k +1 . Paso 10: xk = xk +1 , d k = d k +1 , g k = g k +1 . Paso 11: Mientras no se cumpla la tolerancia ir al paso (4) Paso 12: Parar. Problemas a) Construir el algoritmo para el método de Polak-Ribiere. F. Ayres H. 104 Capítulo 3 b) c) Hacer un programa en computadora para el algoritmo anterior. Resolver para las funciones de los problemas anteriores MÉTODOS CUASI NEWTON Aquí se presenta otro enfoque al desarrollo de métodos entre el descenso de mayor pendiente y el método de Newton. Trabajando de nuevo con la hipótesis de que la evaluación y utilización de la matriz hessiana no es práctica o es costosa, la idea de subyacente en los métodos cuasi Newton es utilizar una aproximación a la inversa del hessiano, en lugar de la inversa verdadera que requiere el método de Newton. La forma de la aproximación varía según los distintos métodos que van desde los más sencillos, donde permanece fija durante todo el proceso iterativo, hasta los más avanzados, donde se construyen aproximaciones mejoradas basadas en la información recopilada durante el proceso de descenso. Los métodos cuasi Newton que constituyen una aproximación a la inversa del hessiano son analíticamente los métodos más Angel Sangiacomo C. Introducción a la Optimización No Lineal sofisticados tratados en este libro para la resolución de problemas sin restricciones y presentan la culminación del desarrollo del algoritmo mediante el análisis detallado del problema cuadrático. Lógicamente, las propiedades de convergencia de estos métodos son algo más difíciles de descubrir que las de métodos más sencillos. Sin embargo, se pueden precisar sus características más importantes con las mismas técnicas básicas anteriores. Durante el análisis, se desarrollarán dos generalizaciones importantes del método del descenso de mayor pendiente y su teorema de la tasa de convergen-cia correspondiente. El primero se estudia en esta parte, y modifica el descenso de mayor pendiente tomando como vector dirección una transformación definida positiva del gradiente negativo. El segundo se analiza un poco después, y es una combinación del descenso de mayor pendiente y del método de Newton. Estos dos métodos fundamentales tienen propiedades de convergencia análogas a las del descenso de mayor pendiente. F. Ayres H. 105 Capítulo 3 Introducción a la Optimización No Lineal descenso de mayor pendiente, no sorprender que sus Método de Newton modificado debe propiedades de convergencia Un proceso iterativo básico para sean de carácter análogo a los resultados anteriores. Como es resolver el problema usual, se deduce la tasa real de minimizar f(x), que incluye como casos convergencia teniendo en cuenta especiales la mayoría de los el problema cuadrático estándar. anteriores es f ( x ) = 12 x T Qx − b T x , (2) x k +1 = x k − α k S k ∇f ( x k )T , (1) donde Sk es una matriz simétrica de n×n y donde, como es usual, αk se elige para minimizar f(xk+1). Si Sk es la inversa del hessiano de f, se obtiene el método de Newton, mientras que si Sk=I, se tiene el descenso de mayor pendiente. Parece buena idea, en general, elegir Sk como una aproximación a la inversa del hessiano, y ésa es la idea que se analiza en esta sección. Primero, se observa que, al igual que en la referente al método de Newton anteriormente visto, para garantizar que el proceso (1) sea un método descendente para valores pequeños de α, en general, es necesario que Sk sea definida positiva. Por tanto, siempre se impondrá esa condición. Debido a la analogía del algoritmo (1) (fórmula (1)) con el Angel Sangiacomo C. donde Q es simétrica y definida positiva. Para este caso, se puede hallar una expresión explícita para αk en (1). El algoritmo se convierte en x k +1 = x k − α k S k g k , (3 a) donde g k = Qxk − b (3 b) αk = g kT S k g k g kT S k QS k g k . (3 c) Entonces, se puede deducir la tasa de convergencia de este algoritmo ampliando algo el análisis realizado por el método del descenso de mayor pendiente. Teorema del método de Newton modificado (Caso cuadrático). Sea x* el único punto mínimo de f, y defina E ( x) = 12 ( x − x*)T Q( x − x*) . Entonces, para el algoritmo (3) (las fórmulas (3-a, b, c)) en todo paso k se cumple que F. Ayres H. 106 Capítulo 3 Introducción a la Optimización No Lineal 2 ⎛ B − bk ⎞ ⎟⎟ E ( xk ) , E ( xk +1 ) ≤ ⎜⎜ k B + b k ⎠ ⎝ k (4) El caso es el mismo para matrices Congruentes (Matrices de transición). donde bk y Bk son, respectiva- El anterior teorema apoya la mente, los valores propios menor noción intuitiva de que para el problema cuadrático se debería y mayor de la matriz SkQ. intentar que Sk estuviera cerca de Prueba: Q-1, pues así bk y Bk estarían Por sustitución directa, se tiene cerca de la unidad y la E ( xk ) − E ( xk +1 ) ( g kT S k g k ) 2 convergencia sería rápida. Para = T T − 1 E ( xk ) ( g k S k QS k g k )( g k Q g k ) una función objetivo no 1/ 2 1/ 2 Al hacer Tk = S k QS k y cuadrática f, el análogo a Q es el hessiano F(x), de ahí que se debe p k = S 1k / 2 g k , resulta intentar que Sk esté cerca de E ( xk ) − E ( xk +1 ) ( PkT Pk ) 2 . F(xk)-1. = T − 1 T E ( xk ) ( Pk Tk Pk )( Pk Tk Pk ) Dos observaciones pueden De la desigualdad de ayudar a dar una perspectiva Kantorovich, es fácil obtener adecuada al resultado anterior. La 2 ⎛ Bk − bk ⎞ primera observación es que el ⎟⎟ E ( x k ) , E ( x k +1 ) ≤ ⎜⎜ ⎝ Bk + bk ⎠ algoritmo (1) (fórmula (1)) y el donde bk y Bk son los valores teorema anterior son simples propios menor y mayor de Tk. extensiones menores y naturales S k1/ 2Tk S k−1/ 2 = S k Q , Como se de lo visto en la parte cuadrática 1, desigualdad de observa que SkQ es similar a Tk, (Lema por lo que tiene los mismos Kantorovich, etc.) sobre el descenso de mayor pendiente. valores propios. Como tal, el resultado de esta 1/ 2 Nota: el caso S k existe y siempre es sección se puede considerar no posible por ejemplo si Q = I ; en otro caso como una idea nueva, sino como también: una extensión del resultado ⎡ 10 − 5⎤ básico del descenso de mayor Sk = ⎢ , ⎥ 5⎦ ⎣− 5 pendiente. La segunda entonces observación es que, aplicado de ⎡ 3 −1 ⎤ manera adecuada, este sencillo S k1 / 2 = ⎢ , ⎥ 2⎦ resultado puede caracterizar ⎣− 1 rápidamente las propiedades de Angel Sangiacomo C. F. Ayres H. 107 Capítulo 3 Introducción a la Optimización No Lineal convergencia de algunos algoritmos bastante complejos. Así, en lugar de tratar el teorema anterior como un resultado aislado relativo a una forma determinada de algoritmo, debe considerarse como un instrumento general para el análisis de convergencia. El teorema proporciona una mejor comprensión de varios métodos cuasi Newton estudiados en este capítulo. La idea fundamental en que basan la mayoría de los métodos cuasi Newton es el intento de construir la inversa del hessiano, o una aproximación a ella, utilizando la información recopilada durante el desarrollo del proceso de descenso. Entones, se usa la aproximación Hk actual en cada etapa, para definir la siguiente dirección de descenso, haciendo Sk=Hk en el método de Newton modificado. Idealmente, las aproximaciones convergen a la inversa del Un método clásico hessiano a partir de la información del gradiente Esta sección se concluye obtenida en varios puntos. mencionando el método de Newton modificado clásico un Sea f una función en En con método estándar para aproximar segundas derivadas parciales el método de Newton sin evaluar continuas. Si para dos puntos F(xk)-1 para cada k. Se hace xk x k +1 , se definen −1 T xk +1 = xk − α k [F (x0 )] ∇f ( xk ) . (5) g k +1 = ∇f ( xk +1 )T , g k = ∇f ( xk )T y En este método, el hessiano en el P = x k +1 − x k , entonces punto inicial x0 se utiliza en todo k g k +1 − g k ≅ F ( x k )Pk . (6) el proceso la efectividad de este procedimiento se rigen en gran Si el hessiano F es constante, medida por la rigidez de resulta q k ≡ g k +1 − g k = Fp k , (7) transformación del hessiano, es decir, por la magnitud de las y se observa que la evaluación terceras derivadas de f. del gradiente en dos puntos proporciona información sobre F. Si se conoce n direcciones Construcción de la inversa linealmente independientes p0, p1, Angel Sangiacomo C. F. Ayres H. 108 Capítulo 3 Introducción a la Optimización No Lineal p2, ..., pn-1 y las correspondientes q k , entonces F está determinado de manera única. De hecho, haciendo que P y Q sean las matrices de n×n con columnas Pk y qk, respectivamente, resulta F = QP −1 . (8) Es natural tratar de construir aproximaciones sucesivas Hk a F-1 basadas en los datos obtenidos de los primeros k pasos de un proceso de descenso, de manera que si F fuera constante, la aproximación sería compatible con (7) para esos pasos. En general, si F fuera constante, Hk+1 cumpliría H k +1qi = pi , 0 ≤ i ≤ k . (9) Después de n pasos linealmente independientes se tendría Hn=F-1. Para cualquier k<n, el problema de construir una Hk adecuada, que en general sirve como aproximación al inverso del hessiano y en el caso de F constante satisface (9), admite infinidad de soluciones, pues hay más grados de libertad que restricciones. Así, un método determinado puede tener en cuenta consideraciones adicionales. A continuación se analiza uno de los esquemas más sencillos propuestos. Angel Sangiacomo C. Corrección de rango uno Como F y F -1 son simétricas, es normal elegir que Hk, la sea aproximación a F -1, simétrica. Se investigará la posibilidad de definir una recursión de la forma H k +1 = H k + α k z k z kT , (10) que conserve la simetría. El vector zk y la constante αk definen una matriz de rango (máximo) uno, con la cual se actualiza la aproximación a la inversa. Se seleccionan de modo que satisfaga (9). Al igualar i a k en (9) y sustituir (10), resulta p k = H k +1q k = H k q k + a k z k z kT q k (11) pk − H k qk = ak z k z kT qk Tomando el producto interno con q k resulta qkT H k +1qk = qkT H k qk + ak qkT z k z kT qk qkT H k +1qk = qkT H k qk + ak (qkT z k )( z kT qk ) o qkT pk − qkT H k qk = ak ( z kT qk ) 2 . (12) Por otro lado con el uso de (11) llegamos a ( H k +1 − H k ) qk = ak z k z kT qk ( H k +1 − H k )ak qk z k z kT qk = ak ( z k z kT qk )ak ( z k z kT qk ) ( H k +1 − H k ) ak ( z kT qk ) 2 = ak ( z k z kT qk ) ak ( z k z kT qk ) F. Ayres H. 109 Capítulo 3 Introducción a la Optimización No Lineal La demostración se hace por ( p − H k qk )( pk − H k qk ) inducción. Supongamos que es H k +1 = H k + k T 2 ak ( z k qk ) verdadero para Hk e i≤k–1. Se Lo cual, según (12), nos lleva mostró antes que la relación es finalmente a verdadera para Hk e i=k. Para T ( p − H k qk )( pk − H k qk ) i<k . =H + k H ( H k +1 − H k )ak qk zk zkT qk = ( pk − H k qk )( pk − H k qk )T T k +1 k qkT ( pk − H k qk ) (13) ( ) H k +1qi = H k qi + y k p kT qi − q kT H k qi , (16) donde Se ha determinado cual debe ser ( p − H k qk ) yk = T k la corrección de rango uno para . qk ( pk − H k qk ) que se satisfaga (9) para i=k. Falta mostrar que, para el caso en Por la hipótesis de inducción, que F es constante, también se (16) se convierte en H k +1qi = pi + y k ( p kT qi − q kT pi ). satisface (9) para i < k . Esto, a su vez, implicará que la recursión Del cálculo de rango uno converge a F -1 qkT = piT F ; F = F T , después de n pasos, como q kT pi = p kT Fp i = p kT qi , máximo. resulta que el segundo término se anula. ♣ Teorema Sea F una matriz simétrica fija y Para incorporar la aproximación supóngase que p0, p1, p2, ..., pk de la inversa del hessiano en un son vectores dados. definamos procedimiento de descenso y al los vectores qi = Fpi , i=0, 1, 2, tiempo que se mejora, se calcula ..., k. Comenzando con cualquier la dirección dk de d k = −H k g k matriz simétrica inicial H 0 , sea y entonces se minimiza ( pi − H i qi )( pi − H i qi )T H i +1 = H i + . (14) f ( x + α .d ) respecto a α≥0. Esto k k qiT ( pi − H i qi ) xk +1 = xk + α k d k , determina Entonces, pk = α k d k y gk+1. Entonces, se pi = H k +1qi para i ≤ k . (15) puede calcular Hk+1 de acuerdo Prueba: con (13). Angel Sangiacomo C. F. Ayres H. 110 Capítulo 3 Este procedimiento simple de rango uno tiene ciertas dificultades. Primero, la fórmula de actualización (13) conserva la definición positiva solamente si q kT ( p k − H k q k ) > 0 , lo cual no puede garantizarse (Pruébese). Además, aunque q kT ( p k − H k q k ) sea positiva, puede ser pequeña, lo que puede implicar dificultades numéricas. Así, aun siendo un excelente ejemplo sencillo de como la información recopilada durante el proceso de descenso se puede, en principio, utilizar para actualizar una aproximación a la inversa del hessiano, el método de rango uno tiene algunas limitaciones. Método de Davidon-FletcherPowell Introducción a la Optimización No Lineal del método del gradiente conjugado y construye la inversa del hessiano. La inversa del hessiano se actualiza en cada paso con la suma de dos matrices simétricas de rango uno, por lo que este esquema se conoce como procedimiento de corrección de rango dos. El método se denomina a veces método de la métrica variable, nombre original sugerido por Davidon. El procedimiento que es como un corolario al teorema anterior, es como sigue: Comenzando con cualquier matriz H 0 simétrica definida positiva, cualquier punto x0 , y con k = 0 , Paso 1: Hágase d k = − H k g k . Paso 2: Minimícese f ( x k + αd k ) respecto a α ≥ 0 para obtener xk +1 , pk = α k d k , y g k +1 . Paso 3: Hágase q k = g k +1 − g k y El primer esquema, y sin duda p k p kT H k q k q kT H k . (17) H = H + − k +1 k uno de los más ingeniosos, para p kT q k q kT H k q k construir la inversa del hessiano Actualícese k y vuélvase al paso 1. lo propuso originalmente alternativo de Davidon y fue más tarde Algoritmo desarrollado por Fletcher y Davidon-Fletcher-Powell Powell. Tiene la fascinante y Paso 1: Definir f (x) atractiva propiedad de que, para Paso 2: Dar H , {Matriz Simétrica Definida 0 un objetivo cuadrático, genera Positiva} x , Err { punto inicial arbitrario y Paso 3: Entrar simultáneamente las direcciones 0 error o tolerancia} Angel Sangiacomo C. F. Ayres H. 111 Capítulo 3 Introducción a la Optimización No Lineal Paso 4: Hacer g k = ∇f ( x0 ) , k = 0 . Paso 5: Hacer d k = − H k g k Paso 6: Hacer α k ∈ {α mín f ( xk + αd k )} 0 ≤α < ∞ Paso 7: Hacer xk +1 = xk + α k d k , paso 8: Hacer pk = α k d k , Paso 9: Hacer g k +1 = ∇f ( xk +1 ) . Paso 10: Hacer qk = g k +1 − g k , T T Paso 11: Hacer H = H + pk pk − H k q k q k H k k +1 k T T pk qk qk H k qk Paso 12: Si xk +1 − xk < Err entonces Paso 13: Paso 14: Paso 15: Paso 16: ir al paso (15) Hacer H k = H k +1 , xk = xk +1 , g k = g k +1 ; k = k + 1 Ir al paso (5) Publicar la solución xk +1 Parar. Programa en Delphi Pascal de Davidon-Fletcher-Powell El dialogo de la interface es la misma del de direcciones conjugadas. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type _r=extended; _i=integer; _s=string; _v1=array[0..28] of _r; _m=array[0..28] of _v1; TForm11 = class(TForm) Memo1: TMemo; Memo2: TMemo; Button2: TButton; Memo3: TMemo; Edit1: TEdit; Edit2: TEdit; Button3: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Button4: TButton; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); Procedure Valor_Matriz(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Deri_Parcial; Procedure MatQ(var q: _m); Procedure Convertidor_a_Variables_estandar(var s:_s); procedure Button4Click(Sender: TObject); Procedure Datos(sender: TObject); Procedure Publicar(m:_m); end; var Form11: TForm11; Tope :_i; kk : _i; implementation {$R *.DFM} var Matriz_s:_s; QxQ : _m ; s:_s; fxi : array[0..26] of _s; v0, vk, vx, gk, gk1, b, d0 : _v1; error, Alfa, Beta : _r; ////////////////////////////////////////////////// function f(s:_s; x :_r) : _r; begin f := StrToFloat(s) end; procedure Minus(s:_s;var s1:_s);var i,j:_i; begin s1:=s; j:=length(s1);i:=0; repeat i:=i+1; if s1[i]=' 'then begin delete(s1,i,1);i:=i-1; end; until i>=length(s1); end; { PROGRAMA De método de Direcciones Conjugadas } { Davidon-Fletcher-Powell } { Caso únicamente cuadrático, programa didáctico } unit Dav_Flet_Pow01; interface Angel Sangiacomo C. Procedure TForm11.Valor_Matriz(Sender: TObject); var i,j,k, Li ,ii :_i; begin minus(Matriz_s,Matriz_s); if Matriz_s[1]<>'[' then Matriz_s:='['+Matriz_s; if Matriz_s[length(Matriz_s)]<>']' then Matriz_s:=Matriz_s+']'; k := length(Matriz_s); ii :=0; j:=0; Li := 1; for i := 1 to k do if Matriz_s[i] in [ #13,#10 ] then Matriz_s[i] := ' '; minus(Matriz_s,Matriz_s); k := length(Matriz_s); F. Ayres H. 112 Capítulo 3 for i := 1 to k do begin if Matriz_s[i]='[' then begin ii:=ii+1; j:=0; Li := Li +1 end; if Matriz_s[i] in [',',';',']'] then begin j:=j + 1 ; s := copy(Matriz_s,li,i-li); QxQ[ii,j]:= f(s,0);Li := i +1; end; end; tope:=j; //Filas:=ii; Columnas := j; end; ////////////////////////////////////////////////// procedure TForm11.Button2Click(Sender: TObject); begin close end; procedure TForm11.FormCreate(Sender: TObject); begin memo3.Clear; memo2.Text:=' [ 1, 1 ]'; memo1.Text:= ' x^2 - x*y+ y^2 + 2*x - y +1' end; function funcionxx(v:_v1):_r; begin //' x^2 - x*y+ y^2 + 2*x - y +1' result := v[1]*v[1]-v[1]*v[2]+v[2]*v[2]+2*v[1]-v[2]+1; end; Procedure Gradiente(v:_v1;var g:_v1); var i:_i; begin //' x^2 - x*y+ y^2 + 2*x - y +1' g[1] := 2*v[1]-v[2]+2; g[2] := -v[1]+2*v[2]-1; g[3] := 0; end; Procedure TForm11.MatQ(var q: _m); var i,j:_i; Sx:Char; begin fillchar(q,sizeof(q),0); q[1,1]:=2; Q[1,2]:=-1; Q[2,1]:=Q[1,2]; Q[2,2]:=2; for i:=1 to Tope do begin s:=''; for j:=1 to Tope do s:=s+' '+FloatToStr(Q[i,j]); memo3.Lines.Add(s) end; end; Procedure Mat_vec(M:_m;V:_v1;var v1:_v1); var i,j:_i; begin for i:=1 to Tope do begin v[28]:=0; for j:=1 to Tope do v[28]:=v[28]+M[i,j]*v[j]; v1[i]:=v[28]; end; end; Procedure Vec_Mat(M:_m;V:_v1;var v1:_v1);var i,j:_i; begin for i:=1 to Tope do begin v[28]:=0; for j:=1 to Tope do v[28]:=v[28]+M[j,i]*v[j]; v1[i]:=v[28]; end; end; Procedure Vec_vec(v1:_v1;V:_v1;var r:_r);var i:_i; begin r:=0; for i:=1 to Tope do r:=r+v[i]*v1[i]; Angel Sangiacomo C. Introducción a la Optimización No Lineal end; Procedure Vec_X_vec(v1:_v1;V:_v1;var M:_m);var i, j :_i; begin for i:=1 to Tope do for j:=1 to Tope do M[i,j]:=v1[i]*v[j]; end; Procedure Mat_Mat(A:_m;B:_M;var C:_m);var i,j,k:_i; v:_r; begin for i:=1 to Tope do for j:=1 to Tope do begin v:=0; for k:=1 to Tope do v:=v+A[i,k]*B[k][j]; C[i][j]:=v; end; end; Procedure Mat_m_Mat(A:_m;B:_M;var C:_m);var i,j :_i; begin for i:=1 to Tope do for j:=1 to Tope do begin C[i][j]:=A[i,j]+B[i][j]; end; end; Procedure a_vec(a:_r;V:_v1;var v1:_v1);var i:_i; begin for i:=1 to Tope do v1[i]:= v[i]*a; end; Procedure Mat_a(M:_m;a:_r;var M1:_m); var i,j:_i; begin for i:=1 to Tope do for j:=1 to Tope do M1[i,j]:=a*M[i,j]; end; Procedure TForm11.Convertidor_a_Variables_estandar(var s:_s); var i :_i; begin memo3.Lines.Add(' f( x ) = '+fxi[0]); Minus(fxi[0], fxi[0]); memo3.Lines.Add(' M# de variables = '+IntToStr(Tope)); end; Procedure TForm11.Datos(sender: TObject); var i:_i; begin {Procedure Principal} FillChar(v0,sizeof(v0),0);vx:=v0; vk:=v0; gk:=v0; gk1:= vx; b:=vx; d0:=vx; kk:= StrToInt(Edit1.Text); error:=StrToFloat(Edit2.Text); fxi[0]:=Memo1.Text; Minus(fxi[0],fxi[0]); Convertidor_a_Variables_estandar(fxi[0]); Matriz_s:=Memo2.Text; Valor_Matriz(Sender); v0:=QxQ[1]; s:=''; for i:=1 to Tope do s := s + ' x= ' + FloatToStr(v0[i]) + ' ;'; if s[length(s)]=';' then delete(s,length(s),1); Memo3.Lines.Add(' v0 = ['+s+' ]'); end; procedure TForm11.Button3Click(Sender: TObject); begin Memo3.Clear; end; Procedure TForm11.Publicar(m:_m); var i,j :_i; begin for i:=1 to Tope do F. Ayres H. 113 Capítulo 3 Introducción a la Optimización No Lineal begin s:='[ '; Gradiente( vk, gk1 ); Pu_vec('G', gk1 ); for j:=1 to Tope do s:=s+' '+ FloatToStrF(m[i][j],ffFixed, for i:=1 to Tope do 15,5);s:=s+' ]'; begin vx[i]:=gk1[i]-gk[i]; // vx --> qk memo3.Lines.Add(s); s1 := s1+' G'+IntToStr(i)+'= '+FloatToStrF(gk[i], end; ffFixed, 15,5); end; end; Matriz_s:=FloatToStr(Funcionxx(vk)); procedure TForm11.Button4Click(Sender: TObject); Memo3.Lines.Add( s1+#13#10+' f ( ... ) = '+ Matriz_s); Var i,j,k:_i; H1,H0 : _m; x,y:_r; x0:_v1; Mat_vec(QxQ, vx, x0); Pu_vec('q', vx ); procedure Ident(var q:_m); Vec_vec(x0, vx, x ); begin Fillchar(q,sizeof(q),0);i:=0; Vec_X_vec(x0, x0, H1 ); while i<Tope+1 do begin i:=i+1; q[i,i]:=1 end Mat_a(H1, -1/x, H1 ); end; Mat_m_Mat(QxQ, H1, QxQ ); Procedure Pu_vec(sx: char; v:_v1); Vec_X_vec(b, b, H1 ); var i :_i; Vec_vec(b, vx, x ); begin s:=''; Mat_a(H1, 1/x, H1 ); Memo3.Lines.Add(' Hk ='); for i:=1 to Tope do s:=s+' '+Sx+IntToStr(i)+' = '+ Mat_m_Mat(QxQ, H1, QxQ ); Publicar(QxQ); FloatToStrF(v[i],ffFixed, 15,8); x:=0; memo3.Lines.Add(s); for i:=1 to Tope do begin x:=x+sqr(vk[i]-v0[i]) end; end; x := sqrt(x); function Mim_ALfa:_r; var i:_i; v0:=vk; procedure ss; var i:_i; gk:=gk1; begin for i:=1 to Tope do vk[i]:=v0[i]+alfa*d0[i]; if k>kk-1 then break; end; until x<error; s1:=''; begin Alfa:=0; j:=0; for i:=1 to Tope do x:=funcionxx(v0);v0[28]:=0.01; begin s1:=s1+'x'+IntToStr(i)+'= '+FloatToStrF(vk[i], repeat alfa:=alfa+v0[28]; ffFixed, 15,5); end; for i:=1 to Tope do vk[i]:=v0[i]+alfa*d0[i]; Matriz_s:=FloatToStr(Funcionxx(vk)); y:= funcionxx(vk); Memo3.Lines.Add( s1+#13#10+' f ( ... ) = '+Matriz_s ); if x>=y then x:=y; //Memo3.Lines.Add(' xxxx'); end; if (x<y)and(j<4) then begin alfa:=alfa-1.1*v0[28];if alfa<0 then alfa:=0; end. v0[28]:=v0[28]/100;x:=x+5 ;J:=j+1; end Ejemplo until x<y; Mim_ALfa:=ALfa-v0[28];//0.0001; Memo3.Lines.Add(' alfa = '+FloatToStr(alfa)); Usando el Algoritmo de end; var s1:_s; begin // Davidon-Fletcher-Powell datos(sender); Sea k:=0; Ident( QxQ ); f ( x1 , x2 ) = x12 − x1 x2 + x22 + 2 x1 − x2 + 1 Gradiente(v0, gk ); x0 = (1, 1) repeat k:=k+1; Memo3.Lines.Add('+++++++ Iteración N# = ⎡2 x − x + 2 ⎤ '+IntToStr(k)+' +++++++'); ∇f ( x1 , x2 ) = ⎢ 1 2 ⎥, Memo3.Lines.Add(' -H = '); ⎣− x1 + 2 x2 − 1⎦ Mat_a( QxQ, -1, H1 ); Publicar( H1 ); ⎡1 0⎤ ⎡3⎤ Mat_vec( H1, gk, d0 ); Pu_vec('d', d0 ); H0 = ⎢ , g0 = ⎢ ⎥ ; ⎥ Alfa:=Mim_ALfa; s1 := ''; ⎣0 1 ⎦ ⎣0 ⎦ for i:=1 to Tope do Iteración 1 begin vk[i]:= v0[i] + alfa*d0[i];// vk --> vn+1 s1:=s1+'x'+IntToStr(i)+'= '+FloatToStrF(v0[i], d 0 = (−3,0) , ffFixed, 15,5); 1 end; α 0 = = 0.5 , a_vec(alfa, d0, b ); // b --> pk 2 Pu_vec('p', b ); Angel Sangiacomo C. F. Ayres H. 114 Capítulo 3 Introducción a la Optimización No Lineal x1 = x0 + α 0 d 0 = (1,1) + 0.5(−3,0) = (−0.5, 1) ; ⎡0.25 0.5⎤ ⎢ 1 ⎥⎦ p1 p1T ⎣0.5 = 1.5 p1T q1 ⎡0.36 0.72 ⎤ ⎥ ⎢ H1q1q1T H1 ⎣0.72 1.44⎦ = 1.8 q1T H1q1 g1 = (0, 1.5)T p0 = α 0 d 0 = 0.5(−3, 0) = (−1.5, 0) , q0 = g1 − g 0 = (0, 1.5) − (3, 0) = (−3, 1.5) , H1 = H 0 + p0 p0T p0T q0 p0 p0T p0T q0 ⎡1.5⎤ ⎢ 0 ⎥ (−1.5, 0) =⎣ ⎦ = ⎡− 3⎤ (−1.5,0) ⎢ ⎥ ⎣1.5 ⎦ H 0 q0 q0T H 0 q0T H 0 q0 − H 0 q0 q0T H 0 q0T H 0 q0 ⎡2.25 ⎢0 ⎣ 4.5 ; 0⎤ 0⎥⎦ ⎡0.5 0⎤ =⎢ 0⎥⎦ ⎣0 ⎡1 0⎤ ⎡1 0⎤ ⎡− 3⎤ ⎢0 1 ⎥ ⎢1.5 ⎥ (−3, 1.5) ⎢0 1 ⎥ ⎣ ⎦ ⎦⎣ ⎦ =⎣ − 1 0 3 ⎡ ⎤⎡ ⎤ (−3, 1.5) ⎢ ⎥⎢ ⎥ ⎣0 1 ⎦ ⎣1.5 ⎦ ⎡ 9 − 4.5 ⎤ ⎢− 4.5 2.25⎥ ⎡0.8 0.4 ⎤ ⎦ = =⎣ ⎢ ⎥, 11.25 ⎣0.4 0.2⎦ ⎡1 0⎤ ⎡0.5 0⎤ ⎡0.8 0.4⎤ − H1 = ⎢ ⎥+⎢ 0⎥⎦ ⎢⎣0.4 0.2⎥⎦ ⎣0 1 ⎦ ⎣ 0 ⎡0.7 0.4⎤ =⎢ ⎥. ⎣0.4 0.8⎦ Iteración 2 g1 = (0, 1.5)T ; ⎡0.7 0.4⎤ ⎡ 0 ⎤ ⎡− 0.6⎤ d1 = − ⎢ ⎥⎢ ⎥=⎢ ⎥, ⎣0.4 0.8⎦ ⎣1.5⎦ ⎣− 1.2 ⎦ α1 = 0.833333... , x2 = x1 + α1d1 = (−0.5,1) + 0.8333333(−0.6,−1.2) = (−1, 0) ; g 2 = (0, 0)T p1 = α1d1 = 0.8333333(−0.6, − 1.2) , = (−0.5, − 1) q1 = g 2 − g1 = (0, 0) − (0, 1.5) = (0, − 1.5) , H 2 = H1 + p1 p1T p1T q1 − H1q1q1T H1 q1T H1q1 ; ⎡0.25 0.5⎤ ⎡0.36 0.72 ⎤ ⎢ 1 ⎥⎦ ⎢⎣0.72 1.44⎥⎦ ⎡0.7 0.4⎤ ⎣0.5 H2 = ⎢ − ⎥+ 1.5 1.8 ⎣0.4 0.8⎦ ⎡0.66666667 0.33333333⎤ =⎢ ⎥, ⎣0.33333333 0.66666667⎦ Iteración 3 Esta siguiente iteración ya no existe puesto que ⎡0.66666667 0.33333333 ⎤ ⎡0⎤ ⎡0⎤ d 2 = −⎢ ⎥⎢ ⎥ = ⎢ ⎥, ⎣0.33333333 0.66666667 ⎦ ⎣0⎦ ⎣0⎦ o sea ya no hay movimiento. Definición positiva Primero se demuestra que si H0 es definida positiva, entonces también lo es Hk+1. Para cualquier x ∈ E n , resulta xT H k +1 x = xT H k x + Al ( x T pk ) 2 pkT qk definir − ( x T H k qk ) 2 . qkT H k qk (18) a = H k1 / 2 x , b = H k1 / 2 qk , se puede volver a escribir (18) como xT H k +1 x = ( aT a )(bT b) − (a T b) 2 (bT b) + ( xT pk ) 2 pkT qk . También se tiene que p kT q k = p kT g k +1 − p kT g k = − p kT g k , (19) pues Angel Sangiacomo C. F. Ayres H. 115 Capítulo 3 Introducción a la Optimización No Lineal p kT g k +1 = 0 , (20) debido a que xk+1 es el punto mínimo de f en pk. Así, por la definición de pk p kT q k = α k g kT H k g k , (21) y de ahí, x T H k +1 x = (a T a )(bT b) − (a T b) 2 T (b b) + ( xT pk ) 2 α k g kT H k g k (22) será definida positiva (Pruébese ello). ♠ Convergencia en pasos finitos Ahora, supóngase que f es cuadrática con hessiano (constante) F. En este caso se demuestra que el método de Davidon-Fletcher-Powell produce vectores de dirección pk ortogonales F, y que si el método se realiza durante n pasos, entonces Hn=F-1. Los dos términos de la derecha de (22) son no negativos; el primero por la desigualdad de Cauchy-Schwarz. Tan sólo hay que demostrar que no se anulan simultáneamente. El primer término se anula solamente si a y b proporcionales. Esto, a su ves, x y qk son proporcionales, por Teorema. ejemplo, x=βqk. Sin embargo, en Si ƒ es cuadrática con hessiano F definido positivo, entonces para ese caso, el método de Davidon-Fletcherp kT x = βp kT q k = βα k g kT H k g k ≠ 0 Powell. T por (21). Así, x H k +1 x > 0 para piT Fp j = 0 , 0 ≤ i < j ≤ k (23) toda x distinta de cero. H k +1 Fp i = pi , para 0 ≤ i ≤ k . (24) Es interesante observar que en la demostración anterior el hecho de Prueba: que αk se elija como el punto Se observa que para el caso mínimo de la búsqueda lineal, se cuadrático utilizó en (20), lo que dio lugar a q k = g k +1 − g k = Fxk +1 − Fxk = Fpk . (25) la importante conclusión de que Además, (26) p kT q k > 0 . En realidad, en el H k +1 Fp k = H k +1q k = p k algoritmo se puede utilizar de (17). Ahora, se muestran (23) y (24) T cualquier αk que de p k q k > 0 , por inducción. De (26) se observa sea o no el punto mínimo, y Hk+1 que son verdaderas para k=0. Angel Sangiacomo C. F. Ayres H. 116 Capítulo 3 Introducción a la Optimización No Lineal Suponiendo que son verdaderas Por último, (24) muestra que p0, para k–1, se prueba que son p1, p2, ..., pk son vectores propios correspondientes al valor propio verdaderas para k. Se tiene g k = g k +1 + F ( pi +1 + ... + p k −1 ) . unitario para la matriz H k +1 F , −1 Por tanto, de (23) y (20) por lo que H = F . piT g k = piT g i +1 = 0 para 0 ≤ i < k . (27) n Entonces, de (24) piT FH k g k = 0 . como p k = −α k H k g k α k ≠ 0 , resulta Así, (28) La familia de Broyden y Las familias de actualización para la inversa del hessiano, T pi Fp k = 0 para i < k , (29) considerado en dos secciones anteriores, se basan en que lo cual prueba (23) para k. Ahora, como de (24) para k–1, satisfacen H k +1qi = pi , 0 ≤ i ≤ k , (25) y (29) (30) qkT H k Fpi = qkT pi = pkT Fpi = 0 , deducido de la relación q i = Fp i , 0 ≤ i ≤ k (31) 0≤i<k que se cumpliría solamente en el se tiene H k +1 Fpi = H k Fpi = pi , 0 ≤ i < k . caso cuadrático puro. También se actualizar Esto, junto con (26), prueba (24) pueden aproximaciones al propio para k. ♥ hessiano F, en lugar de su Como las pk son ortogonales F y inversa. Así, al denotar la k-ésima se minimiza f sucesivamente en aproximación de F por Bk, de estas direcciones, se observa que manera análoga, se buscaría es un método de dirección satisfacer conjugada. Además, si la q k = Bk +1 pi , 0 ≤ i ≤ k , (32) aproximación inicial H0 se La ecuación (32) tiene considera igual a la matriz exactamente la misma forma que identidad, el método se convierte (30), excepto que q y p se i i en el del gradiente conjugado. En intercambian y H se sustituye por cualquier caso, el proceso obtiene B. Ha de tenerse en cuenta que el punto mínimo general en n esto implica que cualquier pasos. fórmula de actualización para H Angel Sangiacomo C. F. Ayres H. 117 Capítulo 3 Introducción a la Optimización No Lineal deducida para satisfacer (30) se pueden transformar en una fórmula actualizada correspondiente para B. Por ejemplo, dada cualquier fórmula actualizada para H, la fórmula complementaria se halla intercambiando las funciones de B y H, y de q y p. Asimismo, cualquier fórmula de actualización para B que satisfaga (32) se puede convertir por el mismo proceso en una fórmula complementaria para actualizar H. Es fácil observar que tomando el complemento de un complemento se obtiene la fórmula original. Para ilustrar las fórmulas complementarias, considérese la actualización de rango uno visto anteriormente, que es y su complemento es Bk +1 = Bk + qk qkT qkT pk − Bk pk pkT Bk pkT Bk pk . (36) Esta última actualización se conoce como la actualización Broyden-Fletcher-GoldfarbShanno de Bk y tiene un papel importante en los temas que siguen. Otra manera de transformar una fórmula de actualización para H en una para B, o viceversa, es tomar la inversa. Es evidente que si H k +1qi = pi , 0 ≤ i ≤ k , (37) entonces qi = H k−+11 pi , 0 ≤ i ≤ k , (38) −1 lo cual implica que H k +1 satisface (32), El criterio para una actualización de B. Además, y lo más importante, la inversa de una ( pk − H k qk )( pk − H k qk )T H k +1 = H k + . fórmula de rango dos es también qkT ( pk − H k qk ) una fórmula de rango dos. (33) La nueva fórmula se puede hallar La fórmula complementaria explícitamente con dos correspondiente es aplicaciones de la identidad de (qk − Bk pk )(qk − Bk p k )T . (34) inversión Bk +1 = Bk + general (conocida pkT (q k − Bk pk ) también como la fórmula de Asimismo, la fórmula de Sherman-Morrison) Davidon-Fletcher-Powell (o A −1ab T A −1 T −1 −1 [ ] + = − A ab A , (39) simplemente DFP) es T −1 H kDFP +1 = H k + p k p kT p kT q k − H k q k q kT H k q kT H k q k 1+ b A a , donde A en una matriz de n×n, y a y b son n vectores, lo cual es (35) Angel Sangiacomo C. F. Ayres H. 118 Capítulo 3 Introducción a la Optimización No Lineal valido si existen las inversas. (Esto se comprueba fácilmente multiplicando por A+abT.) La actualización de BroydenFletcher-Goldfarb-Shanno para B genera, tomando la inversa, una actualización correspondiente para H de la forma H kBFGS +1 = H k ⎛ qT H q + ⎜1 + k T k k ⎜ qk qk ⎝ ⎞ pk pkT pk qkT H k + H k qk pkT ⎟ − ⎟ pT q qkT pk ⎠ k k (40) Esta es una fórmula de actualización importante que se pueda utilizar igual que la fórmula DFP. Los experimentos numéricos han indicado de manera repetida que un rendimiento es superior al de la fórmula DFP, razón por la que en actualidad suele referirse. Obsérvese que las actualizaciones DFP y BFGS tienen correcciones simétricas de rango dos que se construyen a partir de los vectores pk y Hkqk. Por tanto, las combinaciones ponderadas de estas fórmulas serán de este mismo tipo (simétricas, de rango dos y construidas a partir de pk y Hkqk). Esta observación conduce de manera natural a la consideración de un conjunto de actualizaciones, conocido como Angel Sangiacomo C. la familia de Broyden, definido por H φ = (1 − φ )H DFP + φH BFGS , (41) donde φ es un parámetro que puede tomar cualquier valor real. Es evidente que φ = 0 y φ = 1 proporcionan las actualizaciones DFP y BFGS, respectivamente. La familia de Broyden también incluye la actualización de rango uno (Pruébese ello). Después de una cantidad considerable de operaciones algebraicas, una representación de la familia de Broyden podría resultar ser H kφ +1 = H k + pk pkT pkT qk − H k qk qkT H k qkT H k qk T = H kDFP +1 + φvk vk , + φvk vkT (42) donde ( v k = q kT H k q k ) 1/ 2 ⎛ ⎜ pk − H k qk T ⎜ pT q ⎝ k k qk H k qk ⎞ ⎟. ⎟ ⎠ Esta forma será útil para algunos desarrollos posteriores. Un método de Broyden se define como un método cuasi Newton en el que se utiliza en cada iteración un miembro de la familia de Broyden como fórmula de actualización. En general, se permite que el parámetro φ varíe de una F. Ayres H. 119 Capítulo 3 iteración a otra, de modo que un método de Broyden determinado se define por una sucesión φ1 , φ 2 , ..., de valores del parámetro. Un método de Broyden puro es aquel que utiliza una φ constante. Introducción a la Optimización No Lineal de la relación básica (30) y de la ortogonalidad (20) debido a la exactitud de la búsqueda lineal. ♠ La familia de Broyden no conserva necesariamente la definición positiva de H φ para todos los valores de φ . Sin embargo, se sabe que el método DFP preserva la definición positiva. Por lo tanto, de (42) resulta que la definición positiva se preserva para cualquier φ ≥ 0 , pues la suma de una matriz definida positiva y una matriz semidefinida positiva, es definida positiva. Para φ < 0 , existe la H BFGS Como H DFP y satisfacen la relación fundamental (30) para actualizaciones, esta relación también se satisface por todos los miembros de la familia Broyden. Así, puede esperarse que muchas propiedades que fueron validas para el método de DFP también lo serán para cualquier método de Broyden y, de hecho, así es. La siguiente es una aplicación posibilidad de que H φ se haga directa del teorema de la singular, por lo que deben convergencia en pasos finitos. tomarse precauciones especiales. En la práctica, se suele imponer Teorema. φ ≥ 0 para evitar dificultades. Si f es cuadrática con hessiano F definido positivo, entonces para Se ha experimentado mucho con los métodos de Broyden para un método de Broyden determinar estrategias menores piT Fp j = 0, 0≤i< j≤k de selección de la sucesión de H k +1 Fp i = pi para 0 ≤ i ≤ k . parámetros φ k . El teorema anterior muestra que la elección Prueba: La demostración es similar a la es irrelevante en el caso de un de la sección donde se trato la objetivo cuadrático y una convergencia en pasos finitos, búsqueda lineal precisa. Lo más pues los resultados sólo dependen sorprendente es que se ha observado que aun en el caso de Angel Sangiacomo C. F. Ayres H. 120 Capítulo 3 funciones no cuadráticas y búsquedas lineales precisas, los puntos generados por todos los métodos de Broyden consideran (siempre que se eviten las singularidades y los mínimos múltiplos se resuelvan de manera consistente). Esto significa que las diferencias entre los métodos sólo son importantes con la búsqueda lineal imprecisa. Para funciones no cuadráticas generadas de dimensiones moderadas, parece que los métodos de Broyden ofrecen diversas ventajas como procedimientos generales atractivos. Primero, sólo requieren disponer de información de primer orden (esto es, el gradiente). Segundo, siempre se puede garantizar que las direcciones generadas sean de descenso, haciendo que Hk sea definida positiva durante el proceso. Tercero, como para un problema cuadrático la matrices Hk convergen a la inversa del hessiano en un máximo de n pasos, se podría argumentar que en el caso general Hk convergerá al inverso del hessiano en la solución, por lo que la convergencia será superlineal. Lamentablemente, aunque los métodos son, sin lugar a dudas, excelentes, sus Angel Sangiacomo C. Introducción a la Optimización No Lineal características de convergencia requieren un análisis más minucioso, lo que dará lugar a una importante modificación adicional. Apéndice Escalas Mejora de la razón de valores propios Como el rendimiento método de DFP es pobre trataremos de hallar la dificultad con la simple observación de que todos los valores de H0Q son mucho mayores que la unidad. El algoritmo d DFP, o cualquier método Broyden, esencialmente traslada los valores propios uno a la vez, a la unidad, produciendo así una razón de valores propios desfavorables en cada HkQ, para 1 = k = n. Este fenómeno se puede atribuir al hecho de que los métodos son sensibles a factores de escala simples. En especial si H0 se multiplicara por una constante, todo el proceso sería diferente. En el ejemplo de la última parte, si H0 le cambiamos la escala multiplicando por 1/35, por decir, los valores propios de H0Q se situarían por encima y por debajo de la unidad, y en ese caso se podría sospechar que no se presentaría un rendimiento pobre. A partir de las consideraciones anteriores, se establecerá condiciones en las cuales la razón de los valores propios de Hk+1F sea a menos tan favorable como la de HkF en un método de Broyden. Entonces, estas condiciones se utilizarán como base para introducir factores de escala apropiados. Tenemos el resultado de Loewner F. Ayres H. 121 Capítulo 3 Introducción a la Optimización No Lineal Lema de los valore propios independientes. se observa que P rk = 0 , de modo que un Sea la matriz simétrica A de n × n con valor propio de P es cero. Si se denotan los valores propios λ1 ≤ λ2 ≤ ... ≤ λn . Sea a valores propios de P por μ ≤ μ ≤ ... ≤ μ , 1 2 n n cualquier vector de E y denótense los por la observación anterior y el lema de los valores propios de la matiz A + aa T por valores propios interdependientes, resulta 0 = μ1 ≤ λ2 ≤ μ 2 ≤ ... ≤ μ n ≤ λn . μ1 ≤ μ 2 ≤ ... ≤ μ n . Entonces Ahora consideramos λ1 ≤ μ1 ≤ λ2 ≤ μ 2 ≤ ... ≤ λn ≤ μ n . R r rT R r rT r rT Rk +1 = Rk − kTk k k + kT k = P + kT k . rk Rk rk rk rk rk rk Por conveniencia se introducen las definiciones (44) 1/ 2 1/ 2 Como rk es un vector propio de P y, por Rk = Fk H k Fk simetría, los demás vectores propios de P rk = Fk1 / 2 pk son, en consecuencia, ortogonales a rk, entonces, utilizando pk = Fk1 / 2 rk , se puede resulta que el único valor propio de Rk+1 diferente de los P es el correspondiente a rk , verificar rápidamente que (42) equivale a: que ahora es la unidad. R r rT R r rT Rkφ +1 = Rk − k Tk k k + kT k + φ z k z kT , Así, Rk+1 tiene valores propios μ1 , μ 2 , ..., μ n rk Rk rk rk rk y la unidad, todos contenidos en el intervalo (43) [λ1 , λ2 ] . Así, la actualización no empeora la donde razón de los valores propios. Tendremos en ⎛ rk ⎞ R r 1/ 2 T k k ⎟ . cuanta que este resultado no depende en z k = Fk vk = rk Rk rk ⎜ T − T ⎜ r r r R r ⎟ modo alguno de la elección de α para n k k k ⎠ ⎝ k k minimizar f . Como Rk es similar a HkF (de Rk = Fk1 / 2 H k Fk1 / 2 ), los dos tienen los Para la clase Broyden con 0 ≤ φ ≤ 1 . mismos valores propios. Pero, debido a (43), Teorema. Sean los n valores de HkF, es más conveniente estudiar Rk, que permite λ1 , λ2 , ..., λn con 0 < λ1 ≤ λ2 ≤ ... ≤ λn . Supóngase que 1 ∈ [λ1 , λn ] . Entonces, para obtener resultados de HkF. Veamos ahora el caso φ = 0 que corresponde cualquier φ, 0 ≤ φ ≤ 1 , todos los valores a la fórmula de DFP. Para esto suponemos propios de H kφ +1 F , donde H kφ +1 está que los valores propios de Rk son λ1 , λ2 , ..., λn con λ1 ≤ λ2 ≤ ... ≤ λn . Con la definida por (42), están contenidos en [λ , λ ] . suposición de que 1 ∈ [λ1 , λn ] . Se 1 n Prueba: demostrará que todos los valores propios de El resultado anterior corresponde a φ = 0 . Rk+1 están contenidos en el intervalo [λ1 , λn ] , lo cual implica que Rk+1 no es peor Ahora considérese φ = 1 , correspondiente a la fórmula BFGS. Por la definición original que Rk en función de su número de de la actualización de BFGS, H −1 está condición. definida por la fórmula complementaria de la Sea primero la matriz fórmula DFP. Así T R rr R P = Rk − kTk k k q qT H −1 p pT H −1 rk Rk rk H k−+11 = H k−1 + Tk k − k T k −1k k . qk pk pk H k pk Angel Sangiacomo C. F. Ayres H. 122 Capítulo 3 Introducción a la Optimización No Lineal para H0, pues la unidad es un valor propio de HkF para k>0. Pero debido a las inevitables + , Rk−+11 = Rk−1 − desviaciones del ideal, es útil considerar la posibilidad de cambiar de escala todas las (45) Hk. que es idéntico (44), excepto que Rk se Se puede incorporar un factor de escala directamente en la fórmula de actualización. constituye por Rk−1 . Primero, se multiplica Hk por un factor de Los valores propios de Rk−1 son escala γ k y después se aplica la fórmula de 1 ≤ λ 1 ≤ ... ≤ λ1 . Evidentemente actualización usual. Esto equivale a sustituir λn n −1 1 H k por γ k H k en (43) y da lugar a 1∈ [ λ1 , λ1 ] . Así, por el resultado preliminar, n 1 ⎛ ⎞ H k qk qkT H k ⎜ H k +1 = H k − T + φ vk vkT ⎟γ k −1 si los valores propios de Rk +1 se denotan por ⎜ ⎟ qk H k qk ⎝ ⎠ 1 1 1 , resulta que están ≤ ≤ ... ≤ μn μ n −1 μ1 p k p kT + . (46) contenidos en el intervalo [ λ1 , λ1 ] . Así, pT q Esto equivale a Rk−1rk rkT Rk−1 rkT Rk−1rk n rk rkT rkT rk 1 k k . Invirtiendo términos, Esto define una familia de los parámetros de actualizaciones, que se reduce a la familia de esto genera μ1 > λ1 y μ n < λn , lo cual Broyden para γ k = 1 . muestra que los valores propios de Rn+1 están Utilizando γ 0 , γ 1 , ... como factores de escala contenidos en [λ1 , λn ] , con lo que se positivos arbitrarios, se considera el establece el resultado para φ = 1 . algoritmo: Se comienza con cualquier matriz Para un φ general, la matriz Rkφ +1 definida H 0 definida positiva simétrica y cualquier por (43) tiene valores propios que aumentan punto x0 , entonces empezando con k=0, 1 λn < 1 μn y 1 λ1 > 1 μ1 monótonamente con φ (como se puede observar por el lema de los valores propios Paso 1: Hacer d k = − H k g k . interdependientes). Sin embargo, por lo Paso 2: α k ∈ {α : Mín f ( xk + αd k )} 0 ≤α < ∞ anterior se sabe que estos valores propios para calcular xk +1 = xk + α k d k están contenidos en [λ1 , λn ] , para φ = 0 y p k = α k d k y g k +1 . φ = 1 . Por lo tanto, deben estar contenidos Paso 3: Calcular qk = g k +1 − g k ; en [λ1 , λn ] para toda φ, 0 ≤ φ ≤ 1 . ♦. Factores de Escala ⎞ ⎛ H q qT H H k +1 = ⎜ H k − kT k k k + φ vk vkT ⎟γ k ⎟ ⎜ qk H k qk ⎠ ⎝ pk pkT + T . (47) Por el resultado deducido antes, es una clara p q k k ventaja la escala de la matriz H k para que ⎛ p H q ⎞ los valores propios de HkF se distribuyan por vk = (qkT H k qk )1 / 2 ⎜ T k − T k k ⎟ . ⎟ ⎜p q encima y por debajo de la unidad. ⎝ k k qk H k qk ⎠ Lógicamente, en el caso ideal de un de escala elimina problema cuadrático con búsqueda lineal La utilización de factores -1 perfecta, esto es estrictamente necesario sólo la propiedad Hn=F en el caso cuadrático, Angel Sangiacomo C. F. Ayres H. 123 Capítulo 3 pero no elimina la propiedad de dirección conjugada. Las siguientes propiedades de este método se pueden demostrar como simples ampliaciones de los resultados dados en la sección 9.3. 1. Si Hk es definida positiva y pkT qk > 0 , (47) genera una Hk+1 que es definida positiva. 2. Si f es cuadrática con hessiano F, entonces los vectores p0 , p2 , ..., pn −1 son mutuamente ortogonales F y, para cada k, los vectores p0 , p2 , ..., pn −1 son valores propios de Hk+1F. Introducción a la Optimización No Lineal γk = pkT qk (48) qkT H k qk sirve como factor de escala adecuado. A continuación, se fórmula un método cuasi Newton completo con reinicio y autoescala, basado en la ideas anteriores. Por sencillez, se toma φ = 0 y se obtiene una modificación del método DFP. Comenzando en cualquier punto x0, k=0. Paso 1: Hacer H k = I . Paso 2: Hacer d k = − H k g k . Paso 3: α k ∈ {α : Mín f ( xk + αd k )} 0 ≤α < ∞ Se puede concluir que los factores de escala para calcular xk +1 = xk + α k d k no eliminan el comportamiento conjugado p k = α k d k y g k +1 . inherente al algoritmo. Por tanto, se puede utilizar la escala para asegurar buenas q k = g k +1 − g k propiedades de convergencia en un solo Paso 4: Si k no es un múltiplo entero de n, paso. hacer ⎛ H k qk qkT H k ⎞⎟ pkT qk ⎜ H k +1 = H k − T ⎜ qk H k qk ⎟⎠ qkT H k qk Un Algoritmo Cuasi Newton de Autoescala ⎝ p pT Una técnica para elegir los factor de escala + kT k . (49) pk qk es como sigue. Si λ1 ≤ λ2 ≤ ... ≤ λn son los hacer k=k+1; regresar al paso 2; valores propios de HkF, se desea multiplicar Hk por γ k , donde λ1 ≤ γ1 ≤ λn . Esto Paso 5: Si k es múltiplo entero de n, volver al k paso 1. asegurará que los nuevos valores propios contienen la unidad en el intervalo que Este algoritmo se ejecutado, con distintas generan. cantidades de imprecisión introducidas en la Observamos que la función de la notación búsqueda lineal, en el problema cuadrático anterior de la sección 9.4. Los resultados se T T presentaron en esa sección. qk H k qk rk Rk rk = . pkT qk rkT rk Recordando que Rk tiene los mismos Métodos Cuasi Newton Sin Memoria valores propios que H k F y observando que El desarrollo anterior de los métodos cuasi para cualquier rk Newton se puede utilizar como base para T estudiar de nuevo los métodos del gradiente r R r λ1 ≤ k T k k ≤ λn , conjugado. El resultado es una clase rk rk interesante de procedimientos nuevos. se observa que Angel Sangiacomo C. F. Ayres H. 124 Capítulo 3 Introducción a la Optimización No Lineal Considerase una simplificación del método qkT g k +1 d = − g + pk cuasi Newton BFGS, donde Hk+1 está k +1 k +1 T p q k k definida por una actualización BFGS = − g + β d (54) aplicada a H=I, en lugar de Hk. Así, Hk+1 se k +1 k k, determina sin referencia a las Hk anteriores, donde por lo que el procedimiento de actualización q qT β k = k T k +1 . es sin memoria. Este procedimiento de g k qk actualización da lugar al siguiente algoritmo: Comenzar en cualquier punto x0, k=0. Esto coincida exactamente con la forma de Polak - Ribiere del método del gradiente conjugado. Así, al usar de esta forma la Paso 1: Hacer H k = I . (50) actualización BFGS se obtiene un algoritmo (51) Paso 2: Hacer d k = − H k g k . del tipo Newton modificado con matriz de Paso 3: α k ∈ {α : Mín f ( xk + αd k )} coeficientes definida positiva y es 0 ≤α < ∞ equivalente a una aplicación estándar del para calcular xk +1 = xk + α k d k método del gradiente conjugado cuando la pk = α k d k y g k +1 . búsqueda lineal es exacta. q k = g k +1 − g k ; El algoritmo puede ser utilizado sin (Elíjase α k lo suficientemente búsqueda lineal exacta de forma similar al método del gradiente conjugado, utilizando precisa para asegurar pkT qk > 0 .) (53). Esto sólo requiere el almacenamiento Paso 4: Si k no es un múltiplo entero de n, de los mismos vectores que se piden en el hacer método del gradiente conjugado. Sin T T embargo, por la teoría de los métodos cuasi q p +p q H k +1 = I − k k T k k Newton, cabe esperar que la forma nueva sea pk qk superior cuando se emplean búsqueda lineal T T ⎛ q q ⎞p p inexacta y, de hecho, los experimentos así lo + ⎜1 + kT k ⎟ kT k . (52) confirman. ⎜ pk qk ⎟⎠ pk qk ⎝ La idea anterior es fácil de ampliar para hacer k=k+1; regresar al paso 2; producir un método cuasi Newton sin Paso 5: Si k es múltiplo entero de n, volver al memoria correspondiente a cualquier paso 1. miembro de la familia de Broyden. La fórmula de actualización (52) utiliza sólo la Combinando (51) y (52), es fácil observar actualización de Broyden general (42), con que Hk igual I. En el caso de la búsqueda lineal T T +p q g q p g exacta (con pkT g k +1 = 0 ), la fórmula d k +1 = − g k +1 + k k k +1 T k k k +1 pk qk resultante para d k +1 se reduce a ⎛ qT q ⎞ p pT g qkT g k +1 − ⎜1 + kT k ⎟ k Tk k +1 . (53) d = − g + ( 1 + φ ) qk k +1 k +1 T ⎟ p q ⎜ p q q q k k k k ⎠ ⎝ k k T Si la búsqueda lineal es exacta, entonces q g + φ k T k +1 p k . (55) T T T pk g k +1 = 0 y por tanto, pk qk = − pk g k . pk qk En este caso, (53) equivale a Se observa que (55) equivale a al dirección del gradiente conjugado (54) sólo para φ = 1 , Angel Sangiacomo C. F. Ayres H. 125 Capítulo 3 Introducción a la Optimización No Lineal correspondiente a la actualización de BFGS. Presentamos una combinación del descenso Por esta razón, en general, se prefiere φ = 1 de mayor pendiente y el método de Newton que incluye a ambos como casos especiales. para este tipo de método. La combinación da como resultado un El procedimiento de escala se puede ampliar método doble puede ser utilizado para a un procedimiento de condicionamiento desarrollar algoritmos de problemas que previo más general. En este procedimiento, tienen estructura especial. (******) la matriz que controla la convergencia se El método en si es bastante sencillo. cambia de F(xk) a HF(xk) para alguna H. Si Supongamos que hay un subespacio N de HF(xk) tiene todos sus valores propios E n en el que se conoce la inversa del próximos a ala unidad, entonces cabe esperar hessiano de la función objetivo f. Entonces que el método cuasi Newton in memoria en el caso cuadrático, el mínimo de f sobre funcione muy bien, pues tiene un método de cualquier variedad lineal paralela a N (es las ventajas de ser un método del gradiente decir cualquier transformación de N) se conjugado y un método de Newton puede hallar en un solo paso. Para minimizar modificado bien condicionado. f en todo el espacio que comienza en El condicionamiento previo se puede escribir cualquier punto xk, se podría minimizar f en en el algoritmo básico con sólo sustituir Hk la variedad lineal paralela a N que contiene a en la fórmula de actualización BFGS por H, xk, para obtener zk, y a partir de ahí dar un en lugar de I, y sustituyendo I por H en el paso del descenso de mayor pendiente. Este paso 1. Así, (52) se convierte en procedimiento se ilustra en la figura. T T Hqk p k + pk qk H H k +1 = H − pkT qk ⎛ q T Hq ⎞ p p T + ⎜1 + k T k ⎟ kT k , (56) ⎜ pk qk ⎟⎠ pk qk ⎝ y, en consecuencia, también se modifica la versión explícita (53) del gradiente conjugado. El condicionamiento previo también se puede usar junto con una versión del gradiente conjugado parcial de (m+1) ciclos del método cuasi Newton sin memoria. Esto es muy efectivo si se puede hallar una H sencilla (como a veces se puede en problemas con estructura), de modo que todos los valores propios de HF(xk), excepto m, sean iguales a la unidad o estén en m grupos. Para problemas a gran escala, los métodos de este tipo parecen prometedores. Combinación del Descenso de Pendiente y el Método de Newton Angel Sangiacomo C. Como zk es el punto mínimo de f en la variedad lineal paralela a N, el gradiente de zk será ortogonal a N y, por tanto, el paso del gradiente es ortogonal a N. Si f no es cuadrático puede, conociendo el hessiano de f en N, aproximar el punto de f a una variedad lineal paralela a N por un paso del método de Newton. La aplicación del método descrito en sentido geométrico se necesita un método para definir el Mayor subespacio N y para determinar qué información se requiere sobre la inversa del hessiano, a fin de aplicar un paso de Newton F. Ayres H. 126 Capítulo 3 Introducción a la Optimización No Lineal sobre N. Para esto una forma apropiada de ver un subespacio, y utilizar este desarrollo, es en función de un conjunto de vectores que lo generan. Así, si B es una matriz de n×n, formada por n vectores columna, que generan N, se puede expresar N como el conjunto de todos los vectores de la forma Bu, donde u ∈ E m . Para simplificar, supondremos que las columnas de B son linealmente independientes. Para la inversa del hessiano debemos imaginar que se está en un punto xk y se desea hallar el punto mínimo apropiado zk de f respecto al movimiento en N. Así, se busca uk de modo que z k = xk + Bu k minimice apropiadamente f. (Se quiere decir que z k deberá ser la aproximación de Newton al mínimo en este sub espacio.) Se escribe f ( z k ) ≅ f ( xk ) + ∇f ( xk ) Bu k + 12 u kT BT F ( xk ) Bu k , elementos unitarios de la base de E n . Se parte de ∇ 2 f ( xk ) en la forma F12 ⎤ ⎡F F = ⎢ 11 ⎥, ⎣ F21 F22 ⎦ donde F11 es de m × m . Entonces, en este caso, ( BT FB) −1 = F11 , y ⎡ F −1 0⎤ B( BT F ( xk ) B) −1 BT = ⎢ 11 ⎥, ⎢⎣ 0 0⎥⎦ es la inversa de forma explícita de F en N que se requiere. El caso general se puede considerar el que se obtiene mediante división en un sistema coordenado asimétrico. Una vez deducida la aproximación de Newton en N, se puede formalizar los detalles del algoritmo sugerido por la figura anterior. En el punto xk, el punto xk+1 se determina por y se despeja uk para obtener la aproximación Paso 1: Hacer de Newton. Se halla d k = − B( B T F ( xk ) B) −1 B T ∇f ( xk )T . T −1 T T u k = − ( B F ( x k ) B ) B ∇f ( x k ) Paso 2: z k = xk + β k d k , T −1 T T z k = x k − B ( B F ( x k ) B ) B ∇f ( x k ) . donde β k = {β : Mín f ( xk + β d k )} . 0≤ β < ∞ Se observa, por analogía con la fórmula del método de Newton, que la expresión Paso 3: Hacer pk = −∇f ( z k )T . B( BT F ( xk ) B) −1 BT se puede interpretar Paso 4: xk +1 = z k + α k pk , como la inversa de F(xk) restringida al sub donde α k = {α : Mín f ( z k + α pk )} . 0 ≤α < ∞ espacio N. Ejemplo: Supongamos que ⎡I ⎤ B=⎢ ⎥, ⎣0 ⎦ donde I es una matriz de identidad de m × m . Esto corresponde al caso en que N es el sub espacio generado por los primeros m Angel Sangiacomo C. El parámetro βk se introduce en la parte Newton del algoritmo tan sólo para asegurar que se cumplen las condiciones de descenso necesarias para la convergencia global. En general, βk será aproximadamente iguala la unidad. F. Ayres H. 127 Capítulo 4 Introducción a la Optimización No Lineal CAPÍTULO 4 Objetivo: Comprender la teoría de minimización con restricciones y aplicarlos a la solución de problemas simples. MINIMIZACIÓN RESTRICCIONES CON Condiciones para la minimización con restricciones En esta parte final se dedica al estudio de problemas de minimización con restricciones. En este capítulo, se empieza con el método de las condiciones necesarias y suficientes que se satisfacen en puntos solución. Estas condiciones, además de su valor intrínseco para caracterizar soluciones, definen los multiplicadores de Lagrange y cierta matriz hessiana que, considerados juntos, forman la base del desarrollo y el análisis de los algoritmos que se les presenten posteriormente. El método general utilizado en este capítulo para deducir condiciones necesarias y suficientes es una ampliación directa del utilizado en el capítulo 1 para problemas sin restricciones. En el caso de restricciones de igualdad, la región factible es una superficie curva intercalada en En. Las condiciones diferenciales que se satisfacen en un punto optimal se deducen teniendo en cuenta el valor de la función objetivo en curvas de esta superficie que pasan por el punto optimal. Así, los argumentos se desarrollan de manera casi idéntica a los del caso sin restricciones; familias de curvas en la superficie de restricción que sustituyen el artificio anterior de considerar las direcciones factibles. Restricciones Los problemas que se tratan son los del tipo general de programación no lineal de la forma minimizar f(x) sujeto a: h1(x)=0, g1(x)≤0 h2(x)=0, g2(x)≤0 Angel Sangiacomo C. F. Ayres H. 128 Capítulo 4 Introducción a la Optimización No Lineal M M (1) hm(x)=0, gp(x)≤0 x∈ Ω ⊂ En, donde m≤n, y las funciones f, hi, i=1, 2, ..., m y gj, j=1, 2, ..., p son continuas, y en general, se supone que tiene segundas derivadas parciales continuas. Por simplicidad notacional, se introducen las funciones con valores vectoriales h = (h1, h2 , ..., hm ) y g = ( g1 , g 2 , ..., g p ) se vuelve a escribir (1) como minimizar f (x) sujeto a: h(x)=0, g(x)≤0 (2) x∈Ω Las restricciones h(x)=0, g(x)≤0 se denominan restricciones funcionales en tanto que la restricción x∈Ω es una restricción de conjunto. Al igual que la mayoría de los casos que Ω es todo el espacio En o que la solución de (2) está en el interior de Ω. Un punto x∈Ω que cumple todas las restricciones se denomina factible. Un concepto fundamental que proporciona una mejor comprensión, además de simplificar el desarrollo teórico necesario, es el de restricción activa. Una Angel Sangiacomo C. restricción de desigualdad gi(x)≤0 se dice que es activa en un punto factible. Si gi(x)=0, y es inactiva en x si gi(x)<0. Adoptaremos la convención de considerar que cualquier restricción de igualdad hi(x)=0 es activa en cualquier punto factible. Las restricciones activas en un punto factible x restringen el dominio de factibilidad en las proximidades de x, mientras que las otras restricciones, las inactivas, no ejercen influencia en las proximidades de x. Por tanto al analizar las propiedades de un punto mínimo local, es evidente que se puede concentrar la atención en las restricciones activas. Esto lo veremos en la figura 1, donde se evidencian que las propiedades locales que satisfacen la solución x* no dependen de las restricciones inactivas. Figura 1. F. Ayres H. 129 Capítulo 4 El Plano Tangente Introducción a la Optimización No Lineal x′(t ) = dx(t ) , y es doblemente dt Un conjunto de restricciones de diferenciable si existe x’’(t). Se igualdad en En dice que una curva x(t) pasa por h1 ( x) = 0 el punto x* si x*=x(t*) para algún h2 ( x) = 0 t*∈[a,b]. La derivada de la curva (3) en x* está lógicamente definida M por x’(t*), que es un vector en En. hm ( x) = 0 Considérese ahora todas las define un subconjunto de En, que curvas diferenciables en S que se consideran mejor tratándolos pasan por un punto x*. El plano como una hipersuperficie. Si las tangente en x* se define como el restricciones son regulares en conjunto de derivadas en x* de todas partes, de acuerdo con lo todas estas curvas diferenciables. es un que se expone más adelante, esta El plano tangente n hipersuperficie tiene dimensión subespacio de E . n-m. Si como se supone en esta Para las superficies definidas por sección, las funciones hi, i=1, 2, un conjunto de relaciones de …, m pertenecen a C1, la super- restricciones como (3), el ficie definida por ella se problema de obtener una representación explícita para el denomina uniforme. Asociado a un punto de una plano tangente es un problema superficie uniforme está el plano fundamental que se estudia a tangente en ese punto, término continuación. Idealmente, sería que en dos o tres dimensiones deseable expresar este plano tiene un significado evidente. tangente desde el punto de vista Para formalizar la noción general, de las derivadas de funciones hi se comienza definiendo curvas en que definen la superficie. Se una superficie. Una curva en una introduce el subespacio M = { y : ∇h( x*) y = 0 } superficie S es una familia de puntos x(t)∈S continuamente y se investiga en que condiciones parametrizadas por t para a≤t≤b. M es igual al plano tangente en La curva es diferenciable si existe x*. El concepto clave para este propósito es el de punto regular. Angel Sangiacomo C. F. Ayres H. 130 Capítulo 4 Introducción a la Optimización No Lineal dependiendo de los gradientes de las funciones de restricción. Teorema En un punto regular x* de la superficie S definida por h(x)=0 el plano tangente es igual a M = { y : ∇h( x*) y = 0 } Prueba: Sea T el Plano tangente en x*. Es evidente que T ⊂ M , sea x* regular o no, para cualquier curva x(t ) que pase por x* en t = t * con derivada x′(t ) tal que ∇h(x*)x’(t)≠0 no este en S. Para demostrar que M ⊂ T , hay que demostrar que si y∈M, entonces hay una curva en S que pasa por x* con derivada y. Para construir esa curva se consideran las ecuaciones Figura 2. Definición Un punto x* que satisface la restricción h(x*)=0 se denomina punto regular de la restricción si los vectores gradientes ∇h1(x*), ∇h2(x*), …, ∇hm(x*) son linealmente independientes. En los puntos regulares se puede caracterizar el plano tangente Angel Sangiacomo C. h( x * +ty + ∇h( x*)u (t )) = 0 , (4) donde para t fijo se toma u(t)∈Em como la incógnita. Este es un sistema no lineal de m ecuaciones y m incógnitas parametrizado continuamente por t. En t=0 hay una solución u (0) = 0 . La matriz Jacobiana del sistema respecto a u en t=0 es la matriz de m × m ∇h(x*)∇h(x*)T, F. Ayres H. 131 Capítulo 4 que no es singular, pues ∇h(x*) es de rango completo si x* es un punto regular. Así, por el teorema de la función implícita hay una solución continuamente diferenciable u(t) en alguna región − a ≤ t ≤ a . La curva x(t)=x*+ty+∇h(x*)u(t) es así, por construcción, una curva en S. Diferenciando el sistema (4) respecto a t en t=0, e igualando a cero para tener un punto critico se obtiene Introducción a la Optimización No Lineal Ejemplo: Sea h( x, y ) = x en E2. Entonces, h( x, y ) = 0 genera el eje y y todo punto en ese eje es regular. x = 0, ∇h( x, y) = (1, 0) , y v∈M, v=y es ortogonal a ∇h(x,y)=(1,0). Si por otra parte, se hace h(x,y)=x2, de nuevo S es el eje y puesto que ∇h(x,y)=(2x,0), es paralelo al anterior ∇h(x,y)=(1,0), d pero ningún punto del eje es 0 = h( x(t )) dt regular. En realidad en este caso t =0 2 T = ∇h( x*) y + ∇h( x*)∇h( x*) u ′(t ) M=E , en tanto que el plano . tangente es el eje y . Por definición de y, se tiene ∇h( x*) y = 0 y, de nuevo, como Necesarias de ∇h( x*)∇h( x*)T es no singular, se Condiciones concluye que u′(t ) = 0 . Por tanto, Primer Orden (Restricciones de Igualdad) x′(t ) = y + ∇h( x*)u′(t ) , y la curva construida tienen La deducción de condiciones necesarias y suficientes para que derivada y en x*. ♥ un punto sea punto mínimo local Es importante reconocer que la sujeto a las restricciones de condición de ser un punto regular igualdad es bastante sencilla, no es una condición sobre la ahora que se conoce la superficie de restricción en si, representación del plano sino sobre su representación en tangente. Se empieza deduciendo función de una h. El plano las condiciones necesarias de tangente se define independien- primer orden. temente de la representación, mientras que M no. Lema Angel Sangiacomo C. F. Ayres H. 132 Capítulo 4 Introducción a la Optimización No Lineal Sea x* un punto regular de las restricciones h(x)=0 y un punto extremo local (mínimo o máximo) de f sujeto a estas restricciones. Entonces todo y∈En que cumpla ∇h(x*)y=0 (5) debe cumplir también ∇f(x*)y=0 (6) Prueba: Sea y un vector cualquiera en el plano tangente en x*, y x(t), una curva uniforme cualquiera en la superficie de restricción que pasa por x* con derivada y en x*; esto es, x(0)=x*, x′(0) = y y h(x(t))=0 para –a≤t≤a, para algún a>0. Como x* es un punto regular. El plano tangente es idéntico al conjunto de las y que satisface ∇h(x*)y=0. Entonces, como x* es un punto extremo local restringido de f, se tiene d f ( x(t )) dt t =0 =0, introducción de los multiplicadores de Lagrange. Ejemplo: (A clara el Lema) Sea f ( x, y ) = x 2 + y 2 Sujeto a: 2 x + 3 y − 2 = 0 . Mín Si calculamos su solución resulta 4 ; 6 ) y además ∇h( x, y ) = ( 2, 3) , x = ( 13 13 Calculando un y tal que ∇h( x, y ) y = 0 tenemos y = (−3, 2)T , y este cumple con el lema anterior o sea ∇f(x*)y=0. Teorema Sea x* un punto extremo local de f sujeto a las restricciones h(x)=0. Supongamos, además, que x* es un punto regular de estas restricciones. Entonces, existe un λ∈Em tal que ∇f(x*)+λT∇h(x*)=0. (7) Prueba: A partir del lema se puede concluir que el valor del programa lineal Máx ∇f(x*)y Sujeto a: ∇h(x*)y=0 es cero. Así, por el teorema de la dualidad de la programación lineal el problema dual es factible. En especial existe un λ∈Em tal que ∇f(x*)+λT∇h(x*)=0. ♦ o, de otra forma, ∇f(x*)y=0. ♣ El Lema anterior expresa que ∇f(x*) es ortogonal al plano tangente. A continuación, se concluye que esto implica que ∇f(x*) es una combinación lineal de los gradientes de h en x*, una Nota: Las condiciones necesarias de primer relación que da lugar a la orden Angel Sangiacomo C. F. Ayres H. 133 Capítulo 4 Introducción a la Optimización No Lineal ∇f(x*)+λT∇h(x*)=0 resolver para cuatro incógnitas x1, x2, x3, λ. La solución resultante es ∇h(x*)=0 proporcionan un total de n + m ecuaciones x1=x2=x3=1 y λ =–2. conjuntamente con las restricciones (en general no lineal) en las n + m variables que comprenden x*, λ. Así, las condiciones necesarias son un conjunto completo, pues, al menos localmente, determinan una solución única. Conviene introducir el Lagrangiano asociado al problema con restricciones, definido como l ( x, λ ) = f ( x*) + λT h( x*) . (8) Entonces, las condiciones necesarias se pueden expresar de la siguiente forma ∇l x ( x , λ ) (9) ∇ lλ ( x , λ ) , (10) la segunda no es más que un nuevo planteamiento de las restricciones. Ejemplos: 1. Consideremos el problema Máx f ( x1 , x2 , x3 ) = x1 x2 + x2 x3 + x1 x3 Sujeto a: x1 + x2 + x3 = 3 Condiciones de Segundo Orden Con un argumento análogo al utilizado para el caso sin restricciones, también se puede deducir las correspondientes condiciones de segundo orden para problemas con restricciones. En esta sección, se supone que f, h∈C2. Condiciones necesarias de segundo orden. Supóngase que x* es un mínimo local de f sujeto a h(x)=0 y que x* es un punto regular de estas restricciones. Entonces, existe un λ∈Em tal que ∇f(x*)+λT∇h(x*)=0. (11) Si se representa por M el plano M = { y : ∇h( x*) y = 0} , tangente entonces la matriz L( x*) = F ( x*) + λT H ( x*) (12) Las condiciones necesarias se es definida positiva en M, esto es, convierten en yT L( x*) y ≥ 0 para todo y∈M. x2 + x3 + λ = 0 x1 + x3 + λ = 0 x1 + x2 + λ = 0 Prueba: Del cálculo elemental, es Estas tres ecuaciones, junto con evidente que para toda curva la de restricción, proporcionan diferenciable dos veces en la cuatro ecuaciones que se pueden superficie de restricción S que Angel Sangiacomo C. F. Ayres H. 134 Capítulo 4 Introducción a la Optimización No Lineal pasa por x* (con x(t)=x*+td; y Condiciones de suficiencia de donde x(0)=x*), resulta segundo orden. Supongamos que hay un punto x* que satisface d2 f ( x(t )) ≥ 0. (13) h(x*)=0, y un λ∈Em tal que 2 dt t =0 ∇f(x*)+λT∇h(x*)=0. (16) Por definición Supongamos también que la d2 f ( x(t )) matriz L(x*)=F(x*)+λTH(x*) es 2 dt t =0 definida positiva en T = x& (0) F ( x*) x& (0) + ∇f ( x*) &x&(0) , ( 14) M = { y : ∇h( x*) y = 0} , esto es, para Además, al diferenciar dos veces y∈M, y≠0, se cumple que la relación λTh(x(t))=0, se obtiene y T L( x*) y > 0 . Entonces, x* es un x& (0)T λT H ( x*) x& (0) + λT ∇h( x*)&x&(0) = 0 mínimo local estricto de f sujeto a (15) h(x)=0. Al sumar (14) y (15), teniendo en Prueba: cuenta (13), se produce el Si x* no es punto mínimo relativo resultado estricto, existe una sucesión de d2 factibles {yk} que f ( x(t )) = x& (0)T L( x*) x& (0) ≥ 0 . puntos 2 dt converge a x* tal que para cada k, t =0 Como x& (0) es arbitrario en M, se f ( yk ) ≤ f ( x*) . Pondremos a cada deduce de inmediato la yk de la forma y k = x * +δ k sk , conclusión. ♦ n sk = 1 , y donde sk ∈ E , El teorema anterior es el primer encuentro con la matriz δ k > 0 para cada k. Es evidente L=F+λTH, que es la matriz de las que δ k → 0 y la sucesión {Sk}, al segundas derivadas parciales, con ser acotada, debe tener una respecto a x, del Lagrangiano l. subsucesión convergente que Esta Matriz es la base de la teoría tiende a algún s*. Hagamos que de algoritmos para problemas con converja a s*. restricciones, y nos la También se tiene h(yk)-h(x*)=0, y encontraremos a menudo dividiendo entre δ k y haciendo posteriormente. k→∞ se observa que ∇h( x*)s* = 0 . Angel Sangiacomo C. F. Ayres H. 135 Capítulo 4 Introducción a la Optimización No Lineal Ahora por el teorema de Taylor, para cada j se tiene 0 = h j ( yk ) = h j ( x*) + δ k ∇h j ( x*)sk + y δ k2 2 skT ∇ 2 h j (a j ) sk (17) 0 ≥ f ( yk ) − f ( x*) = δ k ∇f ( x*) sk + δ k2 2 skT ∇ 2 f (a0 ) sk (18) ⎡0 1 1 ⎤ L = ⎢⎢1 0 1⎥⎥ , ⎢⎣1 1 0⎥⎦ que no es ni definida positiva ni negativa. Sin embargo, en el subespacio M = { y : y1 + y2 + y3 = 0} , se observa que y T Ly = ( y2 + y3 , y1 + y3 , y1 + y2 ) y donde cada aj es un punto en el = y1 ( y2 + y3 ) + y2 ( y1 + y3 ) + y3 ( y1 + y2 ) segmento de reta que une a x* y a pero como y1 + y2 + y3 = 0 se tiene yk. Al multiplicar (17) por λj y − y1 = y2 + y3 , . . . lo que nos sumarlo a (18) se obtiene, resulta teniendo en cuenta (16), T 2 2 2 y Ly = − ( y + y + y ), 1 2 3 2 m ⎤ δk T ⎡ 2 0≥ s k ⎢∇ f (a0 ) + ∑ λi ∇ 2 hi (ai )⎥ s k , y así, L es definida negativas en 2 i =1 ⎣⎢ ⎦⎥ M. Por tanto, la solución que se lo cual es una contradicción halla es, al menos un máximo cuando k → ∞ . ♠ local. Ejemplo: Considere el problema dado por Máx x1 x2 + x2 x3 + x1 x3 Sujeto a : x1 + x2 + x3 = 3 Solución: ya fue resuelto anteriormente y se obtuvo x1 = x2 = x3 = 1 , λ = −2 , que satisfacen las condiciones de primer orden. En este caso, la matriz F + λT H se convierte en Angel Sangiacomo C. Restricciones de desigualdad Se tratarán ahora los problemas de la forma Mín f ( x) Sujeto a : h( x) = 0 g ( x) ≤ 0 (20) Se supone que f y h son como antes y que g es una función p dimensional. Inicialmente, se supone que f, h, g∈C1. Hay varias teorías distintas sobre este problema, basadas en diversas condiciones de F. Ayres H. 136 Capítulo 4 regularidad o calificaciones de restricción, orientadas a la obtención de formulaciones generales definitivas de condiciones necesarias y suficientes. No se puede pretender que todos estos resultados se puedan obtener como extensiones menores de la teoría para problemas que sólo tengan restricciones de igualdad. Sin embargo, hasta ahora estos resultados alternativos relativos a las condiciones necesarias sólo han tenido un interés teórico aislado —pues no han influido en el desarrollo de algoritmos, ni han contribuido a la teoría de algoritmos. Su utilización se ha limitado a problemas de programación a pequeña escala de dos tres variables—. Así pues es preferible centrarse en la sencillez de incorporar desigualdades, en lugar de en las posibles complejidades, no sólo para facilitar la presentación y comprensión, sino también porque éste es el punto de vista que forma la base del resto del trabajo, además de obtener condiciones necesarias. Introducción a la Optimización No Lineal Condiciones primer orden necesarias de Con la siguiente generalización de la definición anterior, se puede establecer un paralelismo con el desarrollo de las condiciones necesarias para las restricciones de igualdad. Definición Sea x* un punto que satisface las restricciones h(x*)=0, g(x*)≤0. (21) y sea J el conjunto de índices j para el cual gj(x*)=0. Entonces, se dice que x* es un punto regular de las restricciones (21) si los vectores gradientes ∇hi(x*), ∇gj(x*), 1≤i≤m, j∈J son linealmente independientes. Se observa que, según la definición de restricción activa dada (gj(x)=0 g es activa), un punto x* es un punto regular si los gradientes de las restricciones son linealmente independientes. O, de otra forma, x* es regular para las restricciones si es regular en el sentido de la definición anterior para restricciones de igualdad aplicadas a las restricciones activas. Condiciones de Kuhn - Tucker Angel Sangiacomo C. F. Ayres H. 137 Capítulo 4 Introducción a la Optimización No Lineal Falta mostrar que μ≥0. Sea x* un punto mínimo relativo Supongamos que μ<0 para algún para el problema k∈J. Sean S y M la superficie y el Mín f ( x) plano tangente, respectivamente, Sujeto a : h( x) = 0 (22) definido por las restantes g ( x) ≤ 0 restricciones activas en x*. Por la y supongamos que x* es un punto hipótesis de regularidad, hay una regular para las restricciones. y tal que y ∈ M y ∇gk(x*)y<0. Entonces existen un vector λ∈Em Sea x(t) una curva en S que pasa y un vector μ∈Ep con μ≥0 tal que por x* (en t=0) con x& (0) = y . ∇f ( x*) + λT ∇h( x*) + μ T ∇g ( x*) = 0 (23) Entonces, Para t≥0 pequeña, x(t) μ T g ( x*) = 0 (24) es factible y Prueba: d f ( x(t )) = ∇f ( x*) y < 0 En primer lugar, como μ≥0 y dt t =0 g(x*)≤0, se observa que (24) es por (23), lo cual contradice la equivalente a la formulación de minimalidad de x*. ♣ que una componente de μ puede ser distinta de cero sólo si la Nota: si a (23) lo multiplicamos por y restricción correspondiente es tenemos la conclusión ∇f ( x*) y + λT ∇h( x*) y + μ T ∇g ( x*) y = 0 activa. ∇f ( x*) y + 0 + μ T ∇g ( x*) y = 0 Como x* es un mínimo relativo en el conjunto de restricciones, pero μ T ∇g ( x*) y > 0 , pues por hipótesis también es un mínimo relativo en auxiliar μ<0 y ∇g k ( x*) y < 0 de donde se el subconjunto de ese conjunto concluye ∇f ( x*) y < 0 . definido igualando las restricciones activas a cero. Así, Ejemplo: para el problema resultante con Consideremos el problema 2 x12 + 2 x1 x2 + 3x22 − 10 x1 − 10 x2 restricciones de igualdad, Mín 2 2 definido en un entorno de x*, hay Sujeto a : x1 + x2 ≤ 5 3x1 + x2 ≤ 6 multiplicadores de Lagrange. Por tanto, se concluye que (23) se Las condiciones necesarias de cumple con μj=0 si gj(x*)≠0 (por primer orden, además de las restricciones, son tanto se cumple también (24)). 4 x1 + 2 x2 − 10 + 2μ1 x1 + 3μ 2 = 0 Angel Sangiacomo C. F. Ayres H. 138 Capítulo 4 Introducción a la Optimización No Lineal 2 x1 + 2 x2 − 10 + 2 μ1 x2 + μ 2 = 0 μ1 ≥ 0 , μ2 ≥ 0 sólo el problema con restricciones de igualdad implicado por las restricciones μ1 ( x12 + x22 − 5) = 0 activas. El plano tangente μ 2 (3 x1 + x2 − 6) = 0 . apropiado para estos problemas Para hallar una solución, se es el plano tangente a las definen varias combinaciones de restricciones activas. restricciones activas y se verifican los signos de los necesarias de multiplicadores de Lagrange Condiciones segundo orden resultantes. las funciones En este problema, se puede Supongamos 2 intentar hacer activas ninguna, g,h∈C y que x* es un punto una o dos restricciones, resultan regular de las restricciones (21). Si x* es un punto mínimo relativo las ecuaciones para el problema (20), entonces 4 x1 + 2 x2 − 10 + 2 μ1 x1 = 0 existe λ∈Em, μ∈Ep, μ≥0 tales que 2 x1 + 2 x2 − 10 + 2 μ1 x2 = 0 se cumplen (23) y (24) y tales x12 + x22 = 5 , que que tienen las soluciones L( x*) = F ( x*) + λT H ( x*) + μ T G ( x*) x1 = 1 , x2 = 2 . μ1=1. (25) 3 x + x = 5 Esto produce 1 2 y, por es semidefinida positiva en el tanto, se satisface la segunda subespacio tangente de las restricción. Así como μ1≥0, se restricciones activas en x*. concluye que esta solución Prueba: satisface las condiciones Si x* es un punto de mínimo relativo en las restricciones (21), necesarias de segundo orden. también es un punto mínimo relativo para el problema con Condiciones de Segundo Orden restricciones activas tomadas Las condiciones de segundo como restricciones de igualdad. orden, necesarias y suficientes, ♠ para problemas con restricciones de desigualdad, se deducen Al igual que en la teoría de la esencialmente teniendo en cuenta minimización sin restricciones, se puede formular una inversa del Angel Sangiacomo C. F. Ayres H. 139 Capítulo 4 teorema de la condición necesaria de segundo orden para obtener un teorema de la condición suficiente de segundo orden. Por analogía con la situación sin restricciones, se puede esperar que hipótesis requerida sea que L(x*) sea definida positiva en el planto tangente M. De hecho, esto es suficiente en la mayoría de las situaciones. Sin embargo, si hay restricciones de desigualdad (esto es, restricciones de desigualdad activas que tengan cero como multiplicador de Lagrange asociado), se debe exigir que L(x*) sea definida positiva en el subespacio mayor que M. Condiciones de suficiencia de segundo orden Sea f, g, h∈C2. Las condiciones suficientes para que un punto x* que satisface (21), sea un punto mínimo relativo estricto del problema (20) es que exista λ∈Em, μ∈Ep, tal que μ≥0 μ T g ( x*) = 0 ∇f ( x*) + λT ∇h( x*) + μ T g ( x*) = 0 y la matriz hessiana L( x*) = F ( x*) + λT H ( x*) + μ T G ( x*) Angel Sangiacomo C. Introducción a la Optimización No Lineal sea definida subespacio positiva en el M ' = { y : ∇h( x*) y = 0, ∇g j ( x*) y = 0 , para toda j ∈ J } , donde J = { j : g j ( x*) = 0, μ j > 0} . Prueba: Como en la demostración del teorema correspondiente para las restricciones de igualdad anterior, supongamos que x* no es un punto mínimo relativo estricto; sea {yk} una sucesión de puntos factibles que converge a x* tal que f(yk)≤f(x*), y escribiremos cada yk en la forma yk=x*+δksk, con sk = 1 , δk>0. Se puede suponer que δk→0 y sk→s*. Se tiene 0≥∇f(x*)s*, y para cada i = 1, L , m , resulta ∇hi(x*)s*=0. Además, para cada restricción gj activa se tiene g j ( yk ) − g j ( x*) ≤ 0 , y por tanto ∇gj(x*)s*≤0. Si ∇gj(x*)s*=0 para toda j∈J, entonces la demostración se desarrolla igual que en la sección de restricciones de igualdad. Si ∇gj(x*)s*<0 para al menos, una j∈J, entonces 0≥∇f(x*)s* T T –λ ∇h(x*)s*–μ ∇g(x*)s*>0, F. Ayres H. 140 Capítulo 4 Introducción a la Optimización No Lineal ♦ primeras derivadas continuas. Supongamos que x* es un punto Se observa, sobre todo, que si regular de las restricciones. todas las restricciones de Demuestre que una condición desigualdad tienen necesaria y suficiente para que x* multiplicadores de Lagrange sea una solución (global) a este correspondientes estrictamente problema es que existan μ ≥0, 1 positivas (sin desigualdades μ ≥0, . . ., μ ≥0 tales que 2 p degeneradas), entonces el f ( x*) = Mín{ f ( x) + μ1 g1 ( x) + L + μ p g p ( x)} conjunto J incluye todas las μi g i ( x) = 0 , para toda i = 1, L , p . desigualdades activas. En este caso, la condición suficiente es que el Lagrangeano sea definido positivo en M, el plano tangente de las restricciones activas. lo cual es una contradicción. Problemas E2 , 1. En restricciones x1 ≥ 0 x2 ≥ 0 considérense las x2 − ( x1 − 1) 2 ≤ 0 Demostrar que el punto x1=1, x2=0 es factible, pero no es un punto regular. 2. Considérese el problema Mín f ( x) Sujetoa : g1 ( x) ≤ 0 g 2 ( x) ≤ 0 M g p ( x) ≤ 0 , donde las funciones f y gi, i = 1, L , p son convexas y tienen Angel Sangiacomo C. F. Ayres H. 141 Capítulo 5 Introducción a la Optimización No Lineal Capítulo 5 Objetivo: Comprender e iniciar la presentación, análisis y comparación de algunos algoritmos diseñados para resolver problemas de minimización con restricciones. M É T O D O S P A R A MINIMIZACIÓN CON RESTRICCIONES Métodos Primales En este capitulo se inicia la presentación, análisis y comparación de algoritmos diseñados para resolver problemas de minimi-zación con restricciones. donde x es de dimensión n, mientras que f, g, y h tienen dimensión 1, p y m, respectivamente. Se supone en toda esta parte que todas las funciones tienen derivadas parciales continuas de orden tres. Geométricamente se considera que el problema consiste en minimizar f en la región de En definida por las restricciones. Por un método primal se entiende un método de búsqueda que opere en el problema original buscando directamente la solución optimal en la región factible. Cada punto en el proceso es factible y el valor de la función objetivo decrece constantemente, Para un problema con n variables y sólo m restricciones de igualdad, los métodos primales operan en el espacio factible que tiene dimensión n-m. Ventajas de los Métodos Los métodos primales tienen tres Primales importantes ventajas que recoSe tratará el tema de resolver el miendan su utilización como problema general de procedimientos generales aplicaprogramación no lineal bles a la mayoría de los probleMín f ( x) mas de programación no lineal. Primera, como cada punto Sujeto a : h( x) = 0 (1) generado en el procedimiento g ( x) ≤ 0 Angel Sangiacomo C. F. Ayres H. 142 Capítulo 5 de búsqueda es factible si el proceso termina antes de alcanzar la solución (como casi siempre impone la práctica en problemas no lineales), el punto en el que se termina es factible. Así, este punto final es factible y probablemente esté cerca de la solución optimal al problema original, por lo que puede representar una solución aceptable al problema práctico originado por el programa no lineal. Una segunda característica atractiva de los métodos primales es que, a menudo, se puede garantizar que si generan una sucesión convergente, el punto límite de esa sucesión debe ser al menos un mínimo restringido local. En otras palabras, las características de convergencia global de estos métodos suelen ser satisfaztorias. Finalmente, una ventaja importante es que la mayoría de los métodos primales no dependen de una estructura especial del problema, como la convexidad, de ahí que estos métodos sean aplicables a problemas generales de programación no lineal. Angel Sangiacomo C. Introducción a la Optimización No Lineal Sin embargo, los métodos primales también tienen inconvenientes importantes. Requieren de fase I para obtener un punto factible inicial, y están llenos, especialmente los con restricciones no lineales, de dificultades computaciones. Algunos métodos pueden no llegar a converger en problemas con restricciones de desigualdad a menos que tomen precauciones muy estudiadas. Para terminar la tasa de convergencia de los métodos primales compiten con las de otros métodos y, en concreto para restricciones lineales, suelen estar entre los más eficientes. Resumiendo, su aplicabilidad general y sencillez sitúa a estos métodos en una posición de gran importancia entre los algoritmos de programación no lineal. Métodos de Direcciones Factibles La idea de los métodos de direcciones factibles es dar pasos en la región factible de la forma xk +1 = xk + α k d k , (2) F. Ayres H. 143 Capítulo 5 donde dk es un vector de dirección y αk es un escalar no negativo. El escalar se elige para minimizar la función objetivo f con la restricción de que el punto xk+1 y el segmento de recta que une a xk y xk+1 sean factibles. Así, para que el proceso de minimización respecto a α sea no trivial, en la región factible debe estar contenido un segmento inicial del rayo xk+αdk, α>0. Esto motiva el uso de direcciones factibles para las direcciones de búsqueda. Recuérdese que un vector xk es una dirección factible (en xk) si existe un α > 0 tal que xk+αdk sea factible para toda α, 0 ≤α ≤α . Un método de dirección factible se puede considerar como extensión natural de los métodos descendentes sin restricciones. Cada paso se compone de la selección de una dirección factible y una búsqueda lineal restringida. Ejemplo: (Método simplificado de Zoutendijk). Una de las primeras propuestas para un método de dirección factible utiliza un subproblema de programación lineal. Consideramos el problema Angel Sangiacomo C. Introducción a la Optimización No Lineal con restricciones de desigualdad lineales Mín f ( x) sujeto a : a1T x ≤ b1 M T am x ≤ bm . (3) Dado un punto factible, xk, sea I el conjunto de índices que representan restricciones activas, es decir, a1 x = b1 para i∈I. Entonces, el vector dirección dk se escoge como solución al programa lineal T Mín ∇f ( x ) d sujeto a : a1T d ≤ 0, n ∑ i =1 i∈I di = 1 donde d=(d1, d2, ..., dn). La última ecuación es una ecuación de normalización que asegura una solución acotada. Los métodos de direcciones factibles tienen dos inconvenientes principales que en la mayoría de los casos hacen que haya que modificarlos. El primer inconveniente es que en problemas generales puede que no existir direcciones factibles. Si, por ejemplo, un problema tiene restricciones de igualdad no lineales, puede darse la situación descrita en la figura xx1, donde F. Ayres H. 144 Capítulo 5 Introducción a la Optimización No Lineal ninguna recta desde xk tiene un segmento factible. Para tales problemas, es necesario flexibilizar el requerimiento de factibilidad permitiendo que los puntos se desvíen ligeramente de la superficie de restricción, o introduciendo el concepto de movimiento en curva, en lugar de en líneas rectas. Figura xx1. Direcciones no factibles El segundo inconveniente es que, en su forma más simple, la mayoría de los métodos de direcciones factible no son globalmente convergentes. Están sujetos a perturbaciones (también llamado zigzagueo) donde la sucesión de puntos generados por el proceso converge a un punto que ni siquiera es un punto mínimo local restringido. Este fenómeno se puede explicar porque la transformación algorítmica no es cerrada. transformaciones A=MD, donde D es una transformación que selecciona una dirección y M es la transformación correspondiente a la minimización restringida en la dirección dada. (Se utiliza la nueva notación M, en lugar de S, pues ahora la búsqueda lineal se restringe a la región factible.) Lamentablemente en los métodos de dirección factible es bastante frecuente el caso de que M y D no sean cerradas. Ejemplo: (M no es cerrada). Consideramos la región mostrada en la figura xx2 junto con la sucesión de puntos factibles {xk } y direcciones factibles {dk}. Se tiene que y xk → x * d k → d * . También, del diagrama dirección de ∇f evidente que y la T , es M ( xk , d k ) = xk +1 → x * Figura xx2 Ejemplo de M no cerrada M ( x*, d *) = y ≠ x * . Así, M no es cerrada en (x*, d*). En general, el algoritmo asociado Métodos de Conjunto Activo a un método de direcciones factibles se puede representar La idea básica de los métodos de como la composición de dos conjunto activo es la división de las restricciones de desigualdad Angel Sangiacomo C. F. Ayres H. 145 Capítulo 5 Introducción a la Optimización No Lineal en dos grupos: las que se van a ∇f ( x) + ∑ λi ∇gi ( x) = 0 i∈ A tratar como activas y las que se g i ( x) = 0, i ∈ A van a tratar como inactivas. Las g i ( x) < 0 i ∉ A . (7) restricciones tratadas como λi ≥ 0 i ∈ A inactivas son esencialmente λi = 0 i ∉ A ignoradas. Consideramos el problema con Las dos primeras líneas de estas condiciones se corresponden restricciones idénticamente con las condicioMín f ( x) (5) nes necesarias del problema con sujeto a : g ( x) ≤ 0 restricciones de igualdad, que para simplificar este análisis obtenidas al requerir que las se toma sólo con restricciones de restricciones activas sean cero. desigualdad. Las siguientes líneas garantizan Como ya veremos, la inclusión que se satisfagan las restricciones de las restricciones de igualdad es activas, y el requerimiento del directa. signo por los multiplicadores de Las condiciones necesarias para Lagrange, garantiza que toda este problema son restricción activa deba ser activa. T ∇f ( x ) + λ ∇ g ( x ) = 0 g ( x) λT ∇g ( x) ≤ 0 = 0 λ ≥ 0 (6) Estas condiciones se pueden expresar de forma más sencilla en función del conjunto de restricciones activas. Denotamos por A el conjunto de índices para las restricciones activas; esto es, A es el conjunto de i tal que gi(x*)=0. Entonces, las condiciones necesarias (6) se convierten en Angel Sangiacomo C. La idea de los métodos de conjunto activo es definir en cada paso, o en cada fase, de un algoritmo un conjunto de restricciones, llamado conjunto de trabajo, que se tratará como el conjunto activo. El conjunto de trabajo se elige como un subconjunto de las restricciones que son realmente activas en el punto actual y, por tanto, dicho punto es factible para el conjunto de trabajo. Entonces, el algoritmo comienza a moverse en la superficie definida por el F. Ayres H. 146 Capítulo 5 conjunto de trabajo de restricciones hacia un punto mejorado. En este nuevo punto puede cambiar el conjunto de trabajo. Entonces, en general, un método de conjunto activo tiene las siguientes componentes: 1. Determinación de un conjunto de trabajo actual que es un subconjunto de las restricciones activas actuales, y 2. movimiento en la superficie, definida por el conjunto de trabajo, hacia un punto mejorado. Hay varios métodos para determinar el movimiento en la superficie definida por el conjunto de trabajo. (Esta superficie se llamará superficie de trabajo.) Introducción a la Optimización No Lineal Consideremos el problema con restricciones Mín f ( x) sujeto a : g ( x) ≤ 0 que para simplificar este análisis se toma sólo con restricciones de desigualdad. Como se verá, las restricciones de igualdad es directa. La condiciones necesarias para este problema son: ∇f ( x) + λT ∇g ( x) = 0 g ( x) ≤ 0 λT ∇g ( x) = 0 . λ ≥ 0 (6) Estas condiciones se puede expresar de forma más sencilla en función del conjunto de restric-ciones activas. Si denotamos por A el conjunto de índices para las restricciones Cambios en el Conjunto de activas; esto es, A es el conjunto Trabajo de i tal que g(x*)=0. Entonces, La idea básica del método del las condiciones necesarias (6) se conjunto activo es la división de convierten en las restricciones de desigualdad ∇f ( x) + ∑ λ i ∇g i ( x) = 0 en dos grupos: las que se van a i∈ A g i ( x) = 0 i ∈ A tratar como activas y la que se (7) g i ( x) < 0 i ∉ A van a tratar como inactivas. Las λ i ≥ 0 i∈ A restricciones tratadas como λ i = 0 i∉ A inactivas son esencialmente ignoradas. Angel Sangiacomo C. F. Ayres H. 147 Capítulo 5 Introducción a la Optimización No Lineal Aquí las dos primeras se corresponden idénticamente con las condiciones necesarias del problema con restricciones de igualdad, obtenidas al requerir que las restricciones activas sean cero. Las siguientes líneas garantiza que se satisfagan las restricciones activas, y el requerimiento del signo por los multiplicadores de Lagrange, garantiza que toda restricciones activa deba ser activa. Cambio Trabajo en el Conjunto de Supongamos que para un conjunto dado W se resuelve el problema con restricciones de igualdad f ( x) Mín sujeto a : g i ( x) = 0, i ∈W produciendo el punto xW (supuesto un mínimo transitorio) que satisface gi(xW)<0, i ∉W . Este punto satisface las condiciones necesarias ∇f ( x ) + entonces el objetivo puede disminuir flexibilizando la restricción i. Esto se debe directamente de la interpretación de sensibilidad de los multiplicadores de Lagrange, pues una pequeña disminución en el valor de la restricción de 0 a − c produciría un cambio en la función objetivo de λic, que es negativo. Así, eliminando la restricción i del conjunto de trabajo, se puede obtener una solución mejorada. El multiplicador de Lagrange de un problema sirve como indicación de las restricciones que deberán eliminarse del conjunto de trabajo. ∑ i∈W λ i ∇g i ( xW ) = 0 . (8) Si λ i ≥ 0 para todo i∈W, el punto xW es una solución local al problema original. Si, por otro lado, existe i∈W tal que λ i < 0 , Angel Sangiacomo C. Figura XX133 g 2 = 0 es restricción que se va eliminar. Teorema del Conjunto Activo Supongamos que para todo subconjunto W de los índices de las restricciones, el problema con restricciones Mín f (x) sujeto a: gi(x)=0, i∈W (9) F. Ayres H. 148 Capítulo 5 está bien definido con una solución única no degenerada (esto es, para toda i∈W, λi≠0). Entonces, la sucesión de puntos generada por la estrategia del conjunto activo básico converge a la solución del problema (6) con restricciones de igualdad. Prueba: Después de hallar la solución correspondiente a un conjunto de trabajo, se reduce el objetivo y, por tanto, no se puede regresar a ese conjunto de trabajo. Como hay sólo un número finito de conjuntos de trabajo, el proceso debe terminar. ♦ Introducción a la Optimización No Lineal cuando el conjunto de trabajo cambia un número infinito de veces. Sin embargo, la experiencia a mostrado que el zigzagueo es muy raro en muchos algoritmos, y en la práctica la estrategia del conjunto activo con algunas mejoras suele ser muy efectiva. Método de Proyección del Gradiente El descenso de mayor pendiente para problema sin restricciones motiva el método que proyecta el gradiente negativo sobre la superficie de trabajo para definir la dirección del movimiento. Aquí La dificultad del procedimiento hacemos una presentación muy anterior es que deben resolverse simplificada basada en una varios problemas con conjunto estrategia pura de conjunto activo. activos incorrectos. Es más, las soluciones a estos problemas intermedios deben, en general ser puntos mínimos globales exactos, para poder determinar el signo correcto de los multiplicadores de Lagrange y asegurar que durante el proceso de descenso siguiente no se encontrará de nuevo la superficie de trabajo actual. Restricciones Lineales Aquí consideraremos el problema de la forma minimizar f (x) sujeto a: a T x ≤ bi , i ∈ I1 a T x = bi , i ∈ I 2 (10) con igualdades y desigualdades lineales. En muchos de estos métodos no se Una solución factible a las puede garantizar la convergencia y, restricciones, si es que existe, se de hecho, están sujetos al zigzagueo puede hallar con la aplicación del Angel Sangiacomo C. F. Ayres H. 149 Capítulo 5 Introducción a la Optimización No Lineal procedimiento de fase I de la programación lineal, de modo que se supondrá que el proceso de descenso se inicia en dicho punto factible. En el punto factible x habrá cierto número q de restricciones activas que satisfagan aTx=bi, y algunas restricciones aTx<bi. En un principio se toma el conjunto de trabajo W(x) como el conjunto de restricciones activas. de rango q<n. El sub espacio tangente M, en el cual debe estar d, es el sub espacio de vectores que satisface Aqd=0. Significando esto que el sub espacio N que consta de los vectores que forman las filas de Aq (esto es, todo los vectores de la forma AqT λ para λ∈Eq) es ortogonal a M. En efecto, cualquier vector se puede expresar como la suma de vectores de estos dos sub espacios complementarios. En resumen, el En el punto factible x se busca un vector gradiente negativo –gk se vector dirección factible d que puede expresar satisfaga ∇f(x)d<0, de modo que el (11) − g k = d k + AqT λk movimiento en la dirección d donde dk∈M y λ∈Eq. Se puede producirá una disminución en la función f. Inicialmente, se despejar λk exigiendo que Aqdk=0. consideran direcciones que Así, Aq d k = − Aq g k − ( Aq AkT )λk = 0 , (12) satisfagan aTd=0, i∈W(x) de modo que todas las restricciones de que lleva a (13) λk = −( Aq AkT ) −1 Aq g k trabajo permanezcan activas. Este requerimiento equivale a exigir que y el vector dirección d esté en el sub d k = −[ I − AkT ( Aq AkT ) −1 Aq ]g k = − Pk g k espacio tangente M definido por el (14) conjunto de trabajo de restricciones. La matriz El vector dirección especial que se (15) Pk = [ I − AkT ( Aq AkT ) −1 Aq ] utilizará es la proyección del se llama matiz de proyección gradiente negativo sobre el sub correspondiente al sub espacio M. espacio. Al actuar sobre cualquier vector se Para calcular esta proyección, definiremos Aq compuesta de filas de restricciones de trabajo. Suponiendo regularidad de las restricciones, como se supondrá siempre, Aq será una matriz de q×n Angel Sangiacomo C. genera la proyección de ese vector sobre M. Es fácil comprobar que si dk≠0, es una dirección de descenso. Como gk+dk es ortogonal a dk, se tiene 2 g kT d k = ( g kT + d kT − d kT )d k = − d k . F. Ayres H. 150 Capítulo 5 Introducción a la Optimización No Lineal Así, si dk, calculada por (14), resalta ser distinta de cero, es una dirección factible de descenso en la superficie de trabajo. A medida que α aumenta desde cero, el punto x+αd permanecerá inicialmente factible y el valor correspondiente de f disminuirá; esto va determinando el tamaño del paso. Se halla la longitud del segmento factible de la recta que surge de x y después se minimiza f sobre este segmento. Si el mínimo se presenta en el extremo, una nueva restricción se convertirá en activa y se añade al conjunto de trabajo. A continuación, se considerará la posibilidad de que el gradiente negativo proyectado sea cero. Presentamos en este caso ∇f ( xk ) + λTk Aq = 0 , (16) y el punto xk satisface la condición necesaria para un mínimo en la superficie de trabajo. Si todas las componentes de λk correspondientes a las desigualdades activas son negativas, entonces este hecho, junto con (16), implica que las condiciones de Kuhn - Tucker para el problema original se satisfacen en xk y el proceso termina. Es este caso, el λk hallado proyectando el gradiente negativo es esencialmente el vector multiplicador de Lagrange para el problema original (excepto Angel Sangiacomo C. que los multiplicadores son valor cero se deben añadir para las restricciones inactivas). Sin embargo, si al menor de una componente de λk es negativa, es posible, flexibilizando la desigualdad correspondiente, moverse en una nueva dirección hacia un punto mejorado. Suponiendo que λjk, la jésima componente de λk es negativa y los índices se disponen de modo que la restricción correspondiente sea la desigualdad aTj x ≤ b j . Se determina el vector de dirección nuevo flexibilizando la j-ésima restricción y proyectando l gradiente negativo sobre el sub espacio determinado por la restantes q-1 restricciones activas. Sea Aq la matriz Aq sin la fila aj. Se tiene − g k = AqT λk (17) − g k = d k AqT λk , (18) donde d k es la proyección de − g k Aq . Inmediatamente utilizando notamos que d ≠ 0 , pues de nos ser así, (18) sería un caso especial de (17) con λjk=0, lo cual es imposible, pues las filas de Aq son linealmente independientes. Por el trabajo anterior se sabe que g kT d k < 0 . Al multiplicar la traspuesta de (17) por d k y usando Aq d k = 0 , se tiene (19) 0 > g kT d k = −λ jk akT d k . F. Ayres H. 151 Capítulo 5 Introducción a la Optimización No Lineal Como λ jk < 0 , se concluye que a kT d k < 0 . Así, el vector d k no sólo es una dirección de descenso, sino que es una dirección factible, pues a kT d k = 0 , i∈W(xk), i ≠ j y a kT d k < 0 . Por tanto, se puede eliminar j de W(xk). En resumen un paso del algoritmo es como sigue: Dado un punto factible x Paso 1: Hallar el sub espacio de restricciones activas M y fórmese Aq, W(x). Paso 2: Calcular P = I − AqT ( Aq AqT ) −1 Aq y d = − P∇f ( x)T . Paso 3: Si d ≠ 0 , hallar α1 y α 2 alcanzado, respectivamente, Máx {α : x + αd , es factible} Mín { f ( x + αd ) : 0 ≤ α ≤ α1 } . Hacer x igual a x + α 2 d y vuélvase a (1). Paso 4: Si d=0, hallar λ = −( Aq AqT ) −1 Aq ∇f ( x)T . a) Si λj≥0, para toda j correspondiente a desigualdades activas, se para; x satisface las condiciones Kuhn – Tucker. b) De no ser así, eliminar de Aq la fila correspondiente a la desigualdad con la componente más negativa de λ [y elimínese la Angel Sangiacomo C. restricción correspondiente de W(x)] y volver al paso 2. No es necesario volver a calcular toda la matriz de proyección en cada punto nuevo. Como el conjunto de restricciones activas en el conjunto de trabajo cambia como máximo en una restricción de cada vez, se puede calcular una matriz de proyección requerida a partir de la anterior con un procedimiento de actualización. Esta es una característica importante del método de proyección del gradiente y reduce en gran medida los cálculos requeridos en cada paso. Ejemplo: Considerar el problema Minimizar x12 + x22 + x32 + x42 − 2 x1 − 3x4 Sujeto a: 2 x1 + x2 + x3 + 4 x4 = 7 x1 + x2 + 2 x3 + x4 = 6 xi ≥ 0 , i=1, 2, 3, 4. Supongamos que dado el punto factible x=(2, 2, 1, 0) se desea hallar la dirección del gradiente negativo proyectado. Las restricciones activas son las dos igualdades y la desigualdad x4≥0. Así, ⎡ 2 1 1 4⎤ Aq = ⎢⎢1 1 2 1 ⎥⎥ , ⎢⎣0 0 0 1 ⎥⎦ (21) y de aquí F. Ayres H. 152 Capítulo 5 Introducción a la Optimización No Lineal ⎡22 Aq AqT = ⎢⎢ 9 ⎢⎣ 4 9 7 1 4⎤ 1 ⎥⎥ . 1 ⎥⎦ Ahora calculamos la inversa, ( Aq AqT ) −1 ⎡ 6 1 ⎢ = ⎢ −5 11 ⎢⎣− 19 −5 6 14 − 19⎤ 14 ⎥⎥ 73 ⎥⎦ Este vector, si es distinto de cero, determina la dirección del paso siguiente. Sin embargo, el vector propiamente dicho no suele ser una dirección factible, pues la superficie puede ser curva, como se ve la figura XX22. y por último ⎡ 1 −3 1 ⎢ 1 ⎢− 3 9 − 3 P= 11 ⎢ 1 − 3 1 ⎢ 0 0 ⎣0 0⎤ 0⎥⎥ . 0⎥ ⎥ 0⎦ (22) El gradiente en el punto x=(2, 2, 1, 0) es g=(2, 4, 2, -3) y de aquí resulta 1 d = − Pg = 11 (−8, 24, − 8, 0) , o normalizado por 118 , d=(-1, 3, -1, 0). Es fácil comprobar que el movimiento es esta dirección no viola las restricciones. Restricciones no Lineales Al ampliar el métodos de proyección del gradiente a problemas de la forma minimizar f (x) sujeto a: h(x)=0 g(x)≤0, (24) la idea básica es que en un punto factible xk se determinen las restricciones activas y se proyecte el gradiente negativo sobre el sub espacio tangente a la superficie determinada por estas restricciones. Angel Sangiacomo C. Figura XX22. Por lo tanto, no siempre se puede avanzar por este gradiente negativo proyectado para obtener el siguiente punto. Lo normal ante este in pase es, esencialmente buscar en una curva de la superficie de restricción, la dirección de la curva está definida por el gradiente negativo proyectado. Un punto nuevo se halla de la siguiente manera: Primero se hace un movimiento a lo largo del gradiente negativo proyectado hacia el punto y. Después se hace un movimiento en dirección perpendicular al plano tangente en el punto original hacia un punto factible próximo sobre la superficie de trabajo, como se ve en la figura Xx22. Una vez hallado este punto, se determina el valor del F. Ayres H. 153 Capítulo 5 objetivo. Esto se repite con varias y hasta que se halla un punto factible que satisfaga uno de los criterios estándar de descenso para la mejora relativa al punto original. Este procedimiento de movimiento tentativo, fuera de la región factible para después regresar, introduce varias dificultades adicionales que requiere para su resolución una serie de interpolaciones y soluciones a ecuaciones no lineales. Una rutina general satisfactoria que implementa la idea de la proyección del gradiente es, por tanto, muy compleja de necesidad. Aquí no se pretende tratar esos detalles, sino simplemente indicar la naturaleza de las dificultades y los recursos básicos para superarlas. Una dificultad se ilustra en la figura XX23. Si después de moverse por el gradiente negativo proyectado hacia un punto y, se intenta regresar a un punto que satisfaga las anteriores restricciones activas, se podrían violar algunas dificultades que se habían satisfecho originalmente. En esta circunstancia se debe utilizar un esquema de interpolación para hallar un punto nuevo y a lo largo del gradiente negativo, de modo que al volver a las restricciones activas no se viole ninguna de las restricciones originales no activas. Hallar una y apropiada, es en alguna medida, un Angel Sangiacomo C. Introducción a la Optimización No Lineal proceso de prueba y error. Finalmente, la tarea de volver a las restricciones activas es un problema no lineal que debe resolverse con una técnica iterativa. Dicha técnica se describirá a continuación, pero en un número finito de iteraciones no se puede alcanzar exactamente la superficie. Así, es típico introducir un margen de tolerancia δ para el error, de forma que durante el procedimiento las restricciones se satisfagan sólo dentro del margen δ. El cálculo de las proyecciones también es más difícil en el caso no lineal. Por conveniencia de notación, agrupamos en h(xk) las desigualdades activas y las igualdades, la matriz de proyección en xk es Pk = I − ∇h( xk )T [∇h( xk )∇h( xk )T ]−1 ∇h( xk ) (25) Figura XX23. En el punto xk, esta matriz se puede actualizar para considerar una restricción más o menos, como en el caso lineal. Sin embargo, al moverse de xk a xk+1, ∇h cambiará y F. Ayres H. 154 Capítulo 5 no se podrá hallar la matriz de proyección nueva a partir de la primitiva, de ahí, que esta matriz debe volver a calcularse en cada paso. La característica nueva más importante del método es el problema de regresar a la región factible desde puntos exteriores de ella. El tipo de técnica iterativa utilizado es común en programación no lineal y se describirá aquí. La idea consiste en volver desde cualquier punto próximo a xk a la superficie de restricción en una dirección ortogonal al plano tangente en xk. Así, desde un punto y se busca un punto de la forma y+∇h(xk)Tα=y* tal que h(y*)=0. Como se muestra en la figura XX24, dicha solución puede no existir, pero, sí existe para y suficientemente cerca de xk . Introducción a la Optimización No Lineal la ecuación se hace lineal en xk, y se obtiene h ( y + h ( x k ) T α ) ≈ h ( y ) + ∇ h ( x k )∇ h ( x k ) T α , (26) donde la aproximación es precisa para α y y − x pequeña. Esto motiva la primera aproximación α1 = −[∇h( xk )∇h( xk )T ]−1 h( y ) (27) y1 = y − ∇h( xk )T [∇h( xk )∇h( xk )T ]−1 h( y ) . (28) Al sustituir y1 en y y repetir sucesivamente el proceso, resulta la sucesión {yj} generada por y j +1 = y j − ∇h( xk )T [∇h( xk )∇h( xk )T ]−1 h( y j ) (29) que iniciando suficientemente cerca de xk y de la superficie de restricción, convergerá a una solución y*. Notando que este proceso requiere las mismas matrices que la operación de proyección. Método de Gradiente Reducido Mirando computacionalmente el método de gradiente reducido, está íntimamente relacionado con el método simplex de la programación lineal en el sentido de que las variables del problema están separadas en un grupo básico y uno Figura XX24. no básico. Desde un punto de vista Para hallar una primera aproxima- teórico, se puede mostrar que el ción adecuada a α, y por tanto a y*, método se comporta de manera Angel Sangiacomo C. F. Ayres H. 155 Capítulo 5 Introducción a la Optimización No Lineal análogo al método de proyección primeras componentes de x, pero, en general esto no es así). En del gradiente. relación con la partición, el El caso de Restricciones Lineales problema original se puede expresar Partimos del problema como minimizar f (x) (61a) minimizar f (y, z) By+Cz=b (61b) sujeto a; Ax=b, x≥0, (60) sujeto a: y≥0, x≥0, (61c) donde x∈En, b∈En, A es de m×n y f donde A=[B, C]. Se puede es una función de C2. Las considerar que z está formado por restricciones se expresan en formato las variables independientes, y y por de la forma estándar de la las variables dependientes, pues si z programación lineal. Para está especificado, (61b) sólo se simplificar la notación, se supone puede resolver despejando y. que se requiere que cada variable Además un cambio pequeño en Δz sea no negativa –si hubiera algunas en el valor original que deje z + Δz libres, el procedimiento (pero no la no negativo, generará después de notación) seria algo más sencillo–. resolver (61b), otra solución Se recurre a la suposición de no factible, pues y se consideró degeneración de que todo conjunto originalmente como estrictamente de m columnas de A es linealmente positiva, por lo que y+Δy será independiente y toda solución también positiva para Δy pequeño. básica a las restricciones tiene m Por tanto, se puede pasar de una variables estrictamente positivas. solución factible a otra Con estas suposiciones cualquier solución factible tendrá, como seleccionando Δz y moviendo z en máximo, n-m variables que tomen la recta z+αΔy, α≥0. En consecuencia y se moverá a lo largo el valor cero. Dado un vector x que satisfaga las de la recta correspondiente a restricciones, se separan las y+αΔy. Si al moverse de esta variables en dos grupos: x=(y, z), manera alguna variable llega a ser donde y tiene dimensión m, y z, cero, se hace activa una nueva n-m. Esta partición se hace de restricción de desigualdad. Si manera que todas las variables de y alguna variable independiente se sean estrictamente positivas (para hace cero, debe seleccionarse una simplificar la notación se señalan nueva dirección Δz. Si una variable las variables básicas como las m dependiente (básica) se hace cero, Angel Sangiacomo C. F. Ayres H. 156 Capítulo 5 Introducción a la Optimización No Lineal la partición debe modificarse. La variable básica con valor cero de declara independiente y una variable independiente estrictamente positiva se hace dependiente. En términos operativos, este intercambio se asociará con una operación de pivote. La idea de método de gradiente reducido consiste en considerar, en cada etapa, el problema sólo en función de las variables independientes. Como el vector de las variables dependientes y se determina con las constantes (61b) del vector de variables independientes z, la función objetivo puede considerarse con función sólo de z. De ahí que se puede realizar una simple modificación del descenso de mayor pendiente que tenga en cuenta las restricciones. El gradiente respecto a las variables independientes z (el gradiente reducido) se halla evaluando el gradiente de f ( B −1b − B −1Cz, z ) . Es igual a r T = ∇ z f ( y, z ) − ∇f ( y, z ) B −1C . (62) Es fácil comprobar que un punto (y, z) satisface las condiciones necesarias de primer orden de optimalidad si, y sólo si, ri = 0 , para todo zi > 0 Angel Sangiacomo C. ri ≥ 0 , para todo zi = 0 . En la forma del conjunto activo del método de gradiente reducido, el vector z se mueve en la dirección del gradiente reducido en la superficie de trabajo. Así, en cada paso se determina una dirección de al forma ⎧− r , i ∉ W ( z ) Δz i = ⎨ i ⎩ 0, i ∈ W ( z ) y se establece un descenso en esta dirección. El conjunto de trabajo aumenta siempre que una nueva variable se hace cero.; si es una nueva variable básica también se elabora una partición nueva. Si se halla un punto donde ri=0 para toda i∉W(z) (que representa un gradiente reducido que se anual en al superficie de trabajo), pero si rj<0 para algún j∈W(z), entonces j se elimina de W(z) como en la estrategia estándar del conjunto activo. Se puede evitar la estrategia del conjunto activo puro alejándose de la restricción activa cuando eso conduzca a una mejora, en lugar de esperar hasta que se halle un mínimo exacto en la superficie de trabajo. De hecho, este tipo de procedimiento suele utilizarse en la práctica. Una versión avanzada moviendo el vector z en la dirección general del gradiente negativo reducido, peor de esta forma las F. Ayres H. 157 Capítulo 5 Introducción a la Optimización No Lineal componentes de z con valor cero se Supongamos que se selecciona harían negativas y se mantendrían y = ( x1 , x2 ) , entonces, en la forma en cero. Los pasos del estándar, las restricciones son x1 + 0 − x3 + 3 x4 = 1 procedimiento son los siguiente: 0 + x2 + 3 x3 − 2 x4 = 5 ⎧− ri , si ri < 0 o zi > 0 ⎩ 0, en otro caso. xi ≥ 0 , i=1, 2, 3, 4. El gradiente en el punto actual es Paso 2: Si Δz =0, se para: el punto g = (2, 4, 2, − 3) . En consecuencia el actual es una solución. gradiente reducido correspondiente De no ser así, hallar (respecto a z=(x3, x4)) se halla -1 Δy=–B CΔz. asignando precio de la manera Paso 3: Hallar α1, α2, α3 que usual. La situación en el punto alcancen, respectivamente, actual se puede resumir por la tabla Paso 1: Δzi = ⎨ máx {α : y + αΔy ≥ 0 } máx {α : z + αΔz ≥ 0 } mín { f ( x + αΔx ) : 0 ≤ α ≤ α1 , 0 ≤ α ≤ α2 } Paso 4: Sea x = x + α 3Δx . Paso 5: Si α3<α1, se vuelve a (1). De no ser así, declárese independiente la variable que se anula en el conjunto dependiente y declárese dependiente una variable estrictamente positiva en el conjunto independiente. Actualícese B y C. variable x1 x2 x3 x4 ⎧ Restricciones ⎨ ⎩ 1 0 −1 3 0 0 1 0 3 −2 5 − 8 −1 2 2 r T Valor actual 1 1 0 Tabla En esta solución, x3 y x4 se incrementarían juntos en razón de ocho a uno. A medida que aumentan, x1 y x2 se obtendrían sin dejar de satisfacer las restricciones. En conjunto, en E4, la dirección implicada de movimiento es d=(5, -22, 8, 1). Ejemplo: consideremos: Queda para el estudiante hacer los 2 2 2 2 Minimizar x1 + x2 + x3 + x4 − 2 x1 − 3x4 detalles computacionales. Sujeto a: 2 x1 + x2 + x3 + 4 x4 = 7 x1 + x2 + 2 x3 + x4 = 6 xi ≥ 0 , i=1, 2, 3, 4. Solución: Angel Sangiacomo C. F. Ayres H. 158 Capítulo 5 Angel Sangiacomo C. Introducción a la Optimización No Lineal F. Ayres H. 159 Apéndice Introducción a la Optimización No Lineal n aii = ∑ a ji , APÉNDICE i = 1..n (I.2) j =1 j ≠i podemos escribir el sistema (I.1) de la forma siguiente: dx = Ax dt A.0. IDENTIFICACIÓN DE PARÁME- donde: TROS EN MODELOS DE COMPAR⎡− a11 TIMENTOS Y FUNCIONES CON⎢a VEXAS EN PROCESOS FARMACOA = ⎢ 21 ⎢ .. LÓGICOS ⎢ ⎣ an1 I. Introducción En los modelos de compartimentos las sustancias u organismos en estudio se suponen repartidas en diferentes compartimentos los cuales no son más que clases de equivalencias definidas a partir de esas sustancias u organismo de tal forma que las transferencias entre tales clases de equivalencias sean proporcionales a la cantidad de unidades en cada compartimento. Llamando xi(t) a la cantidad de material u organismo en el compartimento i en el instante t y aij al coeficiente de proporcionalidad asociado a la transferencia del compartimento j al i el cual siempre es positivo, el balance de la masa (materia u organismos) en cada compartimento se puede escribir de la siguiente forma lineales a12 − a22 .. an 2 (I.3) a1n ⎤ ... a2 n ⎥⎥ , .. .. ⎥ ⎥ ... − ann ⎦ ... (I.4) estas características de la matriz A garantizan que se cumple el llamado balance de masa del sistema, o sea que cualquier instante de tiempo: n ∑ i =1 n xi (t ) = ∑ xi (0) (I.5) i =1 Para cada matriz A está claro que las soluciones del sistema (I.1) están unívocamente determinadas cuando se conozcan sus condiciones iniciales es decir, el vector: ⎡ x1 (t 0 ) ⎤ x0 = ⎢⎢ ... ⎥⎥ ⎢⎣ xn (t 0 )⎥⎦ el cual habitualmente se obtiene de manera experimental. En la práctica los modelos de compartimentos no están aislados del n exterior, por lo que debe introducirse un ⎡ n ⎤ dxi = − ⎢ ∑ a ji ⎥ ⋅ xi + ∑ aij ⋅ x j , i = 1..n ; término de perturbación u, que representa dt ⎢⎣ j =1 ⎥⎦ j =1 un efecto de la entrada de la sustancia (I.1) hacia los compartimentos desde el asumiendo exterior, quedando: A. Sangiacomo C. F. Ayres H. 160 Apéndice Introducción a la Optimización No Lineal dx = Ax + u , dt ⎡ x1 ⎤ x = ⎢⎢ ... ⎥⎥ , ⎢⎣ xn ⎥⎦ ⎡ u1 ⎤ u = ⎢⎢ ... ⎥⎥ ⎢⎣u n ⎥⎦ (I.6) Teniendo en cuenta las perturbaciones el balance de masa en un momento dado t, queda n n i =1 i =1 ∑ xi (t ) = ∑ xi (0)∫0 T ui (r )dr (I.7) además puede demostrarse que si los valores son positivos, las soluciones mantendrán indefinidamente este carácter, lo que unido al balance de masa permite garantizar la estabilidad asintótica de estos modelos. indican si la variable xi es observable (σi=1) o no (σi=0). Una vez demostrado que el sistema es identificable a priori es necesario encontrar efectivamente, cuales valores de los coeficientes aij hacen corresponder las soluciones del modelo con las observaciones prácticas (empíricas). Esta tarea es la llamada identificación a posteriori. Es necesario definir un sentido de proximidad entre las soluciones y las mediciones. Esto puede hacerse de v arias maneras. La forma más evidente es la de minimizar la desviación entre los valores observados y calculados de la manera siguiente: n 2 T II. Identificación de Parámetros en K (aij ) = ∑ σ m ∫ (xm (t ) − xmexp (t ) ) dt = min! 0 Modelos de Compartimentos m =1 Los modelos de compartimentos pueden ser utilizados para determinar los parámetros que describen un sistema, buscando los aij que hacen óptimo el ajuste entre la solución teórica del sistema (I.1) y los datos experimentales. Antes de resolver este problema es necesario conocer si es soluble a priori, o sea, si dada la estructura del sistema, es posible obtener unívocamente los valores de los coeficientes aij de la matriz que determina el sistema. El problema no es trivial ya que existen ejemplos de sistemas en los que no es posible determinar unívocamente los coeficientes. Por otra parte, debe tenerse en cuesta no son observables todos los xi experimentalmente por lo que se puede definir un vector s cuyos componentes σ i A. Sangiacomo C. (II.1) exp donde xm (t) es la curva experimental para la variable m, y σ m es el coeficiente que indica si la curva puede ser observada o no. Esta forma de definir el sentido de proximidad tiene la desventaja de que para cada evaluación de la función K, es necesario resolver el sistema (I.1) proceso este que consume mucho tiempo. Para evitar este problema se puede escoger como función a minimizar: K (aij ) = n ∑ σ m ∫0 m =1 T ⎛ d x m (t ) ⎜ dt ⎝ n −∑ i =1 ⎞ xmexp (t ) ⎟⎟ ⎠ 2 dt = min! (II.2) La cual tiene la ventaja de no ser necesario de resolver el sistema (I.1) pero incluye el calculo numérico de las F. Ayres H. 161 Apéndice Introducción a la Optimización No Lineal derivadas de las funciones xmexp(t), lo que ocupa también tiempo y propende por otra parte, aumentar la importancia del ruido aleatorio que puede haberse introducido en las mediciones, por lo que es recomendable que la utilización de este método sea precedido por un filtrado de las curvas experimentales para evitar este riesgo. Además generalmente las funciones experimentales están dadas en forma tubular, incluyendo pocos puntos, por lo que la aproximación resultante es pobre, por lo que no permite el cálculo de las derivadas con buena exactitud. En ambos casos es necesario encontrar el mínimo de la función K. Este problema no es trivial ya que al no poderse garantizar que K sea convexa, no puede ni siquiera asegurarse que los mínimos locales sean globales, o sea, que la solución posible en el entorno de un punto sea lo mejor posible en todo el espacio. De todas maneras, es necesario primero garantizar el obtener una solución local, y luego saber si esta es global. Teniendo en cuenta la forma de los coeficientes de la matriz A del sistema (I.1), el problema se puede interpretar como un problema de programación no lineal con restricciones lineales. Mín K(aij) sujeto a: n − aii + ∑ a ji = 0, i = 1..n j =1 i≠ j aij≥0, A. Sangiacomo C. i=1..n. Si escribimos la matriz A como un vector 2 del espacio E n parando sus filas una a continuación de la otra a T = ( a11 , a12 , L , a1n , a21 , a22 , L , a1n , L , an1 , an 2 , L , ann ) el problema se puede describir de la siguiente manera Mín K(aij) sujeto a: Ma=0 a≥0. donde M ∈ E n ⎛ −1 ⎜ ⎜0 M =⎜ . ⎜ ⎜0 ⎝ (II.4) 2 0 ... 0 1 0 0⎞ ⎟ 0⎟ . ⎟ ⎟ ... 1 ... ... 0 0 ... − 1⎟⎠ ... 0 ... ... 1 0 ... 1 ... 0 0 − 1 ... 0 ... ... 0 1 ... . . . . . . . . . . . . 0 ... 1 0 0 (II.5) En el modelo a veces se conoce de antemano que algunos aij son iguales a cero, por lo que hay que añadirle nuevas restricciones al problema. En nuestra notación esto se expresa añadiéndole a la matriz M una fila por cada aij=0, esta fila va a tener todos sus componentes iguales a cero salvo el de la posición (n⋅i+j) que será igual a uno. Con eso se obtiene una matriz de (n+k)n2, donde k es cantidad de aij iguales a cero. III. Elección de un problema Especifico de Identificación Esto se refiere que ha manera de ejemplo practico se desarrolla la solución de uno en particular. Farmacocinética (II.3) La Farmacocinética es un de las aplicaciones más conocida de los modelos de compartimentos. La tarea aquí consiste en modelar el proceso de F. Ayres H. 162 Apéndice Introducción a la Optimización No Lineal absorción, degradación y eliminación de un fármaco dado, con el fin de obtener un determinado efecto terapéutico, o sea obtener la dosis optima para alcanzar un determinado efecto terapéutico y no provocar fuertes efectos secundarios. • Tomando una sustancia que se introduce por vía oral se tiene entonces un compartimento que es el ESTÓMAGO {1}, al pasar por difusión a la SANGRE lo distinguimos como el compartimento {2} y finalmente todos los procesos de expulsión del fármaco se agrupan en el compartimento {3} EXPULSIÓN. De manera que se estable el siguiente esquema d compartimentos: medicamento la cual está representado por la dosis inicial. • Otro problema con tratamiento análogo sería el siguiente: Tomando ahora un antibiótico que se introduce por perfusión endovenosa, se tiene entonces los compartimentos SANGRE {1}, LÍQUIDO TISULAR {2} y la EXCRECIÓN {3}, aquí en {2} es donde surte efecto el antibiótico. Veamos el esquema gráfico: Figura 2. El cual sería igual el anterior, visto líneas arriba. Figura 1 Entonces los coeficientes aij serán encontrados del sistema de ecuaciones asociados al esquema de flujo arriba establecido, así: 0 ⎛ x&1 ⎞ ⎛ − a21 ⎜ ⎟ ⎜ ⎜ x& 2 ⎟ = ⎜ a21 − a32 ⎜ x& ⎟ ⎜ 0 a32 ⎝ 3⎠ ⎝ 0 ⎞ ⎛ x1 ⎞ ⎟ ⎜ ⎟ 0 ⎟ ⋅ ⎜ x2 ⎟ ; (III.1) 0 ⎟⎠ ⎜⎝ x3 ⎟⎠ tenemos entonces que los coeficientes a12, a13, a23, a31 y a33 son ceros. Luego usando una dosis conocida x1(0) de medicamento y los valores de concentración del medicamento en sangre x2, que serán medidos oportunamente por extracciones periódicas de sangre se logra determinar los coeficientes aij corres-pondientes al paciente dado, y con esto se optimiza la dotación de A. Sangiacomo C. Obsérvese que un modela más complejo incluye sus interacciones reales y sería: Figura 3 con el correspondiente sistema de ecuaciones diferenciales que lo describe. a12 ⎛ x&1 ⎞ ⎛ − a21 − a31 ⎜ ⎟ ⎜ a21 − a12 − a32 ⎜ x& 2 ⎟ = ⎜ ⎜ x& ⎟ ⎜ a31 a32 ⎝ 3⎠ ⎝ 0 ⎞ ⎛ x1 ⎞ ⎟ ⎜ ⎟ 0 ⎟ ⋅ ⎜ x2 ⎟ 0 ⎟⎠ ⎜⎝ x3 ⎟⎠ (III.2) F. Ayres H. 163 Apéndice Introducción a la Optimización No Lineal n T 2 2 IV. Reducción a un Problema de x (t ) − x exp (t ) = ∑ ∫ (xm (t ) − xmexp (t ) ) dt 0 L2 Programación No Lineal con m =1 Restricciones Lineales en todo caso necesitamos el mínimo de las expresiones dadas y ello nos conduce Retomemos nuestro problema (III.1) de aun problema de Optimización No la sección anterior en estudio Lineal, puesto que son convexas al & 0 0 x a x − menos en una vecindad. ⎞ ⎛ 1⎞ ⎛ 1 ⎞ ⎛ 21 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎜ x& 2 ⎟ = ⎜ a21 − a32 0 ⎟ ⋅ ⎜ x2 ⎟ (IV.1) Para proseguir con esta idea debemos tomar en cuenta que en todo momento se ⎜ x& ⎟ ⎜ 0 a32 0 ⎟⎠ ⎜⎝ x3 ⎟⎠ ⎝ 3⎠ ⎝ habla de puntos experimentales que la solución particular de este sistema unidos forman una curva experimental homogéneo es: observable, esto ya lo indicamos con el uso de σi en el [II] anteriormente. Esto − a 21t ⎛ ⎞ permite trabajar en nuestros cálculos sólo ⎛ x1 ⎞ ⎜ e ⎟ ⎜ ⎟ a t − a t − ⎜ x2 ⎟ = ⎜ ae 21 − ae 32 ⎟ , (IV.2) con los datos experimentales observables y por ende comparables, o sea, para el ⎜ x ⎟ ⎜⎜1 + be − a 21t − ae − a32 t ⎟⎟ ⎝ 3⎠ ⎝ ⎠ último caso de la desviación nos resulta: a32 a 21 n 2 donde a = a − a y b = a − a ; y además T 21 32 21 32 ∑ σ m ⋅ ∫0 xm (t ) − xmexp (t ) dt , m =1 a21≠a32. cual nos evitará muchas Son curvas del tipo exponencial para la complicaciones innecesarias. cada xi, i=1,2,3. La curva formada por la unión de los Para efectos de ajuste a un programa de puntos observados llamada curva optimización, hagamos un funcional observable debe ser simulada con K(aij) tal que con los conceptos anteriores mínimo de error y, este término mínimo se hace n 2 T nos da una idea de la minimización del K (aij ) = ∑ σ m ∫ xm (t ) − xmexp (t ) dt 0 problema, o sea, para cada t∈[0,T] la m =1 distancia entre la curva observable y la ahora tenemos mínimo Mín K(aij), y analítica debe ser mínima. luego tenemos que recordar que en todo Podríamos elegir sólo la distancia simple momento se hace cumplir que los aij ≥0, entre xmexp(t) (la curva experimental además no existen perturbaciones, o sea, observable) y xi(t) hallada por cálculos u=0, pero debe cumplir con por alguna norma definida por ejemplo: n exp aii = a ji , i = 1..n xi (t ) − xi (t ) , ( ) ( ) ∑ j =1 i≠ j o x(t ) − x exp (t ) . Podemos usar la desviación entre los valores observados y los calculados, o sea, la norma L2 de la siguiente manera: A. Sangiacomo C. o sea: n aii − ∑ a ji = 0, i = 1..n j =1 i≠ j F. Ayres H. 164 Apéndice Introducción a la Optimización No Lineal y nos resulta el planteamiento completo Ante todo para resolver este último de la siguiente forma: problema es necesario saber si es soluble a priori. El problema general de Mín K(aij) identificación a priori no ha sido aún sujeto a: resuelto por completo, peor existen varias n condiciones necesarias y algunas neceaii − a ji = 0, i = 1..n sarias y suficientes. j =1 Una de estas características se encuentra i≠ j en nuestra matriz A, para el balance de aij≥0, i=1..n. masa, condiciones que ya fueron dada en y como se ve es un problema de (I.2) y (I.4). Programación No Lineal con Por otra parte debe ser conocido el Restricciones Lineales. número de compartimentos xi que son observables experimentalmente, pues una V. Solubilidad y Método de Gra- condición necesaria importante para diente y Condición de Convexidad nuestro caso es que dado el sistema (I.3) se cumpla, que si α es el número de Solubilidad a priori del problema compartimentos para los cuales ui es Veamos el caso particular en que se idénticamente nulo y el contenido inicial tiene: también lo es, y β el número de compartimentos σi es nulo, entonces para que el sistema sea identificable, a priori, es necesario que al menos el número α⋅β de coeficientes aij sean idénticamente nulos. En este problema que abordamos tenemos α =2 y β=2 y el producto de Figura 4. α⋅β=4 y los ceros son cinco. Para completar esta primera parte Entonces los coeficientes aij serán también debe tenerse en cuenta que debe encontrados del sistema de ecuaciones cumplirse en todo momento la condición diferenciales asociados al esquema de n flujo arriba establecido, así: a − a = 0, i = 1..n ∑ 0 ⎛ x&1 ⎞ ⎛ − a21 ⎜ ⎟ ⎜ ⎜ x& 2 ⎟ = ⎜ a21 − a32 ⎜ x& ⎟ ⎜ 0 a32 ⎝ 3⎠ ⎝ 0 ⎞ ⎛ x1 ⎞ ⎟ ⎜ ⎟ 0 ⎟ ⋅ ⎜ x2 ⎟ 0 ⎟⎠ ⎜⎝ x3 ⎟⎠ el problema inmediato que surge tanto al simular como al controlar un sistema, por modelo de Compartimentos es el de obtener los parámetros del sistema en base al conocimientos del comportamiento del sistema en ciertos casos conocidos. A. Sangiacomo C. ii ∑ j =1 i≠ j aij≥0, ji i=1..n. (V.1) Condiciones Karush - Kuhn - Tucker que son las condiciones de convexidad del problema Mín K(aij) sujeto a: (V.2) F. Ayres H. 165 Apéndice Introducción a la Optimización No Lineal n aii − ∑ a ji = 0, i = 1..n j =1 i≠ j aij≥0, siempre activas), cumplirse que n resulta aii − ∑ a ji = 0, que debe i = 1..n j =1 i≠ j i=1..n. Sabemos que las funciones lineales son aij≥0, i=1..n. (V.5) convexas, o sea, restricciones del que son las restricciones del problema. problema. Falta sólo las condiciones sobre el Por ello se concluye la convexidad del Lagrangeano en el método de Karush - problema. Kuhn - Tucker Método de Solución y Funciones ⎛ ⎞ ⎜ ⎟ n convexas ∇K (aij0 ) + ∑ λkij ∇⎜ − aii0 + ∑ aij0 ⎟ = 0 ⎜ ⎟ k =1 j =1 ⎜ ⎟ Una vez demostrado que el sistema es i≠ j ⎝ ⎠ s (V.3) Aquí ∇K (aij0 ) aplica el gradiente para la variable aij, s es el número de restricciones y hay que tener en cuenta las restricciones que son activas en el problema a optimizar, con la suerte que son todas activas por Ma=0, por lo tanto se tiene lo siguiente: aij≥0, entonces ∂ K (aij ) + λk pq = 0 , ∂ a pq queda un sistema de ecuaciones que tiene la siguiente expresión: n 2 ∑σ m ∫ m =1 T 0 (x exp m (t ) − xm (t ) ) ∂∂xa (t ) dt m pq + λk ij = 0 . (V.4) identificable α priori es necesario encontrar efectivamente, cuales valores de los coeficientes aij hacen corresponder las soluciones del modelo en ecuaciones diferenciales con las observaciones prácticas esta tarea es la llamada identificación a posteriori. Toda la idea aquí radica en la construcción de una función convexa, pues si esta es una función convexa tendremos la certeza de que el punto óptimo existe. Ello lo conseguimos con el auxilio del punto IV de arriba. Tomando en cuneta el definido sentido de proximidad, entre las soluciones y las mediciones (datos experimentales). La forma más evidente es minimizar la desviación entre los valores observados y los valores calculados de la manera siguiente: donde las combinaciones posibles n particularmente en este caso, para (p; q) K (a ) = σ T x (t ) − x exp (t ) 2 dt → 0 ∑ ij m ∫0 m m son (2; 1) y (3; 2) y además considerando m =1 la curva observable. (V.6) Par el caso λk ij > 0 por lo dicho Esta forma de definir el sentido de anteriormente, (las restricciones son proximidad tiene la desventaja de cada evaluación de la función K, es necesario ( A. Sangiacomo C. ) F. Ayres H. 166 Apéndice Introducción a la Optimización No Lineal resolver el sistema (I.3) proceso este que consume mucho tiempo. El método Para evitar este problema se puede escoger como función a minimizar Sea f una función con primeras derivadas 2 exp n n parciales continuas en En. Con frecuencia ⎞ T ⎛ dx K (aij ) = ∑ σ m ∫ ⎜ m − ∑ a mi xiexp (t ) ⎟ dt → 0 se necesitará el vector gradiente de f, por ⎟ 0 ⎜ dt m =1 i =1 ⎠ ⎝ lo que se dará una noción simplificadora. la cual tiene la ventaja de no ser necesario resolver el sistema (I.3), pero el El gradiente ∇f (x), de acuerdo con lo incluye el calculo numérico de las establecido, está definido como un vector derivadas de las funciones xiexp(t), lo que fila n-dimensional. Por conveniencia se columna n-dimensional ocupa también tiempo y propende a define T aumentar la importancia del ruido g(x)=∇f (x) . Cuando no hay posibilidad aleatorio que pueda haberse introducido de ambigüedad aveces se suprime el en las mediciones, por lo que es argumento x=(x1, x2, ..., xn) y, por recomendable que la utilización de este ejemplo se T escribe gk en lugar de método sea precedida por un filtrado de g(xk)=∇f (xk) . las curvas experimentales para evitar este El método de descenso de mayor pendiente está definido por el algoritmo riesgo. iterativo (VI.1) xk +1 = xk − α k g k Además, generalmente las funciones experimentales están dadas en forma donde αk es un número no negativo que tabular, incluyendo pocos puntos, por lo minimiza f ( xk − α g k ) o sea resulta de que la aproximación resultante es pobre y ⎧ ⎫ α k = ⎨α : Mín f ( xk − α g k )⎬ . el cálculo de las derivadas permite una ⎩ 0 ≤α ≤ ∞ ⎭ buena exactitud. Exciten algunos algoritmos para dar solución al problema como son el de En ambos casos es necesario encontrar el direcciones conjugadas y el método de mínimo de la función K. Newton. De esta manera es necesario primero garantizar el obtener una solución local, y Método de Newton luego saber si esta es global. VI. Método de Gradiente El método de Newton se basa en que la función f que se minimiza se aproxima localmente por una función cuadrática, y esta función de aproximación se minimiza exactamente. Así cerca de xk se puede aproximar f por la serie de Taylor truncada Uno de los métodos más antiguos y conocido de minimización de una función de varias variables es el método de mayor pendiente (también llamado método de Gradiente). f ( x) ≈ f ( xk ) + ∇f ( xk )( x − xk ) El método es de gran importancia teórica + 12 ( x − xk )T F ( xk )( x − xk ) , (VI.2) es uno de los más sencillos para los que existe un análisis satisfactorio. A. Sangiacomo C. F. Ayres H. 167 Apéndice Introducción a la Optimización No Lineal x& 2 = a21 x1 − a32 x2 + 0 x3 . En donde se han El lado derecho se minimiza en −1 xk +1 = xk − [ F ( xk )] ∇f ( xk ) T , (VI.3) intercambiado las derivadas por y esta ecuación es la forma pura del conveniencia o facilidad.] ∂ x (t ) método de Newton. Haciendo wmij = m , se tienen un ∂ aij Teniendo en cuneta las condiciones de suficiencia de segundo orden para un sistema de ecuaciones diferenciales para punto mínimo, se supone que en un punto ij w : mínimo relativo, x*, la matriz Hessiana m ij d wm ij ij F(x*) es definida positiva. = −amm wm + ∑ amk ⋅ wm + δ mi x j ; dt Entonces se pude argumentar que si se k ≠m tiene segundas derivadas parciales para i ≠ j continuas, F(x) es definida positiva cerca ij d wm ij ij = −amm wm + ∑ amk ⋅ wm − δ mi xm ; de x*, por lo que el método esta bien d t k ≠m definido cerca de la solución. para i=j. (VII.4) donde δmi es la delta de Kronecker, con VII. Cálculo del Gradiente de K condiciones iniciales nula (homogéneas). Para hallar los valores de la matriz A o De (VII.4) para nuestro problema sea identificar los aij que mejor particular que estamos tratando aquí, no aproximan la curva experimental, se da un total de 27 ecuaciones diferenciales calcula el mínimo de K, de las ecuaciones de la forma: (II.1) o (V.6), esto lo conseguimos m=1; ∂ x3 d ∂ x1 ∂ x1 ∂ x2 aplicando el método de gradiente = − a11 + a12 + a13 − x1 d t ∂ a11 ∂ a11 ∂ a11 ∂ a11 (aij ) k +1 = (aij ) k − α k ∇K (aij ) k (VII.1) d dt n ∂ K (aij ) T ∂ xm (t ) exp = 2 ∑σ m ∫ xm (t ) − xm (t ) dt d 0 ∂ aij ∂ aij m =1 dt (VII.2) d Aquí se nos presenta el problema para dt ∂ x (t ) ( calcular m ∂ aij ) , para ese propósito . . . . . . . . . . . usamos el siguiente artificio: n ∂x ∂ xk d ∂ xm = −amm m + ∑ amk d t ∂ aij ∂ aij k ≠ m ∂ aij − ∂ x3 ∂ x1 ∂x ∂ x2 = −a11 1 + a12 + a13 + x2 ∂ a12 ∂ a12 ∂ a12 ∂ a12 ∂ x3 ∂ x2 ∂x ∂ x1 + a13 + x3 = −a11 1 + a12 ∂ a13 ∂ a13 ∂ a13 ∂ a13 ∂ x3 ∂ x1 ∂x ∂ x2 + a13 = −a11 1 + a12 ∂ a21 ∂ a21 ∂ a21 ∂ a21 n ∂ amk ∂ amm xk xm + ∑ ∂ a ∂ aij ij k ≠m d dt d dt ∂ x3 ∂ x1 ∂ x1 ∂ x2 = −a11 + a12 + a13 ∂ a32 ∂ a32 ∂ a32 ∂ a32 ∂ x3 ∂ x2 ∂ x1 ∂ x1 + a13 + a12 = − a11 ∂ a33 ∂ a33 ∂ a33 ∂ a33 m=2; ∂ x3 ∂ x2 ∂ x1 d ∂ x2 = − a22 + a21 + a23 ∂ a11 ∂ a11 d t ∂ a11 ∂ a11 (VII.3) ∂ x3 ∂ x2 ∂x [Es referente a la fila m del sistema (I.1). d ∂ x2 = −a22 + a21 1 + a23 particularmente para (III.1) y para m=2, d t ∂ a12 ∂ a12 ∂ a12 ∂ a12 A. Sangiacomo C. F. Ayres H. 168 Apéndice Introducción a la Optimización No Lineal ∂ x3 ∂ x2 ∂x d ∂ x2 ij d wm = −a22 + a21 1 + a23 ij ij = −amm wm + amk ⋅ wm + δ mi x j ; d t ∂ a13 ∂ a13 ∂ a13 ∂ a13 dt k ≠m ∂ x3 ∂x ∂ x2 d ∂ x2 + a21 1 + a23 = −a22 + x1 para i ≠ j ∂ a21 ∂ a21 d t ∂ a21 ∂ a21 ij d wm ij ij ∂ x3 ∂ x2 ∂ x1 d ∂ x2 = − amm wm + amk ⋅ wm − δ mi xm ; − x2 = −a22 + a21 + a23 d t d t ∂ a22 ∂ a22 ∂ a22 ∂ a22 k ≠m ∑ ∑ . . . . . . . . . . . ∂ x3 ∂ x2 ∂ x1 d ∂ x2 = − a22 + a21 + a23 d t ∂ a33 ∂ a33 ∂ a33 ∂ a33 m=3 ∂ x3 ∂ x2 ∂ x1 d ∂ x3 + a32 = −a33 + a31 d t ∂ a11 ∂ a11 ∂ a11 ∂ a11 . . . . . . . . . . . ∂ x3 ∂ x2 ∂x d ∂ x3 = −a33 + a31 1 + a32 d t ∂ a21 ∂ a21 ∂ a21 ∂ a21 para i = j , Paso 2: Definir la función K (aij ) = n ∑ σ m ∫0 m =1 T (x exp m (t ) − xm (t ) Paso 3: Definir la función )2 dt ∂ K (aij ) ∂ aij Paso 4: Definir la matriz M n× n 2 (a ij ) ⎛ − a0 0 0 ⎞⎟ ⎜ 11 Paso 5: Ingresar M 0 = ⎜ a 021 − a 022 0 ⎟ . . . . . . . . . . . ⎜ ⎟ 0 ⎜ 0 0⎟ a 32 ∂ x3 ∂ x1 ∂ x2 d ∂ x3 ⎝ ⎠ = −a33 + a31 + a32 − x3 d t ∂ a33 ∂ a33 ∂ a33 ∂ a33 Tol. {Valor inicial y la Tolerancia} Nota: Son los valores respectivamente de (VII.5) a21↔a11 y a22↔a32 Paso 6: M Y agrupando nos dan un total de 9 n=M0, n=0 sistemas de ecuaciones diferenciales Paso 7: Repetir hasta cumplir Tol. como por ejemplo (particularmente para a12): d dt d dt d dt ∂ x1 ∂ x1 = − a21 ∂ a12 ∂ a12 ∂ x2 ∂ x1 ∂ x2 − a32 = a21 ∂ a12 ∂ a12 ∂ a12 ∂ x3 ∂ x2 = a32 ∂ a12 ∂ a12 + x2 (VII.6) que al resolver da el valor de los valores ∂ x3 ∂ x1 ∂ x2 , , , del cual sólo ∂ a12 ∂ a12 ∂ a12 ∂ x2 , para comparar. tomamos el de ∂ a12 de VIII. Algoritmo: {Cuerpo del Algoritmo} ∂ K (aij ) Paso 8: Calcular ∂ aij ; {Por Simpson o trapecios} Paso 9: Calcular αn óptimo por ⎧ ⎫ α n = ⎨α : Mín K (aij − α g n )⎬ ⎩ 0 ≤α ≤ ∞ ⎭ Paso 10: Calcular ∂ K (aij ) ; M n +1 = M n − α n ∂ aij Paso 11: n = n + 1; Paso 12: Si M n +1 − M n ≤ Tol entonces ir paso 14; Paso 13: En otro caso Mn=Mn+1 ir al Paso 8; Paso 14: Publicar Mn+1. {Como el valor óptimo del proceso} Paso 1: Definir la función: A. Sangiacomo C. F. Ayres H. 169 Apéndice IX. Programa Delphi Pascal Introducción a la Optimización No Lineal [Un proceso de degradación es proporcional al proceso y ' ∝ y + r , r es constante.] (1) y ' = −ay + b dada una tabla de valores experimentales t 0 1 = 0.5 2 = 0.899796867714381 1 = 1.58787736114947 3 2 = 1.5 2 La idea de lo que debemos hacer para darle solución al problema es: y =0 = 2.00053378903594 = 2.53888223531423 2.5 =2.84098081255924 . . . . . . . . . . . . . 20 =3.99781840028095 . . . . . . . . . . . . . t→∞ y→ 4 Tabla 1. Primero: se plantea el problema de tres ecuaciones diferenciales (VII.5) y resolver por método numérico con las aproximaciones dadas a21 y a32. Segundo: se compara con los datos Solución: experimentales dados pro la muestra del compartimento observable. Tercero: se tiene en cuenta la tolerancia o error con alguna norma entre los datos experimentales y los calculados. Cuarto: de acuerdo al paso tercero se regresa al primero o se para el proceso. Por lo extenso del programa sólo se muestra en el disco compacto donde están todos los programas de este apéndice “parámetros” Figura 1. A.1. Problema de modelación Modelación 1. Se desea calcular el parámetro a y b óptimos de una ecuación diferencial I._[Motivaciones, Conceptos, métoordinaria. dos, recursos] A. Sangiacomo C. F. Ayres H. 170 Apéndice I.1. Motivaciones: Nos motiva como poder dar solución al problema anterior donde se nos dice como hallar la solución del mejor parámetro “a y b” tal que sea óptimo (una idea, es que debe ser el mejor de un conjunto de valores que puede tomar a y b tal que la distancia entre los datos empíricos observables y los calculados sean los mejores u óptimos). I.2. Conceptos: ecuación diferencial de primer orden, parámetro, óptimos, distancia, error y error controlado. Norma, funcional. [Recuerde error y distancia van de la mano, una necesita de la otra y viceversa.] I.3. Métodos: Solución general de una EDO de primer orden por métodos algebraicos ordinarios. Solución de una EDO de primer orden por métodos numéricos. Solución de una EDO de primer orden por métodos de series (Taylor, Picard, coeficientes indeterminados, …). Por otro lado, se debe poner en evidencia la necesidad de optimizar a través de cálculos, convencionales o no, un determinado parámetro. [En nuestro caso necesitamos idear {modelo básico} una forma que relacione los datos empíricos y los calculados de alguna forma apropiada, pero, verificable (ver el punto II y II.5.2).] Introducción a la Optimización No Lineal parámetros “a proporcionalidad]. y b” [parámetro y ' ∝ − y + r → y ' = −ay + b de (2) La solución general presenta otro parámetro llamado de integración, digamos “k” que deben ser tomados en cuanta en el proceso de solución del sistema y = ba + ke − at , (3) parámetros a, b y k. Otra cualidad que no debemos dejar pasar es que empieza de cero o del instante t0=0. II.2. Marco experimental: presenta la tabla 1 que son los valores experimentales (empíricos) tomados del fenómeno. II.3. Relaciones: las relaciones que tenemos es la que están referidas a la solución de una ecuación diferencial por métodos algebraicos. La construcción del modelo básico alternativo, con valores supuestos, ya conocidos de (4). Estos nuevos valores pueden ser manejados muy fácilmente y darnos una idea de consecución de una solución para un caso hipotético (ver III.). II. [Análisis del sistema, marco expe- Métodos de ajuste de curvas por métodos rimental, relaciones, restricciones, estadísticos y otros, cálculo de raíces por métodos directos o numéricos. Se puede estrategias de solución] II.1. Análisis del sistema: Este sistema presenta una ecuación diferencial de primer orden con los A. Sangiacomo C. recurrir a métodos sofisticados como son de optimización [Aurea, Cúbicas, Newton, …], máximos y mínimos, gradiente, direcciones conjugadas, … F. Ayres H. 171 Apéndice Introducción a la Optimización No Lineal II.4. Restricciones: en la modelación se debe de considerar las restricciones que presenta dentro de la tabla 1 y además si es problema real, no hay infinitos, no hay aparentes saltos, el proceso es aparentemente suave. Si es proceso de degradación tiene fin en algún momento [al menos en cantidades considerables]. Tal vez, restricciones de tipo de cálculo, falta de algunos pre experimentos e información adicional sobre el mismo proceso de degradación. Se ve de la tabla que el valor b>0. Por otro lado se tiene la gran escasez de datos experimentales. III.1. Formulación de hipótesis: H0: (H4) El valor óptimo de “a y b” se puede calcular optimizando el funcional h(a, b) de arriba. H1: La solución se hallará por métodos numéricos para cada ai, bi y tendremos una sucesión de valores {y0, y1, ..., yn}. Debe entenderse que los yi para cada tj, j=0, 1, ..., Nt son soluciones de (2) por cualquier método. H2: La solución la conseguiremos haciendo cálculos en un funcional que represente a la distancia (error) entre los datos experimentales y los calculados por el modelo o un submodelo. II.5. Estrategia de solución: H3: El proceso debe construir una II.5.1. Creación de un funcional, este sucesión convergente de puntos {a0, a1, debe tener en cuenta un proceso de a2, ..., an, ...}→a, {b0, b1, b2, ..., bn, mejorar la forma de encontrar los ...}→b, donde a y b son los valores buscados. parámetros a y b h(a, b) = Experii (a, b) − Calci (a, b) (5) o más particular b h(a, b) = ∫ ( Experii (a, b) − Calci (a, b)) 2 dt a (6) t ∈{0, 12 ,1, 32 ,2, 52 ,20} donde y Calci ( a, b) ≡ Calci ( a, b, t ) , o sea, depende de t, [ y = ba + ke − at ]. n III.2. Formulación del modelo básico: Recuerde todos los interesados en resolver un sistema (problema) tienen en su mente alguna idea, una visión o una imagen particular de como podrían hallar un modelo, una solución, de como funciona; esa misma idea, visión, imagen constituye un modelo básico. h( a, b) = ∑ ( Experii (a, b) − Calci (a, b)) 2 i =0 n h( a, b) = ∑ i =0 Para nuestro caso particular nuestro modelo básico es una “ecuación diferencial” y de alguna solución con sus ( Experii (a, b) − Calci (a, b)) . parámetros. (7) La filosofía de hallar un óptimo para este caso cambia un tanto pues, se tiene a la III. [Formulación de hipótesis, For- vista dos parámetros (variables) a y b. mulación del modelo básico, For- Nuestro nuevo problema [submodelo se de mulación del modelo simplificado] la óptica de la optimización de varias variables], A. Sangiacomo C. F. Ayres H. 172 Apéndice Introducción a la Optimización No Lineal podríamos usar un método muy sencillo así como el método coordenado [Usted puede ver otros …] ⎛⎛ a⎞ ⎞ α k ∈{α : Mín h⎜ ⎜⎜ ⎟⎟ − α (Gk )⎟} . ⎟ 0 ≤α < ∞ ⎜ ⎝ b ⎠ k ⎝ ⎠ (11) Y en una figura total se ve así: Se plantea de la siguiente forma: Se traza dos gráficas particulares en dirección de a y después en dirección b. las gráficas generan formas que nos dan la posible certeza de un descenso. esta es en dirección de a, como se nota tiene un mínimo en el intervalo [0.1, 5] Figura 4. Una idea de llegar al óptimo es caminar en cada coordenada y halla ese mínimo, luego en la otra, como se ve el la figura esta es en dirección 5: de b, como se nota tiene un mínimo en el intervalo [-1, 5] Figura 5. Figura 3. ⎛a⎞ ⎛a⎞ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ − α k Gk ; ⎝ b ⎠ k +1 ⎝ b ⎠ k (9) ⎛1 ⎞ ⎛0⎞ donde Gk toma direcciones ⎜⎜ ⎟⎟ o ⎜⎜ ⎟⎟ ⎝0⎠ ⎝1 ⎠ esto es si k es impar o par respectivamente así: ⎛a⎞ ⎛a⎞ ⎛1 ⎞ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ − α k ⎜⎜ ⎟⎟ ⎝ b ⎠ k +1 ⎝ b ⎠ k ⎝ 0 ⎠k impar o ⎛a⎞ ⎛a⎞ ⎛ 0⎞ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ − α k ⎜⎜ ⎟⎟ ⎝ b ⎠ k +1 ⎝ b ⎠ k ⎝1 ⎠ k donde αk se toma del conjunto A. Sangiacomo C. Programando este método en Delphi, en C++, en MAtLab, etcétera. El proceso de solución se vuelve tedioso, pues, para el caso de la tabla 1 se tiene el siguiente resultado: Después de 50 iteraciones empezando del punto inicial (a, b)=(1,5) se tiene por solución (a, b)=(0.59127, 2.12668) y después de 331 (a, b)=(0.48807, 1.96257). (10) III.2.3. par Una alternativa mucho más poderosa es pues de usar método de gradiente: ⎛a⎞ ⎛a⎞ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ − α k Gk . ⎝ b ⎠ k +1 ⎝ b ⎠ k F. Ayres H. (8) 173 Apéndice Introducción a la Optimización No Lineal donde Gk toma direcciones de gradiente o 2.5 . . . . sea: =2.84098081255924 =2.83413082784653 . . . . 20 =3.99781840028095 =4.02087216445654 . . . . . . . . . . . =4.02110396262755 t→∞ y→ 4 Tabla 3. (12) Qué correcciones se pueden hacer o deben hacerse? ⎛ ha (a, b) ⎞ ⎟⎟ Gk = ⎜⎜ ⎝ hb (a, b) ⎠ ⎛ ha (a, b) ⎞ ⎛a⎞ ⎛a⎞ ⎟⎟ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ − α k ⎜⎜ ⎝ b ⎠ k +1 ⎝ b ⎠ k ⎝ hb (a, b) ⎠ k n ha (a, b) = 2∑ [( yi − ba (1 − e − at i )) i =1 ⋅ b2 a (1 − e − at i )(− ba ti e − at i )] n hb (a, b) = 2∑ ( yi − ba (1 − e − at i ))(− a1 (1 − e − at i )) i =1 (12’) donde los valores ti y yi son los valores de tabla 1 y el αk es un elemento del conjunto formado por ⎛⎛ a ⎞ ⎛ h ( a, b ) ⎞ ⎞ ⎟⎟ ⎟ } . α k ∈ {α : Mín h⎜ ⎜⎜ ⎟⎟ − α ⎜⎜ a 0 ≤α < ∞ ⎜ ⎝ b ⎠ h a b ( , ) ⎝ b ⎠ k ⎟⎠ k ⎝ (13) III.3. Formulación del modelo simplificado: Una vez que el modelizador tiene el modelo básico, la siguiente etapa es el procesamiento y depuración de la información, formalización de conceptos, estructuramiento de técnicas y depuración de datos e información, y de experimentación, es cuando a comenzado la construcción del modelo simplificado, ello es pues que estamos entrando en una mejor comprensión del sistema. [En nuestro modelo se empieza ya por tener la forma clara de cómo se puede encontrar el parámetro a, y b ver el punto III.2.2 y III.2.3 de arriba.] Para la tabla 1, después de 50 iteraciones empezando del punto inicial (a, b)=(1,5) se tiene por solución (a, b) =(0.81380, 2.53724) y después de 782 iteraciones (a, III.3.1. El valor de a y b se calcula por el b)=(0.48806, 1.96254). óptimo de n Una comparación de la tabla 1, directa 1. h(a, b) = ∑ ( Experii (a, b) − Calci (a, b)) 2 i =0 usando el resultado: n (a, b) = (0.48806, 1.96254) 2. h ( a , b ) = ∑ Experii (a, b) − Calci (a, b) −0.48806 t 1.96254 y= 0.48806 (1 − e ). t yexperim yCalcul 0 =0 =0 1 2 = 0.5 =0.899796867714381 1 (14) =0.870713244962688 =1.58787736114947 =1.55288583989502 3 2 = 1.5 =2.00053378903594 =2.08734359848424 2 =2.53888223531423 =2.50607208133182 A. Sangiacomo C. i =0 b 3. h(a, b) = ∫ ( Experii (a, b) − Calci (a, b)) 2 dt a (15) tal que h(a, b) → mínimo; ello se consigue por [no únicos] método de Gradiente, Newton, Davidon-Fletcher-Powell, Fletcher-Reeves, Polak-Riviere, …: Con la restricción de que se verificará en cada paso que h(a,b)n>h(a,b)n+1. F. Ayres H. 174 Apéndice Introducción a la Optimización No Lineal III.3.2. El valor de a y b se calcula por el óptimo de [caso particular] n h( a, b) = ∑ ( Experii (a, b) − Calci (a, b)) ⎛ ha (a, b) ⎞ ⎛a⎞ ⎛a⎞ ⎟⎟ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ − α k ⎜⎜ ⎝ b ⎠ k +1 ⎝ b ⎠ k ⎝ hb (a, b) ⎠ k De 2 n h(a, b) = ∑ [( yi − yiR − K (a, b))]2 i =0 (16) Pero aquí analizamos sólo la derivada, o (12) i =1 se tiene: n ha (a, b) = −2∑ [( yi − yiR − K ( a, b)) ⎛ ha (a, b) ⎞ ⎟⎟ , en otras palabras sea, Gk = ⎜⎜ i =1 ⎝ hb (a, b) ⎠ ⋅ ∂∂a yiR − K ( a, b) estudiamos las variaciones en dirección n del gradiente, por el criterio de descenso hb ( a, b) = −2∑ [( yi − ( yi − yiR − K (a, b)) de h(a, b) o h(a,b)n>h(a,b)n+1. i =1 ⋅ ∂∂b yiR − K (a, b) , Por los visto en el punto III.2.3, tuvimos a= 0.4880564064215341, b= 1.9625431420593951. ello se tiene comparado en la tabla 3. y= 1.96254 (1 − e −0.48806 t ) . 0.48806 (17) donde yiR − K (a, b) es la solución de (1) por métodos numéricos de Runge - Kutta para un a y b particular del paso ∂ correspondiente; y y R − K (a, b) ∂a i ∂ ∂b yiR − K ( a, b) es la derivada de (1) [para después calcular las componentes del gradiente de h(a, b)], el cual crea dos nuevas ecuaciones diferenciales: ( y ' )'a = (− ay + b)'a ( y ' )'a = − y − a ( y )'a , haciendo u = ( y )'a se tiene: u '= − y − a u (18) y ( y ' )'b = (− ay + b)'b ( y ' )'b = − a ( y )'b +1 , Figura 6. haciendo v = ( y )'b se tiene: v ' = −a v + 1 (19) III.3.3. Se puede usar métodos numéricos o sea, u '= − y − a u para la solución de la ecuación v ' = −a v + 1 . diferencial [Runge-Kutta] el planteamiento podría ser como sigue: Probar que (18) y (19) son ciertas??? A. Sangiacomo C. F. Ayres H. 175 Apéndice Introducción a la Optimización No Lineal ⎛ ha (a, b) ⎞ ⎛a⎞ ⎛a⎞ ⎜ ⎟ ⎜ ⎟ = − α y luego k⎜ ⎜b ⎟ ⎜ ⎟ ⎜ h (a, b) ⎟⎟ Estas se resuelven por Runge Kutta pero ⎝ ⎠ k +1 ⎝ b ⎠ k ⎝ b ⎠k con condiciones iniciales homogéneas. ⎛a⎞ ⎛a⎞ − ⎜⎜ ⎟⎟ < error ir a (8) Paso 6: si ⎜⎜ ⎟⎟ Haga los planteamientos necesarios para resolver ⎝ b ⎠ k +1 ⎝ b ⎠ k por tres métodos diferentes por lo menos. Paso 7: en otro caso k=k+1; ir a (4) ⎛a⎞ Paso 8: publicar ⎜⎜ ⎟⎟ ; ⎝ b ⎠ k +1 Otra forma: Para y ' = −ay + b (1) Para el punto III.2.3. III.2.3. Para el método de gradiente: Algoritmo: Paso 9: Parar. Para el punto III.3.3. III.3.3. Usando métodos numéricos por el método Runge - Kutta para la solución de la ecuación diferencial se sigue: ⎛ ha (a, b) ⎞ ⎛a⎞ ⎛a⎞ ⎟⎟ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ − α k ⎜⎜ b b h ( a , b ) ⎝ ⎠ k +1 ⎝ ⎠ k ⎝ b ⎠k Paso 1: definir h(a, b) n = ∑ ( Experii (a, b) − calci (a, b)) 2 (12) i =0 ⎛ ha (a, b) ⎞ ⎟⎟ ; Paso 2: Definir Gk = ⎜⎜ ⎝ hb (a, b) ⎠ // como la fórmula (12) y (12’) en III.2.3. Paso 3: Entrar a0, b0 y error; //puntos iniciales y tolerancia de cálculo Paso 4: Calcular n ha (a, b) = −2∑ [( yi − yiR − K ( a, b)) i =1 ⋅ ∂∂a yiR − K ( a, b) n hb ( a, b) = −2∑ [( yi − ( yi − yiR − K (a, b)) i =1 n ⋅ ∂∂b yiR − K (a, b) , ha (a, b) = −2∑ [( yi − ba (1 − e − at i )) (17) i =1 ⋅ b a2 (1 − e − at i )( − ba ti e − at i )] n hb (a, b) = −2∑ [( yi − ba (1 − e − at i )) i =1 ( − a1 (1 − e − at i ))] //donde los valores ti y yi son los valores de //tabla 1 o 2 ⎛a⎞ de: Paso 5: Calcular αk y ⎜⎜ ⎟⎟ ⎝ b ⎠ k +1 ⎛⎛ a ⎞ ∂ ∂b yiR − K ( a, b) es la derivada de (1) el cual crea dos nuevas ecuaciones diferenciales: u '= − y − a u v ' = −a v + 1 (18) (19) ⎛ h ( a, b ) ⎞ ⎞ ⎟⎟ ⎟ } α k ∈ {α : Mín h⎜ ⎜⎜ ⎟⎟ − α ⎜⎜ a 0 ≤α < ∞ ⎜ ⎝ b ⎠ h a b ( , ) b ⎝ ⎠ k ⎟⎠ k ⎝ // el α k es un elemento de ese conjunto A. Sangiacomo C. donde yiR − K (a, b) es la solución de (1) por métodos numéricos de Runge - Kutta para un a y b particular del paso ∂ correspondiente; y y R − K (a, b) ∂a i Algoritmo: F. Ayres H. 176 Apéndice Introducción a la Optimización No Lineal Paso 1: Definir h(a, b) n = ∑ ( Experii (a, b) − calci (a, b)) 2 i =0 Paso 2: Entrar a0, b0 y error; Paso 3: Definir por Runge - Kutta yiR − K ( a, b) ; // para las condiciones iniciales del modelo ∂ Paso 4: y: y R − K (a, b) ∂a i ∂ ∂b yiR − K (a, b) // con las condiciones iniciales homogéneas Paso 5: Calcular n ha (a, b) = −2∑ [( yi − i =1 yiR − K ( a, b)) ⋅ ∂∂a yiR − K ( a, b) n hb (a, b) = −2∑ [( yi − ( yi − yiR − K ( a, b)) i =1 ⋅ ∂ ∂b yiR − K (a, b) // como la fórmula (18) y (19) en III.3.3. //donde los valores ti y yi son los valores de //tabla 1 ⎛a⎞ de: Paso 6: Calcular αk y ⎜⎜ ⎟⎟ ⎝ b ⎠ k +1 ⎛⎛ a ⎞ ⎛ h ( a, b ) ⎞ ⎞ ⎟⎟ ⎟ } α k ∈ {α : Mín h⎜ ⎜⎜ ⎟⎟ − α ⎜⎜ a 0 ≤α < ∞ ⎜ ⎝ b ⎠ h a b ( , ) ⎝ b ⎠ k ⎟⎠ k ⎝ // el αk es un elemento de este conjunto ⎛ ha (a, b) ⎞ ⎛a⎞ ⎛a⎞ ⎟⎟ = ⎜⎜ ⎟⎟ − α k ⎜⎜ y luego ⎜⎜ ⎟⎟ ⎝ b ⎠ k +1 ⎝ b ⎠ k ⎝ hb (a, b) ⎠ k ⎛a⎞ ⎛a⎞ − ⎜⎜ ⎟⎟ < error ir a (9) Paso 7: si ⎜⎜ ⎟⎟ ⎝ b ⎠ k +1 ⎝ b ⎠ k Paso 8: en otro caso k=k+1; ir a (5) ⎛a⎞ Paso 9: publicar ⎜⎜ ⎟⎟ ; ⎝ b ⎠ k +1 Paso 10: Parar. Para la tabla 1 para un error=1e-9 después de 552 iteraciones a = 0.488056507067734 b = 1.96254330904985 h(a, b)= 0.01072963473359 t=0.0; y= 0 t=0.5; y= 0.870715442451957 t=1.0; y= 1.55289095044864 t=1.5; y= 2.08735192474818 t=2.0; y= 2.50608365829879 t=2.5; y= 2.83414552457834 t 0 1 2 3 2 y calculada =0 = 0.5=0.88479686771438 =0.870715442451957 1 =1.57387736114947 =1.55289095044864 1 = 1.5 =2.11053378903594 =2.08735192474818 =2.52848223531423 =2.50608365829879 2 =2.85398081255924 =2.83414552457834 2.5 . . . . . . . . . . . 20 =3.99981840028095 . . . . . . . . . . . t→∞ y→ 4 Otro: Usando el algoritmo de Davidon Fletcher Powell, considerando sólo los datos del intervalo [0, 2.5] se tiene: a= 0.4880564063674041 b= 1.9625431419652620 f ( ... ) = 0.0107296347335802 en 776 Iteraciones Reemplazando en y = ba (1 − e − at ) se tiene: 652620 y = 10..9625431419 (1 − e −0.4880564063 674041t ) 4880564063 674041 Usando el algoritmo para el punto III.3.3. t para la tabla 3 se tiene: 0 A. Sangiacomo C. y =0 y =0 y calculada =0 F. Ayres H. 177 Apéndice Introducción a la Optimización No Lineal =0.884796867714381 =0.870715389420805 2 12 ” 33.135.5 24.64 73.89 26.12 =1.57387736114947 =1.5528908902021 2” 35 122.5 26.12 100.00 0.00 =2.11053378903594 =2.08735188574712 =2.52848223531423 2 =2.85398081255924 2.5 . . . . . . . . . . . =3.99981840028095 20 . . . . . . . . . . . t→∞ y→ 4 =2.50608365701686 1 2 = 0.5 1 3 2 = 1.5 =2.83414556935884 =4.02090819141947 Tabla A.1. Solución: Se busca un parámetro β tal que ⎛ d F =⎜ ⎜d ⎝ máx β ⎞ ⎟ , sea óptimo. ⎟ ⎠ Considerando el intervalo aumentado A.2.1. DESCRIPCIÓN DEL MÉTODO [0, 2.5] y el punto t=20 se tiene: Leyenda: A: Alimentación continua al a= 0.4924193411800212 b= 1.9691081758046109 h( ... ) = 0.0107482956260861 en 368 Iteraciones molino R: Alimentación continua más descarga D: Descarga del molino O: Overflow (recuperación de mineral) U: Underflow (retorno a remolienda) A.2. Figura A.a. PROBLEMA DE APLICACIÓN PRÁCTICA PARA LA SOLUCIÓN REAL Y DIRECTA EN LA Modelo matemático de ingeniería para la distribución de bolas en el interior del MOLIENDA DE MINERALES Molino. En el análisis de la distribución de las β ⎛ d ⎞ ⎜ ⎟ bolas de acero en el interior del molino F = ⎜ ⎟ ⎝ d máx ⎠ recargado con bolas de 3.5 pulgadas; se pide hallar un β tal que sea óptimo en el (*) modelo matemático dado por ingeniería ⎛ d F =⎜ ⎜d ⎝ máx donde: F → % pasante de bolas. d → diámetro de bolas. d máx → diámetro máximo de bolas. β → constante. (Es por determinar, debe ser la óptima) β ⎞ ⎟ , ⎟ ⎠ que Lo que se pide es determinar el parámetro "β" óptimo que nos permita el dicho modelo aproxime los datos mejor ajuste a los datos experimentales calculados a los datos experimentales de la tabla A.1. recogidos en la tabla dada a continuación: El problema en sí, es el de tener donde actuar con la matemática numérica, o sea, % % estamos hablando de algún método capaz Tamaño d Acumulado Acumulado Peso % peso de ajustar los datos de la fórmula (*) a los (-) (+) 1” 7 945.5 5.91 5.91 94.09 resultados experimentales. 32 metalúrgica, 3” 58 283.5 A. Sangiacomo C. 43.34 para 49.25 50.75 F. Ayres H. 178 Apéndice Introducción a la Optimización No Lineal Usamos el xk +1 = xk − método de Newton: A.2.2. Modelo Matemático y f ' ( xk ) alternativas , modificado para f ' ' ( xk ) El modelo potencial F pasante de bolas hallar mínimos o máximos, la alteramos es eficiente para calcular los valores de la así, pues, si la función tiene un mínimo, tabla A.1 columna 4 pero siempre y éste es una raíz para la función derivada cuando se conozca "β" óptimo. f ’, como se muestra en la figura: Usando las ideas del punto anteriores de (A.1.1.) debemos construir una función Nota: En este caso g=f ’. convexa que podamos manipular: 4 K ( β ) = ∑ expi − F → 0 ; i =1 K ( β ) = exp− F K (β ) = ∫ d máx d mín 2 → 0, (exp− F )2dd ⎛ → 0 ⎞ β se recuerda que F es. F = ⎜ d ⎟ . ⎜d ⎟ ⎝ máx ⎠ En otras palabras buscaremos un mínimo La última integral es la norma en media que corresponde a la raíz de g=f ’. pero al cuadrado. Se pueden construir otros modelos pero Una manera (no única) de construir una no es ese el objetivo aquí. función convexa es usando una norma; y con la idea de que tienda a cero; por A.2.3. Elección de un Modelo y ejemplo: Figura A.b. a) a - b ⎯⎯⎯→ 0 , valor absoluto. b) a - b ⎯⎯⎯→ 0 , módulo. c) a →b a →b d máx ∫d mín ( a - b )2 dd ⎯a⎯ ⎯→ 0 , en →b media. entre otras. Aquí dmáx, diámetros máximo respectivamente y a y funciones. Podría ser la Expi y F la pasante. dmín son los y mínimo b son dos experimental Solución A.2.3.1. Elección de una funcional Elegiremos la funcional: K (β ) = ∫ d máx d mín (expi − F )2dd → 0 . Para su resolución tendremos que aplicar el método de Newton indicado arriba para hallar máximos o mínimos, y de K(β) calculamos su punto mínimo, que se convierte en una raíz de su derivada K’(β). A.2.3.2. Solución A. Sangiacomo C. F. Ayres H. 179 Apéndice Introducción a la Optimización No Lineal Ahora estamos expeditos a aplicar el método de Newton, sólo calculando la primera y segunda derivada de K(β)o sea: K ' (β n ) β n +1 = β n − (**). K ' ' (β n ) El uso de este método permite el autoregulado o auto-ajuste en el transcurso de los cálculos iterativos para hallar el β óptimo. Aquí K ' ( β ) = −2 d máx ∫d mín (expi − F ) dF dd dβ y ⎧ ⎡ ⎪ d máx K ' ' ( β ) = ⎨2⎢∫ d ⎪⎩ ⎢⎣ mín A.2.4.1.2. Ejecución (corridas) I) Cálculos para hallar βn con uso del Método de integración de trapecios y respectiva corrida: Iniciamos con β0= 6.12 y una tolerancia Tol = 0.000000001 N# Integral K’(β) Integral K’’(β) Beta = β 1 0.0125325743 -0.1475974382 -0.0508184346 -0.0150512504 -0.0030195396 -0.0002167481 -0.0000013676 -0.0000000000 -0.0000000000 2 ⎤ ⎡ ⎤ ⎫⎪ 2 d máx ⎛ dF ⎞ d 2F ⎜⎜ ⎟⎟ dd⎥ − 2⎢∫ ( expi − F ) 2 dd⎥ ⎬ 3 ⎥ ⎣⎢ d mín dβ ⎝ dβ ⎠ ⎦⎥ ⎭⎪ ⎦ 4 Para hallar las integrales implicadas en (**) se hace uso de las fórmulas de los Trapecios o de Simpson. K (β ) = ∫ d mín Experimental 0.00000000 Calculada 0.08716931 Error abs = 0.08716931 Experimental 0.26120000 Calculada 0.23061495 Error abs = 0.03058505 Experimental 0.50750000 Calculada 0.51063974 Error abs = 0.00313974 Experimental 0.94090000 Calculada 1.00000000 Error abs = 0.05910000 II) Cálculos para hallar βn con uso del Método de integración de Simpson: A.2.4.1.1. Seudocódigo: d máx 6.1200000000 1.5657348181 2.6539794475 3.5801842540 4.1591440959 4.3443955981 4.3598621486 4.3599609861 4.3599609901 Último Beta = 4.359960990189 A.2.4.1. Algoritmo en computadora ⎛ d ⎞ ⎟ Paso 1: Definir la función F = ⎜ ⎜d ⎟ ⎝ máx ⎠ Paso 2: Definir la función 5 6 7 8 9 0.0027518323 0.1356289149 0.0548673838 0.0259970543 0.0162996768 0.0140139949 0.0138374893 0.0138363681 0.0138363680 Tabla A.2. A.2.4. APLICACIÓN DEL MÉTODO β (expi − F )2dd Paso 3: Definir la función K’(β) Paso 4: Definir la función K’’(β) Paso 5: Ingresar β0, Tol. {Valor inicial y la Tolerancia} Paso 6: β n = β 0 , n = 0 {Cuerpo del algoritmo} Paso 6: Calcular K’(β). {Por Simpson o Trapecios.} Paso 7: Calcular K’’(β). {Por Simpson o Trapecios.} Paso 8: Calcular β n +1 = β n − K ' ( β n ) K ' ' (β n ) Paso 9: n = n + 1 Paso 10: Si β n +1 − β n ≤ Tol entonces A. Sangiacomo C. ir al Paso 12. Paso 11: En otro caso βn=βn+1 ir al Paso 6. Paso 12: Publicar el valor de βn+1 {como el valor óptimo de proceso.} Iniciamos con β0= 6.12 y una tolerancia Tol = 0.000000001 N# Integral K’(β) Integral K’’(β) Beta = β 1 2 3 10 11 0.0121789636 -1.0834798700 ... -0.0000000000 -0.0000000000 0.0017759187 0.9530530193 . .. 0.0141200037 0.0141200036 6.1200000000 0.3990132846 ... 4.2419068661 4.2419068694 Tabla A.3. Beta = 0.3990132846 Último Beta = 4.2419068694 Experimental 0.00000000 Calculada 0.09312263 Error abs = 0.09312263 Experimental 0.26120000 Calculada 0.23995979 Error abs = 0.02124021 Experimental 0.50750000 Calculada 0.52001749 Error abs = 0.01251749 Experimental 0.94090000 Calculada 1.00000000 Error abs = 0.05910000 Se tiene que experimentalmente, en el trabajo de planta sirvió el proceso que se F. Ayres H. 180 Apéndice Introducción a la Optimización No Lineal optimizó usando la integración por modificaciones, para hallar máximos y Simpson. mínimos y comparar sus resultados. A.2.4.1.3. Programas en Pascal: Método de trapecios [ver en el disco compacto] Apéndice B B.0. APLICACIÓN DEL MÉTODO DE NEWTON PARA HALLAR RAÍCES COMPLEJAS EN ECUACIONES B.1. Primer caso de solución En situaciones prácticas (por ejemplo al resolver ecuaciones diferenciales lineales), puede resultar necesario calcular con mayor precisión del valor de las raíces complejas de una ecuación dada f (z)=0. (1) donde z=x+yi, i2=–1. A veces puede utilizarse para este fin un método análogo al de Newton. Supongamos que f (z) es una función analítica en un cierto recinto U de un cero aislado. r=s+ti, (f (r)=0, f ’(r)≠0); r∈U, La idea es seguir los pasos del el cual, por lo general, será complejo. Sea zn∈U un valor aproximado de la raíz, una Algoritmo A.1.4.1. paso a paso. aproximación mejorada de esta raíz: Al estudiante se le deja como tarea, z n +1 = z n + Δ z n efectuar el problema usando los métodos de Cuadratura de Gauss, Método de Utilizando un desarrollo lineal en series Chébyshev y de Romberg. de Taylor en el punto zn, suponiendo De otra parte tratar de modelar para otras f ( z n +1 ) ≈ 0 para (Δ z n )2 , nos resulta: normas y comparar los resultados. También se le sugiere usar los métodos f ( z n +1 ) = f ( z n ) + Δ z n f ′( z n ) = 0 de bisección, de las cuerdas y de las secantes con sus respectivas de donde A. Sangiacomo C. F. Ayres H. 181 Apéndice Introducción a la Optimización No Lineal Δ zn = − f (zn ) f ' (zn ) . dz 1 . = dw f ′( z ) (2) (4) De este modo comenzado con un valor z0, Suponiendo que f ( zn ) < ρ tenemos: podemos paso a paso obtener las aproximaciones subsecuentes de la raíz zn − r = f −1 ( f ( zn )) − f −1( f (r)) utilizando la fórmula f (z ) f (z ) f ( zn ) z n +1 = z n − , (n = 0, 1, 2, … ) f ' ( zn ) =∫ (3) n f (r ) [ ] d −1 f (t ) dt = ∫ 0 dt n dt f ' ( f −1 (t )) (5) donde t es un punto situado por ejemplo Si zn∈U, para n = 1, 2, … y la sucesión sobre el segmento rectilíneo entre los puntos f (r) y f (zn). Como w < ρ , se {zn} es convergente, entonces, el límite deduce que f −1 ( w) < u y de aquí: r = lím z n n →∞ es la raíz de (1). En efecto, pasando al límite (3) cuando n → ∞ , tenemos: f ' ( f −1 ( w)) ≥ m1 . ⎛ f ( zn ) ⎞ ⎟ lím z n +1 = lím ⎜⎜ z n − n→∞ n → ∞⎝ f ' ( z n ) ⎟⎠ o r=r− f (r ) . f ' (r ) En consecuencia f (r)=0. Figura B.a. ♣ Para estimar el error del aproximado zn, supongamos que f ' ( z ) ≥ m1 > 0 , para valor z ∈U . De aquí, en base a (5), obtenemos zn − r ≤ ∫ f ( zn ) 0 dt f ′( f −1 (t )) ≤ f ( zn ) . (6) m1 Para la suficiencia daremos sin demostración las condiciones para w=f (z) existencia de una raíz de la ecuación (1), existe, un recinto U de radio u la cual se deduce del teorema de suficientemente pequeño de la raíz r, Ostrowski. donde la función w=f (z) tiene una B.1.1. Teorema función inversa de valor único Si una función f (z) es analítica en un z = f −1 ( w) recinto cerrado U de radio u de un punto definida en un recinto w < ρ , cuya zo , y se cumplen las siguientes desigualdades: derivada, como sabemos, es Entonces, para la función dada A. Sangiacomo C. F. Ayres H. 182 Apéndice Introducción a la Optimización No Lineal i) 1 ≤ A0 , f ' ( z) ii) f ( z0 ) u ≤ B0 ≤ , f ' ( z0 ) 2 iii) f ' ' ( z ) ≤ C para z − z0 < u , iv) 2 ⋅ A0 ⋅ B0 ⋅ C = μ 0 ≤ 1 Figura B.b. la ecuación f (z)=0 tiene una raíz única r en el dominio z − z0 ≤ u y el proceso de Newton (3) definido por la aproximación inicial z0 converge hacia esta raíz, esto es r = lím z n . n →∞ La velocidad proceso está estimado Tomaremos como primera aproximación z0 = π i . Las sucesivas aproximaciones zn para n=1, 2, … de la raíz r se hallan en forma sucesiva aplicando la fórmula de Newton (3): de convergencia del caracterizada por el r − z n ≤ B0 ⋅ ( 12 ) n −1 ⋅ μ 02 n −1 . z1 = z 0 − f ( z0 ) −π i / 5 =π i − = 2.618 i , f ′( z0 ) − 1.2 f ( z1 ) 0.134 − 0.024 i = 2.618 i − f ′( z1 ) − 1.066 + 0.5 i = 0.112 + 2.648 i , z 2 = z1 − (7) 1. Ejemplo: los cálculos siguientes son de la misma Hallar aproximadamente la raíz más forma y los mostraremos en un la tabla pequeña, en módulo, de la ecuación siguiente: z f ( z) = e z − + 1 = 0 . 5 (8) n 0 1 Solución: 2 Analicemos para ver si tiene raíces reales. 3 4 En este caso 5 1 f ′( z ) = e − . 5 z f(zn) f’(zn) - - 0.000000 -0.628319 i -1.200000 0.000000 i 0.133975 -0.023599 i -1.066025 0.500000 i -0.006928 -0.000104 i -1.184623 0.529529 i -0.000015 -0.000006 i -1.178678 0.529177 i -0.000000 -0.000000 i -1.178665 0.529181 i Tabla B.1. 1 5 zn 0.000000 3.141592 i 0.000000 2.617994 i 0.111525 2.648166 i 0.106684 2.645913 i 0.106675 2.645904 i 0.106675 2.645904 i Como f ′( z ) = 0 cuando z = ln( ) y f (−∞) = +∞ , f (~ z) > 0, A.2. Segundo caso de solución f (+∞) = +∞ Otro método para resolver f (z)=0 es se deduce que la ecuación (8) no tiene reducirla a un sistema de dos ecuaciones ninguna raíz real (ver la figura B.b). y dos variables reales. Estableciendo A. Sangiacomo C. F. Ayres H. 183 Apéndice Introducción a la Optimización No Lineal z = x + yi en f ( z ) = 0 y separando la parte real y la parte imaginaria de la función f (z ) nos resulta: f ( z ) = u ( x, y ) + v ( x, y ) i = 0 donde u y v son funciones reales. De aquí hallamos que f (z)=0 es equivalente al sistema ⎧ u ( x, y ) = 0 . ⎨ ⎩ v ( x, y ) = 0 (1) La resolución de estos sistemas se vio en el capítulo 7. 2. Ejemplo: z f ( z) = e z − + 1 = 0 5 z = x + yi y f ( x + yi) = e x + yi − x = 0.1 y = 2 f( ... ) = 0.636429273007039 ++++++++++ Iteración N# = 1 ++++++++++ Gx = 0.5293973837 Gy = -1.8437019048 x = 0.44556052834223 y = 3.11326429219307 f( ... ) = 0.756884840038915 ++++++++++ Iteración N# = 2 ++++++++++ Gx = 2.237272919 Gy = 2.094399918 x = 0.267017126632621 y = 2.69647306190019 f( ... ) = 0.0544493251712421 . . . . . . . . . . . . . . . ++++++++++ Iteración N# = 6 ++++++++++ Gx = 5.1553E-6 Gy = 7.0611E-7 x = 0.106674919816422 y = 2.64590438008393 f( ... ) = 1.63771486501937E-23 Usted mismo puede verlo en disco compacto !!! Por ejemplo por Davidon Fletcher Powell Si nos dan la ecuación anterior haciendo tenemos: = (exp(x)*cos(y)-x/5+1)^2+(exp(x)*sin(y)-y/5)^2 Gradiente : g( x )= 2*(exp(x)*cos(y)-x/5+1)*(exp(x)*cos(y)1/5)+2*(exp(x)*sin(y)-y/5)*(exp(x)*sin(y)) g( y )= 2*(exp(x)*cos(y)-x/5+1)*(-exp(x)*sin(y)) +2*(exp(x)*sin(y)-y/5)*(exp(x)*cos(y)-1/5) reemplazando x + yi +1 = 0 5 d1 = 1.44001586266464E-6 d2 = -1.10992554681929E-6 alfa = 0.9990909092 p1 = 1.43870675734803E-6 p2 = -1.108916523605E-6 G1 = 1.3654171246079E-8 G2 = -1.01217312361733E-8 x = 0.10667 y = 2.64591 Gx = -0.00000 Gy = 0.00000 f ( ... ) = 5.47709154259137E-12 q1 = 4.80320897872692E-6 q2 = -3.70218843447072E-6 Hk = [ 0.29955 0.00002 ] [ 0.00002 0.29956 ] x = 0.10667492390314 y = 2.64590437705181 f ( ... ) = 4.32649416685698E-17 sabiendo que e x + yi = e x ⋅ (cos( y ) + i sin ( y )) , Por Direcciones conjugadas caso general f( x ) = (exp(x)*cos(y)-x/5+1)^2+(exp(x)*sin(y)-y/5)^2 nos resulta: N# de variables = 2 x +1 5 y v( x, y ) = e x ⋅ sin( y ) − 5 u ( x, y ) = e x ⋅ cos( y ) − y y escribiendo en sistema: x ⎧ x ⎪ u ( x, y ) = e ⋅ cos( y ) − 5 + 1 = 0 . ⎨ y x ⎪ v( x, y ) = e ⋅ sin( y ) − = 0 5 ⎩ f(...)= A. Sangiacomo C. ♦ Gradiente : g( x )= 2*(exp(x)*cos(y)-x/5+1)*(exp(x)*cos(y)1/5)+2*(exp(x)*sin(y)-y/5)*(exp(x)*sin(y)) g( y )= 2*(exp(x)*cos(y)-x/5+1)*(exp(x)*sin(y))+2*(exp(x)*sin(y)-y/5)*(exp(x)*cos(y)-1/5) v0 = [ 1 ; 2 ] Qi = ⎡ 26.7538795511133 -3.04979916820226⎤ ⎢-3.04979916820226 4.77227185862021 ⎥ ⎣ ⎦ G = 11.1232855997493 G = -3.87848983700419 f(x) = 4.4017477; Alfa 0.0380700803025912 1 x = 0.5765356 y = 2.1476544 Gx = 3.3710546 Gy = 2.2306629 f(x) = 1.1359128 ................. 4 x = 0.1066862 y = 2.6459014 Gx = 0.0000378 Gy = 0.0000099 f(x) = 0.0000000 Alfa = 0.30180289269979 F. Ayres H. 184 Apéndice Introducción a la Optimización No Lineal 5 x = 0.1066864 y = 2.6459024 Gx = 0.0000384 Gy = 0.0000066 f(x) = 0.0000000 Alfa = 0.299520928664468 A. Sangiacomo C. F. Ayres H. 185 Bibliografía Introducción a la Optimización No Lineal Bibliografía Armitano, O. Edelman, J. y García, P. (1985). Programación No Lineal. México: Editorial Limusa. ISBN 968-18-1586-6 Ayala, M. y Pardo, M. (1995). Optimización por diseños experimentales. Lima Perú: Editorial A&B S. A. Bazara, M. Sherali, H. y Shetty, C. (1993). Nonlinear Programming theory and Algorithms. Unite State: Editorial John Wiley & Sons, Inc Burden, R. y Faires, J. D. (1985). Análisis Numérico. México: Editorial Grupo Editorial Iberoamérica. ISBN 968-7270-09-8 Cantú, M. (s.f.). La Biblia del DELPHI 5. Madrid: Editorial Anaya Multimedia. ISBN 84-415-0994-8 Chandrupatla, T. y Belengundu, A. (1999). Elementos Finitos en Ingeniería. México: Editorial Prentice Hall ISBN 970-17-0260-3 Chartre, F. (1995). Programación con DELPHI 4. Madrid: Editorial Anaya Multimedia Cornell, G. y Strain. T. (1995). Programación en Delphi. México: Editorial McGraw Hill. ISBN 84-481-0339-4 Craggs, J. (1975). Cálculo de Variaciones. México: Editorial Limusa. Dan Osier, S. y Bastón, S. (1996). Aprendiendo DELPHI 3 en 21 días. México: Editorial Prentice Hall Hipanoamericana S.A. ISBN 0-672-30863-0 Demidovich, B. y Maron, I (1985). Cálculo Numérico Fundamenta. Madrid. España: Editorial Paraninfo. Demidowitsch, B. Maron, I. y Schuwalowa, E. (1980). Métodos Numéricos del Análisis. Madrid: Editorial Paraninfo. ISBN 84-283-1056-4 Duntemann, J. (1989). La Biblia del turbo Pascal. Madrid España: Editorial Anaya Multimedia. ISBN-84-7614-223-4. Edgar, T. y Himmelblau, D. (1988). Optimization of Chemical Processes. Unite Status: Editorial McGraw Hill. Elsgotz, L. (1983). Ecuaciones Diferenciales y Cálculo Variacional. Moscú: Editorial Mir. Etter, D. (1998). Solución de Problemas de Ingeniería con MatLab. México: Editorial Prentice Hall Hispanoamericana. ISBN 0-13-397688-2 ISBN 97017-0111-9 Gelfand, I. y Fomin, S. (1963). Calculus of Variations. New Jersey: Editorial Prentice Hall. Gerald, C. y Whwatley, P. (2000). Análisis Numérico con Aplicaciones. México: Editorial Prentice Hall Pearson Educación. Sexta Edición ISBN 968-444-393-5 Angel Sangiacomo C. F. Ayres H. 186 Bibliografía Introducción a la Optimización No Lineal Heran, D. y Baker, P. (1988). Gráficas por Computadora. México: Editorial Prentice Hall Hispanoamericana. Hiller, F. y Lieberman, G. (1991). Introducción Investigación de Operaciones. México: Editorial McGraw Hill. ISBN P/n 028914-x Himmenlbleau D. y Bischoff, K. (1976). Análisis y simulación de Procesos. España: Editorial Reverté S. A. Iorio, Valeria. (1991). EDP Um Curso de Graduacao. Río de Janeiro: Editorial Impa Río de Janeiro. ISBN 85-244-0065-X Issacson, E. y Keller, H. (1979). Analysis of Numerical Methods. Habana Cuba: Editorial Edición Revolucionaria. Kincaid, D. y Cheney, W. (1994). Análisis Numérico, Las Matemáticas de Cálculo Científico. U.S.A.: Editorial Addison Weslwy Iberoamericana. ISBN 0-201-60130-3 Krasnov, M., Makarencko, G. y Kiseliov, A. (1976). Cálculo Variacional (ejemplos y Problemas). Moscú: Editorial Mir. Luenberger, D. (1989). Programación Lineal y No Lineal. México: Editorial Addison-Wesley Iberoamericana. ISBN 0-20164408-8 Luenberger, D. (1978). Optimization by Vector Space Methods. Ney Cork: Editorial Jhon Wilwy & Sons Inc. Marquez Diaz Canedo. (1990). Fundamentos de Teoría de optimización Editorial. México: Limusa. Nakamura, S. (1992). Métodos Numéricos Aplicados con Software. México: Editorial Prentice Hall Hispanoamericana. ISBN 968-880-263-8 Nieves, A. y Domínguez, F. (1997). Métodos Numéricos Aplicados a la Ingeniería. México: Editorial CECSA. ISBN 968-26-1260-8 Noble, B. y Daniel, J. (1989). Álgebra Lineal Aplicada. México: Editorial Prentice Hall Hispanoamericana. ISBN 968-880-173-9 O’Briem, S. (1993). Turbo Pascal 7 Manual de referencia. Madrid: Editorial McGraw Hill. ISBN 84-481-0119-07 Osier, D. Grobman, S. y Batson, S. (1996). Aprendiendo DELPHI 2 en 21 Días. México: Edirotial Prentice Hall Hispanoamericana. ISBN 0-672-308630 Peral Alonso, I. (1995). Primer curso de Ecuaciones en Derivadas Parciales. E.EU.U.: Editorial Addison Wesley. ISBN O-201-65357-5 ISBN-968Pike, R., (1989). Optimización en Ingeniería. México: Editorial AlfaOmega. 6062-86-6 Prawda, J. (1987). Método y Modelos de Investigación de Operaciones. México: Editorial Limusa. Sangiacomo, A. (1999). DELPHI Pero si es muy Fácil. Arequipa: Editorial UNSA. Angel Sangiacomo C. F. Ayres H. 187 Bibliografía Introducción a la Optimización No Lineal Sangiacomo, A. y Antoine, S. (1998). Análisis Numérico 1 Métodos del Análisis. Arequipa: Editorial UNAS. Sangiacomo, A. y Antoine, S. (2002). Compilador para Uso en la Programación para Métodos Numérico. Arequipa: Editorial Departamento Matemática UNAS. Taha, H. (1991). Investigación de Operaciones. México: Editorial AlfaOmega. ISBN-968-6223-25-8 Thireauf, R y Grosse, R. (1981). Investigación de Operaciones. México: Editorial Limusa. Tixeira, S. y Pacheco, X. (2000). Guía de Desarrollo Delphi. España: Editorial Prentice Hall. ISBN 0-672-32781-8. Tomo I y II Winston, W. (1994). Investigación de Operaciones (aplicaciones y algoritmos). México: Editorial Grupo editorial Iberoamericano. ISBN 970625-029-8 Wirth, N. (1986). Algoritmos y estructuras de datos. E México: ditorial Prentice Hall Hispanoamericana. ISBN 0-13-022005-1 Wylie , Car Ray. (1985). Matemáticas Superiores Para ingenieros. México D.F.: Editorial McGraw-Hill. ISBN-968-6046-84-4 Angel Sangiacomo C. F. Ayres H. 188 Índice alfabético Introducción a la Optimización No Lineal A C Activo 145, 148, 157 Aitken 83, Ajuste 11, 55, 61, 161, 164, 171, 178, Cuadrático 57, 62, Cúbico 56, de curvas 56, de Newton 60, 62 Algoritmo 13, 23, 31, 36, 41, 49, 51, 58 Algoritmo alternativo de Fibonacci 85 Alternativo de Davidon Fletcher Powell 111, Fletcher Reeves 106, de búsqueda lineal 65, de Fibonacci 51, de Interpolación Cuadrática 58, de Interpolación Cúbica 56, de la falsa posición (cuerdas) 63, de Newton 61, de descenso 129, 162, de Polak - Ribiere 104, del caso no cuadrático 102, del gradiente conjugado 93, punto apunto 41, verificación del 96 Algoritmo Cuasi Newton de Autoescala 124, Aplicaciones de la teoría 18, 73, Aproximación cuadrática 104, Áurea 53, 55, Cambios en el conjunto de trabajo 152, Caso cuadrático 69, 73, 106, 109, 127, Caso no cuadrático 75, 105, Cauchy Schwarz 119, Cholesky 84, Cierre de Algoritmo 65, Cierre de Algoritmo de búsqueda lineal 64, Cinética 4, Cinética de reacciones químicas 4, Clásico 23, 111, Combinaciones de funciones convexas 26, Condición de Kuhn - Tucker 156 necesarias de primer orden 14, 16, 30, 137, 142, 162, Necesarias de Primer Orden (Restricciones de Igualdad) 137, Segundo orden 22, 29, 80, 139, 144, 173, necesarias de segundo orden 22, 23, 139, 144, suficientes de segundo orden 25, suficientes de segundo orden: caso sin restricciones 23, 25, Condición Kuhn - Tucker 156, Condiciones para minimización 132, Condiciones suficientes 25, 145, Condiciones suficientes para un mínimo relativo 25, Conjunto activo 151, 154, 162, Conjunto convexo 26, Conjunto de trabajo 151, 152, Construcción de la inversa 108, Convergencia 13, 24, 32, 39, 44, 81, 119, global de algoritmos de descenso 32, Convergencia de orden dos 81, Convergencia en pasos finitos 119, 123, Convergencia global 39, Convergencia global de algoritmos de descenso 32, Convergencia lineal 44, Corrección de rango uno 112, 114, Cotas en la Convergencia 102 Cuadrática 22, 47, 58, 76, 104, B Balance de la masa 4, 165, Broyden 120, 121, 126, Broyden Fletcher Goldfarb Shanno 121, Búsqueda 50, 53, 65, 106, 126, de la sección Áurea 53, Fibonacci 51, Lineal 50, 56, 65, 106, lineal perfecta 126, Lineal mediante ajuste de Curvas 56, Angel Sangiacomo C. F. Ayres H. 193 Índice alfabético Introducción a la Optimización No Lineal Cuasi Newton 88, 107, 127, Cúbico 56, 58, Cuerdas 62, 65, G D Gauss Southwell 85, Global de algoritmos de descenso 32, Goldfarb 121, Gradiente negativo 68, 95, 105, 155, Davidon 56, 114, 117, 183, Definición positiva 118, Delta de Kronecker ( δ mi ) 174, Descenso 32, 37, 50, 67, 73, 84, 92 Descenso coordenado 84, Desigualdad de Kantorovich 71, Difusión 168, Direcciones conjugadas 89, 115, Direcciones factibles 15, 132, 148, 150 E El método 167 El método G-C como un proceso optimal 100, Escalas 78, 124, Estómago 168, Excreción 168, Exponencial 169, Expulsión 168 Extensión a problemas no cuadráticos 104, F Factibles 15, 132, 148, 150, Farmacológico 165, Farmacocinética 168, Fibonacci 51, Fletcher 106, 114, 119, 122, 180 Fletcher Reeves 106, Función convexa 26, 185, Función Objetivo 8, 15, 132, Funciones Cóncavas 13, 25, 26, Funciones Convexas 13, 25, 27, 30, 172, Funciones convexas diferenciables 27, Funciones convexas en procesos 165, Angel Sangiacomo C. I Identificable a priori 166, 172 Identificación a posteriori 166, 172, Identificación de parámetros 5, 124, 165, Interpolación cuadrática 58, 59, 104, interpolación cúbica 56, 58, Inversa 24, 108, 111, 130, 158, K Kantorovich 71, 110, Karush Kuhn Tucker 171, Kronecker δ mi es la delta de 174, Kuhn Tucker 156, 171, L La familia Broyden 123, Lagrangiano en la familia Kuhn Tucker 138, Líquido tísular 168, M Matrices congruentes 110, Matrices de transición 110, Matriz hessiana 22, 80, 145, 173, Maximización de funciones convexas 30, Mayor pendiente 50, 67, 73, 82, 129, Método básico de descenso 50, Método clásico 111, cuasi Newton 105, 123, 127, F. Ayres H. 194 Índice alfabético Cuasi Newton Sin Memoria 124 de búsqueda de la sección Áurea 53, de búsqueda lineal 50, 106, de conjunto activo 145, de Davidon Fletcher Powell 111, de descenso coordenado 84, de descenso de mayor pendiente 50, 67, de direcciones conjugadas 89, 94, 190, de direcciones factibles 143 de Fletcher-Reeves 103 de gradiente 167 de la falsa posición 62, 65, de las cuerdas 62, 65, de mayor pendiente 67, 79, 172, de Newton 50, 60, 80, 108, 167 de Newton modificado 108, de Polak – Ribiere 104 de Proyección del Gradiente 149 del gradiente conjugado 95, 96, 99, direcciones factibles 15, 148, simplificado de Zoutendijk 149, Métodos de búsqueda lineal 103, ^ Métodos primales 142, Métodos para minimización con restricciones 142 Minimización con restricciones 128, 147, Minimización de funciones convexas 30, Mínimo relativo 14, 16, 25, 142, Modelo de desgaste de bolas en molino rotatorio 184, Modelo matemático 1, 10, 184, Modelos físicos 1, 6, Modificaciones 81, Morrison 122 Multiplicador de Lagrange 144, 153, N Necesarias de primer orden 14, 16, 24, 137, 142, Necesarias de segundo orden 22, 23, 139, 144, Newton 35, 60, 62, 80, 107, Newton Modificado 108, Angel Sangiacomo C. Introducción a la Optimización No Lineal Newton Raphson 60, No cuadráticos 75, 96, 104, O Objetivo 8, Observable 6, 166, 169, Optimal 100, Optimización no lineal 11, 169, Orden de convergencia 42, Orden dos 44, 81, Ostrowki 188, Ortogonalidad 89, 123, P Pasos finitos 119, 123, Perfusión endovenosa 168, Plano tangente 134, 144, Polak Ribiere 107, 180, Polinomio cuadrático 59 Posteriori 166 Powell 59, 114, 119 Primales 147, Primer orden 14, 124, 137, 142, Priori 166 Proceso Optimal 100, Programa en Delphi de Davidon Fletcher Powell 112, Programa en Delphi Pascal de la Regla Áurea 52, Programa en Delphi Pascal de la DavidonFletcher-Powell 112 Propiedad de las funciones convexas diferenciables 27, Punto mínimo global 14, 30, Punto mínimo global estricto 15, Punto regular 135, 142, R Rango uno 77, 112, Rapidez 14, 42, F. Ayres H. 195 Índice alfabético Introducción a la Optimización No Lineal Rapidez de convergencia 42, Reeves 106, Regla Áurea 55, Residuo 25, 62, Restricciones 132, Restricciones de desigualdad 11, 144, Restricciones de igualdad 11, 132, Restricciones lineales 148, 155, 161, 169, Ribiere 107, U S W Sangre 168, Schwarz 119, Sección Áurea 53, Segundo orden 22, 23, 139, 144, Serie de Taylor 22, 62, 80, 173, Shanno 121, Sherman Morrison 122, Simpson 175, 186, Soluble a priori 166, 170, Southwell 85, Suficientes de segundo orden 25, caso sin restricciones 16, 23, Weierstras 14, Uniforme 95, 134, 137, Un método clásico 108 V Verificación del algoritmo 98, Ventajas de los métodos primales 142 Z Zangwill 33, 59, Zoutendijk 149, T Tangente 134, Tasa de convergencia 24, 44, 71, 109, Tasas 42, 45, Tasas promedio 45, Taylor 16, 22, 25, 28, 62, 80, 140 Teorema de convergencia global 38, 39, Teorema de la dirección conjugada 91, Teorema del conjunto activo 154, Teorema del gradiente conjugado 99, 106, Teorema del método de Newton modificado 106, Teorema del sub espacio en expansión 92, Transformaciones cerradas 38, Trapecios 175, 186, Tucker 142, 156, Angel Sangiacomo C. F. Ayres H. 196