SETS:
 
jobs/1..5/:s,c,r,d,p,y;
prec(jobs,jobs)|&1#LT#&2:z;
 
ENDSETS
 
DATA:
 
r=3 ,5,1,8,4     ;
p=5,2, 3,5,  2 ;
d=15,12,16,15,10  ;
 
M=100;
 
ENDDATA
 
MIN = @SUM(jobs:y);
 
@FOR(jobs(i):y(i) > c(i) - d(i);
             y(i) > d(i) - c(i));
 
@FOR(jobs(i): s(i) > r(i);
              s(i)+p(i)=c(i));
 
@FOR(prec(i,j)|i#LT#j:
       s(i) > c(j)  - M*(1-z(i,j));
       s(j) > c(i)  - M*z(i,j));
 
@FOR(prec(i,j):@GIN(z(i,j)));