Optimización No Linea1

42
10. Programación no lineal En matemáticas, Programación no lineal (PNL) es el proceso de resolución de un sistema de igualdades y desigualdades sujetas a un conjunto de restricciones sobre un conjunto de variables reales desconocidas, con un función objetivo a maximizar (o minimizar), cuando alguna de las restricciones o la función objetivo no son lineales. Formulación matemática del problema[editar ] El problema de programación no lineal puede enunciarse de una forma muy simple: maximizar una función objetivo o minimizar una función objetivo (de coste) donde Métodos de resolución del problema Si la función objetivo f es lineal y el espacio restringido es un politopo , el problema es de Programación lineal y puede resolverse utilizando alguno de los bien conocidos algoritmos de programación lineal. Si la función objetivo es cóncava (problema de maximización), o convexa (problema de minimización) y el conjunto de restricciones es convexo , entonces se puede utilizar el método general de Optimización convexa Existe una variedad de métodos para resolver problemas no convexos. Uno de ellos consiste en utilizar formulaciones especiales de problemas de programación lineal. Otro método implica el uso de técnicas de Ramificación y poda , cuando el problema se divide en subdivisiones a resolver mediante aproximaciones que forman un límite inferior del coste total en cada subdivisión. Mediante subdivisiones sucesivas, se obtendrá una solución cuyo coste es igual o inferior que el mejor límite inferior obtenido por alguna de las soluciones aproximadas. Esta solución es óptima, aunque posiblemente no sea única. El algoritmo puede ser parado antes, con la garantía de que la mejor solución será mejor que la solución encontrada en un porcentaje acotado. Ello se utiliza en concreto en problemas importantes y especialmente difíciles y cuando el problema cuenta con costes inciertos o valores donde la incertidumbre puede ser estimada en un grado de fiabilidad apropiado.

description

optimizacion no lineal

Transcript of Optimización No Linea1

Page 1: Optimización No Linea1

10. Programación no linealEn matemáticas, Programación no lineal (PNL) es el proceso de resolución de un sistema de igualdades y desigualdades sujetas a un conjunto de restricciones sobre un conjunto de variables reales desconocidas, con un función objetivo a maximizar (o minimizar), cuando alguna de las restricciones o la función objetivo no son lineales.

Formulación matemática del problema[editar]

El problema de programación no lineal puede enunciarse de una forma muy simple:

 maximizar una función objetivo

o

 minimizar una función objetivo (de coste)

donde

Métodos de resolución del problema

Si la función objetivo f es lineal y el espacio restringido es un politopo, el problema es de Programación lineal y

puede resolverse utilizando alguno de los bien conocidos algoritmos de programación lineal.

Si la función objetivo es cóncava (problema de maximización), o convexa (problema de minimización) y el

conjunto de restricciones es convexo, entonces se puede utilizar el método general de Optimización convexa

Existe una variedad de métodos para resolver problemas no convexos. Uno de ellos consiste en utilizar

formulaciones especiales de problemas de programación lineal. Otro método implica el uso de técnicas

de Ramificación y poda, cuando el problema se divide en subdivisiones a resolver mediante aproximaciones que

forman un límite inferior del coste total en cada subdivisión. Mediante subdivisiones sucesivas, se obtendrá una

solución cuyo coste es igual o inferior que el mejor límite inferior obtenido por alguna de las soluciones

aproximadas. Esta solución es óptima, aunque posiblemente no sea única. El algoritmo puede ser parado antes,

con la garantía de que la mejor solución será mejor que la solución encontrada en un porcentaje acotado. Ello se

utiliza en concreto en problemas importantes y especialmente difíciles y cuando el problema cuenta con costes

inciertos o valores donde la incertidumbre puede ser estimada en un grado de fiabilidad apropiado.

Las condiciones de Karush-Kuhn-Tucker proporcionan las condiciones necesarias para que una solución sea

óptima.

Page 2: Optimización No Linea1

Ejemplos

Ejemplo bidimensional

La intersección de la línea con el espacio de restricciones representa la solución.

Un problema sencillo

Maximizar

f(x) = x1 + x2

sujeto a las restricciones:

x1 ≥ 0

x2 ≥ 0

x12 + x2

2 ≥ 1

x12 + x2

2 ≤ 2

donde x = (x1, x2)

Ejemplo tridimensional

