Qué es la programación lineal? En infinidad de aplicaciones de la industria, la economía, la estrategia militar, etc... Se presentan situaciones en las que se exige maximizar o minimizar algunas funciones que se encuentran sujetas a determinadas limitaciones, que llamaremos restricciones. La Programación Lineal (PL) es una de las principales ramas de la Investigación Operativa. En esta categoría se consideran todos aquellos modelos de optimización donde las funciones que lo componen, es decir, función objetivo y restricciones, son funciones lineales en las variables de decisión. Los modelos de Programación Lineal por su sencillez son frecuentemente usados para abordar una gran variedad de problemas de naturaleza real en ingeniería y ciencias sociales, lo que ha permitido a empresas y organizaciones importantes beneficios y ahorros asociados a su utilización. Un modelo de Programación Lineal (PL) considera que las variables de decisión tienen un comportamiento lineal, tanto en la función objetivo como restricciones del problema. En este sentido, la Programación Lineal es una de las herramientas más utilizadas en la Investigación Operativa debido a que por su naturaleza se facilitan los cálculos y en general permite una buena aproximación de la realidad. Los Modelos Matemáticos se dividen básicamente en Modelos Determistas (MD) o Modelos Estocásticos (ME). En el primer caso (MD) se considera que los parámetros asociados al modelo son conocidos con certeza absoluta, a diferencia de los Modelos Estocásticos, donde la totalidad o un subconjunto de los parámetros tienen una distribución de probabilidad asociada. Los cursos introductorios a la Investigación Operativa generalmente se enfocan sólo en Modelos Determistas.
Supuestos Básicos de la Programación Lineal: Linealidad, Modelos Deterministas, Variables reales, No Negatividad. APLICACIONES 1. Problema de la Dieta: (Stigler, 1945). Consiste en determinar una dieta de manera eficiente, a partir de un conjunto dado de alimentos, de modo de satisfacer requerimientos nutricionales. La cantidad de alimentos a considerar, sus características nutricionales y los costos de éstos, permiten obtener diferentes variantes de este tipo de modelos. Por ejemplo: Leche Legumbre Naranjas Requerimientos (lt) (1 porción) (unidad) Nutricionales Niacina 3,2 4,9 0,8 13 Tiamina 1,12 1,3 0,19 15 Vitamina C 32 0 93 45 Costo 2 0,2 0,25 Variables de Decisión: X1: Litros de Leche utilizados en la Dieta X2: Porciones de Legumbres utilizadas en la Dieta X3: Unidades de Naranjas utilizadas en la Dieta Función Objetivo: (Minimizar los Costos de la Dieta) Min 2X1 + 0,2X2 + 0,25X3
Restricciones: Satisfacer los requerimientos nutricionales Niacina: 3,2X1 + 4,9X2 + 0,8X3 >= 13 Tiamina: 1,12X1 + 1,3X2 + 0,19X3 >=15 Vitamina C: 32X1 + 0X2 + 93X3 >= 45 No Negatividad: X1>=0; X2>=0; X3>=0 2. Problema de Dimensionamiento de Lotes: (Wagner y Whitin, 1958). Consiste en hallar una polìtica óptima de producción para satisfacer demandas fluctuantes en el tiempo, de modo de minimizar los costos de producción e inventario, considerando la disponibilidad de recursos escasos. Considere que una fabrica puede elaborar hasta 150 unidades en cada uno de los 4 periodos en que se ha subdividido el horizonte de planificación y se tiene adicionalmente la siguiente información: Periodos Demandas Costo Prod. (unidades)(us$/unidad) Costo de Inventario (US$/unidad) 1 130 6 2 2 80 4 1 3 125 8 2.5 4 195 9 3 Adicionalmente considere que se dispone de un Inventario Inicial de 15 unidades y no se acepta demanda pendiente o faltante, es decir, se debe satisfacer toda la demanda del período. Variables de Decisión: Xt: Unidades elaboradas en el período t (Con t =1,2,3,4) It: Unidades en inventario al final del período t (Con t =1,2,3,4) Función Objetivo: (Minimizar los Costos de Producción e Inventarios) Min 6X1 + 4X2 + 8X3 + 9X4 + 2I1 + 1I2 + 2,5I3+ 3I4 Restricciones: Capacidad de Producción por Período: Xt <= 150 (Con t =1,2,3,4) Satisfacer Demanda Período 1: X1 + I0 - I1 = 130 (I0 = 15) Satisfacer Demanda Período 2: X2 + I1 - I2 = 80 Satisfacer Demanda Período 3: X3 + I2 - I3 = 125 Satisfacer Demanda Período 4: X4 + I3 - I4 = 195 No Negatividad: Xt >=0, It >=0
Solución Óptima utilizando Solver de MS Excel (Para ver una aplicación de esta herramienta ingrese AQUI): X1=115, X2=150, X3=100, X4=150, I1=0, I2=70, I3=45, I4=0. Valor Óptimo V(P)=3.622,5 PREGUNTAS FRECUENTES (FAQ) 1. Cómo puedo constatar que un problema de Programación Lineal tiene infinitas soluciones? R: Un problema de PL tiene infinitas soluciones si en la tabla final del Método Simplex un costo reducido asociado a una variable no básica igual a cero. 2. Utilizando el Método Simplex de 2 Fases, Cómo compruebo que el problema asociado es infactible? R: Esto se comprueba si el valor de la función objetivo terminada la Fase I es distinto de cero. 3. Puede existir una restricción activa con precio sombra asociado igual a cero? R: Si. Sin embargo, este caso es más la excepción que la regla. 4. Es incorrecto considerar como variable que entra a la base alguna variable no básica con costo reducido negativo, pero no el "más negativo" de todos? (Método Simplex) R: No es incorrecto. En general, se utiliza como criterio seleccionar como variable entrante a la base aquella variable no básica con costo reducido más negativo, de modo de que en menos iteraciones podamos alcanzar el óptimo en caso que éste exista (rapidez de convergencia). 5. Utilizando el Método Simplex, Cómo se puede detectar que un problema de Programación Lineal es no acotado? R: Esta situación se detecta cuando al realizar el cálculo de la variable que deja la base, todos los elementos Ykj de la columna j en la tabla son negativos, para j el índice de una variable no básica con costo reducido negativo. 6. Si el problema Dual asociado a un modelo de Programación Lineal es no acotado, Qué situación se verifica con el modelo Primal? R: Si el modelo Dual es no acotado, entonces el Primal es infactible. 7. Cómo se verifica que un problema lineal es infactible? R: Si todas las entradas en la columna correspondiente a una variable no básica con costo reducido negativo son negativas o igual a cero. 8. Qué significa que un modelo de programación lineal sea infactible? R: Básicamente consiste en que no existen valores que puedan adoptar las variables de decisión de modo que se verifique el cumplimiento de todas las restricciones del modelo.
http://www.programacionlineal.net/programacion_lineal.html Para hacernos una idea más clara de estos supuestos, veamos dos ejemplos: Ejemplo 1: Problema de máximos. En una granja se preparan dos clases de piensos, P y Q, mezclando dos productos A y B. Un saco de P contiene 8 kg de A y 2 de B, y un saco de Q contiene 10 kg de A y 5 de B. Cada saco de P se vende a 300 ptas. y cada saco de Q a 800 ptas. Si en la granja hay almacenados 80 kg de A y 25 de B, cuántos sacos de cada tipo de pienso deben preparar para obtener los máximos ingresos? Ejemplo 2: Problema de mínimos. Una campaña para promocionar una marca de productos lácteos se basa en el reparto gratuito de yogures con sabor a limón o a fresa. Se decide repartir al menos 30000 yogures. Cada yogur de limón necesita para su elaboración 0.5 gramos de un producto de fermentación y cada yogur de fresa necesita 0.2 gramos de este mismo producto. Se dispone de 9 kilogramos de este producto para fermentación. El coste de producción de un yogur de limón es de 30 pesetas y 20 pesetas uno de fresa. En los dos ejemplos descritos está claro que tanto la cantidad que deseamos maximizar como la cantidad que deseamos minimizar podemos expresarlas en forma de ecuaciones lineales. Por otra parte, las restricciones que imponen las condiciones de ambos problemas se pueden expresar en forma de inecuaciones lineales. Tratemos de plantear en términos matemáticos los dos ejemplos anteriores: 1) Si designamos por x al número de sacos de pienso de clase P y por y el número de sacos de pienso de clase Q que se han de vender, la función: Z = 300x + 800y representará la cantidad de pesetas obtenidas por la venta de los sacos, y por tanto es la que debemos maximizar. Podemos hacer un pequeño cuadro que nos ayude a obtener las restricciones:
Nº kg de A kg de B P x 8x Q y 10y 2x 5y 80 25 Por otra parte, las variables x e y, lógicamente, han de ser no negativas, por tanto: x 0, y 0 Conjunto de restricciones: 8x + 10y 80 2x + 5y 25 x 0, y 0 2) Si representamos por x el número de yogures de limón e y al número de yogures de fresa, se tiene que la función de coste es Z = 30x + 20y. Por otra parte, las condiciones del problema imponen las siguientes restricciones: De número : x + y 80 De fermentación: 0.5x + 0.2y 9000 Las variables x e y han de ser, lógicamente, no negativas; es decir: x 0, y 0 Conjunto de restricciones: x + y 80 0.5x + 0.2y 9000 x 0, y 0 En definitiva: Se llama programación lineal al conjunto de técnicas matemáticas que pretenden resolver la situación siguiente:
Optimizar (maximizar o minimizar) una función objetivo, función lineal de varias variables, sujeta a: una serie de restricciones, expresadas por inecuaciones lineales. Un problema de programación lineal en dos variables, tiene la siguiente formulación estándar: puediendo cambiarse maximizar por minimizar, y el sentido de las desigualdades. En un problema de programación lineal intervienen: La función f(x,y) = ax + by + c llamada función objetivo y que es necesario optimizar. En esa expresión x e y son las variables de decisión, mientras que a, b y c son constantes. Las restricciones que deben ser inecuaciones lineales. Su número depende del problema en cuestión. El carácter de desigualdad viene impuesto por las limitaciones, disponibilidades o necesidades, que son: inferiores a... (menores: < o ); como mínimo de... (mayores: > o ). Tanto si se trata de maximizar como de minimizar, las desigualdades pueden darse en cualquiera de los dos sentidos. Al conjunto de valores de x e y que verifican todas y cada una de las restricciones se lo denomina conjunto (o región) factible. Todo punto de ese conjunto puede ser solución del problema; todo punto no perteneciente a ese conjunto no puede ser solución. En el apartado siguiente veremos cómo se determina la región factible. La solución óptima del problema será un par de valores (x 0, y 0 ) del conjunto factible que haga que f(x,y) tome el valor máximo o mínimo. En ocasiones utilizaremos las siglas PPL para indicar problema de programación lineal.
Determinación de la región factible La solución de un problema de programación lineal, en el supuesto de que exista, debe estar en la región determinada por las distintas desigualdades. Esta recibe el nombre de región factible, y puede estar o no acotada. Región factible acotada Región factible no acotada La región factible incluye o no los lados y los vértices, según que las desigualdades sean en sentido amplio ( o ) o en sentido estricto (< o >). Si la región factible está acotada, su representación gráfica es un polígono convexo con un número de lados menor o igual que el número de restricciones. El procedimiento para determinar la región factible es el siguiente: 1) Se resuelve cada inecuación por separado, es decir, se encuentra el semiplano de soluciones de cada una de las inecuaciones. Se dibuja la recta asociada a la inecuación. Esta recta divide al plano en dos regiones o semiplanos Para averiguar cuál es la región válida, el procedimiento práctico consiste en elegir un punto, por ejemplo, el (0,0) si la recta no pasa por el origen, y comprobar si las coordenadas satisfacen o no la inecuación. Si lo hacen, la región en la que está ese punto es aquella cuyos puntos verifican la inecuación; en caso contrario, la región válida es la otra. 2) La región factible está formada por la intersección o región común de las soluciones de todas las inecuaciones. Como sucede con los sistemas de ecuaciones lineales, los sistemas de inecuaciones lineales pueden presentar varias opciones respecto a sus soluciones: puede no existir solución, en el caso de que exista el conjunto solución puede ser acotado o no.
Veámoslo con un ejemplo: Dibuja la región factible asociada a las restricciones: x + y 4 y 4 y x Las rectas asociadas son: r: x + y = 4; s: y = 4, t: y = x Elegimos el punto O(0,0), que se encuentra en el semiplano situado por debajo de la recta. Introduciendo las coordenadas (0,0) en la inecuación x + y 4, vemos que no la satisface: 0 + 0 = 0 < 4. Por tanto, el conjunto de soluciones de la inecuación es el semiplano situado por encima de la recta r : x + y = 4. Procedemos como en el paso anterior. Las coordenadas (0,0) satisfacen la inecuación y 4 ( 0 4). Por tanto, el conjunto de soluciones de la inecuación es el semiplano que incluye al punto O.
La recta t asociada a la rectricción pasa por el origen, lo cual significa que si probásemos con el punto O(0,0) no llegaríamos a ninguna conclusión. Elegimos el punto (1,0) y vemos que no satisface la inecuación y x (y = 0 < 1 = x). Por tanto, el conjunto solución de esta inecuación es el semiplano determinado por la recta t que no incluye al punto (1,0). La región factible está formada por los puntos que cumplen las tres restricciones, es decir, se encuentran en los tres semiplanos anteriores. http://thales.cica.es/rd/recursos/rd98/matematicas/29/ matematicas-29.html