Flow Shop Pattern

IntentA set of jobs is to be processed on a set of machines. Each job is to be processed on each of the machines exactly once in a predetermined order and the order is the same for all jobs.
MotivationFlow shop machine environments regularly occur for example in car manufacturing and we can leverage the fixed machine order to make the constraint model more efficient.
ApplicabilityNecessary conditions: Job Shop Pattern and Flexible Flow Shop Pattern
Sufficient conditions: The necessary conditions and let j_1\in J_E be a job in the event log. For all j_2\in J_E and all m\in M_E:
(a) Every job j_2 consists of exactly |M| operations, so |ops^p(j_2)| = |M_E|.
(b) The route of every job through the machines must be the same, so for all i \in \{1, \dots, |ops^p(j_2)|\} we have
\texttt{\#}_{\mbox{machine}}(op^p_{i}(j_2)) =  \texttt{\#}_{\mbox{machine}}(op^p_{i}(j_1)).
ParticipantsA set of jobs consisting of operations, and a set of machines.
CollaborationsEach job has to be processed on each of the machines exactly once in a predetermined order, which is the same across all jobs.
DiagramGantt chart showing four jobs being processed on three machines:
ConsequencesThe machine on which each operation is to be processed is predetermined and fixed. Each job visits each machine exactly once and the order in which machines are visited by jobs is the same for all jobs.
Modelling variants(1) OPL for Cplex CP Download
(2) MiniZinc Download
ForcesElementary Scheduling Pattern, Job Shop Pattern, Flexible Flow Shop Pattern
EnablesPermutation Pattern, 1-Blocking Pattern
Compatible withNo Wait Pattern, Machine Setup Pattern, Distinguishable Resources Pattern, Indistinguishable Resources Pattern