programacion no lineal1

16
3.1 Conceptos básicos de problemas de programación no lineal UNIDAD III PROGRAACION NO !IN"A! La Programación no Lineal (PNL) es una parte de la Investigación Operativa cuya proporcionar una serie de resultados y técnicas tendentes a la determinación de óptimos para una función (función objetivo) en un determinado conjunto oportunidades), donde tantola función objetivo, como las ue intervienen en las restricciones ue determinan el conjunto de oportunidades pueden ser no lineales "videntemente, la estructura del problema puede ser muy variada, seg#n las funci en él intervengan (a diferencia de la Programación Lineal (PL) donde la forma es conjunto de oportunidades y de la función objetivo permiten obtener resultados g sobre las posibles soluciones y facilitan los tratamientos algor$tmicos de los p "llo ocasiona una mayor di%cultad en la obtención de resultados, ue se re&eja la di%cultad de la obtención numérica de las soluciones! "n este sentido, 'ay u entre las diversas caracteri aciones de óptimo, ue sólo se emplean como técnica resolución en problemas sencillos, y los métodos numéricos iterativos, cuyo func se basa en estas caracteri aciones, para la resolución de problemas m s generale CONC"P#O$ %A$ICO$ !a programación lineal da respuesta a situaciones en las ue se e*ige ma&imi'ar o minimi'ar ()nciones ue se encuentran sujetas a determinadas limitaciones, ue llamaremos restricciones ! +u empleo es frecuente en aplicaciones de la industria, la econom$a, la estrateg etc! *)nción ob+eti,o "n esencia la programación lineal consiste en optimi'ar -ma&imi'ar o minimi'ar una ()nción ob+eti,o , ue es una ()nción lineal de varias variables (-&/0 a& 2 b0 ! Restricciones La función objetivo est sujeta a una serie de restricciones , e*presadas por inec)aciones lineales a 1 x + b 1 y ≤ c 1 a 2x + b 2y ≤c 2

Upload: jesusestaconmigo

Post on 07-Oct-2015

240 views

Category:

Documents


0 download

DESCRIPTION

Conceptos basicos de la programacion no lineal

TRANSCRIPT

3.1 Conceptos bsicos de problemas de programacin nolinealUNIDAD III PROGRAMACION NO LINEALLa Programacin no Lineal (PNL) es una parte de la Investigacin Operativa cuya misin es proporcionar una serie de resultados y tcnicas tendentes a la determinacin de puntos ptimos para una funcin (funcin objetivo) en un determinado conjunto (conjunto de oportunidades), donde tanto la funcin 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, segn las funciones que en l intervengan (a diferencia de la Programacin Lineal (PL) donde la forma especial del conjunto de oportunidades y de la funcin objetivo permiten obtener resultados generales sobre las posibles soluciones y facilitan los tratamientos algortmicos de los problemas).Ello ocasiona una mayor dificultad en la obtencin de resultados, que se refleja tambin en la dificultad de la obtencin numrica de las soluciones. En este sentido, hay que distinguir entre las diversas caracterizaciones de ptimo, que slo se emplean como tcnicas de resolucin en problemas sencillos, y los mtodos numricos iterativos, cuyo funcionamiento se basa en estas caracterizaciones, para la resolucin de problemas ms generales.CONCEPTOS BASICOSLa programacin linealda respuesta a situaciones en las que se exigemaximizar o minimizar funcionesque se encuentran sujetas a determinadas limitaciones, que llamaremosrestricciones.Su empleo es frecuente en aplicaciones de la industria, la economa, la estrategia militar, etc.Funcin objetivoEn esencia la programacin lineal consiste enoptimizar (maximizar o minimizar)unafuncin objetivo, que es unafuncin linealde varias variables:f(x,y) = ax + by.RestriccionesLa funcin objetivo est sujeta a una serie derestricciones, expresadas porinecuaciones lineales:a1x + b1y c1

a2x + b2y c2

anx + bny cn

