Está en la página 1de 8

Método Simplex y sus aplicaciones en la Investigación de Operaciones

Carrera o Identificación1
a Profesor
b Asignatura

1. Ejercicio 1: Resolver, a tráves de Simplex, un problema de maximización de 3 o más variables

Consideremos el siguiente problema, extraido de [1] en su página 20,


Un hacendado posee 1000 acres de terreno y esta pensando en convservarlos, sembrarlos o alquilarlos. En
el caso de conservarlos, solo tendrá un costo de 1 dólar por cuestiones de trámites y obtendrá una ganancia
de 30 dólares respecto a impuestos. Si decide sembrarlos, tendrá que invertir 50 dólares en semillas por acre y
venderá toda la cosecha por 190 dólares por acre. Si los alquila, ganará 290 dólares por acre y tendrá que pagar
85 dólares en trámites. El hacendado solamente dispone de 40.000 dólares para usar y solo posee 75 trabajadores
para cuidar la tierra los cuales pueden trabajar un máximo de 2000 horas al año. ¿Cuál debe de ser la mejor
división de los acres para maximizar las ganancias si dedica 12,240 y 180 horas para conservar, sembrar y
alquilar los mismos?
Con las condciones del problema obtenemos el siguiente modelo:
Si x representan los acres a conservar, y los acres a sembrar y z los acres a alquilar, se busca obtener el
máximo de la función
ze = 29x + 140y + 205z
restringida a las siguientes condiciones

 x+y+z ≤ 1000
x + 50y + 85z ≤ 40000
12x + 240y + 180z ≤ 150000

con x, y, z, w no negativas.
Para resolver este problema, notemos que ni en la función objetivo como en sus restricciones hay términos
no lineales. Por ende, fuera del método de los multiplicadores de Lagrange, podemos utilizar el método simplex
para resolver el problema planteado.
Para ello, sumamos variables de holgura x1 , x2 , x3 todas no negativas a las desiguadades de manera de que
conviertan en igualdades. Así nuestro problema se trasforma en:
Maximizar la función
ze = 29x + 140y + 205z
restringida a las siguientes condiciones

 x + y + z + x1 = 1000
x + 50y + 85z + x2 = 40000
12x + 240y + 180z + x3 = 150000

con x, y, z, w, x1 , x2 , x3 no negativas.
Así obtenemos nuestro primer tablero simplex:

VB x y z x1 x2 x3 R
ze -452 / 17 -330 / 17 0 0 41 / 17 0 1640000 / 17
x1 84 / 85 7 / 17 0 1 -1 / 85 0 9000 / 17
z 1 / 85 10 / 17 1 0 1 / 85 0 8000 / 17
x3 168 / 17 2280 / 17 0 0 -36 / 17 1 1110000 / 17
Aplicando la regla de Bland, obtenemos que la variable de entrada es z, la de salida es x2 y el pivote es 85.
Realizando entonces operaciones por Gauss Jordan con la fila pivote obtenemos,

VB x y z x1 x2 x3 R
ze -452 / 17 -330 / 17 0 0 41 / 17 0 1640000 / 17
x1 84 / 85 7 / 17 0 1 -1 / 85 0 9000 / 17
z 1 / 85 10 / 17 1 0 1 / 85 0 8000 / 17
x3 168 / 17 2280 / 17 0 0 -36 / 17 1 1110000 / 17

Como aún se tienen valores negativos en la fila de ze, nuevamente aplicamos la regla de Bland. La variable
de entrada es x, la de salida es x1 y el pivote es 84/85. Obtenemos así el siguiente diccionario:

VB x y z x1 x2 x3 R
ze 0 -25 / 3 0 565 / 21 44 / 21 0 775000 / 7
x 1 5 / 12 0 85 / 84 -1 / 84 0 3750 / 7
z 0 7 / 12 1 -1 / 84 1 / 84 0 3250 / 7
x3 0 130 0 -10 -2 1 60000

Como aún se tienen valores negativos en la fila de ze, nuevamente aplicamos la regla de Bland. La variable
de entrada es y, la de salida es x2 y el pivote es 130. Obtenemos así el siguiente diccionario:

VB x y z x1 x2 x3 R
ze 0 0 0 2390 / 91 179 / 91 5 / 78 10425000 / 91
x 1 0 0 95 / 91 -1 / 182 -1 / 312 31250 / 91
z 0 0 1 3 / 91 19 / 910 -7 / 1560 17750 / 91
y 0 1 0 -1 / 13 -1 / 65 1 / 130 6000 / 13

Como en el último diccionario la primera fila no tiene números negativos, entonces hémos encontrado la
solución optma para ze.
Con el esto el hacendado precisa invertir los 40000 dólares y usar todos sus hombres en su máxima capacidad
para:

Conservar 31250/91 acres de terreno para si.


Sembrar 6000/13 acres de terreno.
Alquilar 17750/91 acres de terreno.

