Title: Application of Nature Inspired Genetic Algorithms For Job Shop Scheduling
1Application of Nature Inspired Genetic Algorithms
For Job Shop Scheduling
School of Computer Science University of
Birmingham
- Bhuvan Sharma
- Research Associate
- Advanced Computation in Design and Decision
Making Group - University West of England, Bristol, UK
- bhuvan.sharma_at_uwe.ac.uk
2Aim of Presentation
- Understanding job shop scheduling
- Why Nature Inspired Algorithms
- Issues in GA, when applied to job shop problems
- Review of various approaches within GA
- Practical Problem from Rolls Royce
- My approach
3Job Shop Scheduling
Job A piece of work that goes
through series of
operations.
Shop A place for manufacturing or
repairing of goods or
machinery.
Scheduling Decision process aiming to deduce
the order of processing.
4A typical Job Shop Problem
Parameters
- Number of jobs
- Number of operations within each job
- Processing time of each operation within each
job - Machining sequence of operations within each job
Objectives
- Minimization of make span
- Minimization of cost
- Minimization of delays
5A 3 job 3 machine problem
Processing time Jobs Operations
Machining Sequence Jobs Operations
J1 6 5 3
J2 4 3 4
J3 10 5 2
J1 M1 M2 M3
J2 M1 M3 M2
J3 M3 M2 M1
6Why Nature Inspired Algorithms
GAs vs Other
methods
- Evaluation on a set of points. Better search.
- Better chances for global optimal solution.
- Suitable for Multi-objective optimisation.
- Flexibility, because constraints can be taken
care of.
- Evaluation on a point each time.
- Often terminate into local optima.
- Not suited for multi-objective optimisation.
- Not flexible, driven by heuristics, constraints
not handled easily.
7Issues in Genetic Algorithms when applied to job
shop problems
- Representation of schedule(phenotype) by suitable
- genotype.
- Conversion of genotype to phenotype
- Choice of Schedule Builder
- Type of Crossover and Mutation to be used
- Avoiding Premature convergence.
8Schedule Builder!! Whats That
J1 M1 M2 M3
J2 M1 M3 M2
J3 M3 M2 M1
J1 6 5 3
J2 4 3 4
J3 10 5 2
9Representation schemes for schedules in job shop
- Conventional Binary representation
- Job Based Representation
- Permutation Representation (Partitioned)
- Permutation Representation (Repetitive)
- Priority Rule Based Representation (Random /
- guided)
101. Binary Representation
- Genotype is binary matrix of
- Rows Number of job pairs
- Columns Number of machines
- Interpretation
- Mij 0 / 1 depending on whether
job1 - is executed later or prior to job2.
11Job 1 M1 M3 M2 Job 2 M2 M3
M1 Job 3 M2 M1 M3
(a) Machine Sequence
Job1 2 1 1 0 Job1 3 1 1 0 Job2 3
0 1 0 (b) Binary Representation
M/c 1 J1 J3 J2 M/c 2 J3 J2
J1 M/c 3 J1 J2 J3 (c) Symbolic
Representation
12Crossover
- The crossover applied is simple one point
- crossover.
Demerits
- Redundancy in representation.
- 2mj(j-1)/2 bits are required for (!j)m
schedules. - Forcing techniques required for replacement of
- illegal schedules.
132. Job Based Representation
- Typical chromosome Ji Jj Jk
- For J2 J1 J3
- All operations of job 2 folllowed by 1 and then
by 3 are scheduled in the available processing
times.
14Demerits
Merits
- Scheduling is very easy
- Always yields a feasible schedule, hence forcing
- not required.
- Approach is very constrained
- Not many possibilities are explored
153. Permutation Representation (Partitioned)
- Chromosome is set of permutation of jobs on
- each machine.
M1 M2
M3 1 3 2 3 2 1
3 1 2
Job sequence matrix for 3 X 3 problem
Cross Over (SXX)
- Subsequence Exchange Crossover
- Searches for exchangeable subsequence pairs
- in parents, and swaps them.
16Subsequence Exchange Crossover
M1 M2
M3 P0 1 2 3 6 4 5 3 2 1 5 6 4 2 3
5 6 1 4 P1 6 2 1 3 4 5 3 2 6 4 5 1 6
3 5 4 2 1 C0 2 1 3 4 6 5 3 2 5 1 6 4
2 6 3 5 1 4 C1 6 1 2 3 4 5 3 2 6 4
1 5 3 5 6 4 2 1
17Merits
- GA operators used for TSP can be applied here
- Simple representation
- Does not always give active schedules
- Robust Schedule builder is required
- SXX does not always guarantee a crossover
184. Permutation Representation (Repetitive)
- Also known as operation based representation
- Typical genotype is a unpartitioned permutation
- with m repetitions for each job.
1 2 2 3 1 3 2
1 3 M1 1
3 2 M2 2 3
1 M3 2 1
3
19Crossover (PPX)
- Precedence Preservation Crossover (PPX)
- The offspring inherits partial characteristic
- of both parents
P0 3 2 2 3 1 1 3 1 2
0 1 1 1 0 0 1 0 1 P1
2 3 3 2 1 3 1 1 2 C1 3 2
3 2 1 1 3 1 2
20Merits
- Very simple representation
- All decoding leads to active schedules
- Schedule building is straightforward
- Crossover results in passing of characteristics
from - both parents in most cases.
Demerits
- Problem of Premature convergence
- This is often case with long chromosomes
215. Priority(Random/Guided)Rule Based
Representation
Characteristics
- Use of GT Algorithm, with one of priority rule
- used in ith iteration to select ith operation
- Priority rules could be assigned randomly, or
- guided by heuristics.
Representation
- SPT, LPT, MTPT, LTPT, MLFT, ..
22Crossover
- Both PPX and SXX can be used
Merits
- Always give feasible active schedules
- Incorporates heuristics to an extent
Demerits
- Problem of fast, premature convergence of
- first few genes in the chromosome
23Practical Problem from Rolls Royce
Parameters
- 17 batches of jobs
- 10 operations per job
- 4 identical machines, each can perform any
- operation subject to tool set
Constraints
- Only one tool-set for each operation
- Opn. 2 must not begin until opn 1 is complete
- Opn 3-9 can be performed in any sequence
- Opn 10 should be the last for each batch of job
24Basic Scenario
Operation Time (min)
1 120
2 288
Leave Shop 24hrs
3 180
4 90
5 288
6 120
7 60
8 60
9 90
Leave Shop 24 hrs
10 60
25My Approach
Representation
- Permutation based
- The catch here is that it is permutation of
machines - not jobs
- For eg. 3 5 9 6 7 4 8 10
Crossover
- Precedence Preservation Crossover (PPX)
26Start with heuristics
Select a set of jobs out of 17 to process first.
(random)
Schedule builder
- Identify conflicting set of jobs
- Selection of one from conflicting set based on
- one of heuristic priority rules
- Change toolset for machine as it finishes
requisite - jobs. Change is guided by time factor.
27(No Transcript)