La intersección de la superficie superior con el espacio de restricciones en el centro

representa la solución.

Otro problema simple

función objetivo a ser maximizada

Page 3: Optimización No Linea1

f(x) = x1x2 + x2x3

se define por la restricciones: x12 − x2

2 + x32 ≤ 2

x12 + x2

2 + x32 ≤ 10

donde x = (x1, x2, x3)

Los problemas de programación no lineal se presentan de muchas formas distintas. Al contrario del método símplex para programación lineal, no se dispone de un algoritmo que resuelva todos estos tipos especiales de problemas. En su lugar, se han desarrollado algoritmos para algunas clases (tipos especiales) de problemas de programación no lineal. Se introducirán las clases más importantes y después se describirá cómo se pueden resolver algunos de estos problemas.

 

Si la función objetivo f es lineal y el espacio restringido es un politopo, el problema es de Programación lineal y puede resolverse utilizando alguno de los bien conocidos algoritmos de programación lineal.   

 

Si la función objetivo es cóncava (problema de maximización), o convexa (problema de minimización) y el conjunto de restricciones es convexo, entonces se puede utilizar el método general de Optimización convexa   

 

Existe una variedad de métodos para resolver problemas no convexos. Uno de ellos consiste en utilizar formulaciones especiales de problemas de programación lineal. Otro método implica el uso de técnicas de Ramificación y poda, cuando el problema se divide en subdivisiones a resolver mediante aproximaciones que forman un límite inferior del coste total en cada subdivisión. Mediante subdivisiones sucesivas, se obtendrá una solución cuyo coste es igual o inferior que el mejor límite inferior obtenido por alguna de las soluciones aproximadas. Esta solución es óptima, aunque posiblemente no sea única. El algoritmo puede ser parado antes, con la garantía de que la mejor solución será mejor que la solución encontrada en un porcentaje acotado. Ello se utiliza en concreto en problemas importantes y especialmente difíciles y cuando el problema cuenta con costes inciertos o valores donde la incertidumbre puede ser estimada en un grado de fiabilidad apropiado.   

 

Las condiciones de Karush-Kuhn-Tucker proporcionan las condiciones necesarias para que una solución sea óptima.   

Page 4: Optimización No Linea1

 

Los tipos de  problemas de optimizaación no lineal son:

1.       Optimización no restringida.2.       Optimización linealmente restringida.3.       Programación cuadrática4.       Programación convexa.5.       Programación separable.6.       Programación no convexa.7.       Programación geométrica.8.       Programación fraccional.9.       Problema de complementariedad.

  

ALGORITMOS SIN RESTRICCIÓN

En esta sección se presentarán dos algoritmos para el problema no restringido: el algoritmo de búsqueda directa y el algoritmo de gradiente.     

 Método de búsqueda directa  Los métodos de búsqueda directa se aplican principalmente a funciones estrictamente unimo- dales de una variable. Aunque puede parecer trivial el caso, la sección 21.1.2 muestra que la optimización de funciones de una variable juega un papel clave en el desarrollo de los algoritmos de varias variables, más generales.  

La idea de los métodos de búsqueda directa es identificar el intervalo de incertidum- bre que comprenda al punto de solución óptima. El procedimiento localiza el óptimo estrechando en forma progresiva el intervalo de incertidumbre hasta cualquier grado de exactitud que se desee.  

En esta sección se presentan dos algoritmos estrechamente relacionados: los métodos de búsqueda dicótomo y de sección dorada (o áurea). Ambos buscan la maximización de una función unimodal/(x) en el intervalo a ^ x < b, que se sabe que incluye el punto óptimo x*. Los dos métodos comienzan con /0 = (a, b) que representa el intervalo inicial de incertidumbre.  

Paso general i. Sea /, _ , = (xD xR) el intervalo actual de incertidumbre (en la iteración 0, xL = a y xR = b). A continuación se definen xx y x2 tales que  

xj^ ^ ^ x2 ^ xr  

El siguiente intervalo de incertidumbre, /z, se define como sigue:  

1. Si f(xx) > /(x2), entonces xL < x* < x2. Se definen xR = x2 e /, = (xL, x2) (véase la figura 21.2[a]).

Page 5: Optimización No Linea1

