no lineal

Upload: michael-reynolds

Post on 06-Mar-2016

213 views

Category:

Documents


0 download

DESCRIPTION

No Lineallll

TRANSCRIPT

  • 11. PROGRAMACION NO-LINEAL11.1 Introduccin y ejemplos11.2 Propiedades bsicas de los problemas deprogramacin no-lineal11.3 Problemas de optimizacin no restringida11.4 Problemas de optimizacin con restricciones deigualdad11.5 Problemas con restricciones de igualdad y desigualdad. 11.6 Mtodos de optimizacin restringida

  • A esta clase de problemas de optimizacin pertenecen todos aquellos problemas en los cuales la funcin objetivo y/o las restricciones son funciones no-lineales de las variables de decisin.

    En particular, la programacin no-lineal provee una manera de abordar el no cumplimiento del supuesto de proporcionalidad de la programacin lineal, permitiendo la programacin de economas o deseconomas a escala y/o retornos crecientes o decrecientes a escala. 11.1 Introduccin y ejemplos

  • a) Rendimientos decrecientes a escala. Una compaa vende cuatro productos diferentes, el retorno que provee cada producto es una funcin de la cantidad de recursos asignados a la promocin y venta de cada producto, segn la siguiente tabla:

  • En este ejemplo:xi es la cantidad de recursos asignados al producto i, con i=1,2,3,4.

    El siguiente modelo provee una asignacin de estos recursos, de modo de maximizar las utilidades, considerando una inversin anual no superior a los de M$ 75.000

    Mx

    10.000x10.5 + 7.500x20.75 + 9.000x30.6 + 15.000x40.3

    s.a. x1+x2+x3+x4 75.000 xi 0; i=1,2,3,4,5.

  • b) Aproximacin y ajuste de curvas.Supongamos que se tiene un conjunto de datos correspondientes a una determinada funcin y=g(x) (desconocida), digamos (x1,y1), (x2,y2),..., (xm,ym) y se desea aproximar g(x) por una funcin h(x)

  • Algunas elecciones posibles:h (x) = h (x) =h (x) =h (x) =h (x) =h (x) =

  • Cmo elegir los coeficientes ai en la funcin h(x) que aproxima o ajusta los datos observados?

    Se define una funcin de error: e (x) = g(x)h(x)

    Una eleccin posible de los coeficientes ai resulta de minimizar la suma ponderada de los errores al cuadrado en cada uno de los datos , es decir:

    Min F (ao,a1,...,an) =

  • que da origen a un problema de programacin no-lineal sin restricciones.Si escogemos w1=...=wm=1 y h(x)= , la solucin del problema corresponde a la recta de la regresin lineal.h(x)=

  • c) Localizacin de instalacionesUna compaa petrolera desea construir una refinera que recibir suministros desde tres instalaciones portuarias, cuyas coordenadas se muestran en la siguiente figura:

  • Si denotamos por x e y las respectivas coordenadas de la refinera que se debe instalar, una posible eleccin es aquella que resulta de minimizar la cantidad total de tubera necesaria para conectar la refinera con los puertos, dada por:

    Min f ( x,y ) =

    La solucin ptima calculada por el solver de Excel es: x*=30,8052225 y*= 37,8900128

  • 30

  • d) Optimizacin de carteras de inversinSe desea obtener una cartera de inversiones en base a distintos instrumentos (acciones, pagars, bonos, etc.). La cartera elegida deber reflejar un compromiso entre los retornos de los instrumentos elegidos y el riesgo asociado a cada uno de ellos, de hecho es natural esperar que a mayor retorno haya un mayor riesgo y tambin que exista cierta correlacin entre los retornos de los distintos instrumentos de la cartera.

  • A continuacin se formula un modelo para obtener una cartera de inversin de un tomador de decisiones averso al riesgo, con un vector de retornos que tiene una distribucin normal con media:matriz de covarianza:

    donde denota la desviacin estndar del retorno del instrumento i y donde es la covarianza de los retornos del instrumento i con el j.

  • Sea xi el porcentaje de inversin del instrumento i en la cartera, con i=1,2,...n, las variables de decisin del modelo y sea K una constante de aversin al riesgo.

    El siguiente modelo (propuesto por Markowitz, Premio Nobel de Economa 1991), combina ambos elementos presentes en una decisin de esta naturaleza:

    Mx

  • Usando el ejemplo del servidor Neos para una cartera con tres acciones y un bono tenemos:

    Selected value of K is 10.00Risk less rate of return (monthly) is 0.00407

    Hoja1

    Makeup of Optimal Portfolio

    NameAvg Return( monthly, pet)Std DeviationPet of Optimal Portfolio

    Coca cola CO2.8856.57448.6

    Exxon Corp1.6474.93913.7

    Texaco Inc1.8696.38116.6

    Bond0.407021

    Hoja2

    Hoja3

    Hoja1

    Makeup of Optimal Portfolio

    NameAvg Return( monthly, pet)Std DeviationPet of Optimal Portfolio

    Coca cola CO2.8856.57448.6

    Exxon Corp1.6474.93913.7

    Texaco Inc1.8696.38116.6

    Bond0.407021

    Optimal Portfolio Statistics

    Avg Return( monthly, pet)2.03

    Std Deviation4.02

    Pet of Optimal Portfolio27.2

    Hoja2

    Hoja3

  • 48.6%13.7%16.6%21.0%Coca -ColaExxon Corp.Texaco Inc.Bond

  • 11.2 Propiedades bsicas de los problemas de programacin no-linealDe manera general, un problema de optimizacin considera la resolucin de un problema como el que sigue:P)Min (x)s.a.x D IRn

    Donde : IRn IR es una funcin comnmente continua y diferenciable, y D es el dominio de factibilidad del problema, generalmente dado por:D= {x IRn / gi(x) = bi i=1,...,m; hj(x) dj j=1,...,l }

  • Decimos que x* D es un mnimo global o solucin ptima del problema P) ssi: (x*) (x)para todo x D

    Por otra parte, decimos que x^ D es un mnimo local del problema P) ssi:(x^) (x) para todo x en una vecindad de x^(x D B(x^, ))

  • Min (x)= (x-1)(x-2)(x-3)(x-4)(x-5)s.a1x5x(x)Mnimos locales: x=1, x^ y x*Solucin ptima y minimo global x*

    x*x^12345

  • Existen resultados que garantizan la existencia y unicidad de la solucin de un problema de programacin no lineal.

    Teorema (Weiertrass). Si es una funcin continua y D es un conjunto no vaco cerrado y acotado de IRn, entonces P) tiene solucin ptima.

    Teorema. Si es una funcin continua y D es un conjunto cerrado no vaco y adems cumple que: lim|x|+(x) = +, entonces P) tiene solucin ptima.

  • Por su parte, la unicidad de la solucin ptima se puede garantizar slo bajo ciertas condiciones muy especiales.

    De igual modo es posible garantizar si un mnimo local es un mnimo global del problema.

    Para esto se requiere saber si el problema P) es un problema convexo, esto es si la funcin objetivo es convexa y el conjunto D de puntos factibles es un conjunto convexo.

  • Si la desigualdad anterior se cumple de manera estricta, decimos que es estrictamente convexa.Definicin. Decimos que : IRnIR es una funcin convexa ssi:x + (1-)y ) (x) + (1-)(y)para todo x,y D (xy) con [0,1]Lineal a trozos

  • Adicionalmente, se tiene el siguiente resultadoTeorema. Si es una funcin dos veces continuamente diferenciables, las siguientes afirmaciones son equivalentes: es una funcin convexa(x) (y) + T(y)(x-y) para dos puntos cualesquiera x e y.La matriz hessiana de las segundas derivadas parciales de , denotada en lo que sigue por D2 (x), es semi positiva definida para todo x.

  • Por otra parte, tambin podemos caracterizar si un conjunto cualquiera es convexo o no, de acuerdo a la siguiente:Definicin.D IRn, un conjunto no vaco, es convexo ssi x + (1-) y D, para todo x D, y D con [0,1].Es convexoNo es convexo

  • As por ejemplo, si h(x) es una funcin convexa el conjunto D = { x IRn h(x) d } es convexo para cualquier escalar real d.Tambin es posible demostrar que la interseccin de conjuntos convexos es un conjunto convexo. De aqu que por ejemplo el problemaP)Min (x)s.a hj(x) djj=1,2,...,lCon (x) y hj(x), para j=1,2,..,l, funciones convexas definen un problema convexo, pues el dominio de factibilidad es la interseccin de los conjuntos convexos Dj = { x IRn hj(x) dj }, para j=1,2,..,l.

  • Teorema. Si P) es un problema convexo y x* es un mnimo local de P) entonces x* es un mnimo global o solucin ptima de P), si adems, es una funcin estrictamente convexa x* es la nica solucin ptima.

    La principal dificultad en los problemas de programacin no lineal es que incluyen restriciones no lineales de igualdad como g(x)=b y el conjunto de puntos { xIRn : g(x)=b} generalmente no es convexo cuando g(x) es una funcin no lineal cualquiera. Por lo tanto no todos los problemas de programacin no lineal son convexos y esto hace ms difcil garantizar que la solucin encontrada por un solver sea una solucin ptima del problema.

  • Como puede verse en el siguiente ejemplo, que resolveremos grficamente, la geometra de los problemas tambin cambia respecto de lo observado en programacin lineal.

    Consideremos el siguiente problema:

    Min(x1 - 3)2 + (x2 - 4)2s.a. x1 + x2 5 x1 - x2 5/2 x1 0, x2 0

  • La solucin ptima x* de este problema se alcanza el punto x1* = 2, x2* = 3 correspondiente al nico punto de la curva de nivel que tiene el menor valor y que intersecta la regin de puntos factibles. Notar que la solucin ya no corresponde a un vrtice del dominio de factibilidad del problema, an cuando todava esta solucin se alcanza en la frontera de dicho conjunto.

  • Sin embargo, esto ltimo, a diferencia de lo que ocurre en programacin lineal, no siempre se produce. Si por ejemplo el problema es ahora:Min(x1 - 2)2 + (x2 - 2)2s.a x1 + x2 5 x1 - x2 5/2 x1 0, x2 0

    La solucin cambia a lo representado en la siguiente figura, donde la solucin ptima se alcanza en x1* = 2, x2* = 2, ahora perteneciente al interior del dominio de factibilidad del problema.

  • Grficamente, tambin podemos observar la presencia de divesos mnimos locales en un problema no lineal.

  • 11.3 Problemas de optimizacin no restringidaEn esta seccin consideraremos un problema P) Min (x) con x IRnA esta clase de problemas pertenece por ejemplo el problema de aproximacin y ajuste de curvas. Sin embargo, la principal razn para su estudio radica en la extensin de las ideas y mtodos para esta clase de problemas a los problemas de optimizacin restringida.

  • A continuacin se resumen algunos resultados tericos para esta clase de problemas:Teorema (condiciones necesarias de primer orden). Si es una funcin continuamente diferenciable y x^ IRn es un mnimo local de P), entonces: (x^) = 0.

    Teorema (condiciones necesarias de segundo orden). Si es una funcin dos veces continuamente diferenciable y x^ IRn es un mnimo local de P), entonces:(x^) = 0 y D2 (x^) es semi positiva definida.

  • Dado lo anterior, no todos los puntos x IRn que satisfacen las propiedades mencionadas son mnimos locales de la funcin, sin embargo existen resultados que proveen condiciones necesarias y suficientes para que un punto sea un mnimo local.

    Teorema (condiciones suficientes de segundo orden). Sea una funcin dos veces continuamente diferenciable en x^. Si (x^)=0 y D2 (x^) es positiva definida, entonces x^ es un mnimo local estricto.

    Teorema. Sea una funcin convexa continuamente diferenciable, entonces x^ es un mnimo global ssi (x^)=0.

  • Ejemplo. Considere la funcin:(x1,x2) = 3 x12 + x23 - 3/2 x22su gradiente y matriz Hessiana corresponden a:

  • De modo que hay dos posibles candidatos, x^ =(0,0)Ty x* = (0,1)T, que satisfacen las condiciones necesariasde primer orden, sin embargoslo es positiva definida en x* = (0,1), de modo que x* es un mnimo local del problema.

  • La mayor parte de los algoritmos de optimizacin para abordar esta clase de problemas pertenecen a la clase de algoritmos generales de descenso que reducen el clculo de un mnimo local a una secuencia de problemas de bsqueda lineal (o bsqueda unidimensional).

  • Decimos que un vector d IRn es una direccin de descenso de la funcin en el punto x^ ssi la derivada direccional de en x^ en la direccin d, es negativa:

  • Consideremos adems la funcin unidimensional (en una variable)g() = (x^ + d)donde es un escalar real llamado el tamao del paso. Esta funcin da el valor f cuando uno se mueve a partir del punto x^ en la direccin d un cierto paso .

    Claramente, si g(0)= T(x^)d

  • Algoritmo general de descenso1 Considere un punto inicial x=x. Hacer k=0. 2 Escoger una direccin de descenso dk.3 Realizar una bsqueda lineal que seleccione un paso k tal que:g(k) = (xk + kdk) < (xk) = g(0)4 Hacer xk+1 = xk + kdk.5 Hacer un test de convergencia. Si converge stop. En caso contrario, hacer k=k+1 y volver a 2.

  • En paso 5, los criterios ms usuales de convergencia son que: (xk) (xk+1) - (xk)/ (1+ (xk)) para un cierto nmero L de valores consecutivos de k, y donde es una tolerancia dada de error, por ejemplo =10-4.

    Existen varios mtodos para escoger una direccin de descenso, uno de ellos es:

  • Mtodo del descenso ms pronunciadoEn este mtodo, tambin conocido como mtodo del gradiente o mtodo de Cauchy, dado la actual aproximacin xk, la direccin de descenso se escoge como:dk = -(xk)

  • Ejemplo.Considerar el problema:que resolvemos usando el mtodo del descenso ms pronunciado a partir del punto x10 = 0, x20 = 3.

  • Otra eleccin posible para la direccin de descenso es la que usa el:Mtodo de NewtonAqu el vector dk se calcula como la solucin del siguiente sistema de ecuaciones:D2(x)dk=- (x)Sin embargo, a pesar de ser un mtodo ms eficiente que el anterior respecto de su rpidez de convergencia, requiere en cada iteracin el clculo de las segundas derivadas parciales y la resolucin de un sistema de ecuaciones. Adems, dk est garantizada que es una direccin de descenso slo si D2(xk) es positiva definida.

  • Al aplicar el mtodo al ejemplo anterior se tiene:

  • 11.4 Problemas de optimizacin con restricciones de igualdadEl problema que se desea abordar consiste en:P) Min. f(x) s.a. g1(x) = b1 g2(x) = b2 g m(x)= bn mn

    Definicin. Decimos que x IRn un punto regular de las restricciones del problema P) ssi:

    son vectores l.i.

  • Para presentar algunos resultados tericos, que permiten el clculo de mnimos locales, se introdujo la definicin anterior que se relaciona con el cumplimiento de ciertas condiciones de regularidad del problema.

    A continuacin, introducimos la funcin lagrangeana del problema P):

  • Donde representa el vector de los multiplicadores de lagrange.

    Los siguientes resultados tericos establecen ciertas propiedades que satisface un mnimo local, las cuales muestran, en particular, que dicho punto es un punto estacionario de la funcin lagrangeana.

  • Teorema (Condiciones necesarias de primer orden):Sean f(x) y g1(x),..., gm(x), funciones continuamente diferenciales y sea x^ un mnimo local que adems es un punto regular de las restricciones de P), entonces existe un vector ^ IRm, de multiplicadores de Lagrange tales que:

  • Teorema(Condiciones necesarias y suficientes de segundo orden). Sean f,g1,g2,...,gm funciones dos veces continuamente diferenciables y sea x^ IRn un punto regular de las restricciones de P) que junto con ^ IRm, satisfacen:

    es una matriz positiva definida entonces x^ es un mnimo local de P).

  • Ejemplo: Min. s.a.

    Buscamos x* usando las condiciones de Optimalidad: ; m=1 as:

  • Luego las condiciones de primer orden son:

    ( Factibilidad)

    Resolviendo el sistema : x1=x2=2; 1=-4, luego por existencia de la solucin ptima de P) se tiene: x1=2 x2=2 es la solucin ptima.

  • De todos modos las condiciones de segundo orden se cumplen :

    Notar que en x* se tiene:

  • Por ltimo consideramos un problema general de optimizacin: P) Min. f(x) s.a.

    En este caso decimos que es un punto regular de las restricciones del problema ssi:

    vectores l.i 11.5 Problemas con restricciones de igualdad y desigualdad.

  • Teorema(condiciones necesarias de primer orden de Karush-Kuhn-Tucker (KKT)). Suponga que las funciones f, g1,g2 ,...,gm,h1,...,hl son continuamente diferenciables. Sea un punto regular de P) y mnimo local del problema, entonces existen multiplicadores de lagrange: y

  • 11.6 Mtodos de Optimizacin Restringidaa) Mtodo de activacin de restriccionesEste mtodo se aplica en esta descripcin a problemas que slo poseen restricciones de desigualdad. La idea es que si el problema no restringido tiene una solucin ptima que no satisface una parte de las restricciones, se considera k restricciones como de igualdad y se resuelve este problema restringido hasta llegar a un conjunto de restricciones activas cuya solucin tambin satisface las restricciones omitidas.

  • 1 Resuelva el problema no restringido. Si el ptimo satisface todas las restricciones STOP, en caso contrario, hacer k=1 e ir al paso 2.2 Activar cualquiera k restricciones y hallar una solucin que satisfaga las condiciones de optimalidad KKT. Si la solucin resulta factible para las restantes restricciones STOP. Sino, active otro conjunto de k restricciones y repita el paso. Si se han tomado todos los conjuntos de k restricciones sin hallar solucin factible ir al paso 3.3 Si k=L (# total de restricciones) no existe solucin factible. En caso contrario, hacer K= K+1 e ir a paso 2.

  • Ejemplo. Consideremos el problema:Min (2x1 5)2 + (2x2 1)2s.a.x1 + 2x2 2x1, x2 0

    El problema no restringido tiene como solucin a~Obtenida al resolver (x) = 0

  • Claramente, este punto no satisface la restriccin h1(x1,x2) = x1 + 2x2 2.Consideramos entonces activa la restriccin, esto es resolvemos:Cuya solucin esque no satisface x2 0

  • Continuando con el mtodo, si slo se activa x1= 0 se llega al mnimo local:x1 = 0 x2 = 2=0 1=0 3=0

    Notar que otro mnimo local se tiene con x1 + 2x2 2 y x2 = 0 activas, obtenindose x1 = 2, x2 = 0.

  • b) Mtodo de Frank - WolfeEste mtodo permite la resolucin de un problema cuya funcin objetivo es una funcin convexa no-lineal y cuyas restricciones son todas lineales. Este mtodo reemplaza la funcin objetivo por una secuencia de funciones lineales que la aproximan, dando as origen a una secuencia de problemas de programacin lineal.

  • Si xk es la actual aproximacin a la solucin ptima del problemaP) Min(x)s.a.Ax = bx 0Entonces la expansin en serie de Taylor en torno a x=xk, a saber (x) = (xk) + (xk)(x xk), permite aproximar el problema P) por el problema linealPLk)Min (xk) + (xk)(x xk)s.a.Ax = b x 0

  • o equivalentemente, eliminando los trminos constantes, considerar el problema:PLk)Min (xk)xs.a.Ax = bx 0Si xLPk denota la solucin ptima de PLk), este punto no necesariamente es cercano a xk de modo que es necesario proponer un punto que resulte de hacer una minimizacin unidimensional en el segmento que une xk con xLPk.

    Todo lo anterior se resume en el siguiente algoritmo:

  • 0 Escoger un punto inicial factible x0. Hacer k = 1.1 Evaluar C= (xk-1)2 Hallar la solucin ptima xLPk del siguiente problema linealMin CT xs.a.Ax = bx 03 Para la variable [0,1], se defineg() = (xk-1 + [xLPk xk-1])Usar algn procedimiento de minimizacin unidimensional para hallar un k que aproxime la solucin de Min { g() / [0,1]}

  • 4 Hacer xk = xk-1 + k (xLPK xk-1)5 Si se satisface el criterio de parada del mtodo, STOP. En caso contrario, hacer k = k + 1 y volver al paso 1.

  • Ejemplo.

  • Direcciones electrnicas en Programacin no LinealPreguntas de consulta frecuente en Programacin No Lineal:

    Servidor NEOS, gua de software de Programacin No Lineal:

    Servidor Neos, ejemplo de carteras de inversin:

    Gua de software de Programacin No Lineal en revista OR&MS Today (INFORMS Magazine)

    http://www-unix.mcs.anl.gov/otc/Guide/faq/nonlinear-programming-faq.htmlhttp://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/unconstropt.htmlhttp://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/constropt .htmlhttp://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/port/index.htmlhttp://lionhrtpub.com/software-surveys.shtml