Está en la página 1de 9

SET

i NUMERO DE NODOS DE TRANSPORTE /Nodo1, Nodo2, Nodo3, Nodo4, Nodo5/

k NUMERO DE VEHICULOS /1 ,2/

alias(i,j);

table d(i,j) distancia recorrida entre los nodos i.j

Nodo1 Nodo2 Nodo3 Nodo4 Nodo5

Nodo1 999 12 8 5 9

Nodo2 13 999 13 5 12

Nodo3 5 8 999 7 9

Nodo4 7 9 5 999 6

Nodo5 2 12 4 9 999;

PARAMETERS

cf(k) costo fijo de uso del vehiculo k /1 18000, 2 24000/

cv(k) costo variable por uso del vehiculo k /1 1000, 2 1500/

Q(k) Capacidad total del vehiculo k /1 6, 2 6/

Dem(i) Demadna esperada en cada uno de los nodos i /Nodo1 0.7, Nodo2 1.2, Nodo3 2.3, Nodo4
2.5, Nodo5 3.8/;

Scalar

M numero de vehiculos disponibles /2/;

Scalar n numero de nodos /5/;

VARIABLES

z funcion objetivo

x(i,j,k) Asignacion de vehiculos k a la ruta

u(i) nodo cliente ;


Free Variable z;

POSITIVE VARIABLES u(i);

Binary variable x(i,j,k);

EQUATION

CT Costo total asociado al sistema de ruteo

R1 Restriccion de visitas desde el nodo de origen a nodo destino evaluado desde el nodo origen

R2 Restriccion de visitas desde el nodo de destino a nodo origen evaluado desde el nodo destino

R3 Restricion de seleccion de vehiculos para el pirmer nodo destino

R4 Restricion de seleccion de vehiculos para el pirmer nodo origen

R5 Restriccion de capacidad total de los vehiculos

R6 Restriccion de rutas VRP

R7 Restriccion de balance

CT.. z=E=sum((i,j,k),((cf(k)*x(i,j,k))+(x(i,j,k)*d(i,j)*cv(k))));

R1(i)$(ord (i)gt 1).. sum ((j,k), x(i,j,k)) =E= 1;

R2(j)$(ord (j)gt 1).. sum ((i,k), x(i,j,k)) =E= 1;

R3.. sum((j,k), x('1',j,k)) =E= M;

R4.. sum((j,k), x(j,'1',k)) =E= M;

R5(k).. sum((i,j), X(i,j,k)*Dem(i)) =L= Q(k);


R6(i,j,k)$(ord(i) and ord(j) gt 1).. u(i)-u(j) + n*X(j,i,k) =L= n -1;

R7(j,k)$(ord(j)gt 1).. sum (i, X(i,j,k)) =E= sum (i, X(j,i,k));

*R3.. sum((j,k), x('1',j,k)) =E= m;

*R4.. sum((j,k), x(j,'1',k)) =E= m;

*R5.. sum((i,j), x(i,j,k))*Dem(i) =L= Q(k);

*R6(i,j,k)$(ord (i) and ord (j)gt 1).. u(i)-u(j)+n*x(i,j,k)=L=n-1;

*R7(j,k)$(ord (j)gt 1).. sum(i, x(i,j,k))=e=sum(i,x(i,j,k));

Model RUT /all/;

Solve RUT using MIP minimizing z;

Display x.l;
set

k veh�culo /1*3/

i conjunto de nodos con i= 1 2 3 como centros de acopio /1*19/

CD(i) centros de acopio /1,2/

CL(i) unidades productivos /3*19/

alias (i,j,h);

parameters

Q(k) capacidad del vehiculo /1 30, 2 30, 3 30/;

parameter

F(k) costo fijo del veh�culo /1 90000, 2 90000, 3 30000/ ;

parameter

V(k) costo variable del veh�culo /1 95.8, 2 52.9, 3 74.9/;

table

C(i,j) Distancia entre nodos

1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19

1 999999999 999999999 7.8 18 49 26 7.6 7.8 17.7 20.3 19.78


15.8 14.9 12.8 14.2 11.58 12.2 14.7 13

2 999999999 999999999 5 16.3 46 40 8 6 20 23 21.9 11


16.7 15.1 17 14 15 16.7 15

3 7.8 10 999999999 19 21 27 0.13 0.096 15.3 17 16.1 17


18 18.7 19.8 17.3 17.8 18 18.6

4 18 16.3 19 999999999 34 49 19.3 19.4 36 37.2 37 34.1


33 31.5 33 30 31.3 33 31
5 52 46 21 39 999999999 26 21.1 21 34.5 35 47.8 36.5
37 43 44.4 42.2 39 37 39.2

6 26 62 27 46 29 999999999 26 26.1 8.4 10.1 10 10.4


11.1 18 19.2 16 14 11 13

7 7.6 10.4 0.13 19.3 21.1 26 999999999 0.03 15 16.7 16.2 17


18 19 19.9 17.4 17.8 18 19

8 7.8 10.6 0.096 19.4 21 26.1 0.03 999999999 15 17 16 17


17.9 18.6 18.9 17.3 17 18.1 18.7

9 17.7 20 15.3 36 34.5 8.4 15 15 999999999 2.68 2.1 1.94


2.85 9.09 10.4 7.8 5.54 2.98 4.74