2. Si f(xx) < f(x2\ entonces xx < x* < xR. Se definen xL = xx e I¡ = (xh xR) (véase la figura 21.1 [b]). .

3. Si f{x\) = /(jc2), entonces xx < x* < x2. Se definen xL = x2 e /, = (xb x2).

  

La manera en que se determinan xx y x2 garantiza que /, < /,_ p como se demostrará en breve. El algoritmo termina en la iteración ksilk< A, donde A es un grado de exactitud definido por el usuario.                                                                                                                                                                                        *  

La diferencia entre los métodos dicótomo y de sección dorada estriba en la forma en que se calculan xx y x2. La tabla siguiente presenta las fórmulas.  

  

 

En el método dicótomo los valores jc, y x2 se encuentran simétricos respecto del punto medio del actual intervalo de incertidumbre. Esto significa que 

 

La aplicación repetida del algoritmo garantiza que la longitud del intervalo de incertidumbre se acercará al nivel de exactitud deseado, A. 

En el método de la sección dorada la idea es de mayor involucramiento. Se puede apreciar que cada iteración del método dicótomo requiere calcular los dos valores/(jc,) y f(x2), Pe” ro termina por descartar alguno de ellos. Lo que propone el método de la sección dorada es ahorrar cálculos mediante el reuso del valor descartado en la iteración inmediata siguiente. Para definir 0 < a < 1 

Page 6: Optimización No Linea1

 

Cuando el intervalo de incertidumbre /, en la iteración i es igual a (jc¿, x2) o a (xu xR). Considere el caso en que /, = (jcl, x2), lo cual significa que xx está incluido en /,. En la iteración /+1, seleccione x2 igual a jc, de la iteración /, lo cual lleva a la siguiente ecuación: 

x2(iteración i+l) = x{(iteración i) 

 

 

Comparado con el método dicótomo, el método de la sección dorada converge más rápidamente hacia el nivel deseado de exactitud. Adicionalmente, cada iteración en el método de la sección dorada requiere la mitad de los cálculos, en virtud de que recicla siempre un conjunto de los cálculos correspondientes a la iteración inmediata anterior. 

EJEMPLO

 

Page 7: Optimización No Linea1

El máximo valor de f(x) ocurre en x = 2. La siguiente tabla muestra los cálculos para las iteraciones 1 y 2, usando el método dicotomo y el de la sección dorada. Supondremos que A = 0.1. 

Al continuar de la misma forma, el intervalo de incertidumbre terminará por estrecharse hasta la tolerancia A deseada. 

  

La plantilla ch21DichotomousGoldenSection.xls de Excel está diseñada para manejar cualquiera de estos dos métodos en forma automática. Los datos son/(*), a,b y A. La función f{x) se captura en la celda E3 como sigue: 

= IF(C3< = 2,3*C3, (-C3+20)/3)  

OPTIMIZACIÓN NO RESTRINGIDA 

Los problemas de optimización no restringida no tienen restricciones, por lo que la función objetivo es sencillamente

Maximizar f(x)

 

sobre todos los valores x= (x1, x2,…,xn). Según el repaso del apéndice 3, la condición necesaria para que una solución específica x = x* sea óptima cuando f(x) es una función diferenciable es

  

 

Cuando f (x) es cóncava, esta condición también es suficiente, con lo que la obtención de x* se reduce a resolver el sistema de las n ecuaciones obtenidas al establecer las n derivadas parciales iguales a cero. Por desgracia, cuando se

Page 8: Optimización No Linea1

trata de funciones no lineales f (x), estas ecuaciones suelen ser no lineales también, en cuyo caso es poco probable que se pueda obtener una solución analítica simultánea. ¿Qué se puede hacer en ese caso? Las secciones 13.4 y 13.5 describenprocedimientos algorítmicos de búsqueda para encontrar x* primero para n = 1 y luego para n > 1. Estos procedimientos también tienen un papel importante en la solución de varios tipos de problemas con restricciones, que se describirán en seguida. La razón es que muchos algo-ritmos para problemas restringidos están construidos de forma que se adaptan a versiones no restringidas del problema en una parte de cada iteración.

Cuando una variable Xj tiene una restricción de no negatividad, x- > 0, la condición necesaria (y tal vez) suficiente anterior cambia ligeramente a

 

 

para cada j de este tipo. Esta condición se ilustra en la figura 13.11, donde la solución óptima de un problema con una sola variable es x = 0 aun cuando la derivada ahí es negativa y no cero. Como este ejemplo tiene una función cóncava para maximizar sujeta a una restricción de no negatividad, el que su derivada sea menor o igual a 0 en # = 0, es una condición necesaria y su-ficiente para que x= 0 sea óptima.

 

Un problema que tiene algunas restricciones de no negatividad y que no tiene restricciones funcionales es un caso especial(m = 0) de la siguiente clase de problemas. 

OPTIMIZACIÓN LINEALMENTE RESTRINGIDA

 

Los problemas de optimización linealmente restringida se caracterizan por restricciones que se ajustan por completo a la programación lineal, de manera que todas las funciones de restricción g¡ (x) son lineales, pero la función objetivo es no lineal. El problema se simplifica mucho si sólo se tiene que tomar en cuenta una función no lineal junto con una región factible de programación lineal. Se han desarrollado varios algoritmos especiales basados en una extensión del método símplex para analizar la función objetivo no lineal.

 

Un caso especial importante descrito a continuación es la programación cuadrática. 

PROGRAMACIÓN CUADRÁTICA

 De nuevo los problemas de programación cuadrática tienen restricciones lineales, pero ahora la función objetivo /(x) debe ser cuadrática. Entonces, la única diferencia entre éstos y un

 

Page 9: Optimización No Linea1

 

 

problema de programación lineal es que algunos términos de la función objetivo incluyen el cuadrado de una variable o elproducto de dos variables.  

 

PROGRAMACIÓN CONVEXA 

La programación convexa abarca una amplia clase de problemas, entre ellos como casos especiales, están todos los tipos anteriores cuando /(x) es cóncava. Las suposiciones son

1. f(x) es cóncava.2. Cada una de las g(x) es convexa.

 

Page 10: Optimización No Linea1

PROGRAMACIÓN SEPARABLE

La programación separable es un caso especial de programación convexa, en donde la suposición adicional es

Todas las funciones f(x) y g(x) son funciones separables.

Una función separable es una función en la que cada término incluye una sola variable, por lo que la función se puedeseparar en una suma de funciones de variables individuales. Por ejemplo, si  f(x) es una función separable, se puede expresar como 

 

son cada tina funciones de una sola variable x1 y x2, respectivamente. Usando el mismo razonamiento, se puede verificar que la función considerada en la figura 13.7 también es una función separable.

 

Es importante distinguir estos problemas de otros de programación convexa, pues cualquier problema de programación separable se puede aproximar muy de cerca mediante uno de programación lineal y, entonces, se puede aplicar el eficiente método símplex. 

 

 

son cada tina funciones de una sola variable x1 y x2, respectivamente. Usando el mismo razonamiento, se puede verificar que la función considerada en la figura 13.7 también es una función separable.

 

Es importante distinguir estos problemas de otros de programación convexa, pues cualquier problema de programación separable se puede aproximar muy de cerca mediante uno de programación lineal y, entonces, se puede aplicar el eficiente método símplex.

 

Page 11: Optimización No Linea1

 

PROGRAMACIÓN NO CONVEXA 

La programación no convexa incluye todos los problemas de programación no lineal que no satisfacen las suposiciones de programación convexa. En este caso, aun cuando se tenga éxito en encontrar un máximo local, no hay garantía de que sea también un máximo global. Por lo tanto, no se tiene un algoritmo que garantice encontrar una solución óptima para todos estos problemas; pero sí existen algunos algoritmos bastante adecuados para encontrar máximos lo-cales, en especial cuando las formas de las funciones no lineales no se desvían demasiado de aquellas que se supusieron para programación convexa. En la sección 13.10 se presenta uno de estos algoritmos.

 

Ciertos tipos específicos de problemas de programación no convexa se pueden resolver sin mucha dificultad mediante métodos especiales. Dos de ellos, de gran importancia, se presentarán más adelante. 

PROGRAMACIÓN GEOMÉTRICA

Cuando se aplica programación no lineal a problemas de diseño de ingeniería, muchas veces la función objetivo y las funciones de restricción toman la forma 

 

 

En tales casos, las ci y a ty representan las constantes físicas y las x} son las variables de diseño. Estas funciones por lo general no son ni cóncavas ni convexas, por lo que las técnicas de programación convexa no se pueden aplicar directamente a estos problemas deprogramacióngeo- métrica. Sin embargo, existe un caso importante en el que el problema se puede transformar en un problema de programación convexa equivalente. Este caso es aquel en el que todos los coeficientes c¿ en cada función son estrictamente positivos, es decir, las funciones son polinomios positivos generalizados (ahora llamados posinomiales), y la función objetivo se tiene que minimizar. El problema equivalente de programación convexa con variables de decisión yx, y2,…, yn se obtiene entonces al establecer 

 

Page 12: Optimización No Linea1

en todo el modelo original. Ahora se puede aplicar un algoritmo de programación convexa. Se ha desarrollado otro procedimiento de solución para resolver estos problemas de programación posinomial, al igual que para problemas de programación geométrica de otros tipos.1

 

PROGRAMACIÓN FRACCIONAL

Suponga que la función objetivo se encuentra en la forma de una fracción, esto es, la razón o cociente de dos funciones, 

 

Estos problemas de programación fraccional surgen, por ejemplo, cuando se maximiza la razón de la producción entre las horas-hombre empleadas (productividad), o la ganancia entre el capital invertido (tasa de rendimiento), o el valor esperado dividido entre la desviación estándar de alguna medida de desempeño para una cartera de inversiones (rendimiento/riesgo). Se han formulado algunos procedimientos de solución especiales1 para ciertas formas de f1(x) y f2 (x)

 

 Cuando se puede hacer, el enfoque más directo para resolver un problema de programación fraccional es transformarlo en un problema equivalente de algún tipo estándar que disponga de un procedimiento eficiente. Para ilustrar esto, suponga quef(x) es de la forma de programación fraccional lineal 

 

 

donde c y d son vectores renglón, x es un vector columna y c0 y dQ son escalares. También suponga que las funciones de restricción g¡ (x) son lineales, es decir, las restricciones en forma matricial son Ax < b y x > 0.

 

Con algunas suposiciones débiles adicionales, el problema se puede transformar en un problema equivalente de programación lineal si se establece 

Page 13: Optimización No Linea1

  

 

que se puede resolver con el método símplex. En términos generales, se puede usar el mismo tipo de transformación para convertir un problema de programación fraccional con /¡(x) cóncava, f2 (x) convexa y g¡ (x) convexas, en un problema equivalente de programación convexa. 

Ejemplo y representación gráfica

   (n=2, m=3)

Page 14: Optimización No Linea1

Nota: Las restricciones de desigualdad definen fronteras al dominio de soluciones

factibles .

2. Resolución de un problema de optimización con restricciones de desigualdad

Los siguientes conceptos y teoremas proporcionan los distintos enfoques que conducirán

a la resolución del problema.

i. Aplicación Convexidad. Teorema local-global

ii. Aplicación Curvas de Nivel

Page 15: Optimización No Linea1

iii. Aplicación Teorema de Weierstrass

iv. Aplicación Condiciones de Kuhn-Tucker

v. Interpretación económica de los multiplicadores de Kuhn-Tucker

i. Aplicación Convexidad. Teorema local-global.

Antes de proceder a la resolución de un problema es importante clasificarlo, estudiando:

a)    La convexidad de la función objetivo.

