Professional Documents
Culture Documents
Constructive Algorithms
Improvement Algorithms
Need to specify:
Given
A solution x
Modification rule R ( y=R(x) )
Jobs 1 2 3 4
wj 4 5 3 5
pj 12 8 15 9
dj 16 26 25 27
1 3 2 4
12 27 35 44
0
Jobs Cj dj Tj wj wj Tj
1 12 16 4
2 35 26 5
3 27 25 3
4 44 27 5
j wj Tj=
1 3 4 2
12 27 36 44
0
Jobs Cj dj Tj wj wj Tj
1 12 16 4
2 44 26 5
3 27 25 3
4 36 27 5
j wj Tj=
2) Change position of a job in the sequence:
1 4 3 2
12 21 36 44
Jobs Cj dj Tj wj wj Tj
1 12 16 4
2 44 26 5
3 36 25 3
4 21 27 5
j wj Tj=
Size:
Size:
Neighborhood of a Job Shop Schedule:
MC 2 3 2 1
MC 3 3 2 1
10 30 37
20
0 0 0
0
Makespan = 37
MC 1 1 2 3
MC 2 3 1 2
MC 3 3 2 1
10 20 28 30
0 0 0 0
Makespan = 28
Apply Rule 2:
MC 1 2 1 3
MC 2 3 2 1
MC 3 3 2 1
10 20 30 36
0 0 0 0
Makespan = 36
1. Interchange (3,3) and (3,2)
MC 1 2 1 3
MC 2 3 2 1
MC 3 2 3 1
10 20 30 34
0 0 0 0
Makespan = 34
Notation:
At iteration k,
Sk : Current schedule
S0 : Best schedule so far
G(Sk ): Objective function value of schedule Sk
G(S0 ): Aspiration criterion
G( S k ) G( S c )
P( Sk , Sc ) exp
k
NOTE:
1. As decreases, probability of acceptance also decreases
2. If G(Sc ) is much larger than G(Sk ), the acceptance
probability is small
STOPPING CRITERIA:
Jobs 1 2 3 4
pj 10 10 13 4
dj 4 2 1 12
wj 14 12 1 12
Genetic algorithms
require less domain knowledge
deal with codings instead of variables
BASIC ELEMENTS:
Representation
Genetic Operators
Selection and Evolution
Termination
Parameters Settings
Genetic Operators
Reproduction:
Duplicates complete strings from the individuals already in
the population
Based on fitness (evaluating functions), the ones with higher
values have higher probability to be duplicated
Crossover:
Chooses two parents and exchanges the sub-string within
them
There are many variations of this operator, such as one point,
n-points and uniform crossover
Parameter Settings
Rules:
Fitness = total weighted tardiness population size = 4
At a generation, get 2 children from the two best schedules by
pairwise adjacent interchange
Two worst schedules die
Initial population:
Population at iteration 3: