8/13/2019 Job Shop SchedulingGA Modifi
1/48
Genetic Algorithms ForJob Shop Scheduling
8/13/2019 Job Shop SchedulingGA Modifi
2/48
Scheduling
Scheduling: Establishes the timing of theuse of equipment, facilities and humanactivities in an organization
8/13/2019 Job Shop SchedulingGA Modifi
3/48
Scheduling
Effective scheduling can yield Cost savings
Increases in productivity
Improved customer satisfaction
8/13/2019 Job Shop SchedulingGA Modifi
4/48
Measures to EvaluatePerformance of a Scheduling
Method Job Flow Time: Time elapsed from the
release of a job until it is completed.
Lateness: Difference between completiontime and due date of a job (may benegative).
Tardiness: The positive difference betweenthe completion time and the due date of a
job. Makespan: Flow time of the job completed
last.
8/13/2019 Job Shop SchedulingGA Modifi
5/48
Job 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.
8/13/2019 Job Shop SchedulingGA Modifi
6/48
Job Shop Scheduling
J M JSSP: J jobs with M machines. Each job has M operations, each operation
requires a particular machine to run. A job j visits in a specified sequence a
subset of the machines
Precedence Constraint; each job has exactordering of operations to follow. Non-preemptible.
8/13/2019 Job Shop SchedulingGA Modifi
7/48
A typical Job Shop Problem
ObjectivesMinimization of make span
Minimization of cost
Minimization of delays
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
8/13/2019 Job Shop SchedulingGA Modifi
8/48
Job Shop
8/13/2019 Job Shop SchedulingGA Modifi
9/48
Job Shop
set of n jobs which is to be processed on a set of m machines
8/13/2019 Job Shop SchedulingGA Modifi
10/48
Job Shop
8/13/2019 Job Shop SchedulingGA Modifi
11/48
Disjunctive graph
The JSSP can be formally described by adisjunctive graph G = (VC UD ), where
V is a set of nodes representing operationsof the jobs together with two special nodes,a source (0) and a sink * , representing the
beginning and end of the schedule,respectively.
8/13/2019 Job Shop SchedulingGA Modifi
12/48
Disjunctive graph
C is a set of conjunctive arcs representingtechnological sequences of the operations.
D is a set of disjunctive arcs representing pairs of operations that must be performedon the same machines.
The processing time for each operation isthe weighted value attached to thecorresponding nodes.
8/13/2019 Job Shop SchedulingGA Modifi
13/48
8/13/2019 Job Shop SchedulingGA Modifi
14/48
Disjunctive graph
The processing of job Jj on machine Mr is called the operation Ojr .
Operation Ojr requires the exclusiveuse of Mr for an uninterrupted duration
pjr , its processing time.
8/13/2019 Job Shop SchedulingGA Modifi
15/48
Disjunctive graph
Job-shop scheduling can also be viewed asdefining the ordering between all operations
that must be processed on the samemachine, i.e. to fix precedences betweenthese operations.
In the disjunctive graph model, this is done by turning all undirected (disjunctive) arcsinto directed ones.
8/13/2019 Job Shop SchedulingGA Modifi
16/48
Disjunctive graph
A selection is a set of directed arcs selectedfrom disjunctive arcs.
A selection is complete if all thedisjunctions are selected.
It is consistent if the resulting directedgraph is acyclic.
8/13/2019 Job Shop SchedulingGA Modifi
17/48
8/13/2019 Job Shop SchedulingGA Modifi
18/48
Disjunctive graph
path P is called a critical path and iscomposed of a sequence of critical
operations . A sequence of consecutive critical
operations on the same machine is called a critical block .
8/13/2019 Job Shop SchedulingGA Modifi
19/48
Disjunctive graph
The distance between two schedules S and Tcan be measured by the number of
differences in the processing order ofoperations on each machine
It can be calculated by summing the
disjunctive arcs whose directions aredifferent between S and T . This distance thedisjunctive graph (DG) distance
8/13/2019 Job Shop SchedulingGA Modifi
20/48
8/13/2019 Job Shop SchedulingGA Modifi
21/48
Active schedules
An optimal schedule is clearly active so it issafe and efficient to limit the search space to
the set of all active schedules. An active schedule is generatedby the GT
algorithm proposed by Giffler and
Thompson which is described in Algorithm
8/13/2019 Job Shop SchedulingGA Modifi
22/48
Disjunctive graph
In the algorithm, the earliest starting time ES (O) and earliest completion time EC (O)
of an operation O denote its starting andcompletion times when processed with thehighest priority among all currently
schedulable operations on the samemachine.
8/13/2019 Job Shop SchedulingGA Modifi
23/48
Disjunctive graph
An active schedule is obtained by repeatingthe algorithm until all operations are
processed.
8/13/2019 Job Shop SchedulingGA Modifi
24/48
8/13/2019 Job Shop SchedulingGA Modifi
25/48
Disjunctive graph
8/13/2019 Job Shop SchedulingGA Modifi
26/48
A 3 job 3 machine problem
J1 M1 M2 M3
J2 M1 M3 M2
J3 M3 M2 M1
Machining Sequence
Jobs Operations
Processing time
Jobs Operations
J1 6 5 3
J2 4 3 4
J3 10 5 2
8/13/2019 Job Shop SchedulingGA Modifi
27/48
Why Nature Inspired Algorithms
Evaluation on a set of points. Better search.
Better chances for globaloptimal solution.
Suitable for Multi-objective optimisation.
Flexibility, becauseconstraints can be taken
care of.
Evaluation on a pointeach time.
Often terminate intolocal optima.
Not suited for multi-objective optimisation.
Not flexible, driven byheuristics, constraints
not handled easily.
GAs vs Other methods
8/13/2019 Job Shop SchedulingGA Modifi
28/48
Issues in Genetic Algorithms when
applied to job shop problemsRepresentation of schedule(phenotype) by suitablegenotype.
Conversion of genotype to phenotype
Choice of Schedule Builder
Type of Crossover and Mutation to be used
Avoiding Premature convergence.
8/13/2019 Job Shop SchedulingGA Modifi
29/48
Schedule 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
8/13/2019 Job Shop SchedulingGA Modifi
30/48
Representations of JSSP
Direct Chromosome represents a schedule.
e.g. list of starting times. Indirect
A chromosome represents a scheduling
guideline. e.g. list of priority rules, job permutation with
repetition. Risk of false competition
8/13/2019 Job Shop SchedulingGA Modifi
31/48
Priority Rules
First come, first served (FCFS) Last come, first served (LCFS) Earliest due date (EDD) Shortest processing time (SPT) Longest processing time (LPT) Critical ratio (CR):
(Time until due date)/(processing time) Slack per remaining Operations (S/RO)
Slack /(number of remaining operations)
8/13/2019 Job Shop SchedulingGA Modifi
32/48
Indirect Representations
Binary representation Each bit represent orientation of a
disjunctive arc in the disjunctive graph. Job permutation with repetition
Indicate priority of a job to break conflictin GT.
3 3 2 2 1 2 3 1 1
8/13/2019 Job Shop SchedulingGA Modifi
33/48
Indirect Representations (cont.)
Job sequence matrix Similar to permutation, but separated to each
machine.
8/13/2019 Job Shop SchedulingGA Modifi
34/48
JSSP-specific Crossover
Operators Chromosome level
Work directly on chromosomes.
Schedule level Work on decoded schedules, not directly
on chromosomes. Not representation-sensitive
8/13/2019 Job Shop SchedulingGA Modifi
35/48
Chromosome-level Crossover
Subsequence Exchange Crossover (SXX) Job sequence matrix representation. Search for exchangeable subsequences, then
switch ordering. Job-based Ordered Crossover (JOX)
Job sequence matrix representation. Separate jobs into two set, derive ordering
between one set of job from a parent
8/13/2019 Job Shop SchedulingGA Modifi
36/48
Chromosome-level Crossover
(cont.) Precedence Preservative Crossover (PPX)
Permutation with repetition representation.
Use template.
Order-based Giffler and Thompson (OBGT) Uses order-based crossover and mutation
operators, then use GT to repair the offspring
8/13/2019 Job Shop SchedulingGA Modifi
37/48
Schedule-level Crossover
GT Crossover Use GT algorithm.
Randomly select a parent to derive prioritywhen breaking conflict. Time Horizon Exchange (THX)
Select a point in time, offspring retain orderingof operations starting before that point from one
parent, the rest from another.
8/13/2019 Job Shop SchedulingGA Modifi
38/48
8/13/2019 Job Shop SchedulingGA Modifi
39/48
1. Binary Representation
Genotype is binary matrix ofRows = Number of job pairs
Columns = Number of machines
InterpretationM ij = 0 / 1 depending on whether job1is executed later or prior to job2.
8/13/2019 Job Shop SchedulingGA Modifi
40/48
Crossover
The crossover applied is simple one point
crossover.
DemeritsRedundancy in representation.
2mj(j-1)/2 bits are required for (!j) m schedules.
Forcing techniques required for replacement of
illegal schedules.
Forcing means the replacement of the original stringwith a feasible one.
8/13/2019 Job Shop SchedulingGA Modifi
41/48
2. Job Based RepresentationTypical chromosome [ J i J j Jk ]
For [ J 2 J1 J3 ]
All operations of job 2 folllowed by 1 and then by 3are scheduled in the available processing times .
8/13/2019 Job Shop SchedulingGA Modifi
42/48
Demerits
Approach is very constrained Not many possibilities are explored
Merits
Scheduling is very easyAlways yields a feasible schedule, hence forcing
not required.
8/13/2019 Job Shop SchedulingGA Modifi
43/48
3. 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
Cross Over (SXX)Subsequence Exchange Crossover
Searches for exchangeable subsequence pairs
in parents, and swaps them.
Job sequence matrix for 3 X 3 problem
8/13/2019 Job Shop SchedulingGA Modifi
44/48
Subsequence Exchange Crossover
M1 M2 M3
P0
1 2 3 6 4 5 3 2 1 5 6 4 2 3 5 6 1 4
P 1 6 2 1 3 4 5 3 2 6 4 5 1 6 3 5 4 2 1
C 0 2 1 3 4 6 5 3 2 5 1 6 4 2 6 3 5 1 4
C 1 6 1 2 3 4 5 3 2 6 4 1 5 3 5 6 4 2 1
8/13/2019 Job Shop SchedulingGA Modifi
45/48
Merits
Demerits
GA operators used for TSP can be applied here
Simple representation
Does not always give active schedules
Robust Schedule builder is requiredSXX does not always guarantee a crossover
8/13/2019 Job Shop SchedulingGA Modifi
46/48
4. 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
8/13/2019 Job Shop SchedulingGA Modifi
47/48
8/13/2019 Job Shop SchedulingGA Modifi
48/48
MeritsVery simple representation
All decoding leads to active schedules
Schedule building is straightforward
Crossover results in passing of characteristics from
both parents in most cases.
DemeritsProblem of Premature convergence