b)   La continuidad de la función objetivo.

c)    La convexidad del dominio.

d)   La compacidad del dominio.

Ejemplo:

a)    La función objetivo es estrictamente convexa, pues la matriz hessiana de   es:

Page 17: Optimización No Linea1

Observemos que la ecuación   corresponde a una circunferencia

centrada en (a,b) de radio  .

Por tanto, se tratará de circunferencias concéntricas centradas en el punto (3,2).

Del dibujo de las curvas de nivel podemos deducir:

·        (3,2) es mínimo global. 

·        (0,7) es máximo global.   

·        (0,0) es máximo local. 

Page 18: Optimización No Linea1

·        (7,0) es máximo local. 

También se deduce que:

·        (0,2) no es óptimo local. 

Notar que por la zona del dominio pintada en azul pasan curvas de niveles más bajos que

las que pasan por el punto (0,2) y que por la zona del dominio pintada en amarillo pasan

curvas de niveles más altos.

Por tanto, por el entorno del punto (0,2) que está dentro del dominio (representado por el

semicírculo en línea continua) pasan curvas de niveles más altos y más bajos,por lo que

no puede ser ni máximo ni mínimo local.

Ejercicio:

El lector puede repetir el razonamiento anterior para los puntos (4,3) y (3,0):

Page 19: Optimización No Linea1

