Sei sulla pagina 1di 33

A

SEMINAR ON
GENETIC ALGORITHM FOR
PARALLEL JOB SHOP
SCHEDULING
SURESH GYAN VIHAR UNIVERSITY
Session December 2011
PRATEEK VERMA
III SEM
MFG. AND IND. ENGG.

Aim of Presentation

Understanding job shop scheduling


Previous Approaches
Need of Evolutionary Algorithm
Genetic algorithm
An Example

Job shop scheduling

Job

A piece of work that goes through series of


operations.j1 ,j2jn
:
A place for manufacturing or repairing of
goods or machinery.M1, M2 , Mm

Shop

Scheduling : Decision process aiming to deduce the


order of processing., Makespan Total
Processing time , etc.

Job Shop Problems

Minimize total tardiness,


Minimize the number of late jobs,
Maximize system/resource utilization,
Minimize in-process inventory,
Parallel Machine scheduling

Classes of search techniques


Search techniques
Calculus-based techniques
Direct methods

Finonacci

Guided random search techniques

Indirect methods

Newton

Evolutionary algorithms

Simulated annealing

Enumerative techniques
Dynamic programming

Evolutionary strategies Genetic algorithms

Parallel
Centralized

Sequential

Distributed Steady-state Generational

Previous Approaches

Branch-and-bound
Lagrangian relaxation
Local Search

Branch and Bound Method

Exhaustive, using search tree.

Making step-by-step completion.

Bound

First found solutions makespan becomes bound.


If a better solution is found, update bound.
If partial solution is worse than bound, abandon the path.

Local search

Hillclimbing

Threshold algorithm

Allow non-improving step. E.g. simulated annealing.

Tabu search

Improving solution by searching among current solutions neighbors.


Local Minima.

Maintain list of acceptable neighbors.

Shifting bottleneck

Schedule one machine at a time, select bottleneck first.

Genetic Algorithm

A class of probabilistic optimization


algorithms
Inspired by the biological evolution process
Inspired by Darwin's theory of evolution
(i.e., survival of the fittest),
Originally developed by John Holland
(1975)

EVOLUTION

Heres a very oversimplified description of how evolution works


in biology
Organisms (animals or plants) produce a number of offspring
which are almost, but not entirely, like themselves

Some of these offspring may survive to produce offspring of their


ownsome wont

Variation may be due to mutation (random changes)


Variation may be due to sexual reproduction (offspring have some
characteristics from each parent)

The better adapted offspring are more likely to survive


Over time, later generations become better and better adapted

Genetic algorithms use this same process to evolve better


programs
10

Basic GA Operators

Initialization
Selection
Recombination(Crossover)
Mutation
Termination
Fitness function

11

Genetic algorithm flow chart

12

GA Operators

Individual solutions are represented by chromosomes.

Fitness function.

Representation scheme is needed.


Initially randomly generated to form an initial population

How to evaluate an individual.

Recombination or crossover

How two parent individuals exchange characteristics to


produce offspring.
A random point is chosen on the individual chromosomes .
13

Crossover methods

(a)Single Point Crossover-

A random point is chosen on the individual


chromosomes genetic material exchanged at this point.

14

Crossover methods

Two-Point Crossover

Two random points are chosen on the individual


chromosomes (strings) and the genetic material is
exchanged at these points.

15

Crossover methods

Uniform crossover

16

Genetic Algorithm

Recombination

How two parent individuals exchange


characteristics to produce offspring.
Need to produce valid offspring, or
have repair mechanism.

Termination Criteria

E.g. number of generations, diversity


measures.

A really simple example


Randomly generate a population of solution

10

Fig .Genome representation

18

Crossover

Crossover
The splitting can be done any where not necessarily b/w lines
Repeated till valid solution found
Line 1

Parent 1

Line 3

Line 2

10

Parent 2

10

Child 1

10

Child 2

10

Fig. Uniform Crossover


19

A more realistic example, part II

Mututation
Line 1
8

Line 2
10

Line 3
6

Reverse
8

10

Fig .Mutation

20

A more realistic example, part III


Setup time matrix
Jobs

J1

J2

J3

J4

J5

J6

J7

J8

J9

J10

J1

--

11

10

J2

10

J3

11

J4

11

12

J5

11

11

14

13

J6

11

14

12

J7

12

11

11

13

J8

13

14

13

14

15

J9

11

10

J10

15

10

s12 represents the set up time if J1 is processed after J2


s13 represents the set up time if J1 is processed after

21

Jobs

J1

J2

J3

J4

J5

J6

J7

J8

J9

J10

M1

M2

M3

L1

12

14

16

L2
L3
L1
L2
L3
L1
L2
L3
L1
L2
L3
L1
L2
L3
L1
L2
L3
L1
L2
L3
L1
L2
L3
L1
L2
L3
L1
L2
L3

23
20
16
13
15
10
11
24
21
19
14
9
11
11
16
13
9
6
13
21
22
7
12
16
10
15
9
11
11

22
19
17
15
22
25
21
21
18
14
9
12
16
21
22
17
23
21
13
14
19
7
11
21
23
21
25
17
18

10
11
9
16
22
25
13
12
17
8
17
10
19
21
24
22
20
10
18
12
17
21
8
20
22
21
20
21
16

22

Result & discussion


Result for the Sample Problem
Iteration

25

50

75

125

Lines

Sequence

L1
L2
L3
L1
L2
L3
L1
L2
L3
L1
L2
L3
L1
L2

2-3-5-10
8-6-1
9-7-4
9-6-8-3
5-7-2
4-1-10
3-4-5-7
2-9-6
8-10-6
5-9-1-6
7-3-2
8-10-4
5-9-1-6
7-3-2
8-10-4

L3

Makespan

1775

1665

1512

1512

1512
23

The example continued

24

Comparison of simple examples

25

Curve fitting with sexual reproduction

26

Directed evolution

27

Probabilistic matching

28

Genetic programming

29

Shrinking the search space

30

Programs as trees

31

Concluding remarks

32

The End

33

Potrebbero piacerti anche