Objetivos Proponer en forma cuantitativa acciones o decisiones a tomar para optimizar sistemas donde existan recursos escasos y se presenten relaciones no lineales simples, mediante la teora y prctica de la Tcnica de Programacin no Lineal. Resolver los problemas de programacin no lineal adecuadamente: Saber detectar cada tipo de problema Modelarlo Realizar consultas bibliogrficas Realizar investigaciones Interpretar los datos en la realidad Unidad 5 Programacin no lineal Contenido Conceptos de ptimo local y global. Forma cuadrtica. Matriz positiva definida o semidefinida. Funcin convexa. Regin factible convexa. Enunciado de las condiciones necesarias y suficientes de ptimo local nocondicionado. Algoritmos para problemas nolineales sin restricciones: mtodos de bsqueda directa; mtodo del gradiente. Ejemplos. Derivacin grfica de las condiciones necesarias de ptimo local de problemas nolineales restringidos por igualdades. Enunciado de las condiciones necesarias y suficientes de ptimo local para problemas nolineales con restricciones de igualdad. Conceptos de ptimo local restringido. Derivacin de las condiciones necesarias y suficientes de ptimo local para problemas nolineales restringidos por desigualdades (condiciones de KuhnTucker). Enunciado de las condiciones suficientes de ptimo global para problemas nolineales con restricciones de desigualdad. Algoritmos para problemas nolineales con restricciones: Programacin convexa; Programacin cuadrtica; Programacin geomtrica; Programacin estocstica; mtodo de combinaciones lineales.
Teora clsica de la optimizacin En la teora clsica de la optimizacin se usa el clculo diferencial para determinar puntos extremos, o de mximo o de mnimo, para funciones sin restricciones y restringidas. Se establecern las condiciones necesarias y suficientes para determinar los puntos extremos no restringidos, mediante los mtodos jacobiano y lagrangiano para problemas con restricciones de igualdad, y las condiciones de Kuhn-Tucker para problemas con restricciones de desigualdad Teora clsica de la optimizacin Problemas sin Restricciones Problemas sin Restricciones Problemas sin Restricciones Aunque x 1 (en la figura anterior) es un punto mximo, se diferencia de los otros mximos locales porque el valor de f correspondiente a al menos un punto en la proximidad de x 1 es igual a f(x 1 ). A este respecto, es un mximo dbil, mientras que x 3 y x 4 son mximos fuertes. En general, X 0 es un mximo dbil si f(X 0 + h) < f(X 0 ), y es un mximo fuerte si f(X 0 + h) > f(X 0 ), donde h es como se defini arriba. En la figura, la primera derivada o pendiente de f es igual a cero en todos los puntos extremos. Esta propiedad tambin se satisface en puntos de inflexin y de silla, como x 5 . Si un punto con pendiente (gradiente) cero no es un extremo (mximo o mnimo), debe ser un punto de inflexin o un punto de silla. Condiciones necesarias y suficientes Condiciones necesarias y suficientes Condiciones necesarias y suficientes Condiciones necesarias y suficientes Mtodo Newton Raphson Una dificultad del mtodo es que no siempre se garantiza la convergencia, a menos que la funcin f tenga buen comportamiento. En la figura, si el punto inicial es a, el mtodo diverge. No hay manera fcil para ubicar un buen punto inicial Restricciones de igualdad
Se presentan dos mtodos: - el jacobiano o de Jacobi - el lagrangiano o de Lagrange.
El mtodo lagrangiano se puede deducir en forma lgica a partir del mtodo jacobiano.
Esta relacin proporciona una interesante interpretacin econmica del mtodo lagrangiano Las funciones f (X) y g i (X), i 1, 2, ..., m son doble y continuamente diferenciables. La idea de usar derivadas restringidas es desarrollar una ecuacin de forma cerrada para las primeras derivadas parciales de f (X) en todos los puntos que satisfacen las restricciones g(X) = 0. Los puntos estacionarios correspondientes se identifican como aquellos en los que se anulan esas derivadas parciales. Se pueden usar las condiciones de suficiencia para comprobar la identidad de los puntos estacionarios. Para aclarar el concepto propuesto, considrese a f (x 1 , x 2 ), que se ve en la figura. Esta funcin se va a minimizar, sujeta a la restriccin en donde b es una constante. De acuerdo con la figura, la curva definida por los tres puntos A, B y C representa los valores de f(x 1 , x 2 ) para los cuales siempre se satisface la restriccin. El mtodo de derivadas restringidas define al gradiente de f(x 1 , x 2 ) en cualquier punto de la curva ABC. El punto B en el que se anula la derivada restringida es un punto estacionario del problema con restriccin. Anlisis de sensibilidad en el mtodo jacobiano.
Con el mtodo jacobiano se puede estudiar el efecto que tienen cambios pequeos en el lado derecho de las restricciones, sobre el valor ptimo de f. En forma especfica, cul es el efecto de cambiar de g i (X) = 0 a g i (X) = en el valor ptimo de f? A este tipo de investigacin se le llama anlisis de sensibilidad y es similar al que se lleva a cabo en la programacin lineal. Sin embargo, el anlisis de sensibilidad en la programacin no lineal slo es vlido en la proximidad (o cercana) inmediata del punto extremo. El desarrollo es til en el estudio del mtodo lagrangiano. Aplicacin del mtodo jacobiano a un problema de programacin lineal.
Se tiene el problema de programacin lineal: Maximizar Z= 2x 1 + 3x 2 sujeta a x 1 + x 2 + x 3 + x 4 = 5 x 1 - x 2 + x 4 = 3 x 1 , x 2 , x 3 , x 4 > 0 Para tener en cuenta las restricciones de no negatividad x j > 0, se hace la sustitucin x j = w j 2.
Con esta sustitucin, las condiciones de no negatividad se vuelven implcitas, y el problema original se transforma en
FIGURA Puntos extremos del espacio de soluciones del programa lineal Se pueden sacar algunas conclusiones generales de la aplicacin del mtodo jacobiano al problema de programacin lineal. De acuerdo con el ejemplo numrico, las condiciones necesarias requieren que las variables independientes sean igual a cero. Tambin, las condiciones de suficiencia indican que la hessiana es una matriz diagonal. Entonces, todos sus elementos diagonales deben ser positivos para que haya mnimo, y negativos para que haya mximo. Las observaciones demuestran que la condicin necesaria equivale a especificar que slo se necesitan las soluciones bsicas (factibles) para ubicar la solucin ptima. En este caso, las variables independientes equivalen a las variables no bsicas del problema de programacin lineal. Tambin, la condicin de suficiencia demuestra la fuerte relacin entre los elementos diagonales de la matriz hessiana y el indicador de optimalidad zj cj en el mtodo smplex. En el mtodo de Jacobi, sea que el vector l represente los coeficientes de sensibilidad; esto es Mtodo lagrangiano. Estas condiciones son suficientes, pero no necesarias, para identificar un punto extremo. Esto quiere decir que un punto estacionario puede ser un punto extremo sin satisfacer esas condiciones. Existen otras condiciones que son necesarias y suficientes al mismo tiempo, para identificar puntos extremos. Sin embargo, el procedimiento puede ser computacionalmente inmanejable. Se define la siguiente matriz en el punto estacionario (X 0 , l 0 ): Restricciones de desigualdad Se ampla el mtodo de Lagrange para manejar restricciones de desigualdad. La contribucin principal en este caso es el desarrollo de las condiciones generales de Karush-Kuhn-Tucker (KKT) que proporcionan la teora bsica de la programacin no lineal.
Extensin del mtodo de Lagrange. Se tiene el problema Maximizar z = f (X)
sujeta a g i (X) < 0, i = 1, 2, ..., m
Las restricciones de no negatividad X > 0, si las hay, se incluyen en las m restricciones. Si el ptimo no restringido de f (X) no satisface a todas las restricciones, el ptimo restringido debe ser un punto limiten la frontera del espacio de soluciones. Esto quiere decir que al menos una restriccin se debe satisfacer en forma de ecuacin. Por consiguiente, el mtodo implica los siguientes pasos. Pasos Paso 1. Resolver el problema sin restricciones: Maximizar z = f (X) Si el ptimo resultante satisface todas las restricciones, detenerse, porque todas las restricciones son redundantes. En caso contrario hacer k = 1 y seguir en el paso 2. Paso 2. Activar todas las k restricciones (es decir, convertirlas en igualdades) y optimizar a f (X) sujeta a las k restricciones activas, con el mtodo de Lagrange. Si la solucin obtenida es factible con respecto a las dems restricciones, detenerse; se tiene un ptimo local.2 En caso contrario, activar otro conjunto de k restricciones y repetir el paso. Si se han considerado todos los conjuntos de restricciones activas, tomadas de k en k, sin encontrar una solucin factible, proceder al paso 3. Pasos Paso 3. Si k = m, detenerse. No existe solucin factible. En caso contrario, poner k = k + 1 y seguir en el paso 2.
Un punto importante que con frecuencia se pasa por alto al presentar el procedimiento es que no garantiza una optimalidad global, aun cuando el problema tenga buen comportamiento (es decir, que posea un ptimo nico). Otro punto importante es la idea errnea implcita que para p < q, el ptimo de f (X) sujeta a p restricciones de igualdad siempre es mejor que su ptimo sujeto a q restricciones de igualdad. Eso es cierto, en general, slo si las q restricciones forman un subconjunto de las p restricciones. El procedimiento que acabamos de describir ilustra que lo mejor que cabe esperar usando el mtodo de Lagrange es una (posiblemente) buena solucin factible. Esto es especialmente cierto si la funcin objetivo no es unimodal. Si las funciones del problema tienen buen comportamiento (es decir, el problema posee un solo ptimo restringido), se puede rectificar el procedimiento para localizar al ptimo global. En forma especfica, considrense el ptimo no restringido y los ptimos restringidos sujetos a todos los conjuntos de una restriccin activa, despus a dos restricciones activas, y as sucesivamente, hasta que se activen todas las m restricciones. El mejor de todos los ptimos factibles es el ptimo global. Esto indica que el uso del mtodo para resolver problemas de cualquier tamao prctico es limitado Las condiciones de Karush- Kuhn-Tucker (KKT). Se presentan las condiciones necesarias KKT para identificar puntos estacionarios de un problema no lineal restringido sujeto a restricciones de desigualdad. El desarrollo se basa en el mtodo de Lagrange. Esas condiciones tambin son suficientes, bajo ciertas reglas que se enunciarn despus. Se tiene el problema Maximizar z = f (X)
sujeta a g i (X) < 0, i = 1, 2, ..., m
Estas condiciones se aplican tambin al caso de minimizacin, con la excepcin de que debe ser no positiva . Tanto en la maximizacin como en la minimizacin, los multiplicadores de Lagrange que corresponden a las restricciones de igualdad deben ser libres en signo. Suficiencia de las condiciones KKT.
Las condiciones necesarias de Kuhn-Tucker tambin son suficientes, si la funcin objetivo y el espacio de soluciones satisfacen las condiciones de la tabla Es ms fcil comprobar que una funcin es convexa o cncava que demostrar que un espacio de soluciones es un conjunto convexo. Por esta razn se presenta una lista de condiciones que son ms fciles de aplicar en la prctica, en el sentido que se puede establecer la convexidad del espacio de soluciones comprobando la convexidad o la concavidad de las funciones de restriccin. Para suministrar estas condiciones se definirn los problemas no lineales generalizados como sigue: Maximizar z = f (X)
sujeta a g i (X) < 0, i = 1, 2, ..., r g i (X) > 0, i = 1, 2, ..., p g i (X) = 0, i = 1, 2, ..., m donde li es el multiplicador de Lagrange correspondiente a la restriccin i. Las condiciones para establecer la suficiencia de las condiciones KKT se resumen en la tabla Las condiciones de la tabla slo representan un subconjunto de las condiciones de la tabla. La razn es que un espacio de soluciones puede ser convexo y no satisfacer las condiciones de la tabla La tabla es vlida, porque las condiciones dadas producen una funcin lagrangiana cncava L(X, S, l ) en el caso de maximizacin, y una L(X, S, l ) convexa en el caso de minimizacin. Este resultado se comprueba al notar que si gi(x) es convexa, entonces l i g i (x) es convexa si l i > 0, y es cncava si l i < 0. Se pueden establecer interpretaciones parecidas para todas las condiciones restantes. Observe que una funcin lineal es convexa y cncava al mismo tiempo. Tambin, si una funcin f es cncava, entonces (f) es convexa, y viceversa. Los mtodos de solucin de la programacin no lineal se pueden clasificar, de manera general, en: Algoritmos directos: Mtodo del gradiente : busca el mximo (el mnimo) de un problema siguiendo la mayor tasa de aumento (disminucin) de la funcin objetivo Algoritmos indirectos: el problema original se sustituye por otro en el cual se determina el ptimo: Programacin cuadrtica Programacin convexa separable Programacin estocstica Algoritmos sin restricciones Mtodo de bsqueda directa
Mtodo del gradiente Mtodo de bsqueda directa Los mtodos de bsqueda directa se aplican principalmente a funciones unimodales de una variable. La idea de los mtodos de bsqueda directa es identificar el intervalo de incertidumbre que comprende al punto de solucin optima. El procedimiento localiza el ptimo estrechando en forma progresiva el intervalo de incertidumbre hasta cualquier grado de incertidumbre que se desee. Mtodo de bsqueda directa Existen dos algoritmos estrechamente relacionados: - mtodo de bsqueda dicotmico - mtodo de la seccin dorada Ambos buscan la maximizacin de una funcin unimodal f(x) en el intervalo a < x < b, que se sabe incluye el punto x*. Los dos mtodos comienzan con Io =(a,b) que representa el intervalo inicial de incertidumbre. En el mtodo dictomo los valores x 1 y x 2 se encuentran simtricos respecto del punto medio del actual intervalo de incertidumbre. Esto significa que I i = 0.5(I i-1 + D) La aplicacin repetida del algoritmo garantiza que la longitud del intervalo de incertidumbre se acercar al nivel de exactitud deseado, D. En el mtodo de la seccin dorada la idea es de mayor involucramiento. Se puede apreciar que cada iteracin del mtodo dictomo requiere calcular los dos valores f(x 1 ) y f(x 2 ), pero termina por descartar alguno de ellos. Lo que propone el mtodo de la seccin dorada es ahorrar clculos mediante el reuso del valor descartado en la iteracin inmediata siguiente. Comparado con el mtodo dictomo, el mtodo de la seccin dorada converge ms rpidamente hacia el nivel deseado de exactitud. Adicionalmente, cada iteracin en el mtodo de la seccin dorada requiere la mitad de los clculos, en virtud de que recicla siempre un conjunto de los clculos correspondientes a la iteracin inmediata anterior Mtodo del Gradiente Es un mtodo para optimizar funciones que son doble continuamente diferenciables. La idea es generar puntos sucesivos en la direccin del gradiente de la funcin. Esta tcnica tambin es llamada mtodo del ascenso (o descenso) mas pronunciado, o de la pendiente mas inclinada. El final del mtodo del gradiente se encuentra ene l punto donde el vector gradiente se anula. Esta solo es condicin necesaria para la optimalidad. La optimalidad no se puede comprobar a menos que a priori se conozca que f(x) es cncava o convexa Algoritmos con restricciones El problema general de programacin no lineal con restricciones se define como: Z = f(x) Max o Min Sujeta a: g(x) < 0 Las condiciones de no negatividad forman parte de las restricciones. Tambien al menos una de las funciones f(x) o g(x) es no lineal, y todas las funciones son continuamente diferenciables. No existe algoritmo general para manejar modelos de no lineal, por el comportamiento errtico de las funciones no lineales. Quiz el resultado ms general aplicable al problema es el de las condiciones KKT. Se presentan varios algoritmos que se pueden clasificar en general como mtodos indirectos o directos. Con los primeros se resuelve el problema no lineal manejando uno o dos programas lineales derivados del problema original. Los mtodos directos manejan el problema en su forma original. Entre los mtodos indirectos se estudiaran: programacin separable, cuadrtica, geomtrica y estocstica. Entre los directos se vern las combinaciones lineales y una breve descripcin de la tcnica de maximizacin secuencial sin restricciones. Programacin separable Entres los ejemplos de otras funciones que se pueden hacer separables mediante sustituciones estn e (x 1 + x 2 ) y x1 x 2. Se puede aplicar una variante del procedimiento presentado, para lllegar a la separabilidad. La programacin separable maneja los problemas no lineales en lo que la funcin objetivo y las restricciones son separables. En esta seccin veremos como se puede obtener una solucin de cualquier problema separable, mediante aproximacin lineal y el mtodo simplex de la programacin lineal. La funcin f(x) de una sola variable se puede aproximar mediante una funcin lineal en intervalos, con programacin entera mixta. Supongamos que se puede aproximar f(x) en un intervalo [a,b]. Se define ak k= 1,2,,k como el k-esimo punto de quiebre (o de discontinuidad) en el eje x tal que a1 < a2<<ak Los puntos a1 y ak coinciden con los extremos a y b del intervalo que se investiga. Asi, f(x) se aproxima como sigue Programacin Cuadrtica La funcin X T DX define una forma cuadrtica. Se supone que la matriz D es simtrica y negativa definida. Eso quiere decir que el Z es estrictamente cncava. Las restricciones lineales, lo que garantiza que el espacio de soluciones es convexo. La solucin a este problema se basa en las condiciones KKT necesarias. Como z es estrictamente cncava y el espacio de soluciones es convexo, estas condiciones son suficientes para tener un ptimo global . Se describir el problema de programacin cuadrtica para el caso de la maximizacin . Es trivial cambiar la formulacin para el caso de la minimizacin. El problema se puede planear como sigue: Convexa separable Trabajaremos el caso de programacin geomtrica sin restricciones Programacin geomtrica La programacin geomtrica tiene que ver con problemas en los que las funciones objetivo y de restriccin son del siguiente tipo:
donde La programacin estocstica tiene que ver con situaciones en las que algunos o todos los parmetros del problema son variables aleatorias. Esos casos son tpicos en los problemas de la vida real, donde puede ser difcil determinar con certidumbre los valores de los parmetros. La idea de la programacin estocstica es convertir el problema probabilstico en un caso determinstico equivalente. En esta seccin se explicar la programacin restringida por el azar, que se define como Programacin estocstica Esta restriccin se puede llevar a la forma de programacin separable mediante la sustitucin As la restriccin original equivale a Caso 2. Slo bi es normal con media E{bi} y varianza var{bi}. El anlisis se parece al del caso 1. Considere la restriccin estocstica: Este mtodo tiene que ver con el siguiente problema, en el que todas las restricciones son lineales: Maximizar Z = f (X) sujeta a AX < b, X > 0
El procedimiento se basa en el mtodo de la pendiente ms inclinada (del gradiente). Sin embargo, la direccin especificada por el vector gradiente podr no resultar en una solucin factible para el problema con restricciones. Tambin, el vector gradiente no necesariamente ser nulo en el punto ptimo (restringido). El mtodo de pendiente ms inclinada se puede modificar entonces para manejar el caso con restricciones. Mtodo de combinaciones lineales Al comparar con el mtodo de la pendiente ms inclinada (Mtodo del gradiente) se ve que el parmetro r representa el tamao del paso Los problemas de programacin lineal generados en las iteraciones sucesivas slo difieren en los coeficientes de la funcin objetivo. As, se pueden usar los procedimientos de anlisis de sensibilidad presentados en Programacin Lineal (anlisis postoptimal) para hacer los clculos con eficiencia Algoritmo SUMT En esta seccin se presenta un mtodo de gradiente ms general. Se supone que la funcin objetivo f (X) es cncava, y que cada funcin de restriccin gi(X) es convexa. Adems, el espacio de soluciones debe tener un interior. Esto excluye el uso implcito y explcito de restricciones de igualdad. El algoritmo SUMT (de sequential unconstrained maximization technique, tcnica de maximizacin secuencial no restringida) se basa en transformar el problema con restricciones en uno equivalente sin restricciones (o no restringido). El procedimiento se parece al uso del mtodo de los multiplicadores de Lagrange. Despus, el problema transformado se puede resolver con el mtodo de la pendiente ms pronunciada (Mtodo del gradiente). Para aclarar el concepto, considrese la nueva funcin donde t es un parmetro no negativo. El signo de suma tiene en cuenta las restricciones de no negatividad, que se deben poner en la forma xj < para ser consistentes con las restricciones originales. Como g i (X) es [1/ gi(X)] convexa, es cncava. Eso quiere decir que p(X, t) es cncava en X. En consecuencia, p(X, t) posee un mximo nico. La optimizacin del problema original restringido equivale a la optimizacin de p(X, t). El algoritmo se inicia seleccionando en forma arbitraria un valor inicial no negativo para t. Se selecciona un punto inicial X0 como la primera solucin de prueba. Debe ser un punto interior, esto es, no debe estar en las fronteras del espacio de solucin. Dado el valor de t, se aplica el mtodo de la pendiente ms pronunciada para determinar la solucin ptima (el mximo) de p(X, t). El algoritmo se inicia seleccionando en forma arbitraria un valor inicial no negativo para t. Se selecciona un punto inicial X 0 como la primera solucin de prueba. Debe ser un punto interior, esto es, no debe estar en las fronteras del espacio de solucin. Dado el valor de t, se aplica el mtodo de la pendiente ms pronunciada para determinar la solucin ptima (el mximo) de p(X, t). El nuevo punto de solucin siempre ser un punto interior, porque si ese punto est cerca de las fronteras, al menos una de las funciones adquirir un valor negativo muy grande. Como la funcin objetivo es maximizar p(X, t), esos puntos de solucin se excluyen en forma automtica. El resultado principal es que los puntos de solucin sucesivos siempre sern puntos interiores. En consecuencia, el problema siempre se puede manejar como un caso sin restricciones. Una vez obtenida la solucin ptima correspondiente a determinado valor de t, se genera un nuevo valor de t y se repite el proceso de optimizacin (con el mtodo de la pendiente ms pronunciada). Si t' es el valor actual de t, se debe seleccionar el siguiente valor t" de modo que 0 < t" < t'. El algoritmo SUMT termina cuando, para dos valores sucesivos de t, los valores ptimos correspondientes de X, obtenidos maximizando p(X, t), sean aproximadamente iguales. En este punto los intentos posteriores producirn poca mejora. La implementacin real de SUMT tiene ms detalles que los que se presentaron aqu. En forma especfica, un factor importante que puede afectar la rapidez de convergencia es la seleccin de un valor inicial de t. Adems, para determinar un punto interior inicial se pueden necesitar tcnicas especiales. Estos detalles se pueden encontrar en Fiacco y McCormick (1968).