Cada desigualdad del sistema de restricciones determina un semiplano.Solucin factibleEl conjunto interseccin, de todos los semiplanos formados por las restricciones, determina un recinto, acotado o no, que recibe el nombre deregin de validezo zona desoluciones factibles.Solucin ptimaEl conjunto de los vrtices del recinto se denomina conjunto desoluciones factibles bsicasy el vrtice donde se presenta lasolucin ptimase llamasolucin mxima(o mnimasegn el caso).Valor del programa linealElvalorque toma lafuncin objetivoen elvrtice de solucin ptimase llamavalor del programa lineal.PASOS PARA RESOLVER UN PROBLEMA DE PROGRAMACION LINEAL1. Elegir lasincgnitas.2. Escribir lafuncin objetivoen funcin de los datos del problema.3. Escribir lasrestriccionesen forma de sistema de inecuaciones.4. Averiguar el conjunto desoluciones factiblesrepresentando grficamente las restricciones.5. Calcular las coordenadas de los vrtices del recinto de soluciones factibles (si son pocos).6. Calcular elvalor de la funcin objetivoen cada uno de los vrtices para ver en cul de ellos presenta elvalor mximo o mnimosegn nos pida el problema (hay que tener en cuenta aqu la posible no existencia de solucin si el recinto no est acotado).

NTRODUCCIONLa Programacin no Lineal (PNL) es una parte de la Investigacin Operativa cuya misin es proporcionar una serie de resultados y tcnicas tendentes a la determinacin de puntos ptimos para una funcin (funcin objetivo) en un determinado conjunto (conjunto de oportunidades), donde tanto la funcin 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, segn las funciones que en l intervengan (a diferencia de la Programacin Lineal (PL) donde la forma especial del conjunto de oportunidades y de la funcin objetivo permiten obtener resultados generales sobre las posibles soluciones y facilitan los tratamientos algortmicos de los problemas). Ello ocasiona una mayor dificultad en la obtencin de resultados, que se refleja tambin en la dificultad de la obtencin numrica de las soluciones. En este sentido, hay que distinguir entre las diversas caracterizaciones de ptimo, que slo se emplean como tcnicas de resolucin en problemas sencillos, y los mtodos numricos iterativos, cuyo funcionamiento se basa en estas caracterizaciones, para la resolucin de problemas ms generales.

3.3 Tipos De Problemas De Programacion NoLinealAbril 14, 2010Los problemas de programacin no lineal se presentan de muchas formas distintas. Al contrario del mtodo smplex para programacin lineal, no se dispone de un algoritmo que resuelva todos estos tipos especiales de problemas. En su lugar, se han desarrollado algoritmos para algunasclases(tipos especiales) de problemas de programacin no lineal. Se introducirn las clases ms importantes y despus se describir cmo se pueden resolver algunos de estos problemas.Si la funcin objetivofes lineal y el espacio restringido es un politopo, el problema es de Programacin lineal y puede resolverse utilizando alguno de los bien conocidos algoritmos de programacin lineal.Si la funcin objetivo es cncava (problema de maximizacin), o convexa (problema de minimizacin) y el conjunto de restricciones es convexo, entonces se puede utilizar el mtodo general de Optimizacin convexaExiste una variedad de mtodos para resolver problemas no convexos. Uno de ellos consiste en utilizar formulaciones especiales de problemas de programacin lineal. Otro mtodo implica el uso de tcnicas de Ramificacin y poda, cuando el problema se divide en subdivisiones a resolver mediante aproximaciones que forman un lmite inferior del coste total en cada subdivisin. Mediante subdivisiones sucesivas, se obtendr una solucin cuyo coste es igual o inferior que el mejor lmite inferior obtenido por alguna de las soluciones aproximadas. Esta solucin es ptima, aunque posiblemente no sea nica. El algoritmo puede ser parado antes, con la garanta de que la mejor solucin ser mejor que la solucin encontrada en un porcentaje acotado. Ello se utiliza en concreto en problemas importantes y especialmente difciles 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 solucin sea ptima.Los tipos de problemas de programacin no lineal son:1. Optimizacin no restringida.2. Optimizacin linealmente restringida.3. Programacin cuadrtica4. Programacin convexa.5. Programacin separable.6. Programacin no convexa.7. Programacin geomtrica.8. Programacin fraccional.9. Problema de complementariedad.ALGORITMOS SIN RESTRICCINEn esta seccin se presentarn dos algoritmos para el problema no restringido: el algoritmo debsqueda directay el algoritmo degradiente.Mtodo de bsqueda directaLos mtodos de bsqueda directa se aplican principalmente a funciones estrictamente unimo- dales de una variable. Aunque puede parecer trivial el caso, la seccin 21.1.2 muestra que la optimizacin de funciones de una variable juega un papel clave en el desarrollo de los algoritmos de varias variables, ms generales.La idea de los mtodos de bsqueda directa es identificar elintervalo de incertidum- breque comprenda al punto de solucin ptima. El procedimiento localiza el ptimo estrechando en forma progresiva el intervalo de incertidumbre hasta cualquier grado de exactitud que se desee.En estaseccinsepresentan dos algoritmos estrechamente relacionados: los mtodos debsqueda dictomo y de seccin dorada (o urea). Ambos buscan la maximizacin de una funcin unimodal/(x) en el intervaloa ^ x < b,que se sabe que incluye el punto ptimox*.Los dos mtodos comienzan con /0=(a, b)que representa el intervalo inicial de incertidumbre.Paso generali. Sea /, _ , =(xDxR) el intervalo actual de incertidumbre (en la iteracin 0,xL= ayxR= b).A continuacin se definenxxyx2tales quexj^ ^ ^ x2^ xrEl siguiente intervalo de incertidumbre, /z, se define como sigue:1. Sif(xx) >/(x2), entoncesxL< x* < x2.Se definenxR= x2e /, =(xL, x2)(vase la figura 21.2[a]).2. Sif(xx) < f(x2\entoncesxx< x* < xR.Se definenxL= xxeI = (xhxR)(vase la figura 21.1 [b]). .3. Sif{x\)= /(jc2), entoncesxx< x* < x2.Se definenxL= x2e /, = (xbx2).La manera en que se determinanxxy x2garantiza que /, < /,_pcomo se demostrar en breve. El algoritmo termina en la iteracinksilk1. Estos procedimientos tambin tienen un papel importante en la solucin de varios tipos de problemas con restricciones, que se describirn en seguida. La razn es que muchos algoritmos para problemasrestringidosestn construidos de forma que se adaptan a versionesno restringidasdel problema en una parte de cada iteracin.Cuando una variable Xj tiene una restriccin de no negatividad, x- > 0, la condicin necesaria (y tal vez) suficiente anterior cambia ligeramente apara cadajde este tipo. Esta condicin se ilustra en la figura 13.11, donde la solucin ptima de un problema con una sola variable esx= 0 aun cuando la derivada ah es negativa y no cero. Como este ejemplo tiene una funcin cncava para maximizar sujeta a una restriccin de no negatividad, el que su derivada sea menor o igual a 0 en # = 0, es una condicin necesaria y suficiente para quex=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.OPTIMIZACIN LINEALMENTE RESTRINGIDALos problemas de optimizacin linealmente restringida se caracterizan por restricciones que se ajustan por completo a la programacin lineal, de manera quetodaslas funciones de restriccing(x) son lineales, pero la funcin objetivo es no lineal. El problema se simplifica mucho si slo se tiene que tomar en cuenta una funcin no lineal junto con una regin factible de programacin lineal. Se han desarrollado varios algoritmos especiales basados en unaextensindel mtodo smplex para analizar la funcin objetivo no lineal.Un caso especial importante descrito a continuacin es la programacin cuadrtica.PROGRAMACIN CUADRTICADe nuevo los problemas deprogramacin cuadrticatienen restricciones lineales, pero ahora la funcin objetivo /(x) debe sercuadrtica.Entonces, la nica diferencia entre stos y unproblema de programacin lineal es que algunos trminos de la funcin objetivo incluyen elcuadradode una variable o elproductode dos variables.PROGRAMACIN CONVEXALaprogramacin convexaabarca una amplia clase de problemas, entre ellos como casos especiales, estn todos los tipos anteriores cuando /(x) es cncava. Las suposiciones son1. f(x) es cncava.2. Cada una de las g(x) es convexa.PROGRAMACIN SEPARABLELaprogramacin separablees un caso especial de programacin convexa, en donde la suposicin adicional esTodas las funciones f(x) yg(x)son funciones separables.Una funcin separable es una funcin en la quecada trminoincluyeuna sola variable, por lo que la funcin se puedesepararen una suma de funciones de variables individuales. Por ejemplo, si f(x) es una funcin 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 funcin considerada en la figura 13.7 tambin es una funcin separable.Es importante distinguir estos problemas de otros de programacin convexa, pues cualquier problema de programacin separable se puede aproximar muy de cerca mediante uno de programacin lineal y, entonces, se puede aplicar el eficiente mtodo smplex.

son cada tina funciones de una sola variable x1 y x2, respectivamente. Usando el mismo razonamiento, se puede verificar que la funcin considerada en la figura 13.7 tambin es una funcin separable.Es importante distinguir estos problemas de otros de programacin convexa, pues cualquier problema de programacin separable se puede aproximar muy de cerca mediante uno de programacin lineal y, entonces, se puede aplicar el eficiente mtodo smplex.PROGRAMACIN NO CONVEXALaprogramacin no convexaincluye todos los problemas de programacin no lineal que no satisfacen las suposiciones de programacin convexa. En este caso, aun cuando se tenga xito en encontrar unmximo local, no hay garanta de que sea tambin unmximo global.Por lo tanto, no se tiene un algoritmo que garantice encontrar una solucin ptima para todos estos problemas; pero s existen algunos algoritmos bastante adecuados para encontrarmximos locales, en especial cuando las formas de las funciones no lineales no se desvan demasiado de aquellas que se supusieron para programacin convexa. En la seccin 13.10 se presenta uno de estos algoritmos.Ciertos tipos especficos de problemas de programacin no convexa se pueden resolver sin mucha dificultad mediante mtodos especiales. Dos de ellos, de gran importancia, se presentarn ms adelante.PROGRAMACIN GEOMTRICACuando se aplica programacin no lineal a problemas de diseo de ingeniera, muchas veces la funcin objetivo y las funciones de restriccin toman la formaEn tales casos, lasciy aty representan las constantes fsicas y lasx}son las variables de diseo. Estas funciones por lo general no son ni cncavas ni convexas, por lo que las tcnicas de programacin convexa no se pueden aplicar directamente a estos problemas deprogramacingeo- mtrica.Sin embargo, existe un caso importante en el que el problema se puede transformar en un problema de programacin convexa equivalente. Este caso es aquel en el quetodoslos coeficientescen cada funcin son estrictamente positivos, es decir, las funciones sonpolinomios positivos generalizados(ahora llamados posinomiales), y la funcin objetivo se tiene que minimizar. El problema equivalente de programacin convexa con variables de decisin yx,y2,, ynse obtiene entonces al establecer

en todo el modelo original. Ahora se puede aplicar un algoritmo de programacin convexa. Se ha desarrollado otro procedimiento de solucin para resolver estos problemasde programacin posinomial,al igual que para problemas de programacin geomtrica de otros tipos.1PROGRAMACIN FRACCIONALSuponga que la funcin objetivo se encuentra en la forma de unafraccin,esto es, la razn o cociente de dos funciones,

Estos problemas deprogramacin fraccionalsurgen, por ejemplo, cuando se maximiza la razn de la produccin entre las horas-hombre empleadas (productividad), o la ganancia entre el capital invertido (tasa de rendimiento), o el valor esperado dividido entre la desviacin estndar de alguna medida de desempeo para una cartera de inversiones (rendimiento/riesgo). Se han formulado algunos procedimientos de solucin especiales1para ciertas formas de f1(x) y f2 (x)Cuando se puede hacer, el enfoque ms directo para resolver un problema de programacin fraccional es transformarlo en un problema equivalente de algn tipo estndar que disponga de un procedimiento eficiente. Para ilustrar esto, suponga quef(x)es de la forma deprogramacin fraccional linealdondecydson vectores rengln,xes un vector columna yc0ydQson escalares. Tambin suponga que las funciones de restriccing(x)son lineales, es decir, las restricciones en forma matricial sonAx < byx > 0.Con algunas suposiciones dbiles adicionales, el problema se puede transformar en un problema equivalente deprogramacin linealsi se estableceque se puede resolver con el mtodo smplex. En trminos generales, se puede usar el mismo tipo de transformacin para convertir un problema de programacin fraccional con/(x)cncava,f2(x)convexa yg(x)convexas, en un problema equivalente de programacin convexa.