·        (4,3) no es óptimo local. 

·        (3,0) no es óptimo local. 

iii. Aplicación Teorema de Weierstrass.

Ejemplo:

Puesto que la función objetivo   es una función continua y

el dominio   es un conjunto compacto:

 

podemos aplicar el teorema de Weirstrass y deducir que el problema tiene máximo global

y mínimo global.

Page 20: Optimización No Linea1

Para deducir cuáles son los óptimos, basta construir el conjunto formado por:

1. Los puntos que cumplen la condición necesaria de óptimos libres ( ).

2. Los puntos que cumplen la condición necesaria de óptimos restringidos sobre cada

una de las restricciones que definen el dominio tomadas como restricciones de

igualdad. Es decir, que satisfacen la condición necesaria de óptimo restringido

sobre cada una de las fronteras del dominio ( ).

3. Los vértices del dominio ( ).

Una vez reunidos todos estos puntos, bastará calcular su imagen. El que tenga la imagen

mayor será el máximo global y el que la tenga menor, elmínimo global.

Ejemplo:

1.     Calculamos el gradiente de la función objetivo y lo igualamos a cero.

 = (0,0)

Por tanto:  

Resultado:  

Page 21: Optimización No Linea1

2.    Calculamos los puntos que cumplen la condición necesaria de óptimos

