Taller 5
Taller 5
Taller 5
Todos los problemas se resolvieron mediante el software Matlab. Para probar la solución
se debe colocar el contenido de la sección de código de cada problema en la consola del
programa.
Forma Estándar:
x1 + 2x2 + x3 - x4 + x5 =4
2x1 -x3 - x6 + x7 =3
x2 + x3 + x8 = 2
Forma básica:
x1 + 2x2 + x3 - x4 + x5 +x9 =4
2x1 -x3 - x6 + x7 +x10 =3
x2 + x3 + x8 + x11 =2
Resolviendo con simplex revisado:
Vector de coeficientes = (-1,-2,3)
Matriz de coeficientes = [1,2,1,-4,1,0,0,0;
2,0,-1,0,0,-1,1,0;
0,1,1,0,0,0,0,1]
B = B = [1 0 0
−1
010
0 0 1]
b = [4
3
2]
XB = B−1 * b =[4
3
2
]
nuevo vector C = [1,2,-3]
entra x3
4/ 1 = 4; 3/-1 no se tiene en cuenta, 2/1 = 2, asi que sale x11
vector epsilon = [2
3/2
1]
Solucion Matlab:
>> C = [-1,-2,1];
>> A = [1,2,1;2,0,-1;0,1,1];
>> B = [4,3,2];
>> lb = [];
>> ub = [];
>> Tipo_Res = "LLU";
>> Tipo_Var = "CCC";
>> Max = 1;
>> [valor_variables, valor_funcion, status] = glpk (C, A, B, lb, ub, Tipo_Res, Tipo_Var,
Max)
glp_simplex: unable to recover undefined or non-optimal
solution valor_variables =
NA
NA
NA
valor_funcion = NA
status = 11
>>
c)
Formulación del PL en forma estándar:
Para poder llevar este problema a su forma estándar, debemos cambiar X3 por X31-X32,
agregar las variables de holgura y multiplicar las restricciones 2 y 3 por -1, obteniendo
las siguientes ecuaciones.
Para poder llevar este problema a su forma básica, debemos cambiar X3 por X31-X32,
agregar las variables de holgura y artificiales, obteniendo las siguientes ecuaciones.
Primero debemos cambiar X3 por X31-X32 y dividir la restricción 3 que es una igualdad
en 2 desigualdades, obteniendo las siguientes ecuaciones.
Cj= 4 5 7 -7 -1
-1 -1 -2 2 1
Aj= 2 -6 3 -3 1
2 -4 -2 2 -2
-2 4 2 -2 2
CB= 0 0 0 0 0
1 0 0 0 -1 S1
B= 0 1 0 0 b= -3 Xb= S2
0 0 1 0 5 S3
0 0 0 1 -5 S3
Ahora procedemos a calcular qué variable entra a Xb, por medio de la siguiente fórmula.
Zj-Cj=(Cb)(B^-1)(Aj)-Cj *(1)
Al realizar las operaciones necesarias, obtenemos en vector [ -4 -5 -7 7 1], del cual podemos
deducir que la variable que entra en Xb es X31, ahora debemos decidir que variable sale de la
base por medio del siguiente cálculo.
*(2)
De donde escogemos el resultado mínimo, del cual obtenemos que la variable saliente es S4,
luego de esto procedemos a actualizar nuestras matrices.
Repetimos el cálculo descrito en (1) para verificar que variable sale, obtenemos el vector [-11 9
0 0 8], por lo que la variable que entrará a Xb es X1, luego realizamos el cálculo de
(2) y encontramos que la variable que sale de Xb es S2, procedemos a actualizar nuestras
matrices.
(3)
CB= 0 2,2 0 0,2 -7,6
Repetimos el cálculo descrito en (1) para verificar que variable sale, obtenemos el vector [0
-17.4 0 0 3.6], por lo que la variable que entrará a Xb es X2, luego realizamos el cálculo de (2),
pero en esta ocasion observamos que ningún Yi cumple la condición de ser mayor que cero, por
lo que no podemos determinar la variable de salida de Xb, se concluye que no existe solución
factible para el problema, lo que coincide con lo encontrado en Matlab.
Resolución en Matlab:
% Matriz de coeficientes de Zmax
%Zmax = 4*X1+5*X2+7*X3-1*X4 C = [4.0
5.0 7.0 -1.0];
% Matriz de variables presentes en las restricciones A = [1 1 1 -1;
2 -6 3 1;
-2 4 2 2];
% Matriz de resultado de las restricciones B = [1 -3 -
5];
% Cota inferior de las variables lb = [0 0
-inf 0]';
% Cota superior de las variables ub = [];
% Tipo de restricciones S=igual, L=mayor, U= menor Tipo_Res =
"LUS";
% Tipo de variables
Tipo_Var = "CCCC";
% Tipo de problema dir =
-1;
% Sol. problema transporte
[valor_variables, valor_funcion, status] = glpk (C, A, B, lb, ub, Tipo_Res, Tipo_Var, dir);
valor_variables=valor_variables';
valor_variables
valor_funcion
status
Resultado
glp_simplex: unable to recover undefined or non-optimal solution valor_variables
=
NA NA NA NA
valor_funcion = NA
status = 11
Problema 2. Resolver por el Método Simplex revisado.
Variables:
x1: Cantidad de tablas de madera en 1000 pies.
x2: Cantidad de celulosa en 1000 Kg.
x1,x2 ≥ 0
x1,x2,x3,x4,x5,x6 ≥ 0
Cj= 40 60 0 0 0 0
1000 2000 1 0 0 0
Aj= 3000 4000 0 1 0 0
1 0 0 0 1 0
0 1 0 0 0 1
CB= 0 0 0 0 0
1 0 0 0 32000 x3
B= 0 1 0 0 b= 72000 Xb = x4
0 0 1 0 4 x5
0 0 0 1 12 x6
Ahora procedemos a calcular qué variable entra a Xb, por medio de la siguiente fórmula.
Zj-Cj=(Cb)(B^-1)(Aj-Cj)
Al realizar las operaciones necesarias, obtenemos en vector [ -40 -60 ], del cual podemos
deducir que la variable que entra en Xb es X2, ahora debemos decidir qué variable sale de la
base por medio del siguiente cálculo.
De donde escogemos el resultado mínimo, del cual obtenemos que la variable saliente es x6,
luego de esto procedemos a actualizar nuestras matrices:
CB= 0 0 0 60 -17,5
1 0 0 -4000 -16000
B^-1= 0 1 0 -2000 b= 48000
0 0 1 0 4
0 0 0 1 12
Repetimos el cálculo descrito antes para verificar que variable sale, obtenemos el vector [-40,
60], por lo que la variable que entrará a Xb es X1, luego realizamos el cálculo para determinar la
variable que sale de la base y encontramos que la variable que sale de Xb es x5, procedemos a
actualizar nuestras matrices.
CB= 0 2,2 0 0,2 -7,6
1 0 0 -4000 -3,3
B^-1= 0 1 0 -2000 b= 0,9
0 0 1 0 0
0 2 0 1 -1,6
Repetimos el cálculo descrito en (1) para verificar que variable sale, obtenemos el vector [-40,
60], por lo que la variable que entrará a Xb es X1, luego realizamos el segundo cálculo para
determinar la variable saliente de la base, pero en esta ocasion observamos que ningún Yi
cumple la condición de ser mayor que cero, por lo que no podemos determinar la variable de
salida de Xb, se concluye que no existe solución factible para el problema, lo que coincide con lo
encontrado en Matlab.
Problema 4.
Dorian Auto fabrica autos y camionetas de lujo para hombres y mujeres. La empresa
desea hacer avisos de 1 minuto en programas de humor y en partidos de fútbol. Cada
aviso en un programa de humor cuesta $50000 y es visto por 7 millones de mujeres y 2
millones de hombres. Cada aviso en un partido de fútbol cuesta $100000 y es visto por 2
millones de mujeres y 12 millones de hombres. Cómo puede hacer Dorian para hacer
llegar su aviso a 28 millones de mujeres y 24 millones de hombres con el menor costo?
(a) Resuelva mediante simplex revisado el problema dado.
(b) Basándose en la última tabla del simplex calcule la última tabla del dual.
(c) Plantee el modelo matemático del problema dual e interprételo económicamente.
(d) Encuentre el intervalo de los valores del costo de un comercial en programas de
humor, para los cuales la base permanece óptima.
(e) Encuentre el intervalo de los valores del costo de un comercial en partidos de fútbol,
para los cuales la base permanece óptima.
(f) Encuentre el intervalo de los valores de la cantidad de hombres y mujeres a los
cuales hacer llegar el aviso para los cuales la base permanece óptima.
(g) Encuentre los precios sombra de cada restricción. Qué significan?
Variables:
x1: Cantidad de mujeres medida en
millones x2: Cantidad de hombres medida
en millones
MIN Z = 50000x1 +
100000x2 S.A:
7x1 + 2x2 ≥ 28
2x1 + 12x2 ≥ 24
x1,x2 ≥ 0
estandarizamos las
fórmulas: 7x1 + 2x2 + x3 +
x4 = 28
2x1 + 12x2 + x5 + x6 = 24
donde x3 y x5 son variables de exceso y x4 y x6 son variables artificiales
Z x1 x2 x3 x4 x5 x6 L.D
Z 1 -50000 -100000 0 0 0 0 0
x4 0 7 2 1 1 0 0 28
x6 0 2 12 0 0 1 1 29
la última tabla simplex es la siguiente
Z x1 x2 x3 x4 x5 x6 L.D
Z 1 300000 0 -500000 0 500000 0 140000
x4 0 40 0 6 1 6 -1 144
x2 0 7/2 1 1/2 0 1/2 0 14
es no cotada
b)
Cj Xj Bj y1 y2 x3 x4
820000 0 0 18/45 0
c)
y1: dinero para comerciales en los programas de
humor y2: dinero para comerciales en los
programas de futbol
d) C1 = 50000
C1 = Cub * B−1 * aj − c1
= [50000 + Δ, ][3/20, -¼; -1/40, 7/18][7
100000 2] - 5000
5000 ≤ Δ ≤ 780000
e) C2 = 100000
−1
C2 = Cub * B
= [50000 , 100000 Δ ][3/20, -¼; -1/40, 7/18][2
+ 12] -
100000
100000 ≤ C2 ≤ 300000
f)
X b = B−1 * b
− 24 ≤ Δ ≤ 50
4 ≤ b1 ≤ 78
− 16 ≤ Δ ≤ 144
8 ≤ Δ ≤ 168
g)
5000 es lo que se debe pagar si se quiere que un millón más de mujeres vean el
anuncio 7500 es lo que se debe pagar si se quiere que un millón más de hombres
vean el anuncio
Problema 6.
el único punto que cumple con las restricciones es el Punto H con un valor de
1.66666 para obtener un Z = 3.3333333
Dado que ya resolvimos el problema dual, la solución a este acota por el lado
izquierdo la solución del problema primal, el valor objetivo del problema de
maximización es menor o igual al valor objetivo del problema de minimización
Problema 9.
X1, x2 >= 0
Primero llevamos la restricción 1 a la forma canónica multiplicándola por -1, para poder
aplicar el método Simplex dual, ya que el profesor nos indicó en la clase que el punto
debía ser resuelto de forma directa por este método.
Maximizar z = 2x1 + 6x2
Sujeto a -x1 - x2 <= -3
X1 + 2x2 <= 3
X1, x2 >= 0
Agregamos las variables de holgura.
Maximizar z = 2x1 + 6x2 -> z - 2x1 - 6x2 = 0
Sujeto a -x1 - x2 + s1 <= -3
X1 + 2x2 + s2 <= 3
X1, x2 >= 0
En este momento ya podemos pasar las ecuaciones a un tabloide.
X1 X2 S1 S2 L.D
Z -2 -6 0 0 0
S1 -1 -1 1 0 -3
S2 1 2 0 1 3
Se observa que respecto al algoritmo del método Dual, es la variable S1 la que debe salir
de la base, pero no encontramos una variable que cumpla los parámetros de entrada,
por lo que el problema no puede ser solucionado por el método Simplex Dual.