Showing posts with label araç rotalama GAMS. Show all posts
Showing posts with label araç rotalama GAMS. Show all posts

Sunday, March 30, 2014

Örnek bir araç rotalama problemi gams modeli

sets
i cikilan sehir /1,2,3,4,5,6/
k arac sayisi /1*120/
Alias (i,j);

parameters
bigm buyuk sayı /1000000000/
q(k) arac kapasitesi
a(i) dagıtim musterilerinin talebi /1 0, 2 80, 3 10, 4 30, 5 40, 6 30/
b(i) toplama musterilerinin arzı /1 0,2 30, 3 0, 4 20, 5 50, 6 0/
 ;

scalar m km basina tasima maliyeti /90/;

table t(i,j)
         1          2          3          4          5          6
1        0          232        446        363        441        548
2        232        0          224        131        364        316
3        446        224        0          355        212        171
4        363        131        355        0          495        352
5        441        364        212        495        0          316
6        548        316        171        352        316        0
;

parameter

c(i,j) sehirlerarasi tasima maliyeti ;
c(i,j)=m*t(i,j);
q(k)=66;

variables
z amaç;

binary variable
x(i,j,k)
u(i,k)
u(j,k)
v(j,k)
v(i,k);

equations
objective
k1(k)
k2(i)
k3(i)
k4(k)
k5(j,k)
k6(j,k)
k7(i,k)
k8(i,k)
;

objective.. z =e= 1 ;
k1(k)..sum (i, a(i)*u(i,k))=l= 66;
k2(i)$(ord(i) ge 2)..sum (k, u(i,k))=g= 1;
k3(i)$(ord(i) ge 6)..sum (k, v(i,k))=g=1;
k4(k)..sum (i$(ord(i) ge 6), b(i)*v(i,k))=l=66;
k5(j,k)$(ord(j) ge 2)..sum (i$(ord(i) ge 1), x(i,j,k))=e=u(j,k);
k6(j,k)$((ord(j) ge 6)and(ord(j) eq 1))..sum (i$(ord(i) ge 1), x(i,j,k))=e=v(j,k);
k7(i,k)..sum (j, x(i,j,k))=e=u(i,k);
k8(i,k)$(ord(i) ge 6)..sum(j, x(i,j,k))=e=v(i,k);


model arp /all/  ;
solve arp using MIP minimizing z;

Burada

x(i,j,k) k. aracın i. şehirden j. şehire gidip gitmeyeceğini belirtiyor.