restringidos sobre cada una de las restricciones que definen el dominio tomadas como

restricciones de igualdad

Page 22: Optimización No Linea1

Resultado: 

3.     El conjunto de vértices es 

Entonces el conjunto de todos los puntos candidatos a óptimo es:

Page 23: Optimización No Linea1

Calculamos ahora sus imágenes:

Por tanto:

·        (3,2) es el mínimo global y el valor mínimo es 0.

·        (0,7) es el máximo global y el valor máximo es 34.

iv. Aplicación Condiciones de Kuhn-Tucker.

En los casos en que no sea factible el método gráfico, habrá que resolver el problema

analíticamente aplicando las condiciones de Kuhn-Tucker.

Nota: No obstante, la fuerza del método gráfico de las curvas de nivel no la tienen las

condiciones de K-T.

Page 24: Optimización No Linea1

Ejemplo:

En

El punto (4,3) satisface K-T para máximo, ya que los multiplicadores son todos mayores o

iguales a cero, de lo que se deduce(*) que es un posible máximo. Sin embargo, las curvas

de nivel ponen de manifiesto que (4,3) NO es óptimo local.

(*)  Las condiciones de K-T son sólo necesarias en este ejemplo porque la función objetivo

no es cóncava.

v. Interpretación económica de los multiplicadores de Kuhn-Tucker.

Ejemplo:

Page 25: Optimización No Linea1

Supongamos que la función objetivo es una función de producción. Podríamos

preguntarnos: ¿Se conseguiría mejorar la producción si la restricción   pasase a

ser  ?

Se observa que el incremento en el valor del término independiente de una restricción con

signo    , representa incrementar el dominio y, por tanto, ofrece la posibilidad de

hallar nuevos puntos que mejoren los óptimos ya obtenidos: podríamos encontrar

un máximo “más alto” o unmínimo “más bajo”.

Ejemplo:

En nuestro ejemplo, el mínimo permanece igual, pero el máximo sí mejora.

La fórmula coincide con la ya obtenida para la interpretación de los multiplicadores de

Lagrange   en problemas con restricciones de igualdad:

Page 26: Optimización No Linea1

Podemos comprobar que esta fórmula concuerda con lo que acabamos de explicar,

puesto que si se trata de máximos, los multiplicadores serán positivos o nulos y

obtendremos:

    (pues   y  ) 

es decir, el valor máximo será mayor

En cambio, en el caso de mínimos, los multiplicadores serán negativos o nulos y

obtendremos:

    (pues   y  ) 

es decir, el valor mínimo será menor

Ejemplo:

Repetimos en nuestro ejemplo el razonamiento para el caso en que nos propusiéramos

pasar de   a   .

Un decremento en el valor del término independiente de una restricción con signo   

 representa disminuir el dominio y sólo ofrece la oportunidad de

“perder” óptimos y, por tanto, podríamos encontrarnos máximos “más bajos” y mínimos

