SETS:
jobs/1..5/:r,p,d;
time/1..30/;
patt(time,jobs):x,c;
ENDSETS
DATA:
r=3 ,5,1,8,4 ;
p=5,2, 3,5, 2;
d=15,12,16,15,10 ;
ENDDATA
@FOR(patt(tt,j):c(tt,j) = @ABS( tt+p(j)-d(j) ) ;@GIN(x(tt,j)));
min=@SUM(jobs(j):
@SUM(time(tt): x(tt,j)* c(tt,j) )
);
@FOR(time(t):
@SUM(jobs(j):
@SUM(time(tt)|(tt#GE#r(j))#AND#
(t#LT#(tt+p(j)))#AND#
(t#GE#tt): x(tt,j)
)
) < 1
);
@FOR(jobs(j):
@SUM(time(tt)|(tt#GE#r(j)): x(tt,j) ) =1
);