10. Optimización no lineal sin restricciones 10. Optimización no lineal Conceptos básicos Principios y teoremas para la búsqueda de óptimos globales Optimización sin restricciones en dimensión 1 Optimización sin restricciones en dimensión > 1 Modelos con restricciones de igualdad Condiciones de Kuhn-Tucker Algoritmos numéricos básicos Conceptos básicos Carmen M. García López Francisco R. Villatoro Problema general de programación no lineal (PNL): maximizar o minimizar z=f(x1,x2,...,xn) (objetivo) S.A. g1(x1,x2,...,xn) ≤ /= / ≥ b1 g2(x1,x2,...,xn) ≤ /= / ≥ b2 ... (restricciones) gm(x1,x2,...,xn) ≤ /= / ≥ bm Problema de programación no lineal no restringido: PNL sin restricciones Región factible: conjunto de puntos que satisfacen las restricciones. Solución óptima de un PNL tipo minimizar: punto de la región factible x* que satisface f(x) ≥f(x*) para todo x de la región factible. 10. Optimización no lineal sin restricciones Extremos locales Para un PNL, un punto factible x= (x1,x2,...,xn) es un máximo (mínimo) local si para un ε suficientemente pequeño, cualquier punto factible x’= (x1’,x2’,...,xn’) verificando |xi-xi’| <ε satisface f(x) ≥ (≤) f(x’) Un punto que es un máximo o mínimo local se llama extremo local o relativo Funciones cóncavas y convexas (I) Una función f (x1,x2,...,xn) es una función estrictamente convexa (cóncava) en un conjunto convexo S si para cualesquiera x’, x’’ ∈S distintos f(cx’+(1-c)x’’) < (>) cf(x’)+(1-c)f(x’’) para 0 < c < 1. Teorema 1 Se considera un PNL con región factible S convexa. Entonces si el problema es de maximixación (minimización) y la función f es estrictamente cóncava (convexa) en S, entonces cualquier máximo (mínimo) local del PNL es una solución óptima de este problema. Carmen M. García López Francisco R. Villatoro 10. Optimización no lineal sin restricciones Funciones cóncavas y convexas(II) Teorema 2 Si f’’(x) existe para cualquier x en un conjunto convexo S, entonces f(x) es una función convexa (cóncava) en S si y sólo si f’’(x) ≥ (≤) 0 para todo x de S Teorema 3 Si f (x1,x2,...,xn) tiene derivadas parciales de segundo orden continuas para cada punto x= (x1,x2,...,xn) de un conjunto convexo S, entonces f(x) es una función estrictamente convexa (cóncava) en S si y sólo si su matriz Hessiana es definida positiva (negativa) en S Funciones cóncavas y convexas (III) a11 a21 A = a31 M a n1 a12 a22 a32 M an 2 a13 K a1n a23 K a2 n a33 K a3n M M an3 K ann a11 a21 H k = a31 M a k1 a12 a22 a32 M ak 2 a13 K a1k a23 K a2 k a33 K a3k , k = 1,2K n M M ak 3 K akk Teorema Supongamos A simétrica. A es definida positiva si y sólo si det(Hk)>0 para k=1,2,…,n A es semidefinida positiva si y sólo si det(Hk)≥0 para k=1,2,…,n A es definida negativa si y sólo si signo(det(Hk))=(-1)k para k=1,2,…,n A es semidefinida negativa si y sólo si signo(det(Hk))=(-1)k ó 0 para k=1,2,…,n A es indefinida si det(A)≠0 y A no cumple ninguna de las afirmaciones anteriores Carmen M. García López Francisco R. Villatoro 10. Optimización no lineal sin restricciones Principios y teoremas para la búsqueda de óptimos globales. Teorema de Weierstrass (condición suficiente de solución) Sea el problema general de programación matemática: optimizar F(x) definida en D⊂Rn sujeto a x∈S, si X=D∩S es compacto (cerrado y acotado) y no vacío, y la función objetivo es continua, entonces dicha función posee un máximo y un mínimo global en X. Teorema local-global Si F es continua y X convexo entonces: Si F es cóncava en X entonces todo máximo local es global Si F es convexa en X entonces todo mínimo local es global Además si F es estricta, el óptimo es único Optimización sin restricciones en dimensión 1 Maximizar o minimizar f(x) f continua en [a,b] Para encontrar la solución óptima de este problema buscamos primero todos los máximos (o mínimos) locales. La solución óptima será el máximo local (o mínimo) con el mayor (o menor) valor de f(x). Si a=-∞ ó b=∞ el problema puede no tener solución. Hay tres tipos de puntos que pueden ser máximo o mínimos locales: Puntos estacionarios de f: a<x<b y f’(x)=0 Puntos donde no existe f’(x) Puntos extremos del intervalo [a,b] Carmen M. García López Francisco R. Villatoro 10. Optimización no lineal sin restricciones Optimización sin restricciones en dimensión 1 Teorema Si f’(x0)=0 y f’’(x0)<(>)0 entonces x0 es un máximo (mínimo) local. Teorema Si f’(x0)=0 y 1. Si la primera derivada no nula en x0 de f es de orden impar entoces x0 no es un extremo local 2. Si la primera derivada no nula de f en x0 es positiva y de orden par entonces x0 es un mínimo local 3. Si la primera derivada no nula de f en x0 es negativa y de orden par entonces x0 es un máximo local Métodos numéricos para dimensión 1 Método de búsqueda directa Identificar el intervalo de incertidumbre que incluye el óptimo a identificar Reducir el tamaño del intervalo de incertidumbre hasta encontrar el óptimo Método de búsqueda de puntos críticos Carmen M. García López Francisco R. Villatoro Si la función objetivo es derivable, tratamos de localizar los puntos en los que se anula la derivada utilizando por ejemplo el método de Newton 10. Optimización no lineal sin restricciones Métodos numéricos para dimensión 1 Búsqueda dicotómica (para máximos) Para funciones unimodales sobre un intervalo [a,b] (funciones para las que existe un punto x* en [a,b] tal que f es creciente en [a,x*] y decreciente en [x*,b]) Definir dos puntos x1, x2 simétricamente con respecto a a y b de modo que los intervalos [a,x2] y [x1,b] se superpongan en un intervalo de longitud ∆. Evaluar f(x1) y f(x2) 1. Si f(x1) > f(x2), x* debe estar entre a y x2 2. Si f(x1) < f(x2), x* debe estar entre x1 y b 3. Si f(x1)=f(x2), x* debe estar entre x1 y x2 Repetir el proceso en el intervalo en el que se encuentra x* hasta que ∆ sea suficientemente pequeño Métodos numéricos para dimensión 1 Método de Newton Para resolver la ecuación g(x) = 0, g derivable Elegir un valor inicial x(0) Calcular para k=0,... x (k + 1 ) = x (k ) − Carmen M. García López Francisco R. Villatoro ( ( ) ) g x (k ) g ' x (k ) Terminar cuando |x(k+1)-x(k)| < ε Si g’’ es continua el método converge cuadráticamente cuando x(0) está suficientemente próximo a una raíz simple de g. 10. Optimización no lineal sin restricciones Optimización sin restricciones en dimension>1 Maximizar o minimizar f (x1,x2,...,xn) S. A. (x1,x2,...,xn)∈Rn Suponemos que existen las derivadas parciales de primer y segundo orden de f y que son continuas. Teorema Si x* es un extremo local del PNL entonces para i=1,...,n se verifica * ∂f ( x ) =0 ∂xi es decir, x* es un punto estacionario Un punto estacionario que no es extremo local es un punto de silla. Optimización sin restricciones en dimension>1 Teorema Si x* es un punto estacionario de f y Hk(x*)>0, k=1,2,...,n (menor principal de orden k de la matriz hessiana de f) entonces x* es un mínimo local para el PNL. Teorema Si x* es un punto estacionario de f y Hk(x*) tiene el mismo signo que (-1)k k=1,2,...,n entonces x* es un máximo local para el PNL. Teorema Si x* es un punto estacionario de f, Hn(x*)≠ 0 y no se satisfacen las hipótesis de los teoremas anteriores, entonces x* es un punto de silla para el PNL. Carmen M. García López Francisco R. Villatoro 10. Optimización no lineal sin restricciones Método del gradiente Válido para optimizar funciones que son diferenciables continuamente dos veces. Idea: generar puntos sucesivos en la dirección del gradiente de la función Métodos: Método de Newton Método del descenso más rápido Método de Newton Resolver utilizando el método de Newton el sistema de ecuaciones ∇f X = 0 ( ) Método de Newton para sistemas Carmen M. García López Francisco R. Villatoro Para resolver la ecuación F(X)=0, F con derivadas parciales de primer orden Elegir un valor inicial X0 Calcular (k +1) (k ) −1 (k ) (k ) X =X ( )F (X ) − JF X Repetir hasta que || X(k)-X(k-1) || < ε 10. Optimización no lineal sin restricciones Método del ascenso más rápido Para maximizar f(X) Elegir X(0) Calcular X(k+1) =X(k)+t(k)∇f(X(k)) siendo t(k) la solución del problema maximizar f(X(k)+t∇f(X(k))) S.A. t ≥0 Repetir hasta que || X(k+1)-X(k)|| < ε Modelos con restricciones de igualdad Optimizar f(x1,x2,...,xn) sujeto a gi(x1,...,xn)=bi, i=1,...,m (m<n) Pueden utilizarse dos técnicas: Carmen M. García López Francisco R. Villatoro Sustitución: se despejan variables en las restricciones y se sustituyen en la función objetivo. Este método puede dar lugar a errores si se consideran puntos en los que la función objetivo o las restricciones no están definidas Método de Lagrange: se construye una función sin restricciones de modo que los óptimos de la función original se encuentran en los puntos críticos de la función de Lagrange 10. Optimización no lineal sin restricciones Multiplicadores de Lagrange. Lagrangiano: incluye una nueva variable λi (multiplicador lagrangiano) por cada restricción gi: m L ( x , λ ) = f ( x1 , K , x n ) − ∑ λ i ( g i ( x1 , K , x n ) − bi ) i =1 Condición necesaria de optimización: encontrar los puntos críticos del lagrangiano (x*, λ*) ∂L ∂f = − ∂x j ∂x j ∂L = bj − g ∂λ j m ∑ i =1 j λ i ∂g i = 0 , j = 1, K , n ∂x j = 0 , j = 1, K , m Multiplicadores de Lagrange. Teorema (Cond. Necesaria) Si el rango del jacobiano de las restricciones en x* es m (cond. de regularidad) y x* es un óptimo local del problema, entonces existe un λ* tal que (x*, λ*) es punto crítico de la función de Lagrange. Teorema (Cond. Suficiente) Sea (x*, λ*) un punto crítico de la función de Lagrange. Entonces Si F es cóncava en X y X es un conjunto convexo, entonces x* es máximo global del problema original Si F es convexa en X y X es un conjunto convexo, entonces x* es mínimo global del problema original Carmen M. García López Francisco R. Villatoro 10. Optimización no lineal sin restricciones Condición suficiente de optimización ∂2L 2 ∂x1 Hess(L( x, λ )) = M ∂2L ∂x ∂x n 1 ∂2L ∂x1∂x n M ∂2L L ∂x n2 L 0 T Construimos la matriz J g ∂g1 ∂x1 , J g ( x1 ,K , x n ) = M ∂g m ∂x 1 ∂g1 ∂x n M ∂g m L ∂x n L Jg H y las matrices que resultan de quitarle a esa matriz las últimas p filas y columnas p=0,1,...,n-m-1. Para cada punto crítico obtenemos las matrices A0,A1,...,An-m-1: Si el signo del determinante de Ap coincide con (-1)m para todo p, el punto crítico es un mínimo local estricto del problema Si el signo del determinante de Ap coincide con (-1)n-p para todo p, el punto crítico es un máximo local estricto del problema Búsqueda de mínimos Si la función no es cóncava ni convexa, los puntos óptimos pueden estar en el interior o en el contorno de la región factible. Si la función es cóncava, los mínimos sólo pueden alcanzarse en el contorno de la región factible si ésta es convexa y compacta. Si la función es convexa, el mínimo puede estar en un punto interior o en el contorno. Se puede utilizar el siguiente procedimiento aunque sin garantías de alcanzar la solución óptima: Determinar el mínimo local sin restricciones: Carmen M. García López Francisco R. Villatoro si satisface las restricciones, éste es el mínimo global En otro caso, consideramos una restricción y resolvemos el problema con el método de sustitución o de Lagrange. Si el mínimo calculado de esta forma satisface las restricciones: óptimo global, si no, se añade una nueva restricción y se repite el proceso 10. Optimización no lineal sin restricciones Condiciones de Kuhn-Tucker. Maximizar f(x1,x2,...,xn) S.A. g1(x1,x2,...,xn) ≤ b1 g2(x1,x2,...,xn) ≤ b2 ... gm(x1,x2,...,xn) ≤ bm Sólo son aplicables si las funciones gi satisfacen la condición de regularidad: Restricciones linealmente independientes: continuas y los gradientes en la solución óptima forman un sistema de vectores linealmente independiente Condiciones de Kuhn-Tucker. Para un problema de maximización, si x*=(x*1,...,x*n) es una solución óptima entonces x* debe satisfacer las resticciones del problema y además deben existir los multiplicadores λ1,λ2,...,λm tales que ∂g ( x *) ∂f ( x *) m − ∑λi i = 0, j = 1,2,K, n ∂x j ∂x j i =1 λ i [bi − g i ( x *)] = 0, i = 1,2,K, m λ i ≥ 0, i = 1,2,K , m Carmen M. García López Francisco R. Villatoro 10. Optimización no lineal sin restricciones Condiciones de Kuhn-Tucker. Para un problema de minimización, si x*=(x*1,...,x*n) es una solución óptima entonces x* debe satisfacer las resticciones del problema y además deben existir los multiplicadores λ1,λ2,...,λm tales que ∂g (x *) ∂f (x *) m + ∑λi i = 0, j = 1,2, K , n ∂x j ∂x j i =1 λ i [bi − g i ( x *)] = 0, i = 1,2,K, m λ i ≥ 0, i = 1,2,K, m Condiciones de Kuhn-Tucker. Maximizar f(x1,x2,...,xn) S.A. gi(x1,x2,...,xn) ≤ bi, i=1,...,m xj ≥0, j=1,...,n Si x*=(x*1,...,x*n) es una solución óptima del problema anterior entonces x* debe satisfacer las restricciones del problema y además deben existir los multiplicadores λ1,λ2,...,λm, µ1,µ2,….µn tales que ∂g ( x *) ∂f ( x *) m − ∑λi i + µ j = 0, j = 1,2,K , n ∂x j ∂x j i =1 λ i [bi − g i ( x *)] = 0, i = 1,2,K , m ∂f ( x *) m ∂g ( x *) −∑ λ i i x j * = 0, j = 1,2, K , n ∂ ∂x j x i =1 j λ i ≥ 0, i = 1,2, K , m µ j ≥ 0, Carmen M. García López Francisco R. Villatoro j = 1,2, K, n 10. Optimización no lineal sin restricciones Condiciones de Kuhn-Tucker. Minimizar f(x1,x2,...,xn) S.A. gi(x1,x2,...,xn) ≤ bi, i=1,...,m xj ≥0, j=1,...,n Si x*=(x*1,...,x*n) es una solución óptima del problema anterior entonces x* debe satisfacer las restricciones del problema y además deben existir los multiplicadores λ1,λ2,...,λm, µ1,µ2,….µn tales que ∂g ( x *) ∂f ( x *) m + ∑λi i − µ j = 0, j = 1,2,K , n ∂x j ∂x j i =1 λ i [bi − g i ( x *)] = 0, i = 1,2,K , m ∂f ( x *) m ∂g ( x *) +∑ λ i i x j * = 0, j = 1,2, K , n ∂x j i =1 ∂x j λ i ≥ 0, i = 1,2,K , m µ j ≥ 0, j = 1,2, K, n Condiciones suficientes Carmen M. García López Francisco R. Villatoro Si f es una función cóncava y gi son funciones convexas, los puntos que satisfacen las condiciones de Kuhn-Tucker son soluciones óptimas del problema de maximización. Si f es una función convexa y gi son funciones convexas, los puntos que satisfacen las condiciones de Kuhn-Tucker son soluciones óptimas del problema de minimización. 10. Optimización no lineal sin restricciones Algoritmos numéricos básicos. Métodos de penalización y barrera Funciones de penalización: fuerzan la convergencia hacia la región factible (algoritmo de punto exterior) Funciones de barrera: fuerzan a permanecer dentro de la región factible (algoritmo de punto interior) Método de penalización Para aproximar la solución de un problema de optimización no lineal del tipo: Optimizar f(x1,x2,...,xn) sujeto a gi(x1,...,xn)=bi, i=1,...,m se considera la solución del problema sin restricciones Optimizar f(x)+P(p,x) donde m P ( p, x ) = p ∑ (g i ( x ) − bi ) 2 i =1 con p>0 si el problema es minimizar y p<0 si el problema es maximizar Carmen M. García López Francisco R. Villatoro Al obtener el valor óptimo de la función de penalización se cumplirá que si |p| tiende a infinito entonces gi(x) tiende a bi. 10. Optimización no lineal sin restricciones Algoritmo de penalización Para el problema de minimización Elegir una secuencia {pk } → ∞ por ejemplo 1,10,102, 103,.... Para cada pk encontrar un mínimo local xk de f(x)+P(pk,x) Terminar cuando P(pk,xk)/ pk sea suficientemente pequeño Método de las direcciones factibles. Para resolver maximizar z=f(x) S.A. Ax ≤ b, x ≥ 0: Carmen M. García López Francisco R. Villatoro Elegir x0 solución factible. Sea d0 solución de maximizar z= ∇f(x0)·d S.A. Ad ≤ b, d≥0 Elegir x1=x0+t0(d0-x0) siendo t0 la solución de maximizar f(x0+t0(d0-x0)), 0 ≤ t0 ≤ 1 Continuar generando puntos x2,x3,... hasta que xk y xk-1 estén suficientemente próximos.