2. COMPUTATIONAL COMPARISON OF DIRECT POSITIONAL
2.3. Mathematical Models
2.3.4. Flexible Flow Shop with Sequence Dependent Setups
2.3.4.1. Direct Positional Model 2.3.4.1.1. Sets
J = 1..n Jobs
I = 1..m Machines
πΌππ‘ β πΌ Machines that do not require tubing beforehand
πΌπ‘β πΌ Machines that require tubing beforehand
K = 1..n Positions on the machines
U = 1..o Geometries
H = 1..e Tubing Stations
2.3.4.1.2. Parameters
n = number of jobs
m = number of machines
o = number of geometries
e = number of tubing stations
ππ = Due date of job π
ππ’,π = 1 if geometry π’ can be done on machine π, 0 otherwise
28
ππ’,π = Unit processing time of geometry π’ on machine π ππ = Penalty for tardiness of job π
π π = Earliest start time of job π
ππ’,π£,π = Setup time from geometry π’ to π£ on machine π
ππ’,π = Initial setup time of geometry π’ on machine π ππ,π’ = 1 if job π is geometry π’, 0 otherwise
ππ’,β = Unit tubing time of geometry π’ on tubing station β
π€π’,β = 1 if geometry π’ can be processed on station β, 0 otherwise
πΌπ = Size of job π
π = πππ₯π(π π) + βπβ πΌ,πβ π½,π’β π πΌπβ ππ,π’β ππ’,π + βββ π»,πβ π½,π’β ππΌπβ ππ,π’β ππ’,β +
βπ’β π,π£β π,πβ πΌππ’,π£,π + βπ’β π,πβ πΌππ’,π A very large number
2.3.4.1.3. Variables
πΆmax = Makespan - completion time of all jobs
π‘πΎ,π = Completion time of jobs at position k, k= 0β¦n, on machine π πΏπ = Tardiness of job π
π₯π,π,π = 1 if job π is assigned to position π on machine π, 0 otherwise
π¦π’,π£,π,π = 1 if there is a setup from geometry π’ to π£ on machine π at position π ππ,β = Completion time of job at position k, k= 0β¦n, on tubing station β
29 Constraint 1 makes sure that the makespan is after all jobs on all machines are complete.
Constraint 2 calculates completion time of the job π at position π on machine π as after completion time of previous position π β 1 plus the processing time of job π on machine π plus the setup time from geometry π’ to geometry π£ on machine π, if there is a setup at that position. Constraint 3 ensures the completion time of job π at position π on machine π as after possible start time of job π after tubing station, plus processing time of job π, if job π is assigned to position π on machine π. For the set of jobs that there is no tubing, the
30
earliest start time and possible start time after tubing are equal, using constraint 4.
Constraint 5 ensures if job π is assigned to position π on machine π (notice the big M parameter becomes zero), then it must be completed at its due date or a tardiness is incurred. Constraint 6 ensures all jobs are assigned to a machine that can process that job and to a position on that machine. Constraint 7 initiates the position 0's completion time as the initial setup time of job π at position 1, job π being geometry π’. Constraint 8
ensures job π is assigned to at most one position and one machine. Constraint 9 ensures at most one job is assigned to position π on machine π. Constraint 10 ensures smaller
positions are filled first. Constraint 11 ensure that if job π, which is geometry π’, and job π, which is geometry π£, is assigned to positions π β 1 and π, then there is a setup from geometry π’ to π£. Constraint 12 calculates completion time of the job π at position π on tubing station β as after completion time of previous position π β 1 plus the tubing time of job π on tubing station β. Constraint 13 ensures the completion time of job π at position π on tubing station β as after earliest start time of job π plus tubing time of job π, if job π is assigned to position π on tubing station β. Constraint 14 ensures all jobs are assigned to a tubing station that can process that job and to a position on that station, if the job is not assigned to WAT. Start time for tubing at position 0 is zero using constrain 15.
Constraint 16 ensures job j is assigned to at most one position and one tubing station, if it is not assigned to a machine that requires tubing. Constraint 17 ensures at most one job is assigned to position π on tubing station β. Constraint 18 ensures smaller positions are filled first on tubing stations also. Constraint 19 links tubing completion time of a job to possible start time on machines that require tubing.
2.3.4.2. Relative Positional Model
31 2.3.4.2.1. Parameters
Same as above 2.3.4.2.2. Sets
ππ = Jobs that can be processed on machine π (π | β ππ’ ππ’ β ππ’π > 0)
π0π = {0} βͺ ππ Jobs that can be processed on machine π, with artificial job 0 ππΏπ = π0πβͺ {π + 1} Jobs that can be processed on machine π, with artificial final job π + 1
π0πΏπ = {0} βͺ ππ βͺ {π + 1} Jobs that can be processed on machine π, with both artificial jobs
π π = Machines that job j requires (π | β ππ’ ππ’β ππ’π > 0)
πβ = Jobs that can be processed on tubing station β (π | β ππ’ ππ’β π€π’β > 0)
π0β = {0} βͺ πβ Jobs that can be processed on station β, with artificial job 0
ππΏβ = πββͺ {π + 1} Jobs that can be processed on station β, with artificial final job π + 1
π0πΏβ = {0} βͺ πββͺ {π + 1} Jobs that can be processed on station β, with both artificial jobs
ππ = Stations that job j requires (β | β ππ’ ππ’β π€π’β > 0)
2.3.4.2.3. Variables
πΆmax = Makespan - completion time of all jobs
32
33
βπβ π0β:πβ ππ§β,π,π = ππ,β β (β β π», π β ππΏβ) (16)
π0,β = 1 β (β β π») (17)
ππ+1,β = 1 β (β β π») (18)
βββ ππππ,β = 1 β π¦πππ‘,π β (π β π½, πππ‘ β πΌππ‘) (19) ππ,ππ‘ + π β (1 β ππ,β) β₯ ππ,β β (π β π½, β β ππ, ππ‘ β πΌπ‘) (20) Constraint 1 makes sure that the makespan is after all jobs on all machines are complete.
Constraint 2 allows that if job π follows job π, completion time of job π is after
completion time of job π plus processing time of job π on machine π and setup time from geometry π’ to geometry π£ on machine π (given job π is geometry π’ and job π is geometry π£).Constraint 3 ensures the completion time of job π on machine π is after possible start time of job π after tubing plus processing time of job π, if job π is assigned to machine π.
Constraint 4 ensures that for the machine that donβt require tubing, the earliest start time and possible start time after tubing are equal because there is no tubing. Constraint 5 ensures if job π is assigned to machine π (notice the big M parameter becomes zero), then it must be completed at its due date or a tardiness is incurred. Constraint 6 assigns a successor for each job that is assigned to machine π, first job succeeds artificial job 0.
Constraint 7 assigns a predecessor for each job that is assigned to machine π, last job precedes artificial final job. Constraint 8 initiates the job 0's completion time as the initial setup time of job π following job 0, job π being geometry π’. Constraint 9 allows artificial job 0 to occur on all machines. Constraint 10 allows artificial final job to occur on all machines. Constraint 11 assigns jobs to machines that can process them. Constraint 12 allows if job π follows job 0, completion time of job π is after initial setup time
(completion time of job 0) plus processing time of job π on machine π. Constraint 13 ensures that the completion time of job π on tubing station β is after earliest start time of job π plus tubing time of job π, if job π is assigned to tubing station β. Constraint 14
34
calculates completion time of the job π on tubing station β as after completion time of previous job π plus the tubing time of job π on tubing station β. Constraint 15 assigns a successor for each job that is assigned to tubing station β, first job succeeds artificial job 0. Constraint 16 assigns a predecessor for each job that is assigned to tubing station β, last job precedes artificial final job. Constraint 17 allows artificial job 0 to occur on all tubing stations. Constraint 18 allows artificial final job to occur on all tubing stations.
Constraint 19 assigns jobs to tubing stations that can process them, if the job is not assigned to machines that donβt require tubing. Constraint 20 links tubing completion time of a job to possible start time on machines that require tubing.
2.4. Computational Study