2. el algoritmo simplex
TRANSCRIPT
E. Raffo Lecca
3El algoritmo SimplexEl Método Simplex publicado por George Dantzig en 1947, consiste en un algoritmo
iterativo que secuencialmente a través de iteraciones se va aproximando al óptimo del
problema de Programación Lineal.
3.1 Simplex
Más exactamente, un simplex es el conjunto convexo de un conjunto de (n + 1) puntos
independientes afines en un espacio euclidiano de dimensión n o mayor, es decir, el
conjunto de puntos tal que ningún m-plano contiene más que (m + 1) de ellos.
Un 0-simplex es un punto; un 1-simplex un segmento de una línea; un 2-simplex un
triángulo; un 3-símplex es un tetraedro; y un 4-simplex es un pentácoron (en cada caso, con
su interior).
Un simplex regular es también un politopo regular.
Como en el PL en dos dimensiones (2 variables), cada una de las restricciones divide
al espacio en dos partes: a un lado existen puntos que forman parte de la región factible y al
otro están los puntos que "violan" la restricción. Todas las restricciones juntas forman un
poliedro o politopo multidimensional, que encierra a todas las soluciones posibles.
Los polígonos son politopos en 2 dimensiones
E. Raffo Lecca
Los poliedros son politopos en 3 dimensiones
los polícoros son politopos en 4 dimensiones. La palabra polícoro o polícoron
del griego poli “muchos” y coros “espacio”, es un poliedroide.
Una clase especial de politopos son los politopos convexos, el cerco convexo de un
conjunto finito de puntos. Los politopos convexos también pueden representarse como
la intersección de semiespacios.
Esta intersección es la desigualdad Ax ≤ b, donde A es una matriz de m por n,
con m el número de semiespacios y n el número de dimensiones del politopo, y b es un
vector columna.
3.2 Formas de presentación de un PL
Forma canónica
max z=cx
Sujeto a:
Ax ≤ b
x≥ 0
Máximo Mínimomax z=cx
Sujeto a:
Ax ≤ b
x≥ 0
min z=cx
Sujeto a:
Ax ≥ b
x≥ 0
La desigualdad (restricción) i ,i=1,2 , …
a i1 x1+ai 2 x2+…+ail x l≤ b i
Se convierte a la ecuación i , agregando una variable de holgura
E. Raffo Lecca
a i1 x1+ai 2 x2+…+ail x l+si=b i
Forma estándar
Máximo Mínimomax z=cx+0 x s
Sujeto a:
Ax+ Ix s=b
x , xs ≥ 0
min z=cx+0 xs
Sujeto a:
Ax−Ix s=b
x , xs ≥ 0
3.3 Algoritmo Simplex
Sea el problema de maximización:
PL z x xs RHSz−cx−0 xs=0
0z+ Ax+ Ix s=b
1
0
-c
B−1 A
0
B−1
0
B−1 b
De:
c=(cB , c N) , x=(x B
xN), A=(B , N )
z=cx=cB xB+c N xN
Ax=(B , N )( xB
x N)=B x B+N x N=b
Equivalente
z=c B xB+cN xN
xB=B−1b−B−1 N x N
z=c B(B−1 b−B−1 N xN)+cN x N
z=c B B−1 b−cB B−1 N xN +cN x N
E. Raffo Lecca
xB=B−1b−B−1∑j=1
n−m
a j x j
z=z0−(cB B¿¿−1 a j−cN)∑j=1
n−m
x j ¿
z j=cB B−1 a j
z=z0− ∑j∈NB
❑
(z j−c j) x j, c j=z j−c j
Ax=B xB+N xN=b
B−1 Ax=B−1 B xB+B−1 N xN=B−1b
y=B−1 N
B−1 Ax=I x B+ y x N=B−1 b
PL z xB xN RHSz−0 xB+c xN=z0
0z+I xB+ yxN=B−1 b
1
0
0
I
c
y
z0
B−1 b
max z=3 x1+2 x2
Sujeto a:
x1+ x2 ≤ 40
x1+2 x2 ≤ 40
x1≥ 0 , x2≥ 0
En la forma estándar
max z=3 x1+2 x2
Sujeto a:
x1+ x2+s1=40
x1+2 x2+s2=40
x1≥ 0 , x2≥ 0 , s1≥ 0 , s2≥ 0
E. Raffo Lecca
z x1 x2 s1 s2 RHS1 -3 -2 0 0 00 1 1 1 0 400 1 2 0 1 40
Ax=b , x=(x N
xB), xB=( x3
x4), xN=( x1
x2)
B=[ a3 a4 ] , z=0 , xB=B−1 b=(x3
x4)=(40
40)En la solución para problemas del tipo≤, se tiene que:
B=I=B−1
Las variables de holgura forman la BFS inicial.
Condición de optimalidad
z=z0− ∑j∈NB
❑
(z j−c j) x j
Para la optimización si todos los c j=z j−c j≥ 0,
Entonces z no se incrementa, luego la solución es óptima.
zk−ck=minj∈NB
(z j−c j)
z x1 x2 s1 s2 RHS1 -3 -2 0 0 00 1 1 1 0 40 40/10 1 2 0 1 40 40/1
Ingresa la variable x1
Desde
xB=B−1b−B−1∑j=1
n−m
a j x j
xB=B−1b−B−1 ak xk
Se cumple que por factibilidad
E. Raffo Lecca
xB=B−1b−B−1 ak xk ≥ 0
B−1 b ≥ B−1 ak xk
B−1 b ≥ yk xk
En la ecuación i se cumple
y ik xk ≤ B−1 bi , i=1,2 , …,r
Luego
xr ≤ min(B¿¿−1 bi / y ik , y ik>0)¿
z x1 x2 s1 s2 RHS1 -3 -2 0 0 00 1 1 1 0 40 40/10 1 2 0 1 40 40/1
xB z x1 x2 s1 s2 RHSz 1 0 1 3 0 120x1 0 1 1 1 0 40s2 0 0 1 -1 1 0
Para la maximización todos los c j=z j−c j≥ 0
x1=40
x2=0
B=( a1 , a4 ) ,B−1=( 1 0−1 1) ,B−1b=( 1 0
−1 1)(4040)=(40
0 )y1=B−1 a1=( 1 0
−1 1)(11)=(10)
y2=B−1 a2=( 1 0−1 1)(12)=(1
1)
E. Raffo Lecca
z2−c2=cB B−1a2−c2=cB y2−c2
¿ (c1 c4 )(11)−c2= (3 0 )(11)−2=1
3.4 Formulación de PL dinámicos
Existen problemas en la vida diaria, cuya característica es que están constituidos por
decisiones en el tiempo, de allí el nombre de dinámicos.
En la presente sección se estudiarán problemas dinámicos, que son resueltos usando
la programación lineal. Un típico problema es el de producción-inventario.
3.4.1 Problema de producción-inventario
Una empresa tiene que entregar para los siguientes periodos, la cantidad demandada
Di ,i=1,⋯ , n. Las demandas no pueden ser diferidas, lo que significa que tienen que ser
satisfechas, y no pueden ser diferidas.
En cada periodo se puede producir cualquier cantidad de unidades a un precio por
unidad pi ,i=1,⋯ , n. Se permite producir unidades y los sobrantes dejarlos en inventario. El
costo de una unidad en inventario es hi , i=1 ,⋯ , n .
Presentar el PL para este modelo de producción-inventario, con el objetivo de
minimizar los costos de producción más inventario; teniendo como inventario al inicio Inv0
de unidades.
Desde la ecuación contable:
Inventario final=Inventario inicial+Producción−Demanda
Sea la variable:
x i=Cantidad a producir enel periodoi , i=1 ,⋯ , n
E. Raffo Lecca
Las siguientes relaciones son modeladas usando la ecuación contable:
El inventario al final del periodo 1:
Inv0+x1−D1
El inventario al final del periodo 2:
Inv0+x1−D1+( x2−D2 )Inv0+x1+ x2−D1−D2
El inventario al final del periodo 3:
Inv0+x1+ x2−D1−D2+( x3−D3 )Inv0+x1+ x2+x3−D1−D2−D3
El inventario al final del periodo n:
Inv0+∑i=1
n
(x i¿−D i)¿
Introduciendo la siguiente variable:
Invi=Inventario al final del periodo i ,i=1 ,⋯ , n
Las relaciones anteriores, son presentadas de una manera más compacta usando la
ecuación de inventario:
Inv1=Inv0+x1−D1
Invi=Invi−1+x i−Di , i=1 ,⋯ , n
La función objetivo es la suma de los costos de producción y los costos de
inventario:
min z=∑i=1
n
pi x i+¿∑i=1
n
hi Invi ¿
Las restricciones corresponden al inventario que tienen como supuesto: que
normalmente en inventario es no negativo:
Inv1=Inv0+x1−D1
Invi=Invi−1+x i−Di , i=1 ,⋯ , n
E. Raffo Lecca
x i , Invi ≥ 0 ,i=1 ,⋯ , n
Datos:
D1 ¿500 , D2=650 , D3=800 , D 4=900
p1 ¿10 , p2=10 , p3=12 , p4=13
h1 ¿h2=h3=h4=1
Inv0=300
Implementación en LINGO
! PRODUCCION-INVENTARIO;! INVENTARIO;! E. RAFFO LECCA;SETS: PERIODO/1..4/:DEMANDA,INV,X,P,H;
ENDSETS
DATA: DEMANDA=500 650 800 900; P= 10 10 12 13; H= 1 1 1 1; INV0=300;
ENDDATA
! FUNCION OBJETIVO;MIN=@SUM(PERIODO:P*X+H*INV);
! RESTRICCION DE DEMANDA;INV(1)=INV0+X(1)-DEMANDA(1);@FOR(PERIODO(I)|I#GT#1: INV(I) = INV(I-1)+X(I)-DEMANDA(I); );
El reporte de LINGO es como sigue:
Global optimal solution found. Objective value: 28100.00 Total solver iterations: 0
Variable Value Reduced Cost INV0 300.0000 0.000000 DEMANDA( 1) 500.0000 0.000000 DEMANDA( 2) 650.0000 0.000000 DEMANDA( 3) 800.0000 0.000000 DEMANDA( 4) 900.0000 0.000000
E. Raffo Lecca
INV( 1) 0.000000 1.000000 INV( 2) 1700.000 0.000000 INV( 3) 900.0000 0.000000 INV( 4) 0.000000 13.00000 X( 1) 200.0000 0.000000 X( 2) 2350.000 0.000000 X( 3) 0.000000 1.000000 X( 4) 0.000000 1.000000 P( 1) 10.00000 0.000000 P( 2) 10.00000 0.000000 P( 3) 12.00000 0.000000 P( 4) 13.00000 0.000000 H( 1) 1.000000 0.000000 H( 2) 1.000000 0.000000 H( 3) 1.000000 0.000000 H( 4) 1.000000 0.000000
Row Slack or Surplus Dual Price 1 28100.00 -1.000000 2 0.000000 10.00000 3 0.000000 10.00000 4 0.000000 11.00000 5 0.000000 12.00000
El valor de la función objetivo es z=28,100 y las variables decisionales son las
mostradas en la tabla 3.1.
Periodo Producción Demanda Inventario
1 200 500 0
2 2350 650 1700
3 0 800 900
4 0 900 0
Tabla 3.1: Solución óptima
Si la capacidad de producción en cada periodo está limitada en la cantidad CAPAC,
entonces el PL es:
min z=∑i=1
n
pi x i+¿∑i=1
n
hi Invi ¿
Sujeto a:
Inv1=Inv0+x1−D1
Invi=Invi−1+x i−Di , i=1 ,⋯ , n
E. Raffo Lecca
x i≤ CAPAC , i=1 ,⋯ , n
x i , Invi ≥ 0 ,i=1 ,⋯ , n
Datos:
CAPAC=800
Implementación en LINGO
! PRODUCCION-INVENTARIO;! INVENTARIO2;! E. RAFFO LECCA;SETS: PERIODO/1..4/:DEMANDA,INV,X,P,H;
ENDSETS
DATA: DEMANDA=500 650 800 900; P= 10 10 12 13; H= 1 1 1 1; INV0=300; CAPAC= 800;
ENDDATA
! FUNCION OBJETIVO;MIN=@SUM(PERIODO:P*X+H*INV);
! RESTRICCION DE DEMANDA;INV(1)=INV0+X(1)-DEMANDA(1);@FOR(PERIODO(I)|I#GT#1: INV(I) = INV(I-1)+X(I)-DEMANDA(I); );
! RESTRICCION DE LA CAPACIDAD DE PRODUCCION;@FOR(PERIODO: X <= CAPAC; );
El valor de la función objetivo es z=29,650 y las variables decisionales son las
mostradas en la tabla 3.2.
Periodo Producción Demanda Inventario
1 800 500 600
E. Raffo Lecca
2 800 650 750
3 800 800 750
4 150 900 0
Tabla 3.2: Solución óptima
Si en adición, la capacidad de inventario en cada periodo está limitada en la
cantidad HMAX, entonces el PL es:
min z=∑i=1
n
pi x i+¿∑i=1
n
hi Invi ¿
Sujeto a:
Inv1=Inv0+x1−D1
Invi=Invi−1+x i−Di , i=1 ,⋯ , n
x i≤ CAPAC , i=1 ,⋯ , n
Invi ≤ HMAX ,i=1,⋯ , n
Datos:
HMAX=600
Implementación en LINGO
! PRODUCCION-INVENTARIO;! INVENTARIO3;! E. RAFFO LECCA;SETS: PERIODO/1..4/:DEMANDA,INV,X,P,H;
ENDSETS
DATA: DEMANDA=500 650 800 900; P= 10 10 12 13; H= 1 1 1 1; INV0=300; CAPAC= 800; HMAX=500;
ENDDATA
! FUNCION OBJETIVO;MIN=@SUM(PERIODO:P*X+H*INV);
! RESTRICCION DE DEMANDA;INV(1)=INV0+X(1)-DEMANDA(1);@FOR(PERIODO(I)|I#GT#1:
E. Raffo Lecca
INV(I) = INV(I-1)+X(I)-DEMANDA(I); );
! RESTRICCION DE LA CAPACIDAD DE PRODUCCION E INVENTARIO;@FOR(PERIODO: X <= CAPAC; INV<=HMAX;);
El valor de la función objetivo es z=29,650 y las variables decisionales son las
mostradas en la tabla 3.3.
Periodo Producción Demanda Inventario
1 200 500 0
2 800 650 150
3 750 800 100
4 800 900 0
Tabla 3.3: Solución óptima
3.4.2 Problema de planeamiento de personal
MANPOWER es una empresa que provee personal capacitado de manera temporal, al
sector empresarial. Para el presente año, se tiene que cubrir las siguientes demandas de
secretarias ejecutivas: 7500, 7000, 8000 y 6000 secretarias-días en los 4 trimestres
respectivamente.
Actualmente MANPOWER cuenta con 100 secretarias ejecutivas entrenadas; siendo
el tiempo de 5 días los necesarios para entrenar a una nueva secretaria ejecutiva que se
contrata. Asumir un trimestre de ¼ de año (considere un año de 52 semanas), y una
secretaria labora 5 días por semana.
¿Cómo deberá ser el programa de reclutamiento de nuevas secretarías ejecutivas en
MANPOWER, para cumplir con los compromisos en los siguientes cuatro trimestres,
sabiendo que cada secretaria ejecutiva recibe un sueldo de $1500 por trimestre y existe un
20% de deserción de secretarias al final de cada trimestre?
E. Raffo Lecca
Un PL se compone de decisiones, restricciones y objetivos. La primera pregunta es
¿Qué se necesita conocer?, la respuesta viene por el lado de las variables decisionales:
Cuántas secretarias ejecutivas se deberá contratar para cumplir con la demanda por cada
trimestre.
x i=Cantidad de secretarias acontratar enel trimestre i ,i=1 ,⋯ , 4
si=Cantidad desecretarias al finalizar el trimestre i , i=1 ,⋯ , 4
La variable si corresponde al tamaño de la fuerza laboral de secretarias en el
trimestre i, y cumple la siguiente ecuación:
si={ 100+x1 ,i=10.80 si−1+x i , i=2 ,⋯ , 4
s1=100+x1
s2=0.80 s1+x2
s3=0.80 s2+x3
s4=0.80 s3+x4
La función objetivo es pagar los sueldos para los cuatro trimestres:
min z=1500(s¿¿1+s2+s3+s4)¿
Restricciones de la demanda de Secretarias-Días por trimestre (sabiendo que un
trimestre tiene 52/4 = 13 semanas y cada semana 5 días, totalizando 65 días):
(65 ) 100+60 x1≥ 7500
(65)0.80 s1+60x2 ≥7000
(65)0.80 s2+60 x3 ≥ 8000
(65)0.80 s3+60 x4≥ 6000
El PL es:
min z=1500(s¿¿1+s2+s3+s4)¿
E. Raffo Lecca
Sujeto a:
s1=100+x1
s2=0.80 s1+x2
s3=0.80 s2+x3
s4=0.80 s3+x4
60 x1≥ 1000
52 s1+60 x2 ≥7000
52 s2+60 x3 ≥ 8000
52 s3+60 x4≥ 6000
x i≥ 0 , i=1 ,⋯ , 4 si ≥ 0 ,i=1 ,⋯ , 4
Implementación en LINGO
! PLANEAMIENTO PERSONAL;! PLANPERSONAL;! E. RAFFO LECCA;SETS: TRIMESTRE/1..4/:DEMANDA,X,S;
ENDSETS
DATA: DEMANDA=7500 7000 8000 6000; S0=100; SUELDO=1500;ENDDATA
! FUNCION OBJETIVO;MIN=SUELDO*@SUM(TRIMESTRE:S);
! RESTRICCION DE DEMANDA;S(1)=S0+X(1);65*S0+60*X(1)>=DEMANDA(1);@FOR(TRIMESTRE(I)|I#GT#1: S(I)=0.80*S(I-1) + X(I); 52*S(I-1)+60*X(I) >= DEMANDA(I););
Como la solución para la cantidad de secretarias a contratar encada trimestre es un
valor discreto, se recomienda introducir las líneas siguientes:
! RESTRICCION ENTERA;@FOR(TRIMESTRE:
E. Raffo Lecca
@GIN(X));
3.4.3 Problema de flujo de efectivo
Una empresa, se encuentra planificando su flujo de efectivos a lo largo de los bimestres en
el presente año. La empresa conoce sus deudas y sus ingresos para los siguientes 6
bimestres. Ver la tabla 3.4.
Desde el flujo de ingresos, no es posible pagar las cuentas, sin recurrir a préstamos
bancarios; a pesar que dispone actualmente de S/ 2000.
La compañía puede pedir préstamos a la banca local en el bimestre, pagando el
préstamo en el siguiente bimestre con una tasa de interés del 8% por bimestre.
Bimestre Ingreso Cuentas
1 2000 6000
2 3000 4000
3 2000 6000
4 6000 2000
5 7000 3000
6 6000 2000
Tabla 3.4: Ingresos y cuentas para los seis bimestres
Plantear el programa lineal de flujos de efectivos, con la finalidad de optimizar el
costo de cumplir con sus obligaciones.
Desde la ecuación contable:
saldo final=saldoinicial+ Ingreso−Deuda+Préstamo−Préstamoanterior
Sea la variable:
x i=Cantidad a pedir de préstamo enel periodoi , i=1 ,⋯ , n
E. Raffo Lecca
La variable si corresponde al saldo de dinero al bimestre i, y cumple la siguiente
ecuación:
si={ 2000+ Ingreso1−Cuenta1+ x1 , i=1si−1+ Ingresoi−Cuentai+x i−1.08 x i−1 , i=2 ,⋯ ,5
s5+ Ingreso6−Cuenta6−1.08 x5 , i=6
min z=∑i=1
n
0.08 x i
Implementación en LINGO
! FLUJO DE EFECTIVOS;! EFECTIVOS! E. RAFFO LECCA;SETS: BIMESTRE/1..6/:INGRESO,CUENTA,X,S; ! X=PRESTAMO EN EL MES I; ! S=SALDO EN EL MES I;ENDSETS
DATA: INGRESO=2000 3000 2000 6000 7000 6000; CUENTA =6000 4000 6000 2000 3000 2000; S0=2000;ENDDATA
N=@SIZE(BIMESTRE);
! FUNCION OBJETIVO;MIN=@SUM(BIMESTRE:0.08*X);
! RESTRICCION DE DEMANDA;S(1)=S0+INGRESO(1)+X(1)-CUENTA(1);
@FOR(BIMESTRE(I)|(I#GT#1)#AND#(I#LT#N): S(I)=S(I-1) + INGRESO(I)+X(I)-CUENTA(I)-1.08*X(I-1););S(N)=S(N-1)+INGRESO(N)-CUENTA(N)-1.08*X(N-1);
Problemas propuestos
1. La empresa SCAZO tiene una línea de producción que fabrica 2 productos. En la
tabla 3.4 se encuentran los datos relativos al tiempo de producción (horas/unidad), costo de
E. Raffo Lecca
producción ($/unidad) y precio de venta ($/unidad). El tiempo total de producción es 80
horas por periodo.
Productos
A B
Tiempo de producción 0.60 0.90
Costo de producción 10 15
Precio de venta 22 30
Tabla 3.4: Datos de producción
Actualmente existen cero unidades en inventario (para cada uno de los productos), y
se quiere 0 unidades en inventarios al final de los 4 periodos. Una unidad en inventario
cuesta $4 para cada producto.
Cuando una demanda no es satisfecha cuesta $10 para el producto A, y $15 para B.
En la tabla 3.5 se presenta las demandas para los siguientes periodos.
ProductoPeriodo
1 2 3 4
A 80 90 75 80
B 15 30 60 30
Tabla 3.5: Datos de producción
Formule un PL, para maximizar las ganancias en la planeación de los cuatro
periodos.
2. Una planta de conversión de papel utiliza como insumos, papeles y cartones para
transformarlos en pulpa. Existen 4 tipos de papeles y cartones, y existen dos métodos para
procesar los insumos. Se obtiene papel reciclado en tres grados; siendo el costo en
toneladas y el contenido de pulpa de los insumos, los que se presentan en la tabla 3.6.
E. Raffo Lecca
Insumos Costo ($) Pulpa (%)
1 5 20
2 6 25
3 10 35
4 12 50
Tabla 3.6: Datos del problema
El primer proceso cuesta $25 por procesar una tonelada de insumos, eliminando el
10% de la pulpa; el segundo proceso cuesta $20 por procesar una tonelada de insumos,
eliminando el 20 % de la pulpa. Cada proceso puede procesar hasta 3500 toneladas de
insumos.
El papel de grado 1 sólo se consigue mezclando el insumo 1 y 2; el papel de grado 2
sólo se consigue mezclando el insumo 2 y 3; y el papel de grado 3 sólo se consigue
mezclando el insumo 3 y 4.
Para el siguiente periodo las demandas de papel reciclados son de 500, 1000 y 1500
toneladas de pulpas de grado 1, 2 y 3 respectivamente. Formular y resolver el PL con el
objetivo de minimizar los costos totales.
3. El siguiente PL:
max z=k x1+l x2
Sujeto a:
fx1+gx2 ≤50
hx1+i x2≤ b2
x1 , x2≥ 0
Tiene el siguiente tablero simplex óptimo:
E. Raffo Lecca
xB x1 x2 s1 s2 RHSz 0 c 2.571 a 137.143x1 1 d 0.429 -0.143 12.857x2 0 e 0.143 b 24.286
Determinar todos los coeficientes.
4. Una constructora para la gestión en la construcción de un proyecto que dura todo el
año, tiene la necesidad de mano de obra que aparece en la tabla 3.7.
Meses 1 2 3 4 5 6Mano de obra 70 120 80 50 90 120
Meses 7 8 9 10 11 12Mano deobra 50 60 30 50 70 60
Tabla 3.7: Necesidad de mano de obra
Contratar un personal por un mes le cuesta el salario de 1200; si contrata por dos
meses le cuesta 2000 y finalmente un contrato a tres meses es 2800.
¿Cuál deberá ser el programa de contratación con la finalidad de optimizar sus
costos para su proyecto de construcción?
5. La compañía Maquinarias, fabrica las máquinas A y B. Para los siguientes cuatro
trimestres del año, se tiene que satisfacer la demanda, según la tabla 3.8
ProductoPeriodo
1 2 3 4
A 100 80 120 80
B 70 40 60 50
Tabla 3.8: Demanda de los productos
E. Raffo Lecca
La utilidad de cada máquina A es S/ 3000 y de la máquina B es S/ 4000. Mantener
una unidad en almacenes de un trimestre a otro es S/ 300 para el producto A y S/ 500 para
el producto B.
La capacidad total de producción de máquinas es de 150 unidades. Al principio de
año existen en almacenes 20 unidades del producto A y 40 unidades del producto B.
¿Cuál deberá ser el programa de producción, con la finalidad de optimizar la
utilidad para el presente año?
Problemas resueltos
1. Desde la formulación de un problema de producción-inventario para un producto; se
generaliza para i ,i=1 , …, m productos:
Invi 1=Invi 0+x i 1−Di 1 , i=1 ,⋯ , m
Invij=Invi , j−1+ xi , j−D i , j , i=1 ,⋯ , m, j=1,⋯ , n
x i , j , Invi , j≥ 0 , ∀ i , j
Las variables entonces son:
x ij=Cantidad a producir de i , enel periodo j ,∀ i , j
Invi , j=Inventario del producto i , al final del periodo j ,∀ i , j
La función objetivo es la suma de los costos de producción y los costos de
inventario para todos los productos:
min z=∑i=1
m
(∑j=1
n
pi xi , j+∑j=1
n
h i Invi , j)Las restricciones corresponden al inventario que tienen como supuesto: que
normalmente en inventario es no negativo:
Invi 1=Invi 0+x i 1−Di 1 , i=1 ,⋯ , m
Invij=Invi , j−1+ xi , j−D i , j , i=1 ,⋯ , m, j=1,⋯ , n
E. Raffo Lecca
x i , j , Invi , j≥ 0 , ∀ i , j
Para el problema, el inventario puede ser positivo (excedente) o negativo (escasez).
Para cumplir este fin, el inventario se iguala a la diferencia de variables no negativas:
Invi , j=uij−v ij,∀ i , j
Las restricciones corresponden al inventario, que puede ser positivo o negativo:
ui 1−v i 1=ui 0+x i1−D i1 , i=1 ,⋯ , m
uij−v ij=ui , j−1−v i , j−1 ,+x i , j−Di , j , i=1 ,⋯ , m , j=1 ,⋯ , n
La restricción del total del tiempo de producción:
∑i=1
m
Tiempo i x ij ≤ 80 , ∀ j
La función objetivo es la diferencia de ingresos menos los costos de producción,
costos de excedente y costo de escasez (para todos los productos):
max z=∑i=1
m
(x ij−∑j=1
n
(Precio i−pi)x i , j−∑j=1
n
hi ui , j−∑j=1
n
Escasezi vi , j)
EL PL resultante es:
max z=∑i=1
m
¿¿¿
Sujeto a:
ui 1−v i 1=ui 0+x i1−D i1 , i=1 ,⋯ , m
uij−v ij=ui , j−1−v i , j−1 ,+x i , j−Di , j , i=1 ,⋯ , m , j=1 ,⋯ , n
∑i=1
m
Tiempo i x ij ≤ 80 , ∀ j
x i , j , uij , v ij ≥ 0 ,∀ i , j
Implementación en LINGO
! PRODUCCION-INVENTARIO CON ESCASEZ;! SCAZO;
E. Raffo Lecca
! E. RAFFO LECCA;SETS: PERIODO/1..4/; PRODUCTO/1..2/:TIEMPO,PRECIO,P,H,ESCASEZ,U0; TABLA(PRODUCTO,PERIODO):U,V,X,DEMANDA;
ENDSETS
DATA: DEMANDA=80 90 75 80 15 30 60 30; P= 10 15; H= 4 4; ESCASEZ=10 15; TIEMPO=0.60 0.90; U0=0 0; PRECIO=22 30;
ENDDATA
N=@SIZE(PERIODO);
! FUNCION OBJETIVO;MAX=@SUM(TABLA(I,J):PRECIO(I)*X(I,J)-P(I)*X(I,J)-H(I)*U(I,J)-ESCASEZ(I)*V(I,J));
! RESTRICCION DE DEMANDA;U(1,1)-V(1,1)=U0(1)+X(1,1)-DEMANDA(1,1);U(2,1)-V(2,1)=U0(2)+X(2,1)-DEMANDA(2,1);
@FOR(PERIODO(J)|J#GT#1: U(1,J)-V(1,J) = U(1,J-1)-V(1,J-1)+X(1,J)-DEMANDA(1,J); U(2,J)-V(2,J) = U(2,J-1)-V(2,J-1)+X(2,J)-DEMANDA(2,J); );
! RESTRICCION DE TIEMPO TOTAL;@FOR(PERIODO(J): @SUM(PRODUCTO(I):TIEMPO(I)*X(I,J))<=80; );
! RESTRICCION DE INVENTARIO FINAL;@FOR(PRODUCTO(I): U(I,N)=0; V(I,N)=0;);
El valor de la función objetivo es z=5,740 y las cantidades a producir son las
mostradas en la tabla 3.7.
Producto Periodo
E. Raffo Lecca
1 2 3 4
A 80 90 75 80
B 35.55 28.88 38.88 31.66
Tabla 3.7: producción
2. El problema de reciclar papel desde diversos insumos se presenta en la gráfica de la
figura 3.1.
Las variables de decisión corresponden a:
a i=Toneladasdel insumoi ,i=1 ,⋯ , 4 al proceso 1
b i=Toneladasdel insumoi ,i=1 ,⋯ , 4 al proceso 2
Productos resultantes después del proceso 1:
1 : (0.20 ) a1 (0.90 )=0.18a1
2 : (0.25 ) a2 (0.90 )=0.225 a2
3 : (0.30 ) a3 (0.90 )=0.27a3
4 : (0.50 ) a4 (0.90 )=0.45 a4
Productos resultantes después del proceso 2:
1 : (0.20 ) b1 (0.80 )=0.16b1
2 : (0.25 ) b2 (0.80 )=0.20b2
3 : (0.30 ) b3 (0.80 )=0.24b3
4 : (0.50 ) b4 (0.80 )=0.40 b4
E. Raffo Lecca
Figura 3.1: Proceso de conversión de papel
Desde la tabla 3.8, se presenta las toneladas de pulpas de insumo que son utilizadas
en los grados de papel.
x11
x21 x22
x32 x33
x43
Tabla 3.8: Mezcla de insumos y grados
La función objetivo es la suma de los costos de insumos más los costos de los
procesos:
E. Raffo Lecca
Costos de insumos=5 (a1+b1 )+6 (a2+b2 )+10 (a3+b3 )+12 (a4+b4 )
Costos de proceos=25 ( a1+a2 +a3+a4 )+20 ( b1+b2+b3+b4 )
Restricción de capacidad de procesamiento de insumos:
a1+a2+a3+a4≤ 2500
b1+b2+b3+b4 ≤2500
Restricción de la demanda de grados de papel:
x11+x21≥ 500
x22+x32≥ 1000
x33+x 43≥500
Restricción de producción de grados de papel:
0.18 a1+0.16 b1=x11
0.225 a2+0.20 b2=x21+x22
0.27 a3+0.24 b3=x32+x33
0.45 a4+0.40 b4=x43
El PL resultante es:
min z=¿30 a1+31 a2+35 a3+37 a4+25 b1+26 b2+30 b3+32 b4 ¿
Sujeto a:
a1+a2+a3+a4≤ 3500
b1+b2+b3+b4 ≤3500
x11+x21≥ 500
x22+x32≥ 1000
x33+x 43≥500
0.18 a1+0.16 b1=x11
0.225 a2+0.20 b2=x21+x22
E. Raffo Lecca
0.27 a3+0.24 b3=x32+x33
0.45 a4+0.40 b4=x43
a1 , a2 , a3 , a4 ≥ 0
b1 , b2 ,b3 ,b4 ≥ 0
x11 , x21 , x22 , x32 , x33 , x43≥ 0
Implementación en LINGO
! PAPEL RECICLADO;! RECICLADO;! E. RAFFO LECCA;
SETS: PAPEL/1..4/:A,B,COSTO,INSUMOPULPA; GRADO/1..3/:DEMANDA; PROCESO/1..2/:COSTOPRO,PROCESOPULPA; MATRIZ(PAPEL,GRADO):INCIDENCIA,X;ENDSETSDATA: DEMANDA=500 1000 500; COSTO=5 6 10 12; INSUMOPULPA=0.20 0.25 0.35 0.50; PROCESOPULPA=0.90 0.80; COSTOPRO=25 20; INCIDENCIA=1 0 0 1 1 0 0 1 1 0 0 1;ENDDATA
!FUNCION OBJETIVO;MIN=CINSUMO+CPROCESO;CINSUMO=@SUM(PAPEL:COSTO*(A+B));CPROCESO=COSTOPRO(1)*@SUM(PAPEL:A)+COSTOPRO(2)*@SUM(PAPEL:B);
! RESTRICCION DE PROCESAMIENTO DE INSUMOS;@SUM(PAPEL(J):A(J))<=3500;
@SUM(PAPEL(J):B(J))<=3500;
! RESTRICCIONES DE DEMANDA DE GRADO DE PAPEL;@FOR(GRADO(J): @SUM(PAPEL(I):INCIDENCIA(I,J)*X(I,J))>= DEMANDA(J););
! RESTRICCION DE PRODUCCION DE GRADO DE PAPEL;@FOR(PAPEL(I): INSUMOPULPA(I)*A(I)*PROCESOPULPA(1)+ INSUMOPULPA(I)*B(I)*PROCESOPULPA(2)=@SUM(GRADO(J):INCIDENCIA(I,J)*X(I,J)););
E. Raffo Lecca
El valor de la función objetivo es z=216,111.1 y las cantidades a producir son las
mostradas en las tablas 3.9 y 3.10.
Insumo
de papel
proceso
Total1 2
1 0 0 0
2 0 2500 2500
3 2285.714 1000 3285.714
4 1111.111 0 1111.111
Tabla 3.9: Solución para los insumos
Insumo
de papel
Grado
1 2 3
1 0
2 500 0
3 1000 0
4 500
Tabla 3.10: Solución para los grados
3.
B−1 b=(0.429 −0.1430.143 b )(50
b2)=(12.857
24.286)0.429 (50 )−12.857=0.143 (b2) , b2=60
0.143 (50 )−24.286=−60(b) , b=0.286
B−1 a1=(0.429 −0.1430.143 0.286 )( f
h)=(10)f =2 , h=−1
B−1 a2=(0.429 −0.1430.143 0.286 )(g
i )=(01)g=1 , i=3
Desde el cálculo de costo reducido para la variable s1:
E. Raffo Lecca
z3−c3= (k ,l )(0.4290.143)−0=2.571
0.429 (k )+0.143(l)=2.571
Desde el cálculo de la función objetivo:
12.857 (k )+24.286(l)=137.143
k=5 ,l=3
El cálculo de costo reducido para la variable s2:
z4−c4= (5,3 )(−0.1430.286 )−0=0.143
El tablero simplex óptimo:
xB x1 x2 s1 s2 RHSz 0 0 2.571 0.143 137.143x1 1 0 0.429 -0.143 12.857x2 0 1 0.143 0.286 24.286
Figura 3.2: Combinación de las contrataciones para los primeros meses
4. Para la gestión en la construcción del proyecto que dura todo el año, se tienen las
siguientes variables:
x i=Cantidad a contratar aun mes enel periodo i ,∀ i
y i=Cantidad acontratar a dos meses enel periodo i ,∀ i
ri=Cantidad a contratar a tres mesesenel periodoi ,∀ i
E. Raffo Lecca
Desde las figuras 3.2 y 3.3, que representan una vista parcial de la manera que
ocurren las contrataciones, se obtienen las siguientes relaciones para la mano de obra:
x1+ y1+r1≥ Necesidad1
x2+ y1+ y2+r 1+r2≥ Necesidad2
x i+ y i−1+ yi+r i−2+ri−1+ri ≥ Necesidad i ,3≤ i≤ 10
x11+ y10+ y11+r9+r 10≥ Necesidad11
x12+ y11+r10≥ Necesidad12
Figura 3.3: Combinación de las contrataciones para los últimos meses
La función objetivo es la suma de todos los sueldos:
min z=∑i=1
12
(1200 x i+2000 y i+2800 r i )
Ejecutando el PL, se encuentra que el valor de la función objetivo es z=816,000 y
la cantidad de mano de obra a contratar es la que se presenta en la tabla 3.11.
Implementación en LINGO
! PROGRAMA DE CONTRATACION DE MANO DE OBRA;! CONTRATACION;! E. RAFFO LECCA;! X,Y,R =CONTRATOS MENSUALES,BIMENSUALES Y TRIMESTRALES;SETS:
E. Raffo Lecca
MESES/1..12/:NECESIDAD,X,Y,R;ENDSETS
DATA: NECESIDAD= 70 120 80 50 90 120 50 60 30 50 70 60;ENDDATA
! FUNCION OBJETIVO;MIN=@SUM(MESES:1200*X+2000*Y+2800*R);
! RESTRICCIONES PARA LA MANO DE OBRA;X(1)+Y(1)+R(1)>= NECESIDAD(1);X(2)+Y(1)+Y(2)+R(1)+R(2)>= NECESIDAD(2);
@FOR(MESES(I)|(I#GT#2)#AND#(I#LT#11): X(I)+Y(I-1)+Y(I)+R(I-2)+R(I-1)+R(I)>=NECESIDAD(I); );X(11)+Y(10)+Y(11)+R(9)+R(10)>= NECESIDAD(11);X(12)+Y(11)+R(10)>= NECESIDAD(12);
Meses x y r Necesidad Exceso1 70 70 02 40 10 120 03 80 04 50 50 05 40 90 06 30 120 07 20 50 08 10 60 09 30 0
10 50 50 011 10 10 70 012 60 0
Tabla 3.11: Programa de las contrataciones
E. Raffo Lecca