10 20.3 23 17 37.2 48 10.1 16.7 17 2.68 999999999 0.54


4.58 5.51 11.75 13.1 10.5 8.19 5.64 7.4

11 19.78 21.9 16.1 37 47.8 10 16.2 16 2.1 0.54 999999999 4


4.9 11.21 12.57 9.9 7.6 5.1 6.86

12 15.8 18 17 34.1 36.5 10.4 17 17 1.94 4.58 4


999999999 0.91 7.16 8.5 5.89 3.6 1.04 2.8

13 14.9 16.7 18 33 37 11.1 18 17.9 2.85 5.51 4.9 0.91


999999999 6.24 7.58 4.99 2.68 0.54 1.89

14 12.8 15.1 18.7 31.5 43 18 19 18.6 9.09 11.75 11.21 7.16


5.79 999999999 1.34 1.24 2.32 5.11 4.35

15 14.2 17 19.8 33 44.4 19.2 19.9 18.9 10.4 13.1 12.57 8.5
6.59 1.34 999999999 2.58 4.9 7.45 6.69

16 11.58 14 17.3 30 42.2 16 17.4 17.3 7.8 10.5 9.9 5.89


4.99 1.24 2.58 999999999 2.31 4.86 3.1

17 12.2 15 21 31.3 39 14 17.8 17 5.54 8.19 7.6 3.6


2.68 3.56 3.7 2.31 999999999 2.56 0.799

18 14.7 16.7 18 33 37 11 18 18.1 2.98 5.64 5.1 1.04


0.54 4.89 6.25 4.53 2.46 999999999 1.76

19 13 15 18.6 41 39.2 13 19 18.7 4.74 7.4 6.86 2.8


1.89 3.13 3.5 2.75 0.799 1.76 999999999

;
parameter

D(i) Demanda del producto a entregar en las unidades productivas /

1 0

2 0

3 1

4 8

5 3

6 5

7 1

8 1

9 3

10 4

11 10

12 4

13 16

14 2

15 1

16 1

17 1

18 2

19 4

/;

parameter P(i) Oferta del producto a recoger en cada una de las unidades productivas /

1 0
2 0

3 1

4 9

5 4

6 5

7 1

8 2

9 3

10 5

11 10

12 4

13 16

14 3

15 2

16 1

17 1

18 1

19 4

/;

scalar

M N�mero grande /9999/

variables
COSTO1

X(i,j,k) Variable binaria para la asignaci�n del veh�culo k al arco i-j

Y(i,j,k) Carga recogida en la unidad productiva por el veh�culo k mientras recorre el arco i-j

Z(i,j,k) Carga descargada en la unidad productiva por el veh�culo k mientras recorre el arco i-j

INTEGER VARIABLES Y(i,j,k),Z(i,j,k);

BINARY VARIABLES X(i,j,k);

EQUATIONS

FO1 Funcion objetivo Costos distancias

R2 Cada unidad productiva es visitada exactamente una vez por un solo vehiculo

R3 Flujos de entrada y salida

R4 Numero de salidas por centro de acopio

R5 Todo lo que se recoja en las unidades productivas sera igual a toda su oferta

R6 Todo lo que se descargue en las unidades productivas sera igual a toda su demanda

R7 La carga recogida mientras se inicia la ruta en el centro de acopio es cero

R9 Si un arco ij es realizado por el veh�culo k entonces una cantidad deber� ser recogida en ese
arco

R10 Asegura que la cantidad descargada en el centro de acopio sea cero

R11 Si un arco ij es realizado por el veh�culo k entonces una cantidad deber� ser entregada en
ese arco

R12 Restriccion de capacidad de veh�culo (unidades)

;
FO1.. COSTO1 =E= ((sum((i,j,k),V(k)*C(i,j)*X(i,j,k))+ sum((i,j,k)$(CD(i)),F(k)*X(i,j,k))));

R2(i)$(CL(i)).. sum((j,k)$(ord(j) ne ord(i)),X(i,j,k))=e=1;

R3(h,k).. sum(i$(ord(i) ne ord(h)),X(i,h,k))=e=sum(j$(ord(j) ne ord(h)),X(h,j,k));

R4(k).. sum((i,j)$(CL(j)and CD(i)),X(i,j,k))=l=1;

R5(j)$(CL(j)).. sum((i,k)$(ord(j) ne ord(i)),Y(j,i,k))-sum((i,k)$(ord(i) ne ord(j)),Y(i,j,k))=e=P(j);

R6(j)$(CL(j)).. sum((i,k)$(ord(j) ne ord(i)),Z(i,j,k))-sum((i,k)$(ord(i) ne ord(j)),Z(j,i,k))=e=D(j);

R7(i,j,k)$(CD(i))..Y(i,j,k)=e=0;

R9(i,j,k).. Y(i,j,k)=l=M*X(i,j,k);

R10(i,j,k)$(CL(i)and CD(j))..Z(i,j,k)=e=0;

R11(i,j,k).. Z(i,j,k)=l=M*X(i,j,k);

R12(i,j,k)$(ord(i) ne ord(j)).. Y(i,j,k)+Z(i,j,k)=l=Q(k)*X(i,j,k);

MODEL JR /All/;

SOLVE JR using mip minimizing COSTO1;

También podría gustarte