Hoy en clase se explico una de las restricciones de este ejercicio .
El enunciado decía " para mantener el avión balanceado, el peso de la carga en los respectivos compartimientos debe ser proporcional a su capacidad"
Lo que entendí de lo que se explico es que las restricciones deberían ser de esta manera:
XD/(XD+XC+XT)= 12/40=0.3
XC/(XD+XC+XT)=18/40=0.45
XT/(XD+XC+XT)=10/40=0.25
Cambiando la formulación para que se pueda usar
0.7XD-0.3XC-0.3XT=0
0.55XC-0.45XD-0.45XT=0
0.75XT-0.25XC-0.25XD=0
Quería compartirlo para comparar resultados y chequiar esas restricciones.
Dejo mi scrip de R.
Yo plantee que una variable totalizadora del peso total del avión (T=XD+XC+XT) lo que hizo que plantee las restricciones de manera mas sencilla.
XD/(T)= 12/40=0.3->XD-0.3*T=0
XC/(T)=18/40=0.45->XC-0.45*T=0
XT/(T)=10/40=0.25->XT-0.25*T=0
Lo hice con Python con librería pulp y me dan distintos los números así que dejo mi código también. Si alguien encuentra algún error avise por favor.
Corri tu formulación en LINDO, y me dieron estos resultados :
Z=13330
X1=14.67;X2=10.67;X3=1.67;X4=13;CC=18;CD=12;CT=10
X1D=0;X2D=7.33;X3D=0;X4D=4.67;
X1C=14.67;X2C=0;X3C=1.67,X4C=1.67;
X1T=0;X2T=3.33;X3T=0;X4T=6.67
En R me dan igual. Esta es la formulación que obtuve de tu script.
MAX 320X1+400X2+360X3+290X4
ST
CC+CD+CT-T=0
X1D+X2D+X3D+X4D-CD=0
X1C+X2C+X3C+X4C-CC=0
X1T+X2T+X3T+X4T-CT=0
500X1D+700X2D+600X3D+400X4D<7000
500X1C+700X2C+600X3C+400X4C<9000
500X1T+700X2T+600X3T+400X4T<5000
X1D+X1C+X1T-X1=0
X2D+X2C+X2T-X2=0
X3D+X3C+X3T-X3=0
X4D+X4C+X4T-X4=0
CD<12
CC<18
CT<10
X1<20
X2<16
X3<25
X4<13
CD-0.3T=0
CC-0.45T=0
CT-0.25T=0
END
Que resultados obtuviste?
El optimo y las cargas por compartimiento me da igual pero el resto de los valores no,
dejo los resultados mios.
status:1,Optimal objective:13330.0 CC:18.0 CD:12.0 CT:10.0 T:40.0 X1:15.5 X1C:5.5 X1D:0.0 X1T:10.0 X2:11.5 X2C:4.1666667 X2D:7.3333333 X2T:0.0 X3:0.0 X3C:0.0 X3D:0.0 X3T:0.0 X4:13.0 X4C:8.3333333 X4D:4.6666667 X4T:0.0
Estuve analizando los resultados y no encontré ninguno que contradiga alguna restricción.
Si alguien encuentra algún error o tiene su ejercicio para comparar avisen!
Hola! Yo lo hice en LINDO y nuevamente llego al mismo funcional, pero distintos valores de las variables. ¿Será uno de los casos especiales en los que hay múltiples combinaciones que optimicen el funcional? Adjunto resultados y código:
X1= 15 , X1D=7 , X1C=0 , X1T=8
X2=11 , X2D=5 , X2C=6 , X2T=0
X3=1 , X3D=0 , X3C=0 , X3T=1
X4=13, X4D=0 , X4C=12 , X4T=1
D=12 , C=18, T=10, TT=40
CODIGO:
MAX 320X1+400X2+360X3+290X4
S.T.
!Defino totalizadoras
T1) X1D+X1C+X1T-X1=0 !Cantidad total carga 1
T2) X2D+X2C+X2T-X2=0 !Cantidad total carga 2
T3) X3D+X3C+X3T-X3=0 !Cantidad total carga 3
T4) X4D+X4C+X4T-X4=0 !Cantidad total carga 4
Z1) X1D+X2D+X3D+X4D-D=0 !Carga total delantera
Z2) X1C+X2C+X3C+X4C-C=0 !Carga total central
Z3) X1T+X2T+X3T+X4T-T=0 !Carga total trasera
TOT) D+C+T-TT=0 !Carga total total
!Restricciones de capacidad de espacio
E1) 500X1D+700X2D+600X3D+400X4D<7000
E2) 500X1C+700X2C+600X3C+400X4C<9000
E3) 500X1T+700X2T+600X3T+400X4T<5000
!Restricciones peso por tipo de carga (disponibilidad)
A1) X1<20
A2) X2<16
A3) X3<25
A4) X4<13
!Restricciones de capacidad de peso
P1) D<12
P2) C<18
P1) T<10
!Restricciones de balance de peso
B1) D-0.3TT=0
B2) C-0.45TT=0
B3) T-0.25TT=0
END
Parece que como dice Eugenia, este problema tiene múltiples soluciones.
Con el mismo planteo que ya mostraron, llegue el mismo resultado para el funcional, pero distintos valores para las variables:
Dejo mi codigo de python con el planteo completo.
Valor Optimo del Funcional:
objective: 13330.0
X1: 5.5
X1C: 0.0
X1D: 0.0
X1T: 5.5
X2: 1.5
X2C: 0.0
X2D: 0.0
X2T: 1.5
X3: 20.0
X3C: 9.0
X3D: 11.0
X3T: 0.0
X4: 13.0
X4C: 9.0
X4D: 1.0
X4T: 3.0
XC: 18.0
XD: 12.0
XT: 10.0
Comparto mi resolución.
Defino las variables
Pij: Peso de la carga i (con i = 1,2,3,4) en el compartimento j (con j = D,C,T) [tn]
Vij: Volumen de la carga i (con i = 1,2,3,4) en el compartimento j (con j = D,C,T) [pies3/tn]. Siendo Vij = Ci*Pij con Ci = 500, 700, 600, 400
Defino el funcional o función objetivo que estoy buscando maximizar
[MAX] Z = 320. P1 + 400. P2 + 360. P3 + 290. P4
Sujeto a:
Balance de masa
- P1 + P1D + P1C + P1T 0
- P2 + P2D + P2C + P2T 0
- P3 + P3D + P3C + P3T 0
- P4 + P4D + P4C + P4T 0
- PD + P1D + P2D + P3D + P4D 0
- PC + P1C + P2C + P3C + P4C 0
- PT + P1T + P2T + P3T + P4T 0
Balanceo proporcional de la carga
PD / (PD + PC + PT) = 12/40 = 0,3
0,30.(PD + PC + PT) = PD
0,70.PD - 0,30.PC - 0,30.PT = 0
PC / (PD + PC + PT) = 18/40 = 0,45
0,45.(PD + PC + PT) = PC
0,55.PC - 0,45.PD - 0,45.PT = 0
PT / (PD + PC + PT) = 10/40 = 0,25
0,25.(PD + PC + PT) = PT
0,75.PT - 0,25.PD - 0,25.PC = 0
Restricciones por especificaciones de Peso de la carga
P1 12
P2 16
P3 25
P4 13
Restricciones de capacidad (Peso)
DEL: PD 12
CEN: PC 18
TRA: PT 10
Restricciones de espacio (Volumen)
DEL: 500.P1D + 700.P2D + 600.P2D + 400.P2D 7.000
CEN: 500.P1C + 700.P2C + 600.P2C + 400.P2C 9.000
TRA: 500.P1T + 700.P2T + 600.P2T + 400.P2T 5.000
P1=12, P2=16, P3=0, P4=9.5, PD=11.25, PC=16.875, PT=9.375, P1D=0, P1C=12, P1T=0, P2D=8.33, P2C=3.5, P2T=4.17, P3D=0, P3C=0, P3T=0, P4D=2.92, P4C=1.375, P4T=5.21
z=12.995Hola estimadas y estimados.
La respuesta correcta es aquella que devuelve un funcional de 13330.00.
María Julia,
si queres que revisemos cual es el error de tu planteo, porfa compartilo nuevamente porque en la ultimo posteo hay caracteres que no salieron bien.
Me avisan si hay mas dudas.!
Saludos y buenos los aportes.
Buenas tardes,
comparto otra solución del 2.9
La ganancia máxima me dio $13.330
Distribuidas de la siguiente manera:
1) De la carga 1 se utilizaron 8 Tn (2 para el comp. delantero y 6 para el comp. central)
2) De la carga 2 se utilizaron 4 Tn (en el comp. central).
3) De la carga 3 se utilizaron 15 Tn (10 para el comp. delantero y 5 para el comp. trasero).
4) De la carga 4 se utilizaron 13 Tn (8 en el comp. central y 5 en el comp. trasero)
Adjunto el código en R.
Espero que sirva! Saludos
HOLA!
MUCHAS GRACIAS, voy a revisar y te aviso si necesito ayuda
Gracias!