Model:
SETS:
TASK/1..52/:T;
PRED(TASK,TASK)/1,2 2,3 3,5 4,5 5,6 6,7 6,8 7,8 8,9 8,10 9,10 11,10 10,12 12,13 13,14 12,14 14,15 15,16 16,17 17,18 18,19 18,20 19,21 20,21 21,22 22,23 22,24 21,24 23,24 24,25 25,26 25,27 26,27 27,28 28,29 29,30 30,31 30,32 32,33 31,33 29,31 28,31 33,34 34,35 35,36 36,37 37,41 37,38 38,39 39,40 40,41 41,42/:;
STATION/1..10/:A;
TXS(TASK,STATION) :X;
ENDSETS
DATA:
T=20 30 15 10 5 17 10 26 19 57 10 18 5 21 15 11 9 8 16 26 37 42 28 16 5 18 26 18 24 17 18 59 17 26 24 10 27 27 31 35 26 34/:;
CYCTIME=90.4;
ENDDATA
@FOR (TXS:@BIN(X));
@FOR (station:@BIN(A));
@FOR (TASK(I):@SUM(STATION(K):X(I,K))=1);
@FOR(PRED(I,J):@SUM(STATION(K):K*X(J,K)-K*X(I,K))>=0);
@FOR(STATION(K):@SUM(TXS(I,K):T(I)*X(I,K))<=CYCTIME);
@FOR(STATION(K):@SUM(TXS(I,K):X(I,K))<=@size(Task)*A(K));
Min=@sum(STATION(K):A(K));