Hello,

I am trying to resolve the MMJS (multi-mode blocking job shop) problem, I am new at gams and I am a student in the university right now I am trying to figure out how to define the sets for the multi-mode resource implemented in the problem I don’t know if I have to use a loop or this could be done with sets or dynamic sets, hope someone can help me to figure this out, also I don’t know if this goes here or in syntax sorry in advance.

This is the problem:

Notations

Problem

And this is what I got so far, code:

```
Set
M 'Set of resources' /A1,A2,N1,N2,N3,OR1,OR2,S1,S2,S3,P1,P2,IC/
I 'Set of operations' /PHU,OR,PACU,ICU/
J 'Set of jobs' /CASE1*CASE10/
R 'Set of indexes of modes' /1*12 /
RI(I) 'Set of indexes of modes for operation I'
Mri(R,I) 'Mode r for operation i' ;
Alias(I,II)
SET O(I,II) 'Set of pair of consecutive operations of a job J'
/ PHU. OR
OR. PACU
PACU. ICU
/;
Parameter
psu(I) 'Setup time of operation i' /PHU 10, OR 10, PACU 10, ICU 10/
pcli(I) 'Cleanup time of operation i' /PHU 10, OR 10, PACU 10, ICU 10/
b(I) 'Maximum waiting time allowed for operation i before the operation job is moved to a next stage' /PHU 10, OR 10, PACU 10, ICU 10/
jb(I) 'Job to which operation i belongs to'
e(R) 'Starting time of the availability interval of mode r' /1 480,2 1920,3 480,4 1920,5 1920,
6 1920,7 480,8 1920,9 480,10 1920,11 480,12 2460/
f(R) 'Ending time of the availability interval of mode r' /1 960,2 2400,3 960,4 2400,5 2400,
6 2400,7 960,8 2400,9 1020,10 2460,11 7200,12 7200/
t 'Dummy operation of zero duration, s is after all operations' /0/;
Variable
x(I) 'Starting time of operation i'
l(I) 'Leaving time of operation i'
Scalar
H 'Huge number'
alpha 'Very small weight factor' /0.01/;
Equations
```

Hope some one can help me