Programación Lineal - U2
Programación Lineal - U2
Programación Lineal - U2
DE MÉXICO
CAMPUS JIQUILPAN
INVESTIGACIÓN DE
OPERACIONES
También es frecuente expresar la forma general con base en el empleo de las sumatorias:
Hallar Xj, j = 1, 2,. . . . . n tal que:
Algoritmo algebráico
1.- Convertir las inecuaciones lineales (restricciones) en ecuaciones lineales.
Expresar todas las inecuaciones como ecuaciones lineales, para ello y en este caso usamos
variables de relleno, también llamadas de holgura, para igualar el lado izquierdo al lado
derecho de la inecuación; así:
Aquí X3 y X4 son las variables de holgura o relleno, que al adicionarlas al lado izquierdo,
establecen la igualdad con el lado derecho de la inecuación lineal. Las variables X1 y X2 se
denominan variables de decisión o variables reales, las variables de relleno u holgura se
usan para convertir una inecuación en una ecuación, esto es, igualar el lado izquierdo al
lado derecho. Las variables de holgura o de relleno, se suman o restan al lado izquierdo de
la inecuación, según convenga para establecer la igualdad.
2.- Hallar una solución básica y factible (solución inicial), establecer la base.
Escoger en cada ecuación una variable que sirva como solución inicial al problema y que
tome un valor positivo (≥ 0), NO son elegibles las variables de decisión o variables reales.
Entonces, las variables de holgura o relleno (si las hay) son las primeras opciones a ser
escogidas como variables básicas y factibles, lo que significa que deben tomar un valor
mayor o igual a cero (≥ 0), dicho de otra forma, las variable básicas factibles, deben
cumplir con la condición de no negatividad (Xj ≥ 0; j=1,…, n). De no conseguirse una
variable de holgura que sea factible, se utiliza el recurso de las variables de superávit o
artificiales, pero de este caso se explicará en el segundo ejemplo, para el que se usa el
denominado método de la gran M. Aquí tanto X3 como X4 , variables de holgura, son
escogidas como variables básicas factibles, ya que ambas asumen valores positivos al ser
X1 y X2 variables no básicas e iguales a cero (0), esto es:
En cada ecuación existe una y solo una variable básica con coeficiente uno (1), lo que
permite leer su valor de manera automática al lado derecho; esto es: Z = 0; X3 = 15 y X4
=15; la cual es una SOLUCIÓN BÁSICA FACTIBLE. Una lista clasificada de las variables
es:
La solución inicial al problema es: X1=0, X2=0, Z=0, luego estamos en el punto (0,0).
4.- Escoger la variable que entra a la base.
Ahora, analizamos si existe una solución mejor que la solución básica factible inicial, para
ello, del sistema de ecuaciones inmediatamente anterior, despejamos a Z de la ecuación (0),
note que la variable básica Z queda despejada en función de las dos variables no básica
(X1, X2) y hacemos la siguiente pregunta:
¿CUÁL ES LA VARIABLE QUE AL CRECER HACE QUE Z CREZCA MÁS?
Aquí, la velocidad de crecimiento, tanto de X1 como de X2 es uno (1), coeficiente de las
variables X1 y X2, luego se presenta un empate, el cual se dirime al azar, se escoge variable
para entrar a X1. Como regla general, la variable que entra, es aquella que al crecer hace
que Z crezca más, ya que el objetivo es Maximizar el valor de Z, Dicho de otra forma,
entrará la variable que tenga el coeficiente más positivo, para problemas de minimización,
se escoge la variable que al crecer, haga que Z disminuya más, o sea, la que tenga el
coeficiente más negativo. Si no hubiese variable para entrar, ello indica que nos
encontramos en la solución óptima.
5.- Escoger la variable que sale de la base.
Despejamos de la ecuación (1) y (2) las variables básicas.
Fíjese que para todos los casos, siempre quedarán despejadas las variables básicas en
función de la variable escogida para entrar (X1).
Aquí la pregunta es:
¿CUÁL ES LA VARIABLE BÁSICA QUE RESTRINGE MÁS EL CRECIMIENTO DE
LA VARIABLE QUE ENTRA?
Para averiguarlo, hacemos que las variables básicas X3 y X4 asuman su menor valor
factible o sea cero (0) y observamos el valor que asume la variable escogida para entrar
(X1).
X3 = 15 - 5X1 = 0, entonces, X1=3, luego X3 deja crecer a X1 como máximo hasta 3
X4 = 15 - 3X1 = 0, entonces, X1=5, luego X4 deja crecer a X1 como máximo hasta 5
La variable básica que debe salir es aquella que restrinja más el crecimiento de la va- riable
que entra, en caso de empate, se dirime arbitrariamente. Aquí se está cuidando la
factibilidad de las variables, esto es, que todas sean positivas (≥0). En el caso de ser un
problema de minimización, la presente regla de selección es igual. Para nuestro problema,
la variable que sale es X3 ya que como máximo dejará crecer a X1 hasta 3, mientras que
X4 la deja crecer como máximo hasta 5.
6.- Reorganizar el sistema de ecuaciones lineales (eliminación Gaussiana).
Observe que al entrar X1 y salir X3 el sistema de ecuaciones ya no tendrá una sola variable
básica en cada fila con coeficiente uno (1), esto es:
Fíjese que en la ecuación (1) se encuentra la variable que entra X1 y la variable que sale X3
por ello en esta fila solo queda como variable básica X1, lo malo aquí, es que X1 tiene
coeficiente diferente de uno (1), por ello, multiplicamos toda la fila por el inverso del
coeficiente de X1 (1/5) y la ecuación resultante se denomina “Fila Pivote” ya que
posteriormente servirá para eliminar a X1 de las ecuaciones (0) y (2).
Para encontrar el nuevo sistema de ecuaciones en el que en cada fila figure una y solo una
variable básica con coeficiente uno (1), de tal forma que se pueda leer auto- máticamente su
valor en el lado derecho (término independiente) de cada ecuación, se multiplica la fila
pivote por menos el coeficiente de X1 de cada una de las otras ecuaciones, la ecuación
resultante, se suma con cada una de las otras ecuaciones para encontrar las nuevas
ecuaciones del sistema. Para nuestro problema, esto es:
Multiplicamos la fila pivote, fila (1) por uno (1) y le sumamos la fila (0). El resultado es la
Fíjese que se ha eliminado X1 de la ecuación (0) Ahora, se multiplica la fila pivote, fila (1)
por (-3) y se le suma la ecuación (2), el resultado es la nueva ecuación (2): Fíjese que se ha
eliminado a X1 de la ecuación (2) El nuevo sistema de ecuaciones es:
Lo que se hace es cambiar una variable irrestricta (X3) por la diferencia de dos variables
restringidas en su signo (K – W).
Fíjese que siendo K≥0 y W≥0 la variable X3 puede asumir cualquier valor dentro de los
números reales, desde –infinito hasta +infinito.
Si K > W entonces X3 > 0; positivo
Si K = W entonces X3 = 0
Si K < W entonces X3 < 0; negativo
Lo que hemos conseguido es convertir un problema que es irrestricto en su variable X3 en
uno que es restringido en todas sus variables, el problema queda así:
En el último tablero, Todos los Zj - Cj son mayores o iguales a cero, entonces, estamos en
la solución óptima.
NOTA: Recuerde que AT es la transpuesta de A, en donde las filas se cambian por las
columnas, lo mismo para bT y CT.
Cada restricción del problema principal está representada por una variable en el dual. Si el
problema principal tiene 4 restricciones, entonces, el problema dual tendrá 4 variables.
Entre el problema principal y el problema dual existen las siguientes relaciones:
1.- El dual del dual, tiene como resultado el problema principal.
2.- Una restricción que es una igualdad en el problema principal, genera una variable en el
dual sin restricción en el signo (variable libre o irrestricta, que puede asumir valores entre
-∞ ≤ Yi ≤ +∞)
3.- Una variable del problema principal, sin restricción en el signo, genera una res- tricción
de igualdad en el problema dual.
4.- El número de restricciones del problema principal es igual al número de variables en el
problema dual.
5.- El número de variables del problema principal es igual al número de restricciones en el
problema dual.
Ejemplo 4.1
Formular el problema dual del problema principal dado.
En el siguiente ejemplo, se hará de forma automática la formulación del problema dual,
siguiendo los siguientes pasos: a) Asociamos una variable dual a cada restricción del
problema principal. b) Construimos la función objetiva, multiplicando cada una de las
variables duales asociadas a cada restricción del problema, por cada uno de los términos
independientes. c) Construimos las restricciones multiplicando cada variable dual por el
coeficiente de cada una de las variables en cada una de las restricciones y para cada
restricción, el término independiente, es el coeficiente de cada una de las variables en la
función objetiva del problema principal. Matemáticamente se expresa de la siguiente forma:
2.5 Método Dual-Simplex
Se requiere que el problema esté expresado en términos de Maximizar la Función objetivo
y todas sus restricciones con menor ó igual (≤). La Variable que sale de la Base es aquella
que tenga el valor menos factible, o sea, la más negativa, lo cual implica que la solución es
NO factible. La variable que entra a la Base es aquella variable que tenga el valor menos
negativo en la expresión: (Zj - Cj) / arj siendo arj < 0.
Ejemplo 4.4
Para el siguiente problema de programación lineal convexa, hallar la solución óptima,
empleando los métodos: Simplex y Simplex dual, estableciendo todas las relaciones entre
los dos métodos, para cada una de las iteraciones.
En cada iteración del Método Simplex se muestra que:
1.- Los Zj – Cj de las variables de holgura X3, X4, X5 (Z3-C3, Z4-C4, Z5- C5) son los valores
de las variables reales del Dual (Y1, Y2, Y3), el precio sombra.
2.- Los Zj – Cj de las variables reales X1, X2 (Z1-C1, Z2-C2) son los valores de las variables
de holgura del Dual (Y4, Y5), el costo reducido.
En cada iteración del Método Dual – Simplex se muestra que:
1.- Los Zj – Cj de las variables de holgura Y4, Y5 (Z4-C4, Z5-C5) son los valores de las
variables reales del problema principal (X1, X2).
2.- Los Zj – Cj de las variables reales Y1, Y2, Y3 (Z1-C1, Z2-C2, Z3-C3) son los valores de las
variables de holgura del problema principal (X3, X4, X5).
Variables de decisión
X1 = cantidad a fabricar de joyas del tipo A
X2 = cantidad a fabricar de joyas del tipo B
Función objetivo: Maximizar Z = 40X1 + 50X2
Sujeto a:
Tipo A: X1 + 3/2 X2 ≤ 750
3
Tipo B: /2 X1 + X2 ≤ 750
X1 ; X2 ≥ 0
Si X1 = 0 ; X2 = 500 (0,500) ; Si X2 = 0 ; X1 = 750 (750,0)
Si X1 = 0 ; X2 = 750 (0,750) ; Si X2 = 0 ; X1 = 500 (500,0)
800
700
600
500
(0,500)
400
300 (300,300)
200
100
0
0 100 200 300 400 500 600 700 800 (0,0) (500,0)
Z (0,0) = 40 (0) + 50 (0) =0
Z (500, 0) = 40 (500) + 50 (0) = 20,000
Z (300, 300) = 40 (300) + 50(300) = 27,000
Z (0,500) = 40 (0) + 50 (500) = 25,000
RESPUESTA:
Como X1 = 300 ; X2 = 300
Por lo tanto, se debe fabricar 300 joyas del tipo A y 300 joyas del tipo B para obtener un
beneficio máximo de $ 27,000 .
Ralph quiere determinar el número de porciones diarias (pueden ser fraccionales) de res y
papas que cumplirían con estos requerimientos a un costo mínimo.
Variables de decisión
X1 = porciones de res
X2 = porciones de papas
Función objetivo: Minimizar Z = 4X1 + 2X2
Sujeto a:
Carbohidratos: 5X1 + 15X2 ≥ 50
Proteínas: 20X1 + 5X2 ≥ 40
Grasa: 15X1 + 2X2 ≥ 60
X1 ; X2 ≥ 0
Si X1 = 0 ; X2 = 10/3 (0, 10/3) ; Si X2 = 0 ; X1 = 10 (10,0)
Si X1 = 0 ; X2 = 8 (0, 8) ; Si X2 = 0 ; X1 = 2 (2,0)
Si X1 = 0 ; X2 = 30 (0, 30) ; Si X2 = 0 ; X1 = 4 (4,0)
35
30 (0,30)
25
20
15
10
5 (3.72, 2.09)
(10,0)
0
0 1 2 3 4 5 6 7 8 9 10
RESPUESTA:
Como X1 = 3.72 ; X2 = 2.09
Por lo tanto, Ralph requiere de 3.72 porciones de Res y 2.09 porciones de Papas diarias
para obtener los requerimientos a un costo mínimo de $19.06
Forma primal Y2 Y3 X1 X2 SBF R
1930 160 90 820
/43 0 /43 /43 /43
Minimizar Z = 4X1 + 2X2 55 3
/43 1 /43 -1/43 10
/43
7
Sujeto a: /43 0 -2/215 3
/43 22
/215
5X1 + 15X2 ≤ 50
X1 = 3.72; X2 = 2.09; G = Z = 19.06
20X1 + 5X2 ≤ 40
15X1 + 2X2 ≤ 60
X1 ; X2 ≥ 0
Forma dual
Maximizar G = 50Y1 + 40Y2 + 60Y3
Sujeto a:
5Y1 + 20Y2 + 15Y3 ≤ 4
15Y1 + 5Y2 + 2Y3 ≤ 2
Y1; Y2; Y3 ≥ 0
Forma dual aumentada
Maximizar G - 50Y1 - 40Y2 - 60Y3 = 0
Sujeto a:
5Y1 + 20Y2 +
15Y3 + X1 =4
15Y1 + 5Y2 +
2Y3 + X2 = 2
Y1; Y2; Y3; X1; X2 ≥ 0
Y1 Y2 Y3 X1 X2 SBF
-50 -40 -60 0 0 0
5 20 15 1 0 4
15 5 2 0 1 2
Y1 Y2 Y3 X1 X2 SBF
-30 40 0 4 0 16
1 4 1 4
/3 /3 1 /15 0 /15
43 7 -2 22
/3 /3 0 /15 1 /15
Conclusión
En el transcurso de esta unidad,
conocimos los diversos métodos que
existen para resolver y poder optimizar
los recursos en cada problema planteado
de manera más precisa. Recapitulando
que el objetivo de la programación lineal
es optimizar ya sea maximizando o
minimizando recursos para obtener los
beneficios esperados y asimismo
aumentar la productividad. Nos dimos
cuenta que debemos de ser cuidadosos al
momento de solucionar el problema,
debido a que según el resultado que arroje
dependerá de la decisión que vayan optar.
Bibliografías
Chediak Pinzón, F. A. (2013).
Investigación de operaciones.
Volumen I (3a. ed.). Ibagué,
Colombia: Universidad de Ibagué.
Recuperado el 11 de mayo del
2021 de
https://elibro.net/es/ereader/itjiquil
pan/70155?