“más altos”.

Page 27: Optimización No Linea1

Condiciónes de Kuhn-Tucker(K-T)

Sea (P) un problema con restricciones de desigualdad:

(f, gi funciones diferenciables)

i. Condiciones necesarias de primer orden de optimalidad local

ii. Enunciado de las condiciones

iii. Deducción geométrica

iv. Suficiencia y convexidad

Ver ejemplo de aplicación

i. Condiciones necesarias de primer orden de optimalidad local

Las condiciones de K-T son necesarias de optimalidad local, es decir:

 máximo local      satisface K-T para máximo 

 mínimo local      satisface K-T para mínimo

Page 28: Optimización No Linea1

 

Los dibujos aclaran el hecho de que estas implicaciones sean iguales a:

  NO satisface K-T para máximo    NO es máximo local 

  NO satisface K-T para mínimo    NO es mínimo local

En definitiva, si un punto satisface las condiciones de K-T para máximo, sólo podemos

decir que es un “posible” máximo local; si en cambio, no las satisface, sí podremos

asegurar que NO es máximo local.

ii. Enunciado de las condiciones

Las condiciones de K-T son:

1.

(Los   reciben el nombre de multiplicadores de K-T)

2.

3.  (si se trata de máximo)

  (si se trata de mínimo)

Page 29: Optimización No Linea1

4.

Geométricamente, indican que en un punto de posible máximo, el gradiente de la función

objetivo es combinación lineal positiva de los gradientes de las restricciones

saturadas en   . De igual forma, indican que en un punto de posible mínimo, el gradiente

de la función objetivo es combinación lineal negativa de los gradientes de las restricciones

que se saturan en   .

Nomenclatura:

Diremos que un punto satisface K-T para máximo cuando satisface las condiciones de K-T

con 

Diremos que un punto satisface K-T para mínimo cuando satisface las condiciones de K-T

con 

Explicación:

Condición 1: Obliga a que el gradiente de la función objetivo en x0 sea combinación lineal

de los gradientes de las restricciones en x0 .

Condición 2: Obliga a que los multiplicadores de K-T asociados a restricciones

NO saturadas en x0  sean nulos. Veámoslo:

a. Si la restricción gi  está saturada en x0: ( gi(x0) = 0)  entonces: λi gi(x0) = 0 para

cualquier valor de λi

b. Si la restricción gi  NO está saturada en x0: ( gi(x0) < 0)  entonces la única posibilidad

para que λi gi(x0) = 0  es que λi = 0

Page 30: Optimización No Linea1

Condición 3: Cuando el punto satisface K-T para máximo, todos los multiplicadores deben

ser positivos. Cuando el punto satisface K-T para mínimo, todos los multiplicadores deben

ser negativos.

Condición 4: El punto x0  debe satisfacer todas las restricciones del problema, es decir,

debe pertenecer al conjunto de soluciones factibles del problema.

iii. Deducción geométrica

Sea el problema:

Debemos considerar todas las restricciones en el sentido  ; para ello multiplicaremos las

que estén en sentido contrario por  –1. Es decir:

La función objetivo es   cuyo gradiente es:   .

Page 31: Optimización No Linea1

Dibujemos el dominio del problema y las curvas de nivel de la función objetivo:

Fácilmente se comprueba que (1,1) es mínimo local y (3,2) es máximo global .

Las restricciones son:

Dibujando en cada vértice el gradiente de las restricciones que se saturan en él y el de la

función objetivo obtenemos:

Page 32: Optimización No Linea1

Se observa que únicamente en el máximo, el gradiente de la función objetivo queda

dentro del cono convexo generado por los gradientes de las restricciones saturadas; es

decir, únicamente en el máximo, el gradiente de la función objetivo se puede obtener

como combinación lineal positivade los gradientes de las restricciones saturadas.

Se aprecia también que en el mínimo, el gradiente de la función objetivo se obtiene

como combinación lineal negativa de los gradientes de las restricciones saturadas.

iv. Suficiencia y convexidad

Las condiciones de K-T, que son sólo necesarias en general, son

también suficientes cuando hay convexidad: 

1.     ƒ:D ⊂ ℜn → ℜ        D conjunto convexo,  ƒ convexa

x0 satisface K-T para mínimo ⇔ x0  es mínimo local

Page 33: Optimización No Linea1

