Solucion Ejercicio 1
Solucion Ejercicio 1
Solucion Ejercicio 1
Solución ejercicio 1
Modelo LINGO:
Sets :
Actividad / A, B, C, D, E, F, G, H, Fin /: X, Y, Tn, LR, CUR;
Predecesora / A, B, C, D, E, F, G, H /: ;
AxP(Actividad, Predecesora) / C,A C,B D,B E,C E,D F,E G,E H,G Fin,F Fin,H / ;
End sets
Data :
Tn = 5, 5, 2, 3, 5, 2, 3, 5, 0 ;
LR = 1, 2, 1, 1, 2, 1, 0, 2, 0 ;
CUR = 200, 600, 300, 500, 150, 100, 0, 200, 0 ;
End data
Min = CDN + CR + CI ;
CDN = 7500 ;
CR = @Sum( Actividad(i) : CUR(i) * X(i) ) ;
CI = 250 * Y( 9 ) ;
@For( Actividad(i) : X(i) <= LR(i) ) ;
@For( AxP(i, j) : Y(i) >= Y( j ) + Tn( j ) - X( j ) ) ;
End
Reporte LINGO:
Global optimal solution found.
Objective value: 12450.00
Modelo LINGO:
Sets :
Actividad / A, B, C, D, E, F, G, H, Fin / : X, Y, Tn, LR, CUR ;
Predecesora / A, B, C, D, E, F, G, H / : ;
AxP( Actividad, Predecesora) / C,A C,B D,B E,C E,D F,E G,E H,G Fin,F Fin,H / ;
End sets
Data :
Tn = 5, 5, 2, 3, 5, 2, 3, 5, 0 ;
LR = 1, 2, 1, 1, 2, 1, 0, 2, 0 ;
CUR = 200, 600, 300, 500, 150, 100, 0, 200, 0 ;
End data
Min = CDN + CR + CI ;
CDN = 7500 ;
CR = @Sum( Actividad(i) : CUR(i) * X(i) ) ;
CI = 250 * Y( 9 ) ;
@For( Actividad(i) : X(i) <= LR(i) ) ;
@For( AxP(i, j) : Y(i) >= Y( j ) + Tn( j ) - X( j ) ) ;
CR = 0 ;
End
Reporte LINGO:
Global optimal solution found.
Objective value: 12750.00
Corrida 1 : Se debe minimizar la duración del proyecto, en vez del costo total. A partir del
modelo realizado en a), se cambia la función objetivo por: Min = Y(9) ;
Modelo LINGO:
Sets :
Actividad / A, B, C, D, E, F, G, H, Fin / : X, Y, Tn, LR, CUR ;
Predecesora / A, B, C, D, E, F, G, H / : ;
AxP( Actividad, Predecesora) / C,A C,B D,B E,C E,D F,E G,E H,G Fin,F Fin,H / ;
End sets
Data :
Tn = 5, 5, 2, 3, 5, 2, 3, 5, 0 ;
LR = 1, 2, 1, 1, 2, 1, 0, 2, 0 ;
CUR = 200, 600, 300, 500, 150, 100, 0, 200, 0 ;
End data
! Min = CDN + CR + CI ;
Min = Y(9) ;
CDN = 7500 ;
CR = @Sum( Actividad(i) : CUR(i) * X(i) ) ;
CI = 250 * Y( 9 ) ;
@For( Actividad(i) : X(i) <= LR(i) ) ;
@For( AxP(i, j) : Y(i) >= Y( j ) + Tn( j ) - X( j ) ) ;
End
Reporte LINGO:
Global optimal solution found.
Objective value: 14.00000
Ya se sabe que la duración mínima posible del proyecto = 14 días, ahora viene la corrida 2:
Modelo LINGO:
Sets :
Actividad / A, B, C, D, E, F, G, H, Fin / : X, Y, Tn, LR, CUR ;
Predecesora / A, B, C, D, E, F, G, H / : ;
AxP( Actividad, Predecesora) / C,A C,B D,B E,C E,D F,E G,E H,G Fin,F Fin,H / ;
End sets
Data :
Tn = 5, 5, 2, 3, 5, 2, 3, 5, 0 ;
LR = 1, 2, 1, 1, 2, 1, 0, 2, 0 ;
CUR = 200, 600, 300, 500, 150, 100, 0, 200, 0 ;
End data
Min = CDN + CR + CI ;
CDN = 7500 ;
CR = @Sum( Actividad(i) : CUR(i) * X(i) ) ;
CI = 250 * Y( 9 ) ;
@For( Actividad(i) : X(i) <= LR(i) ) ;
@For( AxP(i, j) : Y(i) >= Y( j ) + Tn( j ) - X( j ) ) ;
Y(9) = 14 ;
End
Reporte LINGO:
Costo total del proyecto con duración mínima: $13900 (= 7500 + 2900 + 3500)
Ejercicio 4
Modelo LINGO
Sets :
Cosecha / 1 .. 5 / : Capital, Alimentados, Empleados, Maximo ;
Uso / Export , Interno / : ;
CxU(Cosecha, Uso) : X ;
End sets
Data :
Capital = 3 5 4 2 4 ;
Alimentados = 150000 75000 100000 100000 200000 ;
Empleados = 10000 15000 12000 13000 15000 ;
Maximo = 6 4 5 6 5 ;
End data
Min = 1000000*D1 + 100*D2 + 100*D3 ;
@Sum( CxU(i,J) : X(i,J) ) <= 15 ;
@For( Cosecha(i) : @Sum( Uso(J) : X(i,J) ) <= Maximo(i) ) ;
! Meta 1 ;
@Sum( Cosecha(i) : Capital(i)*X(i,1) ) + D1 - E1 = 70 ;
! Meta 2 ;
@Sum( Cosecha(i) : Alimentados(i)*X(i,2) ) + D2 - E2 = 1750000 ;
! Meta 3 ;
@Sum( CxU(i,J) : Empleados(i)*X(i,J) ) + D3 - E3 = 200000 ;
End
Reporte LINGO
Variable Value
D1 46.00000
D2 0.000000
D3 3000.000
E1 0.000000
E2 0.000000
E3 0.000000
X( 1, EXPORT) 0.000000
X( 1, INTERNO) 5.000000
X( 2, EXPORT) 4.000000
X( 2, INTERNO) 0.000000
X( 3, EXPORT) 1.000000
X( 3, INTERNO) 0.000000
X( 4, EXPORT) 0.000000
X( 4, INTERNO) 0.000000
X( 5, EXPORT) 0.000000
X( 5, INTERNO) 5.000000
Informe administrativo:
Variables de
Meta ¿Cumple? Interpretación
desviación
D1 = 46 Se generaría solamente: 70 – 46 = 24 millones de $ de
1 NO
E1 = 0 capital extranjero
D2 = 0
2 SI Se alimentaría exactamente a 1 750 000 ciudadanos
E2 = 0
D3 = 3000 Solo se daría empleo a: 200 000 – 3 000 = 197 000
3 NO
E3 = 0 personas
1 1° 103
2 2° 102
3 3° 101
Modelo LINGO
Sets :
Artefacto / Lav Refri Cocina / : Cantidad ;
Tecnico / 1..3 / : ;
AxT(Artefacto, Tecnico) : Tiempo, X ;
End sets
Data :
Cantidad = 20 15 10 ;
Tiempo = 5 4 7
678
443;
End data
Min = E1 + (D21 + E21 + D22 + E22)*6 + E3 ;
@For( Artefacto(i) : @Sum( Tecnico(J) : X(i,J) ) = Cantidad(i) ) ;
! Meta 1 ;
@Sum( AxT(i,J) : Tiempo(i,J)*X(i,J) ) + D1 - E1 = 200 ;
! Meta 2 ;
X(1,1) + D21 - E21 = X(2,1) ;
X(2,1) + D22 - E22 = X(3,1) ;
! Meta 3 ;
@Sum( Artefacto(i) : Tiempo(i,2)*X(i,2) - Tiempo(i,3)*X(i,3) ) + D3 - E3 = 50 ;
! X(i,J) es entera ;
@For( AxT(i,J) : @Gin( X(i,J) ) ) ;
End
OTRA FORMA:
!META 2: Lograr que el tecnico 1 repare un numero similar de cada tipo de artefacto;
XL1+D21-E21=XR1;
XR1+D22-E22=XC1;
END
Reporte LINGO
Variable Value
E1 22.00000
D21 0.000000
E21 0.000000
D22 0.000000
E22 0.000000
E3 0.000000
D1 0.000000
D3 0.000000
X( LAV, 1) 0.000000
X( LAV, 2) 20.00000
X( LAV, 3) 0.000000
X( REFRI, 1) 0.000000
X( REFRI, 2) 8.000000
X( REFRI, 3) 7.000000
X( COCINA, 1) 0.000000
X( COCINA, 2) 0.000000
X( COCINA, 3) 10.00000
Informe administrativo:
Variables de
Meta ¿Cumple? Interpretación
desviación
D1 = 0
1 NO Se trabajará: 200 + 22 = 222 horas en total
E1 = 22
D21 = E21 = 0
2 SI El técnico 1 no trabajará
D22 = E22 = 0
El número de horas trabajadas por el técnico 2 excede
D3 = 0
3 SI exactamente en 50 horas al número de horas
E3 = 0
trabajadas por el técnico 3
Modelo LINGO
sets:
LINEA/ 1 2 /:RITMO, COSTO;
MES/1 2 3/:DEMANDA, CAPACIDAD, INV;
LxM(LINEA, MES): P;
end sets
data:
RITMO=20 18;
COSTO=100 80;
DEMANDA=2500 2400 1300;
CAPACIDAD=250 250 250;
end data
MIN=E1+(D21+E21+D22+E22+D23+E23)+(D31+E31+D32+E32);
@FOR(LxM(I,J):P(I,J)/RITMO(I)<=240);
@FOR(MES(J):INV(J)<=CAPACIDAD(J));
0+@SUM(LINEA(I):P(I,1))=DEMANDA(1)+INV(1);
@FOR(MES(J)|J#GE#2:INV(J-1)+@SUM(LINEA(I):P(I,J))=DEMANDA(J)+INV(J));
!META1;
@SUM(LxM(I,J):COSTO(I)*P(I,J)/RITMO(I))+@SUM(MES(J):2*INV(J))+D1-
E1=100000;
!META2;
INV(1)+D21-E21=0;
INV(2)+D22-E22=0;
INV(3)+D23-E23=0;
!META3;
@SUM(LINEA(I):P(I,1))+D31-E31=@SUM(LINEA(I):P(I,2));
@SUM(LINEA(I):P(I,2))+D32-E32=@SUM(LINEA(I):P(I,3));
end
Reporte LINGO
P( 1, 3) 1550.000
0.000000
P( 2, 1) 0.000000
0.000000
P( 2, 2) 0.000000
0.000000
P( 2, 3) 0.000000
0.000000
Informe administrativo:
Variables de ¿Cumple
Meta Interpretación
desviación ?
D1 = 67250
1 SI El costo total será de 100000-67250=32750 US$
E1 = 0
D21 =0, E21 = 0
2 D22 = 0, E22 = 0 NO No se empleará el almacén solo en el mes 1 y 2
D23=0, E23=250
D31 = 0, E31=100 La producción entre el mes 1 y 2, y entre el mes 2 y 3
3 NO
D32=0, E32 = 850 no es similar
Modelo LINGO
sets:
INSUMOS/ 1 2 /:CMP, CMO;
VIDRIOS/1 2 3/:VENTAMAX, T;
IxV(INSUMOS, VIDRIOS): PORC,X;
end sets
data:
CMP=30 15;
CMO=7 5;
VENTAMAX=1000 1900 1300;
PORC= 0.3 0.2 0.1
0.1 0.15 0.25;
end data
MIN=E1+(D2+E2)*25+D3*25;
@FOR(VIDRIOS(J):T(J)<=VENTAMAX(J));
@FOR(VIDRIOS(J):T(J)=@SUM(INSUMOS(I):X(I,J)));
@FOR(IxV(I,J):X(I,J)>=PORC(I,J)*T(J));
!META1;
@SUM(IxV(I,J):(CMP(I)+CMO(I))*X(I,J))+D1-E1=75000;
!META2;
@SUM(VIDRIOS(J):T(J))+D2-E2=3000;
!META3;
@SUM(VIDRIOS(J):X(1,J))+D3-E3=1000;
end
Reporte LINGO
Global optimal solution found.
Objective value: 2000.000
VENTAMAX( 3) 1300.000
0.000000
T( 1) 0.000000
0.000000
T( 2) 1700.000
0.000000
T( 3) 1300.000
0.000000
PORC( 1, 1) 0.3000000
0.000000
PORC( 1, 2) 0.2000000
0.000000
PORC( 1, 3) 0.1000000
0.000000
PORC( 2, 1) 0.1000000
0.000000
PORC( 2, 2) 0.1500000
0.000000
PORC( 2, 3) 0.2500000
0.000000
X( 1, 1) 0.000000
0.000000
X( 1, 2) 340.0000
0.000000
X( 1, 3) 660.0000
0.000000
X( 2, 1) 0.000000
0.000000
X( 2, 2) 1360.000
0.000000
X( 2, 3) 640.0000
0.000000
Informe administrativo:
Plan óptimo de mezcla (toneladas)
Variables de
Meta ¿Cumple? Interpretación
desviación
D1 = 0
1 NO El costo total será=75000+2000=77000
E1 = 2000
D2= 0 La producción total de vidrio será exactamente=3000
2 SI
E2 = 0 toneladas
D3 = 0
3 SI Se utilizara exactamente 1000 toneladas de plomo
E3 = 0