Con esto, obtendrá una ganacia neta de 10425000/91 dólares sin contar la inversión.

2. Encuentre el dual del problema anterior y resuelvalo a tráves del método simplex.

Nuestro problema inicial, al que llamaremos primal, está dado por se busca obtener el máximo de la función

ze = 29x + 140y + 205z

restringida a las siguientes condiciones



 x+y+z ≤ 1000
x + 50y + 85z ≤ 40000
12x + 240y + 180z ≤ 150000

con x, y, z, w no negativas.
Para calcular el dual, si el primal es de maximización entonces el problema se convierte en un problema de
minimización. Los coeficientes de la función objetivo mudan a

ze = 1000x + 40000y + 150000z

2
y las restricciones cambian a 
 x + y + 12z ≥ 29
x + 50y + 240z ≥ 140
x + 85y + 180z ≥ 205

con x, y, z, w no negativas.
Ahora, en orden de dar solución a traves de simplex, multiplicamos todo nnuestro problema por menos 1
y sumamos variables de holgura x1 , x2 , x3 no negativas a las restricciones con lo que nuestro problema dual se
transforma en maximizar la función

ze = −1000x − 40000y + −150000z

restringida a las siguientes condiciones



 −x − y − z + x1 = −29
−x − 50y − 240z + x2 = −140
−x − 85y − 180z + x3 = −205

con x, y, z, w, x1 , x2 , x3 no negativas.
Obetenemos así el siguiente diccionario:

VB x y z x1 x2 x3 R
ze 1000 40000 150000 0 0 0 0
x1 -1 -1 -12 1 0 0 -29
x2 -1 -50 -240 0 1 0 -140
x3 -1 -85 -180 0 0 1 -205

Ahora aplicamos una forma modificada de la regla de Bland: Tomamos el elemento más negativo de la
columna R y tal fila es la fila pivote. Luego tomamos el cociente negativo más cercano a 0 de los elementos de
ze entre los eleemntos de la fila pivote.
Asi, el pivote es −85, la variable de entrada es y y la de salida es x3 y con esto el nuevo diccionario es

VB x y z x1 x2 x3 R
ze 470.5882 -40000 -84705.8824 0 0 470.5882 -96470.5882
x1 -0.9882 0 -9.8824 1 0 -0.0118 -26.5882
x2 -0.4118 0 -134.1176 0 1 -0.5882 -19.4118
y 0.0118 1 2.1176 0 0 -0.0118 2.4118

Como en la columna R hay aún números negativos y en la fila de ze hay aún números positivos, entonces
aplicamos de nuevo la regla de Bland modificada. Así, la variable de entrada es x la de salida es x1 y el pivote
es −0,9882. Con esto obtenemos el siguiente diccionario

VB x y z x1 x2 x3 R
ze 1000 -40000 -90000 535.7143 0 464.2857 -110714.2857
x 1 0 10 -1.0119 0 0.0119 26.9048
x2 0 0 -130 -0.4167 1 -0.5833 -8.3333
y 0 1 2 0.0119 0 -0.0119 2.0952

Como en la columna R hay aún números negativos, aplicamos de nuevo la regla de Bland modificada. Así
la variable de entrada es z la de salida es x2 y el pivote es −130. Con esto, obtenemos el sigueinte diccionario:

VB x y z x1 x2 x3 R
ze -1000 -40000 -150000 343.4066 461.5385 195.0549 -114560.4396
x 1 0 0 -1.044 0.0769 -0.033 26.2637
z 0 0 1 0.0032 -0.0077 0.0045 0.0641
y 0 1 0 0.0055 0.0154 -0.0209 1.967

3
Luego, en la columna R todos los resultados son positivos por lo que paramos e aplicar la regla Bland
modificada. Así, la solución óptima para nuestro problema dual es ze = 114560,4396 y con esto para minimizar
los gastos se debe invertir en

26.2637 acres para conservar.

0.0641 acres para sembrar.


1.967 acres para alquilar.

Con esto, se obtendrá una gamancia de 114560,4396 dólares.

3. Resuleva el siguiente problema de programación entera usando el método de ramificación y


acotamiento

Se desea resolver el siguiente problema


Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55

(1)

 x1 ≤ 16
x2 ≤ 18

con x1 , x2 no negativas.
Si resolvemos este problema inicial a tráves de simplex, obtenemos la siguiente solución

z = 2525/2, x1 = 15/2, x2 = 65/4.

Entonces para x1 ramifiquemos el problema añadiendo al problema 1 las restricciones x1 ≤ 7 y x1 ≥ 8. Con


esto, se construyen los siguientes problemas
Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55


x1 ≤ 16 (2)
x2 ≤ 18




x1 ≤ 7

con x1 , x2 no negativas.

Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55


x1 ≤ 16 (3)
x2 ≤ 18




x1 ≥ 8

con x1 , x2 no negativas.

4
Para el problema (2) se obtiene la siguiente solución

z = 1245, x1 = 7, x2 = 33/2;

mientras que para el problema (3) se obtiene la siguiente solución

z = 1255, x1 = 8, x2 = 31/2.

Si ramificamos el problema (3) obtenemos los siguientes problemas

5
Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55




x1 ≤ 16

(4)

 x2 ≤ 18
x1 ≥ 8




x2 ≤ 15

con x1 , x2 no negativas.

Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55




x1 ≤ 16

(5)

 x2 ≤ 18
x1 ≥ 8




x2 ≥ 16

con x1 , x2 no negativas.
El problema (5) no posee una solución factible. Por tanto no ramificamos este. La solución para el problema
(4) es
z = 25/3, x1 = 25/3, x2 = 15.
Ramificando este problema obtenemos los siguientes problemas
Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55




x1 ≤ 16



x2 ≤ 18 (6)
x1 ≥ 8




x2 ≤ 15




x1 ≤ 8

con x1 , x2 no negativas.

6
Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55




x1 ≤ 16



x2 ≤ 18 (7)
x1 ≥ 8




x2 ≤ 15




x1 ≥ 9

con x1 , x2 no negativas.
Para el problema (6) obtenemos la siguiente solución

z = 1230, x1 = 8, x2 = 15;

mientras que el problema (7) posee la siguente solución

z = 1240, x1 = 9, x2 = 14.

Como estas soluciones son enteras, ya no es preciso ramificar más.


Ahora, si ramificamos el problema (2) obtenemos los problemas
Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55




x1 ≤ 16

(8)

 x2 ≤ 18
x1 ≤ 7




x2 ≤ 16

con x1 , x2 no negativas.

Maximizar la función
z = 60x1 + 50x2
sujeto a las siguientes restricciones 

 2x1 + 4x2 ≤ 80
3x1 + 2x2 ≤ 55




x1 ≤ 16

(9)

 x2 ≤ 18
x1 ≤ 7




x2 ≥ 17

con x1 , x2 no negativas.
Para el problema (8) obtenemos la siguiente solución

z = 1220, x1 = 7, x2 = 16;

mientras que para el problema (9) obtenemos la siguiente solución

z = 1210, x1 = 6, x2 = 17.

Por tanto, no tenemos que ramificar más y así la solución óptima al problema (1) es

z = 1240, x1 = 9, x2 = 14.

7
4. Diseñe un plan de producción para una empresa con una demanda estimada.

Para establecer la función objetivo, se consideraron todas las posibles combinaciones de los costes de pro-
ducción y se supuso además que se comenzaba y ternminaba el año productivo sin lementos en el inventario.
Entonces, sean x1 , x2 , x3 , x4 los costes de producción, y1 , y2 , y3 , y4 los costes generados por concepto de inven-
tario y z1 , z2 , z3 , z4 los costes por concepto de atraso en cada período respectivamente. Así nuestra función
objetivo esta dada por

z = 50x1 + 135x2 + 135x3 + 50x4 + 3y1 + 3y2 + 3y3 + 3y4 + 6z1 + 6z2 + 6z3 + 6z4 .

Ahora, planteamos las siguientes restricciones para la función objetivo




 x1 ≤ 50000
x ≤ 90000

2



x ≤ 90000

3



x ≤ 50000

4



x1 − y1 + z1 = 25000



x2 + y1 − y2 − z1 + z2 = 75000 (10)
x3 + y2 − y3 − z2 + z3 = 100000




x4 + y3 − z3 = 60000




y − z ≥ 0

1 1



y − x ≥ 0

2 2



y3 − x3 ≥ 0

Con esto nuestro problema de programación lineal estaria dado por:


Minimizar la función

z = 94,5x1 + 170x2 + 170x3 + 94,5x4 + 1,5y1 + 4,5y2 + 4,5y3 + 1,5y4

sujeto a las siguientes restricciones




 x1 ≤ 50000
x2 ≤ 90000




x3 ≤ 90000




x4 ≤ 50000




x1 − y1 + z1 = 25000



x2 + y1 − y2 − z1 + z2 = 75000 (11)
x3 + y2 − y3 − z2 + z3 = 100000




x4 + y3 − z3 = 30000




y1 − z1 ≥ 0




y2 − x2 ≥ 0




y3 − x3 ≥ 0

con x1 , x2 , x3 , x4 , y1 , y2 , y3 , y4 , z1 , z2 , z3 , z4 no negativas.
La solución óptima al problema es dada por

z x1 x2 x3 x4 y1 y2 y3 y4 z1 z2 z3 z4
24355000 50000 60000 90000 30000 25000 10000 0 0 0 0 0 0

Ahora bien, en el período 3 solo se necesitan producir 90000 pares de skis ya que en el inventario hay 10000
pares de skis a usar para satisfacer la demanda. Con esto se vacia el inventario no generando más costos en este
concepto y tampoco por atrasos en los pedidos.

Referencias
[1] A. Mishra, Linear optimization: The simplex workbook (2010).

También podría gustarte