2.     ƒ:D ⊂ ℜn → ℜ        D conjunto convexo, ƒ cóncava

x0 satisface K-T para máximo ⇔ x0  es máximo local

Observación:

Notemos que teniendo en cuenta el teorema local-global, aún podremos decir más:

1.     ƒ:D ⊂ ℜn → ℜ        D conjunto convexo,  ƒ convexa

x0 satisface K-T para mínimo ⇔ x0 mínimo local ⇔ x0 mínimo global

2.     ƒ:D ⊂ ℜn → ℜ        D  conjunto convexo, ƒ cóncava

x0 satisface K-T para máximo ⇔ x0 máximo local ⇔ x0 máximo global

Ejemplo de Aplicación

Sea el problema:

Page 34: Optimización No Linea1

Muy importante: debemos considerar todas las restricciones en el sentido   ; para ello

multiplicaremos las que estén en sentido contrario por  –1. Es decir:

Apliquemos las condiciones de K-T al punto (3,2):

A)   Tras comprobar que el punto es del dominio del problema (  condición 4 ), proseguimos

con la condición 2: las restricciones que se saturan en (3,2) son   y  ; por tanto, los

multiplicadores asociados a las restantes restricciones serán nulos, es decir 

B)   Planteamos la condición 1, prescindiendo de las restricciones no saturadas:

Por tanto: 

De donde se deduce que: 

Page 35: Optimización No Linea1

C)  Comprobamos el signo de los multiplicadores (condición 3).

En este caso, 

D)  Deducimos las consecuencias: puesto que se trata de un problema lineal, la función

objetivo es cóncava y convexa y el dominio es convexo. Por tanto, las condiciones de K-T

son necesarias y suficientes tanto para mínimo como para máximo.

Así pues, si el punto (3,2) satisface K-T para máximo, podemos asegurar que (3,2)

es máximo local y por el teorema local-global, también es máximo global.

Método de Lagrange aplicado a un Problema de Programación No LinealEl método de multiplicadores de Lagrange (el cual es generalizado por las condiciones de optimalidad de Karush-Kuhn-Tucker) permite abordar la resolución de modelos de programación no lineal que consideran restricciones de igualdad. En este sentido y como resulta natural, el dominio de soluciones factibles considerará exclusivamente aquellas soluciones que permiten verificar el cumplimiento de la igualdad de dichas restricciones. Por el contrario, un problema de optimización que considera inecuaciones como restricciones, sólo requiere que éstas se cumplan y no necesariamente se deberá forzar el cumplimiento de ellas en igualdad (activas).

En general las condiciones de Lagrange se aplican a un problema que tiene la siguiente estructura:

Page 36: Optimización No Linea1

Que da origen a la función Lagrangiana asociada a dicho problema:

Consideremos el siguiente problema de programación no lineal restringido que nos permitirá ilustrar la aplicación del método de Lagrange.

Notar que el problema adopta la estructura estándar previamente descrita y considera una única restricción de igualdad. No se incluye en particular condiciones de no negatividad, que en caso de estar presentes justificarían la aplicación delTeorema de Karush-Kuhn-Tucker.

En este contexto, un mínimo local para el problema propuesto debe satisfacer las condiciones necesarias de primer orden de Lagrange:

Que da origen al siguiente sistema de ecuaciones:

Donde la resolución es trivial y corresponde a x1=2, x2=2 y λ1=-4. Notar que el multiplicador de Lagrange asociado a una restricción de igualdad es libre de signo, en consecuencia la solución propuesta satisface las condiciones necesarias de primer orden.Adicionalmente se cumplen las condiciones de segundo orden pues:

Es positiva definida (función objetivo estrictamente convexa y restricción lineal que define un conjunto convexo). Luego, el problema es convexo y en consecuencia  x1=2 y x2=2 es mínimo global y solución óptima del problema. Este resultado por cierto es consistente con la representación gráfica del

Page 37: Optimización No Linea1

problema, donde la solución óptima corresponde al punto A, donde la restricción (color naranjo) es tangente a la curva de nivel que representa a la circunferencia de menor radio que intercepta el dominio de soluciones factibles..

Teorema de Karush Kuhn Tucker aplicado a un Problema de Programación No LinealEn "Programación No Lineal"

Qué es una Solución Básica Factible en Programación LinealEn "Programación Lineal"