Heuristics

advertisement
General Purpose Procedures
Applied to Scheduling
Contents
Constructive approach
1. Dispatching Rules
Local search
1. Simulated Annealing
2. Tabu-Search
3. Genetic Algorithms
1
Literature
1. Operations Scheduling with Applications in Manufacturing
and Services, Michael Pinedo and Xiuli Chao, McGraw Hill, 2000,
Chapter 3.1 and 3.2.
or
Scheduling, Theory, Algorithms, and Systems, Second Addition,
Michael Pinedo, Prentice Hall, 2002, Chapter 14.1
2. Modern Heuristic Techniques for Combinatorial Problems,
(Ed) C.Reeves 1995, McGraw-Hill. Chapter 2.2.1.
2
Constructive procedures:
1. Dispatching Rules
2. Composite Dispatching Rules
3. Dynamic Programming
4. Integer Programming
5. Branch and Bound
6. Beam Search
Local Search
1. Simulated Annealing
2. Tabu-Search
3. Genetic Algorithms
Heuristic technique is a method which seeks good (i.e. near-optimal
solutions) at a reasonable cost without being able to guarantee
optimality.
3
Dispatching Rules
A dispatching rule prioritises all the jobs that are waiting for
processing on a machine.
Classification
• Static: not time-dependent
• Dynamic: time dependent
• Local: uses information about the queue where the job is waiting or
machine where the job is queued
• Global: uses information about other machines
(e.g. processing time of the jobs on the next machine on its route, or
the current queue length
4
Rule
Service in random order
SIRO
Earliest release date first
ERD
Data
Objectives
ease of implementation
rj
Earliest due date first EDD
Minimum slack first
max(dj-pj-t, 0)
Weighted shortest
processing time first
WSPT
wj / pj
Longest processing time
first LPT
Shortest setup time first
SST
Least flexible job first LFJ
Critical path CP
Largest number of
sucessors LNS
Shortest queue at the next
machine SQNO
dj
dj, pj
minimise variation of the
waiting times of jobs at a
machine
minimise lateness
minimise due date
related objectives
minimise weighted sum of
completion times
wj, pj
pj
sjk
load balancing over
parallel machines
makespan
Mj
pj, precedence
pj, precedence
makespan
makespan
makespan
machine idleness
5
Local Search
Step. 1. Initialisation
k=0
Select a starting solution S0S
Record the current best-known solution by setting Sbest = S0
and best_cost = F(Sbest)
Step 2. Choice and Update
Choose a Solution Sk+1N(Sk)
If the choice criteria cannot be satisfied by any member of N(Sk),
then the algorithm stops
if F(Sk+1) < best_cost then Sbest = Sk+1 and best_cost = F(Sk+1)
Step 3. Termination
If termination conditions apply
then the algorithm stops
else k = k+1 and go to Step 2.
6
• Global Optimum: better than all other solutions
• Local Optimum: better than all solutions in a certain neighbourhood
7
1.
2.
3.
4.
Schedule representation
Neighbourhood design
Search process
Acceptance-rejection criterion
1. Schedule representation
Nonpreemptive single machine schedule
• permutation of n jobs
Nonpreemptive job shop schedule
• m consecutive strings, each representing a permutation of
n operations on a machine
8
2. Neighbourhood design
Single machine:
• adjacent pairwise interchange
• take an arbitrary job in the schedule and insert it in
another positions
Job shop:
• interchange a pair of adjacent operations on the critical path
of the schedule
• one-step look-back interchange
9
• current schedule
machine h
(h, l)
(h, k)
(i, j)
machine i
(i, k)
• schedule after interchange of (i, j) and (i, k)
machine h
(h, l)
(h, k)
(i, k)
machine i
(i, j)
• schedule after interchange of (h, l) and (h, k)
machine h
machine i
(h, k)
(h, l)
(i, k)
(i, j)
10
3. Search process
• select schedules randomly
• select first schedules that appear promising
for example, swap jobs that affect the objective the most
4. Acceptance-rejection criterion
probabilistic: simulated annealing
deterministic: tabu-search
11
Download