Originally posted by: ClemsonTiger
Hi all,
I want to transform the sched_flowshop problem to a permutation flow shop in which a conveyor
transfers products across stations (machines), and at each station the task required is done. So its basically a paced production line.
I have several questions:
1- I need to limit the interval variables to start and end within the station boundaries.
is there an easy way to loop over the logical OR operator so that this will be more
compact:
forall (i in Products)
forall (j in Stations)
((j*sLength <= startOf(itvs[i][j])) &&
((j+1)*sLength >= endOf(itvs[i][j])))
||
(((j+1)*sLength <= startOf(itvs[i][j])) &&
((j+2)*sLength >= endOf(itvs[i][j])))
||
(((j+2)*sLength <= startOf(itvs[i][j])) &&
((j+3)*sLength >= endOf(itvs[i][j])))
||
(((j+3)*sLength <= startOf(itvs[i][j])) &&
((j+4)*sLength >= endOf(itvs[i][j])));
Is it possible to just define it within the interval variable definition?
dvar interval itvs[i in Products][j in Stations] in (???) size Durations[i][j] ;
I looked into using the calendar and the step function, but I don't have any holes in the
calendar.I also tried to use the OR in the loop but always get errors.
2- I need a constraint to limit one interval variable per station.
Is it better to model the problem using alternatives? I am trying to avoid using alternatives since I want to solve big problems.
I am basically looking for the optimal sequence of products that minimizes a given objective, I modeled this problem using the alldifferent constraint but wanted to see if using the interval variables and the CP scheduler will get me better results.
Thanks
#DecisionOptimization#OPLusingCPOptimizer