I'm making a model of flexible flow shop for academic project and I have a problem with declaring one set(or sets in fact). The set I'm talking about is a set of parallel machins which are bounded to specific stages. It looks more or less like this:
- t - stage index, t = 1, 2, 3, . . . , k
- i - machine index, i = 1, 2, 3, . . . , mt (t is upper index)
Best answer by deannezhang
You do not need to specify every set of machines for each stage, what you can do is to introduce a parameter StageMachineMapping (t,i).
If machine i belongs to stage t, then StageMachineMapping is 1, otherwise it's 0.
Then when you declare your decision variables, for example, JobSchedule(t,i,j), which is to assign job j to machine i on stage t, you want to use StageMachineMapping (t,i) as domain condition of this variable, so for each job j the model will only use a machine i if it belongs to stage t. You also need to use this parameter as domain condition for all variables and constrains when it applies.
Hope this helps.