Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación lineal
Tema 1. Programación lineal
El objetivo de la investigación de operaciones es brindar la mejor solución posible al problema
planteado, mediante la resolución de un modelo matemático.
Dentro de los modelos matemáticos más utilizados en investigación de operaciones, se
encuentra la programación lineal, cuya meta es la correcta planeación de las alternativas
propuesta para la obtención del resultado más óptimo.
1.1 Componentes principales de modelado
La programación lineal se compone de tres elementos principales:
Solución del modelo: de acuerdo con Samuel Eilon, uno de los líderes ingleses en
investigación de operaciones: “optimizar es la ciencia de lo absoluto; satisfacer es el arte
de lo factible”, por lo que la solución del modelo debe de estar lo más apegada a la
“ciencia de lo absoluto”, siempre y cuando haya coherencia con el tiempo tomado en el
estudio y el costo del mismo; es decir, la solución que maximice el objetivo planteado.
Para esta fase es importante considerar el análisis de sensibilidad en caso de que no se
pueda obtener una solución debido a la incertidumbre en los valores de los parámetros,
por lo que estos deberán de ser estimados.
Utilidad por
5 4
toneladas ($1000)
Una investigación de mercado reveló que la demanda diaria de pintura para interior no puede
exceder la demanda para pintura de exterior en más de una tonelada; además que la
demanda diaria máxima de pintura para interior es de dos toneladas.
Bersol busca definir la combinación óptima de pintura para interior y exterior que maximice su
utilidad diaria total de producción.
Haz clic en cada apartado para conocer su detalle.
Definición del problema
1. Alternativas o variables:
Bersol busca definir la cantidad diaria de producción de pintura para interior y exterior, por lo
que las variables quedarían de la siguiente manera:
Y1 = Toneladas de pintura para exterior producidas diariamente
Y2 = Toneladas de pintura para interior producidas diariamente
2. Objetivos:
Bersol busca maximizar la utilidad diaria total de producción (incluyendo pinturas para interior
y exterior). Ambos componentes de utilidad diaria total deberán de estar expresados en
función de Y1 y Y2.
Y1 = Utilidad de pintura para exterior en miles de dólares
Y2 = Utilidad de pintura para interior en miles de dólares
Si X representa la utilidad diaria total en miles de dólares, el objetivo quedaría expresado de la
siguiente manera:
Maximizar X = 5 Y1 + 4 Y2
3. Restricciones
Habrá que definir las restricciones que limitan el consumo y demanda de materias primas para
pinturas de interior y exterior.
Explícitamente el problema nos indica lo siguiente:
Materia
6 4 24
prima MP1
Materia
1 2 6
prima MP2
Consumo de MP1 6 Y1 + 4 Y2 ≤ 24
Consumo de MP2 Y 1 + 2 Y2 ≤ 6
Otra restricción de acuerdo a la investigación de mercado indica que la demanda diaria de
pintura para interior no puede exceder la demanda para pintura de exterior en más de una
tonelada.
Y2 – Y1 ≤ 1
Además tenemos que la demanda diaria máxima de pintura para interior es de dos toneladas.
Y2 ≤ 2
Implícitamente el problema nos indica que las variables Y1 y Y2 deberán tener sólo valores
positivos o 0, por lo que estas restricciones quedan expresadas de la siguiente manera:
Y1 ≥ 0
Y2 ≥ 0
Construcción del modelo
El modelo para este problema quedaría de la siguiente manera:
Maximizar X = 5 Y1 + 4 Y 2
6 Y1 + 4 Y2 ≤ 24
Y 1 + 2 Y2 ≤ 6
– Y1 + Y2 ≤ 1
Y2 ≤ 2
Y1 ≥ 0
Y2 ≥ 0
Una vez identificados los componente del modelo de programación lineal, la construcción del
modelo es mucho más sencilla, ya que sólo es cuestión de acomodar las ecuaciones
planteadas en la definición del problema.
Tema 2. Modelos programación lineal
2.1 Solución de modelos de programación lineal mediante método gráfico
Uno de los métodos de solución para los modelos de programación lineal es el método
gráfico, el cual consiste en la representación gráfica de las restricciones y función objetivo
definidos en el tema anterior.
Para poder hacer uso del método gráfico, es necesario que el modelo de programación lineal
sea únicamente de dos variables, cuya función objetivo sea de minimizar o maximizar.
De acuerdo con Taha (2012), el método gráfico consta de dos pasos:
Continuando con el problema visto en el tema anterior, donde Bersol busca definir la
combinación óptima de pintura para interior y exterior que maximice su utilidad diaria total de
producción, podemos ejemplificar el método gráfico de maximización.
Solución del modelo
1. Determinación del espacio de soluciones factibles
Restricciones:
6Y1 + Y2 ≤ 24
(1)
Y1 + 2 Y2 ≤ 6
(2)
– Y1 + Y2 ≤ 1
(3)
Y2 ≤ 2 (4)
Y1 ≥ 0 (5)
Y2 ≥ 0 (6)
Y1 = 0 6 (0) + 4 Y2 = 24
4 Y2 = 24
Y2 = 24 / 4
Y2 = 6
Y2 = 0 6 Y1 + 4 (0) = 24
6 Y1 = 24
Y1 = 24 / 6
Y1 = 4
Y1 + 2 Y2 ≤ 6 (2)
Y1 + 2 Y2 = 6 coordenadas (0,3) y (6,0)
Y1 = 0 0 + 2 Y2 = 6
2 Y2 = 6
Y2 = 6 / 2
Y2 = 3
Y2 = 0 Y1 + 2 (0)= 6
Y1 = 6
– Y 1 + Y2 ≤ 1 (3)
Y2 = 0 Y1+ Y2 = 1
- Y1= 1
Y1 = - 1
Y2 = 2 - Y1 + 2 = 1
- Y1 = 1 - 2
- Y1 = - 1
Y1 = 1
Y2 ≤ 2 (4)
Y2 = 2 coordenadas (0,2)
Y2 = 2
Y1 = 0
Trazamos cada una de las coordenadas y obtenemos la recta para cada restricción.
El área sombreada con amarillo representan las soluciones factibles a este modelo, ya que
cualquier valor dentro de esta área satisface cada una de las restricciones. Cualquier punto
fuera de esta área sería una solución no factible al modelo.
2. Determinación de la solución óptima
Para determinar la solución óptima o valor óptimo para este modelo dentro del área
sombreada, se deberá primero definir la dirección del crecimiento de la función objetivo
maximizar X = 5 Y1+ 4 Y2, para lo cual se asignan valores aleatorios o arbitrarios crecientes, es
decir por ejemplo X = 10, X = 15 y X = 21 para obtener las coordenadas de estas rectas.
Y1 = 0 5 (0) + 4 Y2 = 10
Y2 = 10 / 4
Y2 = 2.5
Y2 = 0 5 Y1 + 4 (0) = 10
5 Y1 = 10
Y1 = 10 / 5
Y1 = 2
Y1 = 0 5 (0) + 4 Y2 = 21
Y2 = 21 / 4
Y2 = 5.25
5 Y1 + 4 (0) = 21
5 Y1 = 21
Y2 = 0
Y1 = 21 / 5
Y1 = 4.2
Ya con las coordenadas, graficamos las rectas para cada una de las ecuaciones (líneas
marcadas en rojo).
De acuerdo con la nueva gráfica, se observa que el punto dentro del área sombreada que
maximiza el valor de X es el punto C, además que cualquier incremento en X, más allá de C
sería una solución o valor no óptimo. Además de cumplir con una característica de los
modelos de programación lineal, siendo esta que la solución óptima siempre estará en una de
las esquinas del área sombreada o área de soluciones óptimas.
Para encontrar los valores de Y1 y Y2 resolveremos el sistema de ecuaciones formado por X (5
Y1 + 4 Y2 = 21) con la ecuación de la restricción 1 (6 Y1 + 4 Y2 = 24), ya que son 2 de las
ecuaciones que tocan el punto C y tenemos lo siguiente:
6 Y1 + 4 Y2 = 24 (1)
- 5 Y1 + 4 Y2 = 21 (2)
Multiplicamos la ecuación (2) por -1
(- 1) (5 Y1 + 4 Y2 = 21) = - 5 Y1 - 4 Y2 = - 21 (3)
Sumamos la ecuación (1) con la ecuación (3) para eliminar la variable Y2
6 Y1 + 4 Y2 = 24
- 5 Y1 + 4 Y2 = - 21
Y1 + 0 = 3
y tenemos
Y1= 3
6 Y1 + 4 Y2 = 24
6 (3) + 4 Y2 = 24
18 + 4 Y2 = 24
4 Y2 = 24 - 18
4 Y2 = 6
Y2 = 6 / 4
Y2 = 1.5
5 Y1 + 4 Y2 = X
5 (3) + 4 (1.5) = X
15 + 6 = 21
A partir de esto concluimos que una combinación de producción diaria de 3 toneladas de
pintura para exterior y 1.5 toneladas de pintura para interior, maximizarían las utilidades
siendo estas de $21 000.
Ahora veremos un ejemplo del método gráfico de minimización.
Granjas Valle consume mínimo diariamente 800 libras de un alimento especial, que contiene
una combinación de maíz y soya, en las proporciones que a continuación se muestran.
Y1 + Y2 = 800
0.21 Y1 - 0.3 Y2 = 0
0.51 Y2 = 168
Y2 = 168 / 0.51
X = 0.30 Y1 + 0.9 Y2
X = 0.30 (470.6) + 0.9 (329.4)
X = 141.18 + 296.46
X = 437.64
A partir de esto concluimos que una combinación o mezcla de alimento diario que
minimice el costo sería de 470.6 libras de maíz y 329.4 libras de soya, dándonos un costo
mínimo por día de $437.64.
Otro método de solución a los modelos de programación lineal es el método simplex. Este
método fue desarrollado por George Dantzing, es muy útil cuando estamos hablando de
modelos complejos, que no podrían ser resueltos por del método gráfico, además de que no
hay restricción en cuanto al número de variables.
2.2 Solución de modelos de programación lineal mediante método Simplex
El método simplex está basado en las siguientes consideraciones:
Toma en cuenta sólo las soluciones factibles delimitadas por los vértices del área de
soluciones o región factible.
En caso de que la primera solución factible no sea la óptima, inicia el proceso de iteración
(repetición de pasos en búsqueda de la solución óptima).
Cuando sea posible, debemos considerar el origen (0,0) como la primera solución factible
o la inicial.
Si existe la necesidad de iniciar el proceso de iteración, la siguiente solución factible a ser
evaluada debe de ser la adyacente al vértice de solución que está siendo evaluada.
Analiza la tasa de crecimiento que habría al moverse de un vértice de solución factible a
otro. Un valor positivo significa que la solución adyacente es mejor que la actual. Un valor
negativo significa que la solución adyacente es peor a la actual.
2.3 Condición de oportunidad, condición de factibilidad
Según Taha (2012), existen dos tipos de condiciones dentro del método simplex:
1. Degeneración
2. Óptimos alternativos
3. Solución no acotada
4. Solución no factible
Antes de explicar en qué consiste cada uno de los casos especiales, es importante definir los
siguientes términos, ya que forman parte del vocabulario usado en la definición de los mismos.
Solución básica: solución factible que se encuentra en alguno de los vértices del área de
solución, resolviendo las m ecuaciones.
Variables no básicas: variables y ecuaciones que se han igualado a 0 (n – m variables
0).
Variables básicas: ecuaciones restantes diferentes a 0. Se considera que la solución
básica será factible, si las variables básicas son no negativas, y por lo tanto será in factible
si hubiera variables negativas (m variables restantes).
Ahora bien, continuemos con la explicación de cada uno de los casos especiales mencionados
anteriormente.
3.1 Solución degenerada
Este caso se presenta cuando en el método simplex, durante el proceso de ir mejorando las
soluciones seleccionadas (iteración), hay un empate en la variable de salida, que se puede
romper arbitrariamente. Si esto sucede, en la siguiente iteración al menos una variable básica
será 0, por lo que se dice que la nueva solución está degenerada.
Solución no acotada
Sucede cuando al menos una variable puede incrementarse indefinidamente, sin estar
violando alguna restricción. En este caso donde no está acotado el área de soluciones indica
que el modelo ha sido mal construido, pudiendo estar mal definidas las restricciones en cuanto
a su valor o que alguna de ellas no esté siendo considerada en la construcción del modelo.
3.3 Solución no factible
Se presenta cuando no se cumple con al menos una restricción, lo que indicaría que el modelo
no ha sido construido correctamente. De acuerdo con Taha (2012), esta situación no ocurre si
todas las restricciones son del tipo ≤ con lados derechos no negativos, porque las holguras
proporcionan una solución factible obvia. Para otros tipos de restricciones, se utilizan variables
artificiales penalizadas para iniciar la solución. Si al menos una variable artificial es positiva en
la iteración óptima, entonces el modelo de programación lineal no tiene una solución factible.
Tema 4. Método simplex y análisis de sensibilidad
4.1 Modelos de programación lineal en forma de ecuación
Cuando estamos haciendo uso del método simplex, se deben convertir las desigualdades del
modelo a forma de ecuación. De acuerdo con Taha (2012) el desarrollo de los cálculos con el
método simplex se facilita si se imponen dos requerimientos a las restricciones de
programación lineal:
Para convertir una desigualdad (≤) en ecuación, se agrega una variable de holgura al lado
izquierdo de la restricción. Por ejemplo el caso de pinturas Bersol, donde la restricción de MP1
es 6 Y1 + 4 Y2 ≤ 24, nos quedaría de la siguiente manera:
6 Y1 + 4 Y2 + s1 = 24, s1 ≥ 0
Y1 + Y1 - S1 = 800, S1 ≥ 0
El último requerimiento es que el lado derecho de la ecuación no sea negativo, si fuera así
habría que multiplicar ambos lados de la ecuación por – 1.
4.2 Transición de la gráfica a la algebraica
Cuando estamos usando el método simplex, el área de soluciones está delimitado por
ecuaciones lineales m y variables no negativas n. En todos los modelos de programación
lineal no trivial, m siempre es menos a n, por lo que se tiene una cantidad infinita de posibles
soluciones al modelo.
Si tenemos únicamente la ecuación x + y = 2, m sería igual a 1 (solo una ecuación) y n igual a
2 (dos variables, x, y), con una infinidad de soluciones, ya que cualquier punto sobre la recta x
+ y = 2 es una solución factible.
El espacio de soluciones está representado por m x n ecuaciones, donde m ‹ n. La solución
básica corresponderá a los puntos de esquina del espacio o área de soluciones, estas se
obtienen igualando n – m variables a 0 y resolviendo las m ecuaciones restantes, para
las m variables restantes.
Podemos obtener la cantidad máxima de soluciones básicas o puntos de esquina de la
siguiente manera:
Expliquemos lo anterior mediante un ejemplo de un modelo de programación lineal de dos
variables.
Maximizar X = 2 Y1 + 3 Y1
2 Y1 + Y2 ≤ 4
Con las siguientes Y1 + 2Y2 ≤ 5
restricciones Y1 , Y2 ≥ 0
m = 2 (2 ecuaciones o restricciones, 2 Y1 + Y2 ≤ 4, Y1 + Y2 ≤ 5)
Algebraicamente:
n = 4 (2 variables Y1 , Y2 por cada ecuación =4)
2 Y1 + Y2 + s1 = 4
2 (0) + 0 + s1 = 4
s1 = 4
Y1 + 2Y2 + s2 = 5
0 + 2(0) + s2 = 5
s2 = 5
2 (2 Y1 + Y2 = 4)
- (Y1 + 2Y2 = 5)
4 Y1 + 2 Y2 = 8
- Y1 - 2Y2 = - 5
3 Y1= 3
Y1= 3 / 3
Y1= 1
Y1 + 2Y2 = 5
1 + 2Y2 = 5
2Y2 = 5 - 1
2Y2 = 4
Y2 = 4 / 2
Y2 = 2
Ahora obtenemos la cantidad máxima de soluciones básicas o puntos de esquina para este
modelo:
Esto nos indica que existen 6 puntos de esquina, pero en la gráfica anterior sólo se
encuentran 4 (A, B, C y D), lo que quiere decir es que E y F se encuentran fuera del área de
soluciones, por lo que no son factibles y no podrían ser considerados como soluciones
óptimas.
A partir de esto podemos enlistar todos los puntos de esquina para determinar si las
soluciones son factibles o no y determinar cuál es la solución óptima.
Variables no
básicas Variables Solución Punto de esquina Valor
¿Factible?
básicas básica asociado objeto X
(igualadas a 0)
Los valores de la solución básica se obtienen sustituyendo por 0 las variables no básicas en
las ecuaciones de restricciones y el valor objetivo, sustituyendo los valores de la solución
básica en la ecuación objetivo. La óptima solución sería aquella con el mejor valor objetivo.
4.3 Método simplex
El método simplex lo que hace en lugar de analizar cada solución básica o punto de esquina,
es analizar los incrementos que existen en las variables para cada punto de esquina partiendo
siempre del origen, que para esta gráfica sería el punto A. Además, este método no permite
un incremento en ambas variables (Y1, Y2), el incremento debe de ser una variable a la vez.
La variable que se considerará para evaluar si hay un incremento o no, será la que tenga una
mayor mejora en la función objetivo X (X = 2 Y1 + 3 Y2), que para este caso es Y2, debido a
que su incremento sería multiplicado por 3. Así es como pasamos del punto A al B y al pasar
de B a C, observamos que hay un incremento en la variable Y1, por lo que este último punto
es la solución óptima.
Cabe mencionar que dentro del método simplex, es forzosamente necesario considerar
solamente los incrementos que nos lleven a cada uno de los puntos de esquina y que el
movimiento a través del área de soluciones debe de ser en secuencia, es decir A – B – C, no
es posible pasar de A a C de manera directa.
Tema 5. Análisis de sensibilidad
Un análisis de sensibilidad es el estudio de cómo la variación en las restricciones o función
objetivo pueden afectar la solución óptima del modelo. Por tal, la finalidad de este análisis es
definir los rangos de variación permisibles de los parámetros, sin llegar a afectar la solución
óptima o definir cuáles de estos parámetros son sensibles; es decir, cualquier cambio en ellos
provocaría un cambio en la solución del modelo.
El análisis de sensibilidad puede evaluarse a través de:
Variables
Y1 = Producto 1
Y2 = Producto 2
Función objetivo
Maximizar X = 30 Y1 + 20 Y1
Restricciones
2 Y1 + Y2 ≤ 8 Troqueladora 1
Y1 + 3Y2 ≤ 8 Troqueladora 2
Y1, Y2 ≥ 8
Si el tiempo diario disponible de la troqueladora 1 se incrementa de 8 a 9 horas, obtener la
tasa de cambio para X.
Por lo tanto un incremento o decremento unitario en el tiempo disponible de la troqueladora 1,
aumentará o reducirá la utilidad a $14. Esta utilidad permanecerá válida para los incrementos
o reducciones en el tiempo disponible de la troqueladora 1, siempre y cuando la recta de estos
cambios sea paralela a la recta original en cualquier punto del segmento BF.
Los rangos de capacidades se determinan de la siguiente manera.
Troqueladora 1, capacidad mínima (B=2.66) = 2 (0) + 1 (2.66) = 2.66
Troqueladora 1, capacidad máxima (F=8) = 2 (8) + 1 (0) = 16
2.67hr ≤ Tiempo disponible troqueladora 1 ≤ 16hr
Coeficientes de la función objetivo
Siguiendo con el mismo ejemplo, si los coeficientes de la función objetivo cambian, la recta de
X cambiará también, pero la solución óptima seguirá siendo C, mientras que la recta de la
función objetivo se mantenga entre las rectas BF y DE.
La recta X podrá girar en sentido dextrorso y sinestroso con origen en C, para lo cual es
posible calcular el rango o intervalos para los coeficientes de la función objetivo.
Maximizar X = C1Y1 + C2Y2
Como se menciona, la solución óptima sigue siendo C, siempre y cuando X se mantenga entre
las rectas 2 Y1 + Y2 = 8, Y1 + 3Y2 = 8, lo que significa que C1 / C2 puede variar entre 2/1 y 1/3,
resultando
1/3 ≤ C1 / C2 ≤ 2/1 = 0.33 ≤ C1 / C2 ≤ 2
5.2 Análisis de sensibilidad algebraica
Cambios en el lado derecho
Para cada problema en programación lineal siempre habrá otro problema dual, es decir, si el
problema primal es de maximización, el problema dual será de minimización y viceversa. Los
cambios en el lado derecho representan cambios a los recursos disponibles del modelo.
Dentro del problema dual tendremos el precio sombra, que representa el cambio en la función
objetivo cuando cambia alguna variable del lado derecho. Además se pueden determinar los
intervalos de factibilidad que sería el rango en que pueden fluctuar las variables, sin ocasionar
cambios en la solución óptima.
Cambios en la función objetivo
Este cambio está relacionado con el costo reducido (costo de los recursos respecto al
consumo). De igual manera es posible determinar los intervalos de optimalidad, que harán que
la solución óptima se mantenga constante.
Costo reducido por unidad = Costos de los recursos consumidos por unidad – Ingreso
por unidad
Para convertir una variable no rentable en rentable tenemos dos opciones: