SETS
i NODOS /1*14/
k VEHICULOS /1*3/
alias (i,j)
TABLE
d(i,j) DISTANCIA RECORRIDA ENTRE EL NODO i Y EL NODO j
1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 999 10 10.3 20.3 19.2 10.8 6.6 10 21.8 10.6 9.9 8.9 9.9 10.4
2 10 999 1.1 13.9 12.9 2.8 2.2 2.1 15.5 1.3 1.1 2.1 2.4 1.3
3 10.3 1.1 999 13.1 12.1 2.4 1.2 1.2 14.7 0.8 1.4 1.4 1.4 2.4
4 20.3 13.9 13.1 999 1.3 10.8 12.4 11.9 1.6 12.4 14.1 12.2 12.1 14.4
5 19.2 12.9 12.1 1.3 999 9.7 11.2 10.8 3 11.3 13 11.1 11 13.2
6 10.8 2.8 2.4 10.8 9.7 999 2.2 1.5 12.7 1.7 2.9 2.2 1.6 3.6
7 6.6 2.2 1.2 12.4 11.2 2.2 999 1.3 14.2 1.6 2.2 0.13 1.1 3.2
8 10 2.1 1.2 11.9 10.8 1.5 1.3 999 15 1.9 2.5 0.9 2.3 3.5
9 21.8 15.5 14.7 1.6 3 12.7 14.2 15 999 12.9 14.6 12.7 12.6 14.9
10 10.6 1.3 0.8 12.4 11.3 1.7 1.6 1.9 12.9 999 2 2.2 1.9 2.1
11 9.9 1.1 1.4 14.1 13 2.9 2.2 2.5 14.6 2 999 2.5 3.1 1.9
12 8.9 2.1 1.4 12.2 11.1 2.2 0.13 0.9 12.7 2.2 2.5 999 1.2 3.3
13 9.9 2.4 1.4 12.1 11 1.6 1.1 2.3 12.6 1.9 3.1 1.2 999 3.5
14 10.4 1.3 2.4 14.4 13.2 3.6 3.2 3.5 14.9 2.1 1.9 3.3 3.5 999
PARAMETERS
cv(k) COSTO VARIABLE POR USOS DEL VEHICULO K
/1 2500, 2 2500, 3 2500/
Q(k) CAPACIDAD DEL VEHICULO K en Kg
/1 6000, 2 6000, 3 6000/
Dem(i) DEMANDA EN CADA NODO i en Kg
/2 2000, 3 2500, 4 800, 5 950, 6 970, 7 1200, 8 1000, 9 2200, 10 1000, 11 900, 12 700, 13 800,
14 1100/
SCALAR
m NUMERO DE VEHICULOS DISPONIBLES /3/
n NUMERO DE NODOS /14/
VARIABLES
X(i,j,k) ASIGNACION DEL VEHICULO K A LA RUTA
u(i)
POSITIVE VARIABLE
;
BINARY VARIABLE
EQUATIONS
COSTE
R1
R2
R3
R4
R5
R6
R7
COSTE.. Z =E= SUM((i,j,k), X(i,j,k) * d(i,j) * cv(k)) ;
R1(j)$(ord (j) gt 1).. SUM((i,k), X(i,j,k)) =E= 1 ;
R2(j)$(ord (j) gt 1).. SUM((i,k), X(j,i,k))ñ =E= 1 ;
R3.. SUM((j,k), X('1',j,k)) =E= m ;
R4.. SUM((j,k), X(j,'1',k)) =E= m ;
R5(i,j,k)$(ord (i) and ord (j) gt 1).. u(i)-u(j)+ n * X(j,i,k) =L= n - 1 ;
R6(k).. SUM((i,j), X(j,i,k) * Dem(i)) =L= Q(k) ;
R7(j,k)$(ord(j) gt 1).. SUM(i, X(i,j,k)) =E= SUM(i, X(j,i,k)) ;
MODEL STARKY /ALL/ ;
SOLVE STARKY using MIP minimizing Z ;
DISPLAY X.L ;
Sets
i nodo de salida /1*5/
k vehiculos /1*2/
alias (i,j);
table
d(i,j)
1 2 3 4 5
1 999 12 8 5 9
2 13 999 13 5 12
3 5 8 999 7 9
4 7 8 5 999 6
5 2 12 4 9 999
PARAMETERS
cf(K) costos fijos por uso de vehiculo k
/1 20, 2 30/
cv(k) costo variable por uso del vehiculo k
/ 1 2, 2 3/
Q(k) capacidad del vehiculo k
/ 1 5, 2 7 /
dem(i) demanda en cada nodo i
/ 1 0, 2 1, 3 2, 4 3, 5 4/;
scalar
m numero de vehiculos disponibles /2/
n numero de nodos /5/;
variables
X(i,j,k) asignacion del vehiculo k a la ruta
u(i)
positive variable u;
binary variable x;
equations
coste
r1,r2,r3,r4,r5,r6,r7;
coste..z =e= sum((i,j,k),x(i,j,k)*d(i,j)*cv(k))+ sum ((i,j,k),x(i,j,k)*cf(k));
R1(j)$(ord (j)gt 1)..sum((i,k),x(i,j,k))=e=1;
R2(j)$(ord (j)gt 1)..sum((i,k),x(J,i,k))=e=1;
R3..sum ((j,k), x('1',j,k)) =E= m ;
R4..sum ((j,k), x(j,'1',k)) =E= m ;
R5(i,j,k)$(ord(i) and ord(j) gt 1)..u(i)-u(j)+n*x(j,i,k)=l= n-1;
R6(K)..sum ((i,j),x(j,i,k)*dem(i)) =l= Q(k);
R7(j,k)$(ord(j)gt 1)..sum (i, x(i,j,k))=e= sum (i,x(j,i,k));
model STARKY /ALL/;
SOLVE STARKY using mip minimizing z;
display x.l, u.l