Vous êtes sur la page 1sur 2

N = 16;

M = 999;
Enddata
Sets
Dept/1..N/: Length, Width, X, Y;
ObjFn(Dept, Dept)| &2 #GT#&1: Cost, Flow, Vclear, Hclear, z;
Endsets
Data:
Length = 30 5 5 5 5 40 5 5 5 5 10 5 10 5 60 5;
Width

= 10 5 5 5 5 5 5 5 5 5 10 5 10 5 5 5;

Vclear = 0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0;

0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

0
0
0
0
0
0
0

0
0
0
0
0
0

0
0
0
0
0

0 0 0 0
0 0 0
0 0
0

Hclear = 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0
0 0 0 0
0 0 0
0 0
0;
Flow
= 800 0 10 200 550 10 10 50
0 0 50 200 70 20 30 100 0
20 0 0 10 30 0 5 5 0 0 0
0 0 10 30 0 30 10 0 0 0
0 20 30 5 10 0 5 0 0
50 20 10 10 0 3 10 0
30 0 0 0 0 2 0
5 0 0 0 3 0
40 5 0 0 20
10 0 0 0
0 0 0

0 0 0
0 0
0

100 0 0 0 0
5 30 0

0 0
0;
Cost

= 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1
1 1 1 1
1 1 1
1 1
1;
Enddata
! Objective Function;
Min=
@SUM(ObjFn(i,j)|j
#GT#
Cost(i,j)*flow(i,j)*(@ABS(X(i)X(j))+@ABS(Y(i)-Y(j))));
! Constraints
@FOR (Dept (j) | j #GT# i #AND# j #LE# N:
@ABS(X(i)-X(j)) + M*Z(i,j)
>=0.5*(Length (i)+Length(j))+Hclear(i,j);
@ABS(Y(i)- Y(j))+M*(1-z(i,j))
.=0.5*(Width(i)+Width(j))+Vclear(i,j);
@BIN(z(i,j))

Vous aimerez peut-être aussi