This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Slide 1
Evolution Programs for Various Discrete Problems
Slide 2
Scheduling(1/13) Example Assume there are three orders o 1 o 2
and o 3 For each order the parts and the number of units to be
produced are o 1 30 * part a o 2 45 * part b o 3 50 * part c
Slide 3
Scheduling(2/13) Each part has one or more alternative process
plans a plan # 1 a (opr 2 opr 2 opr 9 ) a plan # 2 a (opr 1 opr 3
opr 7 opr 8 ) a plan # 3 a (opr 5 opr 6 ) b plan # 1 b (opr 2 opr 6
opr 7 ) b plan # 2 b (opr 1 opr 9 )
Slide 4
Scheduling(3/13) Each operation requires some times on one or
more machines these are opr 1 (m 1 10) (m 3 20) opr 2 (m 2 20) opr
3 (m 2 20) (m 3 30) opr 4 (m 1 10) (m 2 30) (m 3 20) opr 5 (m 1 10)
(m 3 230)
Slide 5
Scheduling(4/13) opr 6 (m 1 40) opr 7 (m 3 20) opr 8 (m 1 50)
(m 2 30) (m 3 10) opr 9 (m 2 20) (m 3 40) finally each machine has
its setup time necessary for changes in operation m 1 3 m 2 5 m 3
7
Slide 6
Scheduling(5/13) However most operators (mutations crossovers)
applied to such a message would result in illegal schedules Davis
encoding/decoding strategy m 1 (40 o 3 o 1 o 2 wait idle ) This
representation guarantees a legal schedule
Slide 7
Scheduling(6/13) The operators wee problem specific (they were
derived from deterministic methods) run-idle this operator is
applied to preference lists of the machines that have been waiting
for more than an hour It inserts the idle as the second member of
the preference list and reset the first member (time) of the
preference list to 60(minutes)
Slide 8
Scheduling(7/13) scramble the operator scramble the members of
a preference list crossover the operator exchanges preference list
for selected machines The probability of run-idle was set to the
percentage of the time the machine spent waiting divided by the
total time of the simulation
Slide 9
Scheduling(8/13) TSP Davis represented an ordering as a list of
nodes and use two operators the order- based crossover and scramble
sublist mutation Even mutation which should carry out a local
modification of a chromosome seems to be problem dependent
Slide 10
Scheduling(9/13) The scramble sublist mutation selects a
sublist of nodes from a parent and scrambles it in the offspring P
= (2 4 | 7 1 4 8 | 3 5 9) may produce the offspring O = (2 4 | 4 8
1 7 | 3 5 9)
Slide 11
Scheduling(10/13) In general and for the scheduling problems in
particular this is the direction to follow to incorporate the
problem specific knowledge not only in operators but in the
chromosome structures as well
Slide 12
Scheduling(11/13) Compare three representations from the
simplest (o 1 ) (o 2 ) (o 3 ) The intermediate (o 1 plan # 1 a ) (o
2 plan # 2 b ) (o 3 plan # 3 a ) The most complex (o 1 ) (o 2 ) (o
3 )
Slide 13
Scheduling(12/13) The operators themselves must be adjusted to
suit the domain requirements The chromosome representation should
contain all the information that pertain to the optimization
problem In summary it is possible to classify all GA- based
approaches as various scheduling problems on the basis of
chromosome representations These fall into two categories
Slide 14
Scheduling(13/13) indirect representations 1. performed by a
special decoder (schedule builder) 2. these representations can be
divided into domain independent and problem-specific
representations direct representation usually this representation
requires some problem-specific operators
Slide 15
The timetable problem(1/4) example a list of teachers {T 1 T m
} a list of time intervals (hours) {H 1 H n } a list of classes {C
1 C k }
Slide 27
Partitioning objects and graphs works as follows (121333112 1 2
3) and (233514226 2 3 4 5 6) two crossing sites are selected (at
random) for each group part of the chromosomes (121333112 1 |2 3|)
and (233514226 2|3 4 |5 6) Then it becomes ( 2 2 2 1 3 1 3 2 4 2 5
2 6 2 ) After eliminating conflicts the offspring chromosome has
the following shape
Slide 28
Partitioning objects and graphs (2 2 2 1 ? 3 1 3 1 3 1 2 2 2 2
2 1 2 2 2 1 3 1 ) After translate (1 2 ? 3 3 3 1 1 2 1 2 3)
Falkenauer used the first fit descending heuristic to insert
missing objects If there is no room for the object number 3 in any
of the three bins in the above chromosome it necessary to create an
additional bin
Path planning in a mobile robot environment The Evolutionary
Navigator (EN) unifies off-line and on-line planning with a simple
map of high fidelity and an efficient planning algorithm off-line
planner search for the optimal global path from the start to the
destination on-line planner handling possible collisions or
previously unknown objects by replacing a part of the original path
by the optimal subtour
Slide 31
Path planning in a mobile robot environment The EN procedure
see p.255 Fig.11.1 FEG oFf-line Evolutionary alGorithm generates a
near-optimal global path See Fig.11.2 NEG oN-line Evolutionary
alGorithm generate local paths to deal with unexpected collisions
and objects
Slide 32
Path planning in a mobile robot environment For NEG and FEG the
difference is only the parameters they use ex. population_size
number of generation maximum length of a chromosome Note that both
EFG and NEG do global planning even if NEG usually generates a
local path it operates on the updated global map
Slide 33
Path planning in a mobile robot environment Chromosome are
ordered lists of path nodes Each of the path nodes apart from the
pointer to the next node consists of x and y coordinates of an
intermediate knot point along the path and a Boolean variable b
which indicates whether the given node is feasible or not x1x1 y1y1
b1b1 xnxn ynyn bnbn
Slide 34
Path planning in a mobile robot environment If the node is
feasible b is set to TRUE; otherwise FALSE The fitness (the total
path cost) of a chromosome p = is determined by two separate
evaluation functions (feasible and infeasible individuals)
Slide 35
Path planning in a mobile robot environment For a feasible path
p Path_Cost(p) = w d dist(p) + w s smooth(p) + w c clear(p) w d w s
w c normalize the total cost of a path dist(p) = d( m i m i+1 ) is
the distance between knot points m i and m i+1 the function dist(p)
return total length of the path p
Slide 36
Path planning in a mobile robot environment smooth(p) = max s(m
i ) where s(m i ) = i min{d( m i-1 m i ) d( m i m i+1 } The
function return the largest curvature of p at a knot point
Slide 37
Path planning in a mobile robot environment clear(p) = c i
where c i = d i if d i otherwise a(- d i ) d i is the minimum
distance between the segment (m i m i+1 ) of the path and all known
objects define a safe distance and a is a coefficient The function
returns the largest number which measures clearance between all
segments of p and the objects
Slide 38
Path planning in a mobile robot environment For an infeasible
path p Path_Cost(p) = ++ the number of intersections of the path p
with all walls of the objects average number of intersections per
infeasible segment provides the cost of the worst feasible path in
the current population
Slide 39
Path planning in a mobile robot environment crossover similar
to the classical one-point crossover widely used in GA Mutation_1
x= x - (t x-a) if r = 0 x +(t b-x) if r = 1 Mutation_2 x= x - (t
x-a) if r = 0 x +(t b-x) if r = 1
Slide 40
Path planning in a mobile robot environment insertion inserts a
new node into the existing path deletion delete a node from the
path smooth smooth a part of the path by cutting sharp turns swap
select chromosome into two parts (the splitting point is determined
at random) and swaps these parts