lunes, 3 de noviembre de 2014

Problema Programación lineal resuelto a través de Método Simplex



PROBLEMA: Un artesano fabrica dos tipos de carteras. Las del tipo A precisan 1metro de cuero y 1,5metros de foro sintético, vendiéndolas a 40 dólares cada una. Para la fabricación de las tipo B emplea 1,5metros de cuero  y 1 metro de foro sintético, y las vende a 50 dólares. El artesano  tiene solo en el taller 750 metros de cada uno de los materiales.


Calcule cuántas carteras  ha de fabricar de cada clase para obtener un beneficio máximo.


Oro
Cuero
Foro Sintético
Tipo A (x)
1
3/2
40
Tipo B (y)
3/2
1
50

750
750


Variables de decisión
x= Número de carteras de Tipo A  
y= Número de carteras de Tipo B

Función Objetivo:

MAX z=40x+50y

Restricciones:
Sujeto a:

                x + 3y/2 < 750                   
         3x/2 + y < 750
                   x,y > 0

Pasos a resolver:


1.- Convertir a igualdad las restricciones, incorporando las variables de holgura:

                x + 3y/2 + 1*h1 + 0*h2 = 750                                  
                3x/y + y + 0*h1 + 1*h2 = 750

   *Nota: h1 en algunos textos es usado como s1 y h2 como s2

2.- Igualar la función objetivo a 0

                z-40x-50y = 0

3.- Escribir la tabla inicial simplex

Paso 1
Base
x
y
h1
h2
b's
h1
1
3/2
1
0
750
h2
3/2
1
0
1
750
z
-40
-50
0
0
0

Buscamos el mayor valor negativo en la última fila, para buscar nuestra columna pivote, en nuestro caso seria -50.
Dividimos la ultima columna (b's)con la columna pivote (y, en este caso), para obtener nuestra fila pivote  

750 / 3/2 = 500
750 / 1 = 750

Elegimos el menor valor positivo, en este caso la fila h1 750/(3/2)=500

Base
x
y
h1
h2
b's
h1
1
3/2
1
0
750
h2
3/2
1
0
1
750
z
-40
-50
0
0
0

Y el 3/2 seria nuestro elemento pivote.

La Columna y pasaría ser la variante entrante y la Columna h1 pasaría a ser la variante saliente.
Y creamos una nueva tabla donde dividimos toda la fila h1 por 3/2

Base
x
y
h1
h2
b's
h1
2/3
1
2/3
0
500
h2
3/2
1
0
1
750
z
-40
-50
0
0
0

Luego para h2, tomamos el valor de 1.
Tomamos los valores de la fila 3/2, 1 , 0 y 750   y los valores de la nueva fila h1
Multiplicamos 1 por los valores de h1 y se los restamos a los valores h2
Ej:  (3/2) -2/3 * 1 = 5/6

Base
x
y
h1
h2
b's
h1
2/3
1
2/3
0
500
h2
5/6
0
-2/3
1
250
z
-40
-50
0
0
0

Hacemos el mismo paso anterior para la fila z, con el valor de -50
Base
x
y
h1
h2
b's
h1
2/3
1
2/3
0
500
h2
5/6
0
-2/3
1
250
z
-20/3
0
100/3
0
25000

Como en z tenemos un valor negativo -20/3
Volvemos a hacer los mismos pasos anteriores (fila pivot, elemento pivot, etc), llegando a la siguiente tabla:
Base
x
y
h1
h2
b's
y
0
1
6/5
-4/5
300
x
1
0
-4/5
6/5
300
z
0
0
28
8
27000

Obteniendo como respuesta:

x= 300
y = 300
z = 27000

Ahora las reemplazamos en la función objetivo

z= 40(300)+50(300)
z=12000+15000
z=27000

Respuesta: Por lo tanto, para obtener un beneficio máximo la orfebre debe fabricar 300 carteras de tipo A a un precio de $40 y 300 carteras del tipo B a un precio de $50, obteniendo un beneficio de $27.000.-

Ejercicios de programación lineal resueltos mediante el método simplex

Para descargar los ejercicios: