CONTROL DE PROCESOS
TALLER PROGRAMACIÓN LINEAL
PRESENTADO POR
WILSON RODRIGUEZ PINTO – 20182377008
ADRIANA MARCELA CÁRDENAS ESQUIVEL – 20182377036
PRESENTADO A
EDWARD HERNANDO BEJARANO BARRETO
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
INGENIERÍA DE PRODUCCIÓN
BOGOTÁ
2020
TALLER PROGRAMACIÓN LINEAL
1. Un fabricante de refrescos F R produce tres modalidades (A, B y C), cada una en su
propio formato: de 3 litros, 2 litros y 1 litro, respectivamente. Este fabricante está
comprometido a entregar a un gran distribuidor GD (su único cliente) exactamente 20000
litros diarios de refrescos. Dispone de 25000 gramos diarios de un saborizante del que cada
modalidad consume por botella: la botella de 3 litros, 2 gramos; la de 2 litros, 3 g; y la de
un litro, 4 g. Obtener el plan óptimo de envasado de F R.
Factores necesarios
Beneficio
Refrescos Litros del Gramos de (u.m.)
refresco saborizante
A 3 2 5000
B 2 3 6000
C 1 4 8000
Disponibl
20000 25000
e
X 1 =Cantidad de refrescos de modalidad A
X 2 =Cantidad de refrescos de modalidad B
X 3 =Cantidad de refrescos de modalidad C
Max Z=5000 X 1+6000 X 2+ 8000 X 3
s.a.
3 X 1 +2 X 2 +1 X 3=20000
2 X 1 +3 X 2 +4 X 3 ≤25000
X1 , X2 , X3≥ 0
MÉTODO SIMPLEX
Como la restricción 1 es del tipo '=' se agrega la variable artificial X5.
Como la restricción 2 es del tipo '≤' se agrega la variable de holgura X4.
La solución óptima es Z=55.500.000
X 1 =5500
X 2 =0
X 3 =3500
Para obtener el máximo beneficio de $55.500.000, se deben producir 5500 refrescos de
modalidad A y 3500 refrescos de modalidad C.
SOLUCIÓN 1 MEDIANTE MATLAB:
Programación En Matlab
%Ejercicio Fabricante de refrescos FR
clc
% 1. Función objetivo
f=[-5000 -6000 -8000];
% 2. Consumo de factores productivos
Aeq=[3 2 1 ; 2 3 4];
% 3. Disponibilidad de factores
beq = [20000 25000];
% 4. Matriz diagonal
A=-eye(3);
% 5. Condición inicial
b=[0 0 0];
%Función linprog
[x,fval]= linprog(f,A,b,Aeq,beq)
%Imprimir resultados
disp('Se ha encontrado una solución óptima')
fprintf('El máximo beneficio es: %.0f \n', fval*(-1))
fprintf('Fabricando refrescos de la modalidad A: %.0f \n', x(1))
fprintf('Fabricando refrescos de la modalidad B: %.0f \n', x(2))
fprintf('Fabricando refrescos de la modalidad C: %.0f \n', x(3))
Respuesta 1 de Matlab
Optimal solution found.
x=
1.0e+03 *
5.5000
0
3.5000
fval =
-5.5500e+07
Se ha encontrado una solución óptima
El máximo beneficio es: 55500000
Fabricando refrescos de la modalidad A: 5500
Fabricando refrescos de la modalidad B: 0
Fabricando refrescos de la modalidad C: 3500
2. La empresa San Guemil fabrica dos tipos de cerveza, una Lager y una Pilsen, para lo cual
necesita disponer de malta, lúpulo y levadura. Cada metro cúbico de Lager requiere 50 kg
de malta, 20 de lúpulo y 2 de levadura. Cada metro cúbico de Pilsen necesita 60 kg de
malta, 25 de lúpulo y 2 de levadura. El beneficio que obtiene la empresa con cada metro
cúbico de Lager es de 140 um, mientras que con cada metro cúbico de Pilsen obtiene 150
um. San Guemil dispone de una tonelada de malta por semana, 250 kg de lúpulo y 22 kg de
levadura también por semana. Obtener el plan óptimo de fabricación de cerveza que
permita obtener la máxima ganancia.
Malta Lúpulo Levadura
Cervezas u.m.
(Kg) (Kg) (Kg)
Lager 50 20 2 140
Pilsen 60 25 2 150
Disponibl
1000 250 22
e
X 1 =Cantidad de cervezas Lager
X 2 =Cantidad de cervezas Pilsen
Max Z=140 X 1+150 X 2
s.a.
50 X 1 +60 X 2 ≤1000
20 X 1 +25 X 2 ≤250
2 X 1 +2 X 2 ≤ 22
X1 , X2 , X3≥ 0
MÉTODO SIMPLEX
Como la restricción 1 es del tipo '≤' se agrega la variable de holgura X3.
Como la restricción 2 es del tipo '≤' se agrega la variable de holgura X4.
Como la restricción 3 es del tipo '≤' se agrega la variable de holgura X5
La solución óptima es Z=1600
X 1 =5
X 2 =6
La producción óptima para cada semana es producir 5 metros cúbicos de Lager y 6 metros
cúbicos de Pilsen, tomando 610 kg de malta, y el total disponible de lúpulo (250kg) y de
levadura (22kg), y así obtener el beneficio máximo de $1600.
SOLUCIÓN 2 MEDIANTE MATLAB:
Programación En Matlab
%Ejercicio Fábrica de cerveza
clc
%1. Función objetivo a maximizar
f=[-140 -150];
%2. Consumo de factores
A=[50 60 ; 20 25 ; 2 2];
%3. Disponibilidad
b=[ 1000 250 22];
%4. No negatividad
x0=[0 0];
%5. Función linprog
[x, fval] = linprog (f,A,b,[],[],[0 0])
disp('Se ha encontrado una solución óptima')
fprintf('El máximo beneficio obtenido es: %.0f \n', fval*(-1))
fprintf('Fabricando cervezas Lager: %.0f \n', x(1))
fprintf('Fabricando cervezas Pilsen: %.0f \n', x(2))
Respuesta 2 de Matlab
Optimal solution found.
x=
5.0000
6.0000
fval =
-1600
Se ha encontrado una solución óptima
El máximo beneficio obtenido es: 1600
Fabricando cervezas Lager: 5
Fabricando cervezas Pilsen: 6
3. Un avicultor AV ha determinado que sus necesidades semanales de ácido ascórbico (AA)
y βcaroteno (βC) como suplemento al pienso común son, como mínimo, de 15 y 3
kilogramos respectivamente. En su mercado local dispone de tres complejos
suplementarios, de distinto precio y que contienen ambos componentes en distintas
proporciones. Siendo x1, x2 y x3 los kg semanales que compraría AV de cada uno de los
tres complejos suplementarios CS1, CS2 y CS3. Obtener el plan óptimo de compra de
complejos suplementarios al precio normal.
Gramos de
Complejos
ácido Gramos de
suplementario Precio/kg
ascórbico βcaroteno (βC)
s
(AA)
CS1 40 30 70
CS2 60 60 20
CS3 40 40 50
Gramos
15000 3000
necesarios
X 1 =Cantidad de Complejo SuplementarioCS 1
X 2 =Cantidad de Complejo Suplementario CS2
X 3 =Cantidad de Complejo Suplementario CS3
Min Z=70 X 1 +20 X 2+50 X 3
s.a.
40 X 1+ 60 X 2+ 40 X 3 ≥15000
30 X 1 +60 X 2 + 40 X 3 ≥ 3000
X1 , X2 , X3≥ 0
MÉTODO SIMPLEX
Como la restricción 1 es del tipo '≥' se agrega la variable de exceso X4 y la variable
artificial X6.
Como la restricción 2 es del tipo '≥' se agrega la variable de exceso X5 y la variable
artificial X7.
La solución óptima es Z=5000
X 1 =0
X 2 =250
X 3 =0
AV compraría 250 kg/semana de CS2 y su precio sería $5000 por semana, cumpliendo con
los gramos necesarios de ácido ascórbico (AA) y teniendo gramos de más de βcaroteno
(βC).
SOLUCIÓN 3 MEDIANTE MATLAB:
Programación En Matlab
%Ejercicio avicultor AV
clc
%1. Función objetivo a minimizar
f=[70 20 50];
%2. Consumo de factores
A=[-40 -60 -40 ; -30 -60 -40 ];
%3. Disponibilidad
b=[ -15000 -3000];
%4. No negatividad
x0=[0 0 0];
%5. Función linprog
[x, fval] = linprog (f,A,b,[],[],[0 0 0])
disp('Se ha encontrado una solución óptima')
fprintf('El mínimo costo para adquirir los complejos suplementarios es:
%.0f \n', fval)
fprintf('Cantidad de Complejo Suplementario CS1:: %.0f \n', x(1))
fprintf('Cantidad de Complejo Suplementario CS2: %.0f \n', x(2))
fprintf('Cantidad de Complejo Suplementario CS3: %.0f \n', x(3))
Respuesta 3 de Matlab
Optimal solution found.
x=
0
250
0
fval =
5000
Se ha encontrado una solución óptima
El mínimo costo para adquirir los complejos suplementarios es: 5000
Cantidad de Complejo Suplementario CS1: 0
Cantidad de Complejo Suplementario CS2: 250
Cantidad de Complejo Suplementario CS3: 0