Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ABRIL, 2019
Contenido
I. UNIDAD: ELEMENTOS DE PROGRAMACION LINEAL ................................................................ 3
1.1. Introducción a la modelación económica matemática ....................................... 3
1.2. Importancia de la modelación ................................................................................. 6
1.3. Problema de programación lineal........................................................................... 8
1.4. Solución gráfica de un programa lineal en dos variables ............................... 16
1.5. Algoritmo simplex ................................................................................................... 24
1.6. Variantes del método simplex, uso de variables artificiales: .......................... 32
1.7. Método simplex revisado ....................................................................................... 45
1.8. Uso del software POM-QM for Windows ............................................................. 45
Ejercicios .............................................................................................................................. 55
II. UNIDAD: ASPECTO DE DUALIDAD Y ANÁLIISIS DE SENSIBILIDAD ........................................... 61
2.1. Dual de un programa lineal .................................................................................... 61
2.2. Interpretación económica de la dualidad ............................................................ 63
2.3. Algoritmo simplex dual........................................................................................... 66
2.4. Introducción al análisis gráfico de sensibilidad ................................................ 67
2.5. Análisis post óptimo de sensibilidad ................................................................... 70
2.6. Ejercicios ....................................................................................................................... 75
III. UNIDAD: MODELOS ESPECIALES DE PROGRAMACIÓN LINEAL: TRANSPORTE, ASIGNACIÓN Y
TRANSBORDO .............................................................................................................................. 78
3.1. Descripción general del problema de transporte .............................................. 78
3.2. Determinación de una solución básica inicial ................................................... 81
3.3. El modelo de asignación: Método Húngaro ....................................................... 87
3.4. Ejercicios ................................................................................................................... 91
Bibliografía .................................................................................................................................. 94
Investigación de Operaciones I
1. 2 (w + h) = L
2. w ≥ 0, h ≥ 0
Maximizar z = wh
Sujeto a
2 (w + h) = L
w, h ≥ 0
Una solución del modelo es factible si satisface todas las restricciones; es óptima
si, además de ser factible, produce el mejor valor (máximo o mínimo) de la función
objetivo. En el ejemplo de los boletos, el problema considera tres alternativas
factibles, y la tercera es la que produce la solución óptima. En el problema del
𝐿
rectángulo, una alternativa factible debe satisfacer la condición w + h = , donde w
2
Cada una de estas variables afecta el nivel de producción en Tyko. Sin embargo,
es realmente difícil establecer relaciones funcionales explícitas entre ellas y el nivel
de producción.
Un primer nivel de abstracción requiere definir los límites del mundo real supuesto.
Reflexionando un poco, podemos aproximar el sistema real por medio de dos
parámetros dominantes:
1. Tasa de producción.
2. Tasa de consumo.
Ahora es más fácil abstraer un modelo desde el mundo real supuesto. Con las tasas
de producción y consumo se pueden establecer medidas de exceso o escasez de
inventario. Entonces el modelo abstraído puede construirse para equilibrar los
costos conflictivos de exceso y escasez de inventario; es decir, para minimizar el
costo total del inventario.
ampliado con rapidez. Una proporción muy grande de los programas científicos en
computadoras está dedicada al uso de la programación lineal.
Willemain (1994) manifiesta que “una práctica [de IO] eficaz requiere más que
competencia analítica. También requiere, entre otros atributos, juicio técnico (es
decir, cuándo y cómo utilizar una técnica dada). Para implementar la IO en la
práctica, las fases principales son:
Lo primero que debe reconocerse es que un equipo de IO, por lo general, trabaja a
nivel de asesoría. A los miembros del equipo no se les presenta un problema y se
les dice que lo resuelvan como puedan, sino que asesoran a la administración (casi
siempre un tomador de decisiones clave). El equipo realiza un análisis técnico
detallado y después presenta recomendaciones. Este informe identifica cierto
número de opciones atractivas, en particular con diferentes supuestos o para un
rango diferente de valores, de algún parámetro que marca una política que puede
ser evaluada sólo por esa administración: por ejemplo, la decisión entre costo y
beneficio. La administración evalúa el estudio y sus recomendaciones, analiza una
variedad de factores intangibles y toma una decisión final con base en su mejor
juicio. Es vital que el equipo de IO tenga una visión al mismo nivel que la
administración, incluso para identificar el problema “correcto” desde el punto de vista
gerencial y que, a su vez, la administración le brinde apoyo sobre cualquier curso
que tome el estudio.
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0.
Otras formas
Cualquier problema que incluye una, varias o todas estas formas con las otras
partes del modelo anterior también se clasifica como un problema de programación
lineal. La interpretación de las palabras asignación de recursos limitados entre
actividades que compiten puede ya no aplicarse muy bien, si es que se aplica; pero
sin importar cuál sea la interpretación o el contexto, lo único necesario es que la
formulación matemática del problema se ajuste a las formas permitidas. Así, la
definición concisa de un problema de programación lineal es que cada componente
de su modelo se ajusta a la forma estándar o a una de las otras formas legítimas
que ya se mencionaron.
De hecho, a veces ésta es una etapa bastante sencilla, en la que se aplica uno de
los dos algoritmos —procedimientos iterativos de solución— de investigación de
operaciones en una computadora mediante el uso de algunos de los paquetes de
software disponibles.
La solución del modelo es por mucho la más sencilla de todas las fases de IO
porque implica el uso de algoritmos de optimización bien definidos. Un aspecto
importante de la fase de solución del modelo es el análisis de sensibilidad, el análisis
que pasa si.
5. Implementación
Cada coche:
Cada moto:
También.
Variables de decisión
Función objetivo
Restricciones
Son desigualdades que limitan los posibles valores de las variables de decisión. En
este problema las restricciones vienen dadas por la disponibilidad de hora de
acabado y carpintería y por la demanda de muñecos. También suele haber
restricciones de signo o no negatividad:
X1 ≥ 0
X2 ≥ 0
Restricción 2: x1 + x2 ≤ 80
Restricción 3: x1 ≤ 40
Coches Motos
Beneficio 3 2
Acabado 2 1 ≤ 100
Carpintería 1 1 ≤ 80
Demanda ≤ 40
Puede ser que el lector esté acostumbrado a que el término solución signifique la
respuesta final a un problema, pero en programación lineal (y sus extensiones) la
convención es bastante distinta. Ahora, cualquier conjunto de valores específicos
de las variables de decisión (x1, x2, . . . , xn) se llama una solución, aunque sea
sólo una posibilidad deseable o ni siquiera permitida. Después se identifican los
tipos de soluciones mediante el empleo de un adjetivo apropiado.
Una solución factible es aquella para la que todas las restricciones se satisfacen.
Una solución no factible es una solución para la que al menos una restricción se
viola.
15 + 70 ˃ 80
La mayoría de PPL tiene n solamente una solución óptima. Sin embargo, algunos
PPL no tienen solución óptima, y otros PPL tienen un número infinito de soluciones.
Mas adelante veremos que la solución del PPL de CreateToys es X 1 = 20 y X2 = 60.
Esta solución da un valor de la función objetivo de:
Puesto que el PPL tiene dos variables, se puede resolver gráficamente. La región
factible es el conjunto de todos los puntos que satisfacen las restricciones.
x1 = 20 coches
x2 = 60 autos
1. Fila pivote
Nueva fila = (Fila actual) - (Su coeficiente en la columna pivote) x (Nueva fila pivote).
3. Escribir la tabla simplex: En las columnas aparecerán todas las variables del
problema y, en las filas, los coeficientes de las desigualdades obtenidas, una
fila para cada restricción y la última fila con los coeficientes de la función
objetivo:
Tabla 1 Iteración 1
Si existiese dos o más coeficientes iguales que cumplan la condición anterior, entonces se
elige uno, cualquiera de ellos.
Si en la última fila no existiese ningún coeficiente negativo, significa que se ha alcanzado la
solución óptima. Por tanto, lo que va a determinar el final del proceso de aplicación del
método simplex, es que en la última fila no haya elementos negativos. La columna de
la variable que entra en la base se llama columna pivote.
b. Para encontrar la variable de holgura que tiene que salir de la base, se divide
cada término de la última columna (valores solución) por el término correspondiente
de la columna pivote, siempre que estos últimos sean mayores que cero. En nuestro
caso:
18/2 = 9, 42/2 = 21 y 24/3 = 8
Si hubiese algún elemento menor o igual que cero no se hace dicho cociente. En el caso
de que todos los elementos fuesen menores o iguales a cero, entonces tendríamos
una solución no acotada y no se puede seguir.
El término de la columna pivote que en la división anterior dé lugar al menor cociente
positivo, el 3, ya que 8 es el menor, indica la fila de la variable de holgura que sale de la
case, h3. Esta fila se llama fila pivote.
Si al calcular los cocientes, dos o más son iguales, indica que cualquiera de las
variables correspondientes puede salir de la base.
Fila pivote:
Nueva fila = (vieja fila) – (Coeficiente de la vieja fila en la columna de la variable entrante) x
(Nueva fila del pivote)
Veámoslo con un ejemplo una vez calculada la fila del pivote (fila de x en la tabla II):
Vieja fila de s 2 3 0 1 0 42
- - - - - -
Coeficiente 2 2 2 2 2 2
x x x x x x
Nueva fila pivote 1 1/3 0 0 1/3 8
= = = = = =
Nueva fila de s 0 7/3 0 1 -2/3 26
a. La variable que entra en la base es X2, por ser la variable que corresponde al
coeficiente -1
b. Para calcular la variable que sale, dividimos los términos de la última columna entre
los términos correspondientes de la nueva columna pivote: 2/1/3 = 6, 26/7/3 = 78/7
y 8/1/3 = 8 y como el menor cociente positivo es 6, tenemos que la variable de
holgura que sale es h1.
c. El elemento pivote, que ahora hay que hacer 1, es 1/3.
a) La variable que entra en la base es h3, por ser la variable que corresponde
al coeficiente -1.
b) Para calcular la variable que sale, dividimos los términos de la última columna
entre los términos correspondientes de la nueva columna pivote: 6/ (-2) = -3,
12/4 = 3 y 6/1 = 6. Y como el menor cociente positivo es 3, tenemos que la
variable de holgura que sale es h2.
c) El elemento pivote, que ahora hay que hacer 1, es 4.
Obtenemos la tabla:
Degeneración
Óptimos alternativos
Solución no acotada
Un espacio de soluciones no acotado casi siempre indica que el modelo está mal
construido. La irregularidad más probable en tales modelos es que no se han
tomado en cuenta algunas restricciones clave. Otra posibilidad es que las
estimaciones de los coeficientes de las restricciones quizá no sean precisas.
Solución no factible
−M en problemas de maximización
Coeficiente objetivo de la variable artificial = { }
M, en problemas de minimización
Min Z = 4X1 + X2
Sujeto a:
3X1 + X2 = 3
4X1 + 3X2 6
X1 + 2X2 4
X1 y X2 0
Se crea el modelo aumentado, si utilizamos S1 como variable de superávit en la
segunda restricción y S2 como variable de holgura en la tercera restricción, el problema
en forma de ecuación es:
Minimizar z = 4X1 + X2
Sujeto a
3X1 + X2 = 3
4X1 + 3X2 - S1 = 6
X1 + 2X2 +S2 = 4
X1, X2, S1, S2 ≥ 0
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 Z -4 -1 -M -M 0 0 0
Fila 2 R1 3 1 1 0 0 0 3
Fila 3 R2 4 3 0 1 -1 0 6
Fila 4 S2 1 2 0 0 0 1 4
Se necesita convertir en 0 las M. La operación para eliminarlas en la columna R1 es: (M)(fila
2) + fila 1 y para la columna R2 es: (M)(fila 3) + fila 1
(M)Fila 2 3M M M 0 0 0 3M
(M)Fila 3 4M 3M 0 M -M 0 6M
+ Fila 1 -4 -1 -M -M 0 0 0
7M-4 4M-1 0 0 -M 0 9M
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 Z 7M-4 4M-1 0 0 -M 0 9M
Fila 2 R1 3 1 1 0 0 0 3
Fila 3 R2 4 3 0 1 -1 0 6
Fila 4 S2 1 2 0 0 0 1 4
Identificamos la columna pivote (variable que entra) que es la que presente el valor positivo
mayor de la fila de la función objetivo con excepción de las soluciones básicas (en caso que
la función objetivo sea maximizar la columna pivote será la que presente el mayor valor
negativo). Como el valor de M es un valor suficientemente grande incluso hasta el infinito.
Vamos a suponer que M = 100 entonces la columna X1 quedaría (7) (100) – 4 = 696, la
columna X2 es: (4) (100) – 1 = 399, R1 = 0, R2 = 0, S1 = -100, S2 = 0. Entonces el mayor
valor positivo es 696 que pertenece a la columna X1, la cual seria la variable que entra.
Luego se encuentra la fila pivote (variable que sale) dividiendo la solución por su
correspondiente elemento de la columna pivote con excepción de la fila que pertenece la
función objetivo, donde el menor valor positivo va corresponder a la fila pivote. Encontramos
3 ÷ 3 = 1, 6 ÷ 4 = 1.5, 4 ÷ 1 = 4. Por tanto, la fila 2 es la fila pivote, por lo que R1 es la
variable que sale. El 3 es el elemento pivote, que es donde se interceptan la columna y fila
pivote. El elemento pivote se debe convertir en 1, ya que estamos utilizando eliminación
gaussiana. Dividimos todos los elementos de la fila pivote entre 3 porque ese es valor del
elemento pivote quedando de la siguiente manera la fila pivote:
1 1/3 1/3 0 0 0 1
Se procede a convertir en 0 los elementos que están arriba y abajo del elemento pivote, es
decir: 7M-4, 4 y 1. Para 7M-4, se busca el inverso aditivo, que será multiplicado por la fila
pivote y sumándole luego la fila a la cual pertenece. La operación queda (-7M+4) (Fila 2) +
Fila 1.
(- 7M + 4) (1 1/3 1/3 0 0 0 1)
(-7M+4) (Fila 2) -7M+4 -7/3M+4/3 -7/3M+4/3 0 0 0 -7M+4
+ Fila 1 7M-4 4M-1 0 0 -M 0 9M
Fila 1 nueva 0 5/3M+1/3 -7/3M+4/3 0 -M 0 2M+4
Para 4, se busca el inverso aditivo de forma similar, que será multiplicado por la fila pivote
y sumándole luego la fila a la cual pertenece. La operación queda (-4) (Fila 2) + Fila 3.
Para 1, se busca el inverso aditivo de forma similar, que será multiplicado por la fila pivote
y sumándole luego la fila a la cual pertenece. La operación queda (-1) (Fila 2) + Fila 4.
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 Z 0 5/3M+1/3 -7/3M+4/3 0 -M 0 2M+4
Fila 2 X1 1 1/3 1/3 0 0 0 1
Fila 3 R2 0 5/3 -4/3 1 -1 0 2
Fila 4 S2 0 5/3 -1/3 0 0 1 3
Como existen aún coeficientes positivos en la fila de la función objetivo, significa que no
hemos llegado todavía a la solución óptima (en caso que la función objetivo sea maximizar
y todos los coeficientes son positivos se ha llegado a la solución óptima). Hay que repetir
el proceso:
Identificamos la columna pivote (variable que entra) que es la que presente el valor positivo
mayor de la fila de la función objetivo con excepción de las soluciones básicas. Igual vamos
a suponer que M = 100 entonces la columna X1 = 0, X2 quedaría (5/3) (100) + 1/3 = 167,
la columna R1 es: (-7/3M) (100) + 4/3 = -232, R2 = 0, S1 = -100, S2 = 0. Entonces el mayor
valor positivo es 167 que pertenece a la columna X2, la cual sería la variable que entra.
Se encuentra la fila pivote (variable que sale) dividiendo la solución por su correspondiente
elemento de la columna pivote con excepción de la fila que pertenece la función objetivo,
donde el menor valor positivo va corresponder a la fila pivote. Encontramos 1 ÷ 1/3 = 3, 2 ÷
5/3 = 1.2, 3 ÷ 5/3 = 1.8. Por tanto, la fila 3 es la fila pivote, por lo que R2 es la variable que
sale. El 5/3 es el elemento pivote, que es donde se interceptan la columna y fila pivote. El
elemento pivote se debe convertir en 1. Dividimos todos los elementos de la fila pivote entre
5/3 porque ese es valor del elemento pivote quedando de la siguiente manera la fila pivote:
Para 1/3, se busca el inverso aditivo de forma similar, que será multiplicado por la fila pivote
y sumándole luego la fila a la cual pertenece. La operación queda (-1/3) (Fila 3) + Fila 2.
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 Z 0 0 -M+8/5 -M-1/5 1/5 0 18/5
Fila 2 X1 1 0 3/5 -1/5 1/5 0 3/5
Fila 3 X2 0 1 -4/5 3/5 -3/5 0 6/5
Fila 4 S2 0 0 1 -1 1 1 1
Como existen aún coeficientes positivos en la fila de la función objetivo, se repite el proceso.
Identificamos nuevamente la columna pivote (variable que entra). Igual vamos a suponer
que M = 100 entonces la columna X1 = 0, X2 = 0, R1 = (-100) + 8/5 = -98.4, R2 = -100 –
1/5 = -100.2, S1 =1/5 y S2 = 0. Entonces el mayor valor positivo es 1/5 que pertenece a la
columna S1, la cual sería la variable que entra.
Se encuentra la fila pivote (variable que sale). Encontramos 3/5 ÷ 1/5 = 3, 6/5 ÷ -3/5 = -2, 1
÷ 1 = 1. Por tanto, la fila 4 es la fila pivote, por lo que S2 es la variable que sale. El 1 es el
elemento pivote (no es necesario convertirlo a 1).
Se procede a convertir en 0 los elementos que están arriba y abajo del elemento pivote, es
decir: los dos 1/5 y -3/5. Para 1/5, la operación queda (-1/5) (Fila 4) + Fila 1.
(-1/5) (0 0 1 -1 1 1 1)
(-1/5) (Fila 4) 0 0 -1/5 1/5 -1/5 -1/5 -1/5
+ Fila 1 0 0 -M+8/5 -M-1/5 1/5 0 18/5
Fila 1 nueva 0 0 -M+7/5 -M 0 -1/5 17/5
(-1/5) (0 0 1 -1 1 1 1)
(-1/5) (Fila 4) 0 0 -1/5 1/5 -1/5 -1/5 -1/5
+ Fila 2 1 0 3/5 -1/5 1/5 0 3/5
Fila 2 nueva 1 0 2/5 0 0 -1/5 2/5
Para -3/5, la operación queda (3/5) (Fila 4) + Fila 3.
(3/5) (0 0 1 -1 1 1 1)
(3/5) (Fila 4) 0 0 3/5 -3/5 3/5 3/5 3/5
+ Fila 3 0 1 -4/5 3/5 -3/5 0 6/5
Fila 3 nueva 0 1 -1/5 0 0 3/5 9/5
Obtenemos la nueva tabla simplex:
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 Z 0 0 -M+7/5 -M 0 -1/5 17/5
Fila 2 X1 1 0 2/5 0 0 -1/5 2/5
Fila 3 X2 0 1 -1/5 0 0 3/5 9/5
Fila 4 S1 0 0 1 -1 1 1 1
Como todos los coeficientes de la fila de la función objetivo son negativos y 0, hemos
llegado a la solución óptima. La solución óptima viene dada por el valor de Z =
17/5, X1 = 2/5, X2 = 9/5.
Min Z = 4X1 + X2
Sujeto a:
3X1 + X2 = 3
4X1 + 3X2 6
X1 + 2X2 4
X1 y X2 0
Fase I
Minimizar r = R1 + R2
r – R1 – R2 = 0
Sujeto a
3X1 + X2 + R1 = 3
4X1 + 3X2 + R2 - S1 = 6
X1 + 2X2 + S2 = 4
X1, X2, S1, S2, R1, R2 ≥ 0
Se crea la tabla inicial simplex
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 r 0 0 -1 -1 0 0 0
Fila 2 R1 3 1 1 0 0 0 3
Fila 3 R2 4 3 0 1 -1 0 6
Fila 4 S2 1 2 0 0 0 1 4
Fila r 0 0 -1 -1 0 0 0
1xFila 2 3 1 1 0 0 0 3
1xFila 3 4 3 0 1 -1 0 6
Nueva fila r 7 4 0 0 -1 0 9
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 r 7 4 0 0 -1 0 9
Fila 2 R1 3 1 1 0 0 0 3
Fila 3 R2 4 3 0 1 -1 0 6
Fila 4 S2 1 2 0 0 0 1 4
Identificamos la columna pivote (variable que entra) que es la que presente el valor positivo
mayor de la fila de la función objetivo con excepción de las soluciones básicas (en caso que
la función objetivo sea maximizar la columna pivote será la que presente el mayor valor
negativo). Entonces el mayor valor positivo es 7 que pertenece a la columna X1, la cual es
la variable que entra.
Luego se procede a encontrar la fila pivote (variable que sale) dividiendo la solución por su
correspondiente elemento de la columna pivote con excepción de la fila que pertenece la
función objetivo, donde el menor valor positivo va corresponder a la fila pivote. Encontramos
3 ÷ 3 = 1, 6 ÷ 4 = 1.5, 4 ÷ 1 = 4. Por tanto, la fila 2 es la fila pivote, por lo que R1 es la
variable que sale. El 3 es el elemento pivote, que es donde se interceptan la columna y fila
pivote. El elemento pivote se debe convertir en 1, ya que estamos utilizando eliminación
gaussiana. Dividimos todos los elementos de la fila pivote entre 3 porque ese es valor del
elemento pivote quedando de la siguiente manera la fila pivote:
1 1/3 1/3 0 0 0 1
Se procede a convertir en 0 los elementos que están arriba y abajo del elemento pivote, es
decir: 7, 4 y 1. Para 7, se busca el inverso aditivo, que será multiplicado por la fila pivote y
sumándole luego la fila a la cual pertenece. La operación queda (-7) (Fila 2) + Fila 1.
(- 7) (1 1/3 1/3 0 0 0 1)
+ Fila 1 7 4 0 0 -1 0 9
Fila 1 nueva 0 5/3 -7/3 0 -1 0 2
Para 4, se busca el inverso aditivo de forma similar, que será multiplicado por la fila pivote
y sumándole luego la fila a la cual pertenece. La operación queda (-4) (Fila 2) + Fila 3.
Para 1, se busca el inverso aditivo de forma similar, que será multiplicado por la fila pivote
y sumándole luego la fila a la cual pertenece. La operación queda (-1) (Fila 2) + Fila 4.
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 r 0 5/3 -7/3 0 -1 0 2
Fila 2 X1 1 1/3 1/3 0 0 0 1
Fila 3 R2 0 5/3 -4/3 1 -1 0 2
Fila 4 S2 0 5/3 -1/3 0 0 1 3
Como existen aún coeficientes positivos en la fila de la función objetivo, significa que no
hemos llegado todavía a la solución óptima (en caso que la función objetivo sea maximizar
y todos los coeficientes son positivos se ha llegado a la solución óptima). Hay que repetir
el proceso:
Identificamos la columna pivote (variable que entra) que es la que presente el valor positivo
mayor de la fila de la función objetivo con excepción de las soluciones básicas. Entonces el
mayor valor positivo es 5/3 que pertenece a la columna X2, la cual sería la variable que
entra.
Se encuentra la fila pivote (variable que sale) dividiendo la solución por su correspondiente
elemento de la columna pivote con excepción de la fila que pertenece la función objetivo,
donde el menor valor positivo va corresponder a la fila pivote. Encontramos 1 ÷ 1/3 = 3, 2 ÷
5/3 = 1.2, 3 ÷ 5/3 = 1.8. Por tanto, la fila 3 es la fila pivote, por lo que R2 es la variable que
sale. El 5/3 es el elemento pivote, que es donde se interceptan la columna y fila pivote. El
elemento pivote se debe convertir en 1. Dividimos todos los elementos de la fila pivote entre
5/3 porque ese es valor del elemento pivote quedando de la siguiente manera la fila pivote:
Para 1/3, se busca el inverso aditivo de forma similar, que será multiplicado por la fila pivote
y sumándole luego la fila a la cual pertenece. La operación queda (-1/3) (Fila 3) + Fila 2.
V.B X1 X2 R1 R2 S1 S2 R
Fila 1 Z 0 0 -1 -1 0 0 0
Fila 2 X1 1 0 3/5 -1/5 1/5 0 3/5
Fila 3 X2 0 1 -4/5 3/5 -3/5 0 6/5
Fila 4 S2 0 0 1 -1 1 1 1
X1 = 3/5
X2 = 6/5
S2 = 1
Fase II
Minimizar Z = 4X1 + X2
Sujeto a
X1 +1/5S1 = 3/5
X2 -3/5S1 = 6/5
S1 + S2 =1
Igualamos a cero la función objetivo: - 4X1 – X2 = 0
V.B X1 X2 S1 S2 R
Fila 1 Z -4 -1 0 0 0
Fila 2 X1 1 0 1/5 0 3/5
Fila 3 X2 0 1 -3/5 0 6/5
Fila 4 S2 0 0 1 1 1
Buscamos como convertir en cero las variables originales del modelo de esos elementos
de la fila z, sustituyendo mediante las siguientes operaciones de filas:
Fila Z -4 -1 0 0 0
4xFila 2 4 0 4/5 0 12/5
1xFila 3 0 1 -3/5 0 6/5
Nueva fila r 0 0 1/5 0 18/5
Obtenemos la siguiente tabla:
V.B X1 X2 S1 S2 R
Fila 1 Z 0 0 1/5 0 18/5
Fila 2 X1 1 0 1/5 0 3/5
Fila 3 X2 0 1 -3/5 0 6/5
Fila 4 S2 0 0 1 1 1
Igual seguimos el mismo procedimiento del método simplex, identificando la columna pivote
(variable que entra) que es la que presente el valor positivo mayor de la fila de la función
objetivo con excepción de las soluciones básicas. Entonces el mayor valor positivo es 1/5
que pertenece a la columna S1, la cual sería la variable que entra.
Se procede a convertir en 0 los elementos que están arriba y abajo del elemento pivote, es
decir: Los dos 1/5 y -3/5. Para 1/5 la operación queda (-1/5) (Fila 4) + Fila 1.
(-1/5) (0 0 1 1 1)
+ Fila 1 0 0 1/5 0 18/5
Fila 1 nueva 0 0 0 -1/5 17/5
(-1/5) (0 0 1 1 1)
+ Fila 2 1 0 1/5 0 3/5
Fila 2 nueva 1 0 0 -1/5 2/5
(3/5) (0 0 1 1 1)
+ Fila 3 0 1 -3/5 0 6/5
Fila 3 nueva 0 1 0 3/5 9/5
V.B X1 X2 S1 S2 R
Fila 1 Z 0 0 0 -1/5 17/5
Fila 2 X1 1 0 0 -1/5 2/5
Fila 3 X2 0 1 0 3/5 9/5
Fila 4 S1 0 0 1 1 1
Como todos los coeficientes de la fila de la función objetivo son negativos y 0, hemos
llegado a la solución óptima. La solución óptima viene dada por el valor de Z =
17/5, X1 = 2/5, X2 = 9/5 y S1 = 1
Una compañía que funciona 10 horas al día fabrica dos productos en tres procesos
secuenciales. La siguiente tabla resume los datos del problema:
Solución:
Sujeto a:
X1≥0
X2≥0
2. Resultados de Iteraciones
4. Solución Gráfica
El club Win Big Gambling promueve el juego en giras de una ciudad grande el medio oeste
de Estados Unidos a los casinos en las Bahamas. El club tiene un presupuesto de hasta
$8,000 semanales para anuncios locales. El dinero se asignará entre cuatro medios de
comunicación: spots en televisión, anuncios en periódicos y dos tipos de comerciales en
radio. La meta de Win Big es llegar a la audiencia de mayor potencial más grande posible,
usando los diferentes medios de comunicación.
Las condiciones contractuales de Win Big requieren que se coloquen al menos cinco spots
de radio cada semana. Para asegurar una campaña promocional de amplio espectro, la
gerencia también insiste en que no se gasten más de $1,800 por semana en los comerciales
de radio.
Solución:
Sin duda ayuda la disponibilidad de las hojas de cálculo para obtener soluciones, ya que se
escriben las fórmulas para calcular el costo y el número de personas expuestas. Una vez
que se entiende la situación, se enuncian el objetivo y las restricciones:
Sea:
Luego, con estas variables, se escriben las expresiones matemáticas para el objetivo y las
restricciones que se identificaron. Las restricciones de no negatividad también se
establecen en forma explícita.
Modelo matemático de
programación lineal Objetivo:
Max Z=5000X1 + 8500X2 + 2400X3
+ 2800X4
Sujeto a:
X1≤ 12 (máximo de spots en TV/semana)
X2≤ 5 (máximo de anuncios en periódicos/semana)
X3≤ 25 (máximo de spots de 30s en radio/semana)
X4≤ 20 (máximo de spots de 1 m en radio/semana)
800X1 + 925X2 + 290X3 + 380X4≤ $8000 (presupuesto semanal de publicidad)
X3 + X4 ≥ 5 (mínimos de spots en radio contratados)
290X3 + 380X4≤ $1800 (máximo de dólares gastados en radio)
X1, X2, X3, X4≥0
Hacemos clic en el menú Module y luego en “Linear programming”, después File y New
Una vez que hemos ingresados los datos y hemos verificado que no hay
errores en las ecuaciones e inecuaciones, hacemos clic en el botón Solve.
1. Resultados del PL
2. Rangos
3. Lista de Solución
4. Iteraciones (Solución por Simplex)
5. Problema Dual
1. Resultados de PL
2. Ranging
3. Lista de Soluciones.
5. El problema Dual
Ejercicios
1. Resolver los siguientes ejercicios utilizando el método de solución gráfica
(solo ejercicios de dos variables) y luego utilizando el método simplex.
Verificar los resultados utilizando el software POM-QM for Windows
Ejercicio 3: La WARE FARMS del VALLE Schoharie, cerca de Abang, NY, cultiva
brócoli y coliflor en 500 acres de terreno en el valle. Un acre de brócoli produce
$500 de contribución a las utilidades y la contribución de un acre de coliflor es de
$1000. Debido a reglamentos gubernamentales, no pueden cultivarse más de 200
acres de brócoli. Durante la temporada de plantación, habrá disponible 1200
horas/hombre de tiempo de plantadores. Cada Acre de brócoli requiere 2.5
horas/hombre y cada acre de coliflor requiere 5.5 horas/hombre. Plantee un
problema de Programación lineal para determinar ¿cuántos acres de brócoli y
cuantos de coliflor deben plantarse para maximizar la contribución a las utilidades?
Ejemplo 8: Una compañía fabrica 2 productos que pasan en forma sucesiva por
tres máquinas. El tiempo por máquina asignado a los dos productos está limitado a
10 horas/ día. El tiempo de producción y la ganancia por unidad de cada
producto se dan a continuación.
Ejercicio 10: Una compañía fabrica y venden dos modelos de lámpara L1 y L2. Para
su fabricación se necesita un trabajo manual de 20 minutos para el modelo L1 y de
30 minutos para el L2; y un trabajo de máquina de 20 minutos para L1 y de 10
minutos para L2. Se dispone para el trabajo manual de 100 horas al mes y para la
máquina 80 horas al mes. Sabiendo que el beneficio por unidad es de C$ 15 y C$
10 córdobas para L1 y L2, respectivamente, planificar la producción para obtener
el máximo beneficio.
Ejercicio 11: Una empresa de transportes tiene dos tipos de camiones, los del tipo
A con un espacio refrigerado de 20 m3 y un espacio no refrigerado de 40 m3. Los
del tipo B, con igual cubicaje total, al 50% de refrigerado y no refrigerado. La
contratan para el transporte de 3,000 m3 de producto que necesita refrigeración y
4,000 m3 de otro que no la necesita. El coste por kilómetro de un camión del tipo A
es de C$ 30 y el B de C$ 40. ¿Cuántos camiones de cada tipo ha de utilizar para
que el coste total sea mínimo?
Ejercicio 12: En una granja de pollos, se da una dieta, para engordar, con una
composición mínima de 15 unidades de una sustancia A y otras 15 de una sustancia
Ejercicio 13: Con el comienzo del curso se va a lanzar unas ofertas de material
escolar. Unos almacenes quieren ofrecer 600 cuadernos, 500 carpetas y 400
bolígrafos para la oferta, empaquetándolo de dos formas distintas; en la primera
mochila, pondrá 2 cuadernos, 1 carpeta y 2 bolígrafos; en la segunda, pondrán 3
cuadernos, 1 carpeta y 1 bolígrafo. Los precios de cada mochila serán C$ 6.5 y C$
7, respectivamente. ¿Cuántos paquetes le conviene poner de cada tipo para
obtener el máximo beneficio?
Ejercicio 14: Unos grandes almacenes desean liquidar 200 camisas y 100 pantalones
de la temporada anterior. Para ello lanzan, dos ofertas, A y B. La oferta A consiste
en un lote de una camisa y un pantalón, que se venden a C$ 30; la oferta B consiste
en un lote de tres camisas y un pantalón, que se vende a C$ 50. No se desea ofrecer
menos de 20 lotes de la oferta A ni menos de 10 de la B. ¿Cuántos lotes ha de
vender de cada tipo para maximizar la ganancia?
Ejercicio 16: Una escuela prepara una excursión para 400 alumnos. La empresa de
transporte tiene 8 autobuses de 40 plazas y 10 de 50 plazas, pero sólo dispone de 9
conductores. El alquiler de un autocar grande cuesta C$ 800 y el de uno pequeño
C$ 600. Calcular cuántos autobuses de cada tipo hay que utilizar para que la
excursión resulte lo más económica posible para la escuela.
Mantequilla de Chocolate
cacahuate
Costos ($/oz) 0.10 =10
1
0.18 =50
9
Max Z = 3X1 + X2
Sujeto a:
X1 + X2 3
2X1 + X2 4
X1 + X2 = 3
X1 yX2 0
Ejercicio 5: Una empresa de transportes tiene dos tipos de camiones, los del tipo A
con un espacio refrigerado de 20 m3 y un espacio no refrigerado de 40 m3. Los del
tipo B, con igual cubicaje total, al 50% de refrigerado y no refrigerado. La contratan
para el transporte de 3,000 m3 de producto que necesita refrigeración y 4,000 m3
de otro que no la necesita. El coste por kilómetro de un camión del tipo A es de C$
30 y el B de C$ 40. ¿Cuántos camiones de cada tipo ha de utilizar para que el coste
total sea mínimo?
Ejercicio 6: En una granja de pollos, se da una dieta, para engordar, con una
composición mínima de 15 unidades de una sustancia A y otras 15 de una sustancia
B. En el mercado sólo se encuentra dos clases de compuestos: el tipo X con una
composición de una unidad de A y 5 de B, y el otro tipo, Y, con una composición
de cinco unidades de A y una de B. El precio del tipo X es de C$ 10 y del tipo Y es
de C$ 30. ¿Qué cantidades se han de comprar de cada tipo para cubrir las
necesidades con un coste mínimo?
El concepto de dualidad indica que para cada problema de PL hay una asociación
y una relación muy importante con otro problema de programación lineal, llamado
precisamente dual.
Ejemplo
Sujeto a:
X1 + X2 + X3 ≤ 200
Xj ≥ 0
Sujeto a:
Y1 + 9Y2 + 10Y3 ≥ 45
Y1 + 8Y2 + 7Y3 ≥ 17
Y1 + 10Y2 + 21Y3 ≥ 55
Yj ≥ 0
Ejemplo
X1 + 0.25X2 ≤ 375
X1, X2≥ 0
Supongamos ahora que la empresa recibe oferta por los tiempos de ocupación de
las maquinas: es decir, la empresa deja de fabricar P1 y P2 y alquila las máquinas
M1 y M2, siempre y cuando le sea rentable. Desde el punto de vista del que desea
alquilar las máquinas, ¿Cuánto deberá ofrecer (diariamente) por cada hora de
máquina para minimizar su costo a la vez que la empresa acepte su oferta porque
le es rentable?
Los precios pagados deben cumplir la restricción de que la empresa no pierda con
respecto a lo que obtendría si dedicase sus máquinas a la producción de P1 y P2.
2Y1 + Y2 ≥ 600
Y1, Y2≥ 0
Es decir
Y1, Y2≥ 0
El primal era
X1 + 0.25X2 ≤ 375
X1, X2≥ 0
Maximizar vs Minimizar
Minimizar vs maximizar
Las desigualdades del tipo (≥) se convierten en (≤) al multiplicar ambos lados de la
desigualdad por -1. Si la PL incluye restricciones (=), la ecuación se puede
reemplazar por dos desigualdades. Por ejemplo, x1 + x2 = 1, equivale a x1 + x2 ≤
1, x1 + x2 ≥ 1, o x1 + x2 ≤ 1, -x1 + x2 = -1. La solución inicial es no factible si al
menos uno de los lados derechos de las desigualdades es negativo.
En PL, los parámetros (datos de entrada) del modelo pueden cambiar dentro de
ciertos límites sin que cambie la solución óptima. Esto se conoce como análisis de
sensibilidad. En el análisis de sensibilidad gráfico se considerarán dos casos:
EJERCICIO: JOBCO fabrica dos productos en dos máquinas. Una unidad del
producto 1 requiere 2 horas en la máquina 1, y 1 hora en la máquina 2. Una unidad
del producto 2 requiere 1 hora en la máquina 1, y 3 horas en la máquina 2. Los
ingresos por unidad de los productos 1 y 2 son de $30 y $20, respectivamente. El
tiempo de procesamiento diario total disponible en cada máquina es de 8 horas.
Sujeto a Solución
X1 + 3X2 8 (Máquina 2)
X1, X2 0
Este intervalo asume implícitamente que c2 se mantiene fijo en $20. Del mismo
modo podemos determinar el intervalo de optimalidad para c2 si fijamos el valor de
c1 en $30. Por lo tanto,
30
(C2 ≤ 30 x 3 y C2 ≥ ) o 15 ≤ C2 ≤ 90
2
2.6. Ejercicios
1. La Sony Company está produciendo sus 2 artículos más demandados (1) Teléfono (2)
Smarth TV.
Electrónica 4 5 320
Ensamble 4 2 140
X1, X2 0
F (0,70)
B (0,64)
A D E
(80,0)
(35, 0)
I (0,120)
H (0,40)
B (0,30)
Significado de variables
Xij = unidades a enviar desde la fuente i-ésima (i= 1,…, m) al destino j-ésimo (j =
1,…, n)
Cij = costo de enviar una unidad desde la fuente i-ésima al destino j-ésimo
Supuestos
Este método tiene como ventaja frente a sus similares la rapidez de su ejecución, y
es utilizado con mayor frecuencia en ejercicios donde el número de fuentes y
destinos sea muy elevado.
Se parte por esbozar en forma matricial el problema, es decir, filas que represente
fuentes y columnas que representen destinos, luego el algoritmo debe iniciar en la
celda, ruta o esquina noroeste de la tabla (esquina superior izquierda).
Destinos
Esquina noroeste
Fuentes
Pasos
Una vez finalizada la asignación, se elimina la “Planta 3”, asignamos las unidades
estrictamente requeridas y hemos finalizado el método.
Pasos
Este método es una versión mejorada del método del costo mínimo que por lo
general, pero no siempre, produce mejores soluciones iniciales.
Método húngaro
Ejemplo: Los tres hijos de Joe Klyne, John, Karen y Terri, desean ganar algún dinero
para sus gastos personales. El señor Klyne eligió tres tareas para sus hijos: podar
el césped, pintar la puerta de la cochera y lavar los automóviles de la familia. Para
evitar la competencia anticipada entre los hermanos, les pide que presenten
licitaciones individuales (secretas) por lo que consideren un pago justo por cada una
de las tres tareas. La tabla 7 resume las licitaciones recibidas. Los niños respetarán
la decisión de su padre con respecto a la asignación de las tareas.
Las celdas con entradas cero subrayadas en el paso 3 dan la solución óptima
(factible): John obtiene el trabajo de pintar, Karen el de podar el césped, y Terri
obtiene el de lavar los automóviles de la familia. El costo total para el señor Klyne
es 9 + 8 + 8 = $27. Esta cantidad siempre será igual (p1 + p2 + p3) + (q1 + q2 + q3)
= (9 + 9 + 8) + (0 + 1 + 0) = $27.
Como se indica en el paso 3 del método húngaro, los ceros creados por los pasos
1 y 2 pueden no dar una solución factible de forma directa. En este caso, se
necesitan más pasos para determinar la asignación óptima (factible). El siguiente
ejemplo demuestra esta situación.
3.4. Ejercicios
- Determinar los costos asociados de cada uno de los problemas de transporte
utilizando los tres métodos de transporte.
Ejercicio 2:
Almacén 2 7 4 7 3 50
Almacén 3 4 5 4 6 30
Demanda 30 20 30 40
Ejercicio 3
Planta 2 12 7 9 20 25
Planta 3 0 14 16 18 5
Demanda 5 15 15 10
Ejercicio 5
Planta 2 12 16 8 6
Planta 3 7 8 5 7
Demanda 9 6 6
Ejercicio 6
Planta 2 3 6 6 1 30
Planta 3 6 1 2 4 60
Planta 4 4 3 6 6 45
Demanda 70 40 70 35
Ejercicio 7: La Compañía Childfair tiene tres plantas de producción de carros para bebés
que deben distribuirse a cuatro centros de distribución. Las plantas 1, 2 y 3 producen 12,
17 y 11 cargamentos por mes, respectivamente. Cada centro de distribución necesita recibir
10 cargamentos por mes. En la siguiente tabla se da la distancia de cada planta a su
respectivo centro de distribución:
Distancia
Centro de distribución
1 2 3 4
Planta 1 800 millas 1300 millas 400 millas 700 millas
El costo del flete de cada embarque es de $100 más 0.50 centavos por milla. ¿Cuánto se
debería embarcar a cada centro de distribución para minimizar el costo total del envío?
Ejercicio 8: La Onenote Co., que fabrica un solo producto, tiene tres plantas y cuatro
clientes. Las plantas respectivas podrán producir 60, 80 y 40 unidades, durante el siguiente
periodo. La empresa se ha comprometido a vender 40 unidades al cliente 1, 60 unidades al
cliente 2 y por lo menos 20 unidades al cliente 3. Tanto el cliente 3 como el 4 desean
comprar tantas unidades como sea posible de las restantes. La ganancia neta asociada con
el envío de una unidad de la planta i al cliente j está dada en la tabla:
Cliente
1 2 3 4
Planta 1 $800 $700 $500 $200
La administración desea saber cuántas unidades debe vender a los clientes 3 y 4, y cuántas
unidades conviene enviar de cada planta a cada cliente, para maximizar la ganancia.
Formule este problema como un problema de transporte donde la función objetivo sea
maximizar mediante la construcción de la tabla de parámetros apropiada que proporcione
las unidades de ganancia.
Bibliografía
Hillier, F. S., & Lieberman, G. J. (2010). Introducción a la Investigación de Operaciones
(Novena ed.). Mexico: McGraw-Hill.
Taha, H. A. (2012). Investigación de Operaciones (Novena ed.). Mexico: Pearson
Educacion .