Propositos del comportamiento de fases y aplicaciones
Programación Lineal y sus Fases
1. Fase I. Programación Lineal.Fase I. Programación Lineal.
Fase II. Programación EnteraFase II. Programación Entera
Fase III. Programación No Lineal:Fase III. Programación No Lineal:
T.S.U:
Alfonzo Emily
Guevara Jean
Flores Irennis
2. Fase I. Programación Lineal
La programación lineal: es una de las técnicas que ayuda a la toma decisiones,
utiliza un modelo matemático para describir el problema. El adjetivo lineal
significa que todas las funciones matemáticas deben ser lineales, mientras que la
palabra programación es en esencia un sinónimo de planeación (no se refiere a
la programación computacional).
Así la programación lineal es una metodología que se utiliza en la solución de
problemas en los que se desea optimizar (maximizar o minimizar) una función
lineal de una o más variables (variables de decisión) llamada función objetivo,
sujeta ciertas limitaciones (restricciones) que se pueden representar como
desigualdades o igualdades de funciones lineales de las variables.
3. Resolución Gráfica de Modelos de
Programación Lineal
Un modelo de programación lineal en 2 variables resulta ser la forma más
sencilla que puede adoptar un modelo de optimización y generalmente
son utilizados para introducir los conceptos básicos de la investigación de
operaciones y particularmente la programación lineal. Básicamente las
propiedades de un modelo lineal en 2 variables son extendibles a
problemas lineales con un número mayor de variables y en este sentido
la resolución grafica resulta de gran ayuda para entender estos conceptos.
Ejemplo
4. En primera instancia se asigna un eje a cada una de las variables de decisión, por ejemplo X1
corresponde al eje horizontal y X2 corresponde al eje vertical. Luego se grafican las
restricciones. La primera restricción intercepta el eje X1 en 3 (cuando X2=0) y el eje X2 en 6
(cuando X1=0). Dado que la restricción es del tipo "<=" ésta determina el área que esta bajo la
recta que une las coordenadas (X1,X2)=(3,0) y (X1,X2)=(0,6). En caso de tener dudas sobre el
área que determina cada restricción se recomienda considerar un punto cualquiera fácil de
evaluar en la restricción. Por ejemplo la coordenada (X1,X2)=(0,0) al evaluar en la restricción 1
la cumple (2*0+0<=6) y por tanto esta coordenada será parte del dominio de dicha inecuación.
De forma similar se gráfica la segunda restricción que corta X1 en (28/7,0) y corta X2 en (0,7/2).
Este dominio esta en verde en la imagen a continuación
5. Fase I. Método simplex
El Método Simplex es un método analítico de solución de problemas de
programación lineal capaz de resolver modelos más complejos que los resueltos
mediante el método gráfico sin restricción en el número de variables.
El Método Simplex es un método iterativo que permite ir mejorando la solución
en cada paso. La razón matemática de esta mejora radica en que el método
consiste en caminar del vértice de un poliedro a un vértice vecino de manera que
aumente o disminuya (según el contexto de la función objetivo, sea maximizar o
minimizar), dado que el número de vértices que presenta un poliedro solución es
finito siempre se hallará solución.
6. Fase I. Método Simplex de 2 Fases
Esta estrategia algorítmica se aplica cuando luego de llevar un
modelo de programación lineal a su forma estándar no se dispone
de una solución básica factible inicial.
Fase 1: Consideramos un problema auxiliar que resulta de agregar
tantas variables auxiliares a las restricciones del problema, de
modo de obtener una solución básica factible. Luego se debe
resolver utilizando el Método Simplex un nuevo problema que
considera como función objetivo la suma de las variables
auxiliares. Si el valor óptimo alcanzado al finalizar la Fase 1 es
cero ir a la Fase 2. En caso contrario, no existe solución factible.
Fase 2: Resolver a través del Método Simplex el problema
original a partir de la solución básica factible inicial hallada en la
7. Fase I. Método Simplex Dual
El método simplex dual resulta ser una estrategia
algorítmica eficiente cuando luego de llevar un modelo
de programación lineal a su forma estándar, la aplicación
del método simplex no es inmediata o más bien
compleja, por ejemplo, puede requerir la utilización del
método simplex de 2 fases.
Una aplicación típica del método simplex dual es en la
resolución de problemas con una función objetivo de
minimización, con restricciones del tipo mayor o igual y
donde las variables de decisión son mayores o iguales a
cero.
8. Fase I. Dualidad en Programación Lineal
a) El problema dual tiene tantas variables como restricciones tiene el programa primal.
b) El problema dual tiene tantas restricciones como variables tiene el programa primal
c) Los coeficientes de la función objetivo del problema dual son los términos
independientes de las restricciones o RHS del programa primal
d) Los términos independientes de las restricciones o RHS del dual son los coeficientes
de la función objetivo del problema primal.
e) La matriz de coeficientes técnicos del problema dual es la traspuesta de la matriz
técnica del problema primal.
f) El sentido de las desigualdades de las restricciones del problema dual y el signo de las
variables del mismo problema, dependen de la forma de que tenga el signo de las
variables del problema primal y del sentido de las restricciones del mismo problema.
g) Si el programa primal es un problema de maximización, el programa dual es un
problema de minimización.
h) El problema dual de un problema dual es el programa primal original.
Relaciones primal-dual Asociado a cada problema lineal existe otro problema de programación
lineal denominado problema dual (PD) , que posee importantes propiedades y relaciones notables
con respecto al problema lineal original, problema que para diferencia del dual se denomina
entonces como problema primal (PP). Las relaciones las podemos enumerar como
siguen:
9. Fase I. Análisis de sensibilidad
El análisis de sensibilidad para los modelos de Programación Lineal, tiene por
objetivo identificar el impacto que resulta en los resultados del problema
original luego de determinadas variaciones en los parámetros, variables o
restricciones del modelo, sin que esto pase por resolver el problema
nuevamente.
Es decir, ya sea si resolvemos nuestro modelo gráficamente o utilizando el
Método Simplex, lo que se busca es que estas variaciones o sensibilidad hagan
uso de la solución y valor óptimo actual, sin tener la necesidad de resolver para
cada variación un nuevo problema. En especial nos concentraremos en el
análisis de sensibilidad o post optimal que hace uso de la tabla final del Método
Simplex.
10. Fase I. Instalación de Solver de Excel
Solver es un programa de complemento de Microsoft Excel que puede
usar para llevar a cabo análisis. Use Solver para encontrar un valor
óptimo (mínimo o máximo) para una fórmula en una celda, la celda
objetivo, que está sujeta a restricciones o limitaciones en los valores de
otras celdas de fórmula de una hoja de cálculo. Solver trabaja con un
grupo de celdas llamadas celdas de variables de decisión o, simplemente,
celdas de variables que se usan para calcular fórmulas en las celdas
objetivo y de restricción. Solver ajusta los valores de las celdas de
variables de decisión para que cumplan con los límites de las celdas de
restricción y den el resultado deseado en la celda objetivo.
11. Pasos para instalar solver
1.En Excel y versiones posteriores, vaya a Archivo > Opciones.
Nota: En Excel 2007, haga clic en el botón Microsoft Office y luego en Opciones de Excel
2.Haga clic en Complementos y, en el cuadro Administrar,
seleccione Complementos de Excel.
3.Haga clic en Ir.
4.En el cuadro Complementos disponibles, active la casilla Solver y, a
continuación, haga clic en Aceptar.
Notas:
Si el complemento Solver no se enumera en el cuadro Complementos disponibles, haga clic en Examinar para encontrarlo.
Si se le indica que el complemento Solver no está instalado actualmente en su equipo, haga clic en Sí para instalarlo.
5.Una vez cargado el complemento Solver, el comando Solver estará
disponible en el grupo Análisis de la pestaña Datos.
12. Tutorial de Solver de Excel.
Para ejemplificar respecto al uso de Solver utilizaremos el siguiente
modelo de Programación Lineal:
Paso 1: Abrir una planilla de cálculo de Excel y definir las
variables de decisión y la función objetivo. En este ejemplo se
han marcado con amarillo y verde las variables de decisión y
función objetivo respectivamente sólo para facilitar la
comprensión. Es importante notar que la función objetivo
(celda F4) será siempre una fórmula que depende de los
parámetros de la función objetivo (celdas B5, C5, D5) y las
variables de decisión (B4, C4, D4)
13. Paso 2: Se definen las restricciones del modelo. La columna en amarillo bajo el titulo
"Lado Izq" es una fórmula de los parámetros y las variables de decisión en las
respectivas restricciones. Por ejemplo, la fórmula incorporada en E9 es simplemente:
15X + 7,5Y + 5Z. La celda F9 es el lado derecho de dicha restricción y corresponde a
una constante (315).
Paso 3: Ingresamos a la Opción Solver. Luego definimos la celda objetivo (función
objetivo), el valor que buscamos (maximización o minimización), las celdas que
deseamos cambiar (variables de decisión) y las restricciones. Para nuestro ejemplo está
será la pantalla que se debe obtener:
14. Paso 4: Accedemos a "Opciones..." y seleccionamos "Adoptar modelo lineal"y
"Adoptar no negativos". Finalmente seleccionamos "Aceptar" y luego "Resolver".
Paso 5: Si el proceso se ha desarrollado en forma correcta la planilla de cálculo se actualizará y se
obtendrán los siguientes resultados. Solución Óptima: X=4, Y=10, Z=36. Valor Óptimo:
V(P)=6.620. Se recomienda requerir el informe de sensibilidad tal como se muestra en la imagen
de abajo.
15. Paso 6: La imagen a continuación ha sido levemente editada y corresponde al informe
de sensibilidad. Por ejemplo, el parámetro que actualmente acompaña a X en la función
objetivo es 200, sin embargo, si este valor varía entre [120,240] se conservará la actual
solución óptima. En cuanto a las restricciones podemos decir, por ejemplo, que si el
lado derecho de la segunda restricción (actualmente este lado derecho es igual a 110)
aumenta a 120, es nuevo valor óptimo será V(P)=6.620 + 10*10 =6.720, es decir, el
valor óptimo aumentará en forma proporcional al precio sombra de dicha restricción. Se
recomienda revisar la sección de Análisis de Sensibilidad para reforzar estos
conceptos.
16. Fase II. Programación Entera
Modelos de Programación Entera
Los modelos de Programación Entera se pueden clasificar en 2 grandes
áreas: Programación Entera Mixta (PEM) y Programación Entera Pura
(PEP).
Programación Entera Mixta (PEM)
A esta categoría pertenecen aquellos problemas de optimización que consideran
variables de decisión enteras o binarias pero no de forma exclusiva. De esta forma
un problema de PEM puede considerarse como un híbrido entre distintas
categorías de modelamiento, siendo un caso típico aquel que considera la mezcla
de variables enteras y variables continuas (estas últimas características de los
modelos de Programación Lineal).existen modelos de Programación Entera Mixta:
1.Incorporación de Costos Fijos
2.Problemas de Localización y Transporte
3.Problema de Generación Eléctrica
17. Programación Entera Pura (PEP)
En esta categoría encontramos aquellos modelos de Programación Entera
que consideran exclusivamente variables de decisión que adoptan valores
enteros o binarios. Un ejemplo de ello son las siguientes aplicaciones:
1. Problema de Asignación
2. Problema de Corte de Rollos
3. Selección de Invitados a una Boda
4. Programación de la Explotación Forestal
5. Problema de la Mochila
El conjunto de las soluciones factibles (o dominio de soluciones
factibles) es finito. Esto ocurrirá generalmente con los problemas de
Programación Entera (puros).
Adicionalmente resulta interesante hacer un contrastes entre las
propiedades de un modelo de Programación Lineal (PL) y uno de
Programación Entera (PE). A continuación se presentan 2 modelos de
optimización que se diferencian únicamente en que al segundo de ellos
(PE) se le exige que las variables de decisión adopten valores enteros.
18. Ejemplo
Para los problemas propuestos realizamos una representación gráfica haciendo
uso del software Geogebra. El dominio de soluciones factibles del Problema
Lineal (PL) corresponde al área achurada de color verde. Por otro lado el
dominio de soluciones factibles del Problema Entero (PE) es numerable y
corresponde a las coordenadas denotadas
por A, E, F, B, G, H, I, J, K, C, L, M, D (que es un subconjunto del dominio
de factibilidad del PL). En este caso en particular la solución óptima de ambos
problemas coincide (en el vértice C), no obstante, perfectamente podrían ser
distintas (bastaría con modificar los parámetros del problema).
19. Algoritmo de Branch and Bound
El método de Branch and Bound (en español Ramificación y Acotamiento)
aborda la resolución de modelos de programación entera a través de la resolución
de una secuencia de modelos de programación lineal que constituirán los nodos o
sub-problemas del problema entero. Si bien el procedimiento es extensible a un
número mayor de variables, para efectos prácticos ilustraremos su aplicación para
modelos de programación entera en 2 variables.
Ejemplo Branch and Bound
20. El primer paso consiste en resolver el problema sin considerar las condiciones de
integralidad, es decir, asumiendo que es un modelo de Programación Lineal. El
siguiente gráfico muestra la resolución gráfica donde el área en verde corresponde
al dominio de soluciones factibles asociado al problema lineal lo que se denomina
la relajación continua del problema entero. Adicionalmente, sólo con el objetivo de
ilustrar se han marcado con azul las posibles soluciones enteras para este problema.
En este sentido resulta evidente que el dominio de soluciones factibles del problema
entero es un subconjunto del dominio del problema lineal y esto en el caso de un
problema de maximización determina que el valor óptimo del problema lineal será
una cota superior del valor óptimo del problema entero.
Grafica
21. Fase III. Programación No Lineal
Programación No Lineal
Un modelo de Programación No Lineal (PNL) es
aquel donde las variables de decisión se expresan
como funciones no lineales ya sea en la función
objetivo y/o restricciones de un modelo de
optimización. Esta característica particular de los
modelos no lineales permite abordar problemas donde
existen economías o des economías de escala o en
general donde los supuestos asociados a la
proporcionalidad no se cumplen.
22. Ejemplos de Programación No Lineal
Existen múltiples aplicaciones típicas para modelos no lineales. A
continuación se resumen algunas:
Localización de Instalaciones: Considere que una empresa distribuidora de
productos farmacéuticos requiere determinar la localización de una bodega que
funcionará como centro de distribución y abastecimiento para sus locales en el país.
En especial se busca estar a la menor distancia de los 3 principales locales de venta
al público denominados A, B y C, respectivamente. Las coordenadas geográficas de
dichos locales se presentan en el siguiente gráfico:
23. Respuesta: Si consideramos como variables de decisión X e Y que
correspondan a las respectivas coordenadas de la bodega a instalar, se puede
definir el siguiente modelo de optimización no lineal sin restricciones,
donde la siguiente función objetivo de minimización de distancia (Min
f(x,y)) queda definido por:
Formule y resuelva un modelo de optimización que permita determinar la
localización óptima de la bodega y que minimice la distancia a los distintos locales
de la empresa. Asuma que la bodega puede ser ubicada en cualquier coordenada o
punto del mapa.
Se recomienda resolver este problema utilizando Solver de
Excel y verificar que la solución óptima corresponde
a X=33,45 e Y=40,88.
24. Fase III. Método del Gradiente
Un modelo de Programación Lineal (PNL) es aquel donde las variables de decisión se
expresan como funciones no lineales ya sea en la función objetivo y/o restricciones de
un modelo de optimización. Esta característica particular de los modelos no lineales
permite abordar problemas donde existen economías o des economías de escala o en
general donde los supuestos asociados a la proporcionalidad no se cumplen.
Los pasos asociados a la utilización del método del gradiente consiste en:
25. Ejemplo del Método del Gradiente
Considere el siguiente modelo de programación no lineal sin
restricciones. Aplique 2 iteraciones del método a partir del punto
inicial X0=(1,1).
Luego de realizar la segunda iteración se verifica que se cumplen las
condiciones necesarias de primer orden (d1=(0,0)). Adicionalmente se puede
comprobar que la función objetivo resulta ser convexa y en consecuencia las
condiciones de primer orden resultan ser suficientes para afirmar que la
coordenada (X1,X2)=(-2,1) es el óptimo o mínimo global del problema.
26. Fase III .Método de Lagrange.
Este método reduce el problema restringido en n variables en uno sin restricciones
de n + 1 variables cuyas ecuaciones pueden ser resueltas.
Generalidades En los problemas de optimización, los multiplicadores de
Lagrange, nombrados así en honor a Joseph Louis Lagrange, son un método
para trabajar con funciones de varias variables que nos interesa maximizar o
minimizar, y está sujeta a ciertas restricciones. Este método reduce el
problema restringido en n variables en uno sin restricciones de n +
1 variables cuyas ecuaciones pueden ser resueltas.
Este método introduce una nueva variable escalar desconocida, el
multiplicador de Lagrange, para cada restricción y forma una combinación
lineal involucrando los multiplicadores como coeficientes. Su demostración
involucra derivadas parciales, o bien usando diferenciales totales, o sus
parientes cercanos, la regla de la cadena. El fin es, usando alguna función
implícita, encontrar las condiciones para que la derivada con respecto a las
variables independientes de una función sea igual a cero.
27. El método de los multiplicadores de Lagrange
Sea f (x) una función definida en un conjunto abierto n-dimensional
{x ∈ Rn
}. Se definen s restricciones gk (x) = 0, k=1,..., s, y se observa (si las
restricciones son satisfechas) que:
Se procede a buscar un extremo para h
lo que es equivalente a:
Los multiplicadores desconocidos λk se determinan a partir de las ecuaciones
con las restricciones y conjuntamente se obtiene un extremo para h que al
mismo tiempo satisface las restricciones (i.e. gk=0), lo que implica que f ha
sido optimizada
28. Fase III. Teorema de Karush Kuhn Tucker (KKT)
Un modelo de Programación No Lineal (PNL) es aquel donde las variables
de decisión se expresan como funciones no lineales ya sea en la función
objetivo y/o restricciones de un modelo de optimización. Esta característica
particular de los modelos no lineales permite abordar problemas donde
existen economías o des economías de escala o en general donde los
supuestos asociados a la proporcionalidad no se cumplen.
Las condiciones que establecen las condiciones de optimalidad de KKT
permiten resolver modelos de PNL con restricciones mediante la activación
progresivas de las restricciones del modelo. Una restricción activa es aquella
que se cumple en igualdad.
29. Ejemplo Karush Kuhn Tucker (KKT)
No existe una única forma de abordar la resolución de un problema
de programación no lineal utilizando el teorema de KKT.
Consideraremos la aplicación de este teorema en este caso para
problemas sólo con restricciones "<=" (menor o igual). Si el
problema tiene restricciones ">=" éstas se pueden transformar por
"<=" multiplicando por -1.
Básicamente el procedimiento consiste en resolver el problema no
lineal como uno sin restricciones, luego si la solución óptima de
dicho problema no cumple la totalidad o parte de las restricciones
del problema se activan dichas restricciones y se resuelve
nuevamente. Esto se repite hasta llegar a un conjunto de
restricciones activas cuya solución también satisface las
restricciones omitidas. Notar que si se han activado la totalidad de
restricciones sin encontrar una solución factible, entonces el
problema es infactible.
30. Fase III. Método de Frank Wolfe
El método o algoritmo de Frank Wolfe fue propuesto en 1956
por Marguerite Frank y Philip Wolfe y se aplica a problemas de
optimización matemática con una función objetivo no lineal
convexa y cuyo dominio de soluciones factibles esta compuesto
exclusivamente por restricciones lineales, es decir, es un
conjunto convexo (en consecuencia el problema es convexo).
Consideremos el siguiente problema que asumiremos cumple
con el formato anteriormente descrito:
31. Dada una aproximación:
a la solución óptima del problema, podemos resolver un problema
más sencillo que aproxime al problema P), suponiendo factible.
O equivalentemente resolviendo el
siguiente problema:
Que puede ser resuelto mediante el Método Simplex. Denotamos por
la solución óptima de el método contempla una minimización de
un problema unidimensional que equivale a escoger un escalar de
modo que:
En seguida se define la siguiente
aproximación al óptimo como:
Que equivale a definir como la solución óptima
de f restringida al conjunto de puntos que determina al segmento
que une con