REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA BOLIVARIANA NÚCLEO ANZOÁTEGUI ± SEDE SAN TOMÉ T OMÉ
MÉTODOS DE OPTIMIZACIÓN CON RESTRICCIONES (Condiciones de Karush-Kuhn-Tucker, programación cuadrática, c uadrática, programación separable, programación geométrica)
Prof.:
Ing. Roberth Andrade Bachilleres:
Camero Gabrianna C.I.: 20.172.245 Gago Iván C.I.: 20.172.561 Gómez Joannelis C.I.: 20.171.790 Pereira Gabriela C.I.: 20.170.815 6to Semestre Ing. Sistemas AN San Tomé, enero de 2012
ÍNDICE
Contenido
Metodos de optimizacion con restricciones Multiplicadores de Lagrange ........................................................................... 4 Condiciones de Karush-Kuhn-Tucker ............................................................. 5 Programación cuadrática ............................................................................... 10 Programación Separable ................................................................................ 15 Programación Geométrica ............................................................................. 17
INTRODUCCIÓN
La Programación no Lineal (PNL) es una parte de la Investigación Operativa cuya misión es proporcionar una serie de resultados y técnicas tendentes a la determinación de puntos óptimos para una función (función objetivo) en un determinado conjunto (conjunto de oportunidades), donde tanto la función objetivo, como las que intervienen en las restricciones que determinan el conjunto de oportunidades pueden ser no lineales. Evidentemente, la estructura del problema puede ser muy variada, según las funciones que en él intervengan (a diferencia de la Programación Lineal (PL) donde la forma especial del conjunto de oportunidades y de la función objetivo permite obtener resultados generales sobre las posibles soluciones y facilitan los tratamientos algorítmicos de los problemas). Ello ocasiona una mayor dificultad en la obtención de resultados, que se refleja también en la dificultad de la obtención numérica de las soluciones. En este sentido, hay que distinguir entre las diversas caracterizaciones de óptimo, que sólo se emplean como técnicas de resolución en problemas sencillos, y los métodos numéricos iterativos, cuyo funcionamiento se basa en estas caracterizaciones, para la resolución de problemas más generales.
MÉTODO DE OPTIMIZACIÓN CON RESTRICCIONES
Condiciones necesarias y suficientes de optimidad
Para los métodos utilizados en resolver problemas cuadráticos es necesario definir condiciones suficientes y necesarias, que se deben satisfacer en el punto solución, para que pueda ser considerado como un punto de solución óptimo. La necesidad de estas condiciones nos lleva principalmente al estudio de las teorías de Lagrange y de KarushKhun y Tucker, que caracterizan las condiciones de un punto óptimo en programación no lineal.
Multiplicadores
de Lagrange
La idea principal en el desarrollo de condiciones necesarias y suficientes, para los problemas de optimización no lineal con restricciones es, el de transformar estos problemas sin restricciones y aplicar las condiciones necesarias y suficientes para los problemas sin restricciones. Una transformación involucra la introducción de una función auxiliar,
definida como: Donde y son los multiplicadores de Lagrange llamada la función de Lagrange
asociados con las restricciones de igualdad y desigualdad, respectivamente. Los
no tienen restricciones de signo, mientras que los multiplicadores de , asociados con las desigualdades deben ser
multiplicadores , asociados can las igualdades no negativos.
La transformación a problemas sin restricciones comienza encontrando el punto estacionario de la función de Lagrangiana:
Los multiplicadores de Lagrange proveen información sobre la sensibilidad de la función objetivo con respecto al vector de perturbación al punto óptimo . La existencia
de los multiplicadores de Lagrange de penden de la forma de las restricciones y no siempre está garantizada. Condiciones de Karush-K uhn-Tucker
Dado que las condiciones KKT son el resultado analítico más importante en programación no lineal, se desarrollaran estas condiciones en dos pasos por conveniencia de exposición. En primer lugar se analizan las condiciones de no negatividad, para en el paso posterior desarrollar un problema con las condiciones de desigualdad tanto para maximización como para minimización Condiciones de no negatividad: Como primer paso se considera un problema simple de
sujeta a la restricción que la variable de elección sea no negativa, es decir . Naturalmente esta condición es equivalente a , entonces incorporando una variable deholgura y llamando al multiplicador de optimización de la función
lagrange, la función lagrangiana resulta:
Las condiciones necesarias son:
De la primera se desprende que
. Entonces se pueden dar solamente tres
tipos de extremos: a) Extremo local interno lo que implica que derivadaes nula, es decir que
.
b) Extremo local de frontera lo que implica que nula.
óptimo ( ) es positivo y su es igual a cero y su derivada es
c) Punto de frontera lo que implica que
y su derivada es positiva si es un
problema de minimización, o negativa si es un problema de maximización.
Condiciones de desigualdad: En este segundo paso se reconsidera el problema con la incorporación de una restricción de desigualdad y otra variable de elección. Además, dado que tradicionalmente los problemas de maximización se presentan con desigualdades del signo contrario a las de los problemas de minimización, se determinarán las condiciones para máximo y para mínimo a partir de problemas distintos. Maximizar sujeto a
Minimizar sujeto a
La restricción de desigualdad puede transformarse en una igualdad incorporando una variable de holgura o de excedente apropiada. Para este caso, la condición para máximo
una variable de holgura no negativa ; asimismo para el problema de minimización se satisface restando a la función una queda satisfecha sumando a
variable de excedente
no negativa. De esta manera, las funciones de Lagrange sin
considerar las restricciones de no negatividad serán:
× ×
Y las condiciones necesarias de extremo se obtienen igualando a cero las derivadas parciales de F:
Y dado que las variables y deben ser no negativas, de acuerdo a lo hallado en el punto a) relativo a las condiciones de no negatividad, se pueden re expresar estas condiciones como:
para máximo y para mínimo, la segunda línea determina que para ambos tipos de problema, además es no negativo y Luego, dado que
por lo tantodicha línea de condiciones es igual a
Pero a su vez la tercera línea implica que
para máximo y
. Por consiguiente, considerando la anterior se puede combinar la segunda con la tercera línea de tal forma que
× ×
Esto permite expresar las condiciones de KKT sin las variables artificiales.
× ×
Entonces para el caso general de variable de elección y funciones langragianas respectivas serán:
restricciones, las
Programación cuadrática
La importancia de la programación cuadrática recae en que, como es un caso especial de la programación no lineal, se utiliza como una función modelo para aproximar funciones no lineales a través de modelos locales. La programación cuadrática trabaja con una clase especial de problemas en el que una función cuadrática de variables de decisión sujeta a restricciones lineales de desigualdad requiere ser optimizada, en nuestro caso, requiere ser minimizada. Una función cuadrática, en notación matricial, es una función de la forma
Es de gran importancia identificar o poder definir la característica de la matriz Hessiana, ya que a partir de ésta podemos determinar ciertas características del problema, que nos serán útiles para encontrar su solución. Existen diferentes tipos de problemas de programación cuadrática, los cuales se pueden clasificar en:
Problemas cuadráticos de minimización sin restricciones, requieren minimizar la
sobre el espacio completo.
función cuadrática
Problemas cuadráticos de minimización sujetos a restricciones de igualdad, requieren minimizar la función objetivo
.
sujeta a restricciones lineales de
igualdad
Problemas cuadráticos de minimización sujetos a restricciones lineales de
sujeta a restricciones
desigualdad. Requieren minimizar la función objetivo
, también puede contener restricciones de igualdad.
lineales de desigualdad
Problemas de optimización de redes cuadráticas. Son problemas cuadráticos en los que las restricciones son restricciones de baja conservación sobre una red pura o generalizada.
Problemas cuadráticos convexos. Son cuales quiera de los mencionados arriba, en el
es convexa.
cual la función objetivo a ser minimizada,
Problemas cuadráticos no convexos. Son cuales quiera de los mencionados arriba,
es no convexa.
en el cual la función objetivo a ser minimizada,
Problemas de complementariedad lineal. Son problemas especiales con un sistema de ecuaciones en variables no negativas, en el cual las variables están formadas en varios pares llamados pares complementarios. El ³Algoritmo de Espacio Rango para Programación Cuadrática´ aquí
implementado, trabaja con problemas cuadráticos convexos sujetos a restricciones lineales de desigualdad. Históricamente, las funciones cuadráticas fueron prominentes porque proveían modelos locales simples para funciones no lineales generales. Una función cuadrática, es la función no lineal más simple, y cuando es usada como una aproximación para una función no lineal general, esta puede capturar la información importante de la curvatura, lo que una aproximación lineal no puede. El uso de aproximaciones cuadráticas para resolver problemas con funciones no lineales generales se remonta mucho tiempo atrás. Entre los métodos más destacados, tenemos al método de Newton y el método de gradiente conjugado. Para la programación cuadrática se pueden encontrar mínimos locales, mínimos globales, puntos estacionarios o de KKT, (son los que satisfacen las condiciones de KKT del problema). En problemas convexos de programación cuadrática, todo punto KKT o mínimo local, es un mínimo global. La programación cuadrática tiene aplicaciones muy importantes, por ejemplo, en el área financiera, se pueden realizar análisis, usando modelos de programación cuadrática para determinar la selección de estrategias óptimas de inversión. En los impuestos, la programación cuadrática juega un papel muy importante en el análisis de políticas de impuestos. Otra aplicación importante, es en la que los economistas utilizan modelos de equilibrio para analizar expectativas de cambio en condiciones económicas, predicción de
precios, incremento de la inflación, etc. Estos modelos involucran el uso de programación cuadrática. Consideramos un problema de programación no lineal cuya función objetivo es la suma de términos de la forma
el grado de este termino es
Un problema de programación no lineal, cuyas restricciones son lineales y cuya función objetivo es la suma de términos de la forma
(en la cual cada termino tiene
un grado de 2, 1, o 0) es un problema de programación cuadrática. Dichos problemas se resuelven por el método de WOLFE. A continuación: Se define un problema de programación cuadrática como:
Con sus restricciones
(vector en con componentes continuas), C es un vector de precios con componentes, es una matriz de , simétrica y positiva definida, es decir, para toda , excepto , b es el vector de recursos con componentes, es una matriz de coeficientes tecnológicos y 0 es un vector con Donde
ceros. El problema de optimización anterior tiene restricciones lineales, si nula se convierte en un problema de programación lineal. Como
es una matriz
es positiva definida,
es una función estrictamente convexa y por lo tanto el mínimo si existe es global; si es negativa definida, es estrictamente cóncava y si el máximo existe es implica que global. A continuación se escribe el problema en notación algebraica, se le aplican los multiplicadores de Lagrange, se verifican las condiciones necesarias y suficientes de Karush ± Kuhn- Tucker que deben existir en un óptimo global.
El método de Wolfe sigue con la reescritura del problema original como un problema de programación lineal con holguras complementarias; éste último problema es equivalente al problema original. El problema de programación lineal a resolver será de
variables, restricciones lineales y restricciones de holgura complementaria. Ejemplo: Resolver el siguiente problema de programación cuadrática por el método de Wolfe:
Con sus restricciones:
Aplicando los multiplicadores de Lagrange tenemos:
Las primeras derivadas parciales son:
El problema de programación lineal equivalente al original de acuerdo al método de Wolfe es:
Sujeto a:
Con las siguientes restricciones de holgura complementaria:
Utilizando los métodos simplex se tiene que la solución básica inicial es:
En la primera iteración entra y sale . El punto extremo luego de recalcular es: En la tercera iteración no pueden entrar a la base son positivas; el simplex toma como siguiente candidato a y de salida a , el punto extremo después de interactuar es:
La última iteración debe entrar pero no puede porque es positivo; el siguiente elemento a entrar a la base es el cual reemplazara a Luego de recalcular el punto extremo es:
La solución que corresponde al óptimo es:
Programación Separable
es separable si se puede expresar como la suma de funciones de una sola variable , es decir, Un caso especial de programación separable ocurre cuando las funciones son convexas , resultando así un espacio convexo de solución; además la función es convexa en caso de Una función
minimización y cóncava en caso de maximización. No existe un algoritmo único para solucionar problemas de programación convexa; en general los algoritmos conocidos se pueden clasificar así: 1. Algoritmos de gradiente, en estos casos se modifica de alguna manera el procedimiento de búsqueda del gradiente para evitar que la trayectoria de búsqueda penetre la frontera de restricción. 2. Algoritmos secuenciales no restringidos, incluye los métodos de función de penalización y de función barrera; estos algoritmos convierten el problema de optimización restringida original en una sucesión de problemas de optimización no restringida, cuyas soluciones óptimas convergen a la solución óptima del problema original. 3. Algoritmos de Aproximación Secuencial, incluye métodos de aproximación lineal y aproximación cuadrática; estos algoritmos sustituyen la función objetivo no lineal por una sucesión de aproximaciones lineales o cuadráticas. Para problemas de optimización linealmente restringidos, estas aproximaciones permiten la aplicación repetida de los algoritmos de programación lineal o cuadrática. A continuación resolvemos un problema de programación separable aplicando el método de la base restringida.
Ejemplo.
Con sus restricciones
El método de aproximación nos sugiere que las variables separables son:
1
0
0
0
2
1
1
2
3
2
16
8
4
3
81
18
Luego:
Entonces el problema original por aproximación se convierte en:
La tabla simple inicial queda de la siguiente forma:
Donde S1 es una variable de holgura (relleno). La solución óptima por el Simplex a este problema equivalente es:
Luego el óptimo en términos de
es :
Programación Geométrica
La Programación geométrica soluciona un caso especial de problemas de Programación No lineal. Este método resuelve al considerar un problema dual asociando los siguientes dos tipos de Programación No lineal:
Problemas geométricos no restringidos del tipo
Problemas restringidos del tipo
Con sus restricciones
Donde
es real, para toda
ambos casos signo
son finitas, los exponentes
no tienen restricciones de
, las funciones toman la forma de un polinomio, excepto que los
exponentes ;
supone para
pueden ser negativos; por esta razón y porque todas las
se denominan posinomiales. La Programación Geométrica fue diseñada por
Duffin, Peterson y Zener. La lógica de la Programación Geométrica se basa en la desigualdad de Cauchy (desigualdad de media aritmética - geométrica) :
El método de solución consiste en calcular las primeras derivadas parciales de
la función objetivo se obtiene la ecuación: Condición de normalidad
De las primeras derivadas parciales iguales a cero se escribe la relación: Condicion de rotogonalidad
Donde aij son los coeficientes positivos, m es el número de variables y n el número de términos. Generalmente, el número de términos determina el número de factores de peso y el número de variables independientes señala el número de ecuaciones. Cuando n = m + 1, se dice que el problema tiene cero grados de dificultad. Cuando n - (m + 1)> 0, es un problema que no se puede resolver mediante Programación Geométrica. Finalmente se resuelven los sistemas de ecuaciones simultáneas planteadas y se obtiene la solución del problema. Ejemplo: 1. Encontrar la cantidad económica de pedido de un producto, es decir, se debe decidir qué cantidad del artículo conviene almacenar periódicamente; los costos totales asociados al producto y su almacenamiento se pueden expresar CT = CCI + CHP + VC donde
Dónde: CT: costo total. CCI: costo cargado al inventario. CHP: costo total de pedidos. VC: valor de compra. Q: cantidad económica del pedido. h: costo por almacenamiento por unidad anual. a: costo de hacer un pedido. d: consumo promedio del año. k,P: constantes.
La función objetivo tiene la siguiente formula general:
De tal modo que al resolver el anterior sistema de ecuaciones simultáneas llegamos a que 1 = 2 y la variable Q* debe ser tal que haga que los dos términos de la función objetivo sean iguales:
Aporte de los métodos de solución para problemas de Programación No lineal ya mencionados algunos de los conocidos son: Técnicas de búsqueda unidimensional: Minimax, Búsqueda simultánea: dos experimentos, búsqueda simultánea: n experimentos, resolución, distinguibilidad , escalamiento, búsqueda secuencial, método de Bolzano, búsqueda por bloques, búsqueda en bloques pares , búsqueda dicotómica, búsqueda de Fibonacci, búsqueda con resolución desconocida, búsqueda de sección áurea , búsqueda de Fibonacci inverso y búsqueda mediante bloques impares, entre otros. Técnicas de búsqueda multidimensional: algunos modelos son: Eliminación multivariable, métodos geométricos, métodos lógicos, búsqueda aleatoria, procedimientos de aproximación estocásticos, búsqueda en forma de malla, método
de búsqueda patrón: Hooke ± Jeeves, método de interpolación cuadrática de Powell, método del ascenso acelerado, método de Newton ± Raphson, método de Davidon ± Fletcher ± Powell, método de Broyden ± Fletcher, método de Fletcher ± Reeves, método de Smith.
CONCLUSIONES
El supuesto de la proporcionalidad de la programación lineal no siempre es adecuado para representar de buena forma situaciones de naturaleza real que requieren de un modelo de optimización como apoyo para el proceso de toma de decisiones. Cabe señalar que un modelo de programación no lineal es aquel donde la función objetivo y/o las restricciones son funciones no lineales de las variables de decisión. En este sentido la programación no lineal permite enfrentar una serie de aplicaciones prácticas que requieren una representación a través de funciones no lineales. Algunos casos característicos de la programación no lineal son los problemas de minimización de distancia, economías o deseconomías de escala, carteras de inversión, ajuste de curva, entre otros. En general cuando formulamos un modelo de optimización no lineal esperamos que éste sea más representativo de una situación real en comparación a un modelo lineal, sin embargo, a la vez asumimos que es probable que la complejidad de la resolución aumente. Por ello quien formule un modelo debe equilibrar la representatividad del mismo con la dificultad de la resolución.