For all generations |
For the population |
For all chromosomes |
to |
to |
If Gene(i)Machine == Gene(j)Machine → (inter-machine interchange) |
If → (adjacent jobs) (Figure 5) |
; ; ; |
If & Gene(i)Machine == Gene()Machine |
→ (“a” on Figure 5) |
If ∥ Gene(i)Machine != Gene()Machine → (Gene(i)Job is the first job on Gene(i)Machine) |
→ (“b” on Figure 5) |
If & Gene(j)Machine == Gene()Machine |
→ (“c” on Figure 5) |
If |
Let to interchange Gene(i)Job and Gene(j)Job on the schedule |
Calibrate random key numbers → (Section 4.2.2, item “i”) |
If → (non-adjacent jobs) (Figure 6) |
; |
If & Gene(i)Machine == Gene()Machine |
|
|
If ∥ Gene(i)Machine != Gene()Machine → (Gene(i)Job is the first job on Gene(i)Machine) |
|
|
If & Gene(j)Machine == Gene()Machine |
|
If |
Let to interchange Gene(i)Job and Gene(j)Job on the schedule |
Calibrate random key numbers → (Section 4.2.2, item “i”) |
If Gene(i)Machine != Gene(j)Machine → (intra-machine exchanging) (Figure 7) |
; = 0; = 0; |
a = CT_Gene(i)Machine + |
If & Gene(i)Machine == Gene()Machine |
|
If ∥ Gene(i)Machine != Gene()Machine → (Gene()Job is the first job on Gene(i)Machine) |
|
If Gene(i)Machine == Gene()Machine |
− |
b = CT_Gene(j)Machine + |
If Gene(j)Machine == Gene()Machine |
|
If Gene(j)Machine ! = Gene()Machine |
→ (Gene(j)Job is the first job on Gene(j)Machine) |
If & Gene(j)Machine == Gene()Machine |
= − |
|
|
= Max(CT_Gene(i)Machine; CT_Gene(j)Machine) |
=Max() |
If < |
Let to exchange Gene(i)Job and Gene(j)Job on the schedule |
Calibrate random key numbers → (Section 4.2.2, item “ii”) |