Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evolution Programs for Various Discrete Problems 報告者:王 敬 育.

Similar presentations


Presentation on theme: "Evolution Programs for Various Discrete Problems 報告者:王 敬 育."— Presentation transcript:

1 Evolution Programs for Various Discrete Problems 報告者:王 敬 育

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

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 )

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)

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

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 。

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)

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

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

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)

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

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 )

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 :

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

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 }

16 The timetable problem(2/4) The most nature chromosome representation of a potential solution of the timetable problem is a matrix representation : a matrix (R) ij (1 ≤ i ≤ m , and 1 ≤ j ≤ n) The following genetic operators were used : mutation of order k : select two contiguous sequences of k elements from the same row in the matrix R and swaps them

17 The timetable problem(3/4) day mutation : a special case of the previous one : is selects two groups of columns (hours) of the matrix R which correspond to different days and swap them

18 The timetable problem(4/4) crossover : two matrices R 1 and R 2 , the operator sorts the rows of decreasing values of a so-called local fitness function and the best b rows are taken as a building block; the remaining m – b rows are taken from the matrix R 2

19 Partitioning objects and graphs partitioning n objects into k categories : ex. bin packing problem , graph coloring problem , etc… An interesting approach to the partitioning problem is presented by Bon Laszewski , he encodes partitions using group-number encoding , i.e.. partitions are represented as n-strings of integer numbers , (i 1 …i n )

20 Partitioning objects and graphs Where the j-th integer i j {1…k} indicates the group number assigned to object j 。 This representation is supported by “intelligent structural operators” : structural crossover and structural mutation 。 structural crossover : Ex. p 1 = (112311232233) , p 2 = (112123122333)

21 Partitioning objects and graphs These string decode into the following partitions : p1 : {1 , 2 , 5 , 6} , {3 , 7 , 9 , 10} , {4 , 8 , 11 , 12} p2 : {1 , 2 , 4 , 7} , {3 , 5 , 8 , 9} , {6 , 10 , 11 , 12} From the view of “element” , that means : p1 : {1 , 1 , 1 , 1} , {2 , 2 , 2 , 2} , {3 , 3 , 3 , 3}

22 Partitioning objects and graphs First , a random partition is chosen : say , partition #2 。 This partition is copied from p 1 into p 2 : P 2 = (112123222233) The copying process usually destroys the requirement of equal partition sizes , hence we apply a repair algorithm 。 P 2 = (1121*32*2233)

23 Partitioning objects and graphs and replaced (randomly) by numbers of other partition , which were overwritten in the copying step 。 Thus the final offspring might be P 2 = (112133212233)

24 Partitioning objects and graphs structural mutation : a parent : P = (112133212233) may produce the following offspring (the number on positions 4 and 6 are swapped) : P’ = (112331212233)

25 Partitioning objects and graphs Falkenauer proposed so-called Grouping Genetic Algorithm (GGA) to deal with a variety of grouping (partitioning ) problems consists of two parts : object part and group part The object part uses the group-number encoding : it consistof n-strings of integer numbers where the j-th integer i j {1…k} indicates the group number assigned to object j

26 Partitioning objects and graphs The group part is of variable length and represents only groups 。 Ex. (1 2 1 3 3 3 1 1 2 : 1 2 3) group number 1 : {1 , 3 , 7 , 8} group number 2 : {2 , 9} group number 3 : {4 , 5 , 6} Follow above , for the bin packing problem , the proposed Bin Packing Crossover Operator BPCX

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 :

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 :

29 Partitioning objects and graphs (1 2 4 3 3 3 1 1 2 : 1 2 3 4)

30 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

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

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

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

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)

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

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

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

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

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

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


Download ppt "Evolution Programs for Various Discrete Problems 報告者:王 敬 育."

Similar presentations


Ads by Google