200 likes | 404 Views
스케줄 이론 Ch 4 Heuristic Method. 1. Introduction. Heuristic Procedure Capable of obtaining good solutions with limited computational effort. We need a measure for performances of heuristic procedures. Procedures based on Local Search: Simulated Annealing Tabu-search Genetic Algorithm
E N D
스케줄 이론 Ch 4 Heuristic Method
1. Introduction • Heuristic Procedure • Capable of obtaining good solutions with limited computational effort. • We need a measure for performances of heuristic procedures. • Procedures based on Local Search: • Simulated Annealing • Tabu-search • Genetic Algorithm • Neighborhood search (Adjacent Pair-wise Interchange, One-step look-back, Multi-step look-back, One-step look-ahead, Multi-step look-ahead)
2. Dispatching and Construction Procedures • Sorting • The use of a ranking scheme where the relative ranking of two jobs does not change with time. Static priorities • Dispatching • A procedure that uses a decision rule to select the next job when the machine becomes free. • Include dynamic sorting rules • Example: At time t t=0 t=3
2. Dispatching and Construction Procedures • Construction • A procedure where a schedule is built from scratch, normally adding a job(s) to the schedule one at a time. (but not necessarily adding jobs in order from earliest to latest) • Greedy procedure: T-problem • O(n2) • Insertion procedure • {1, 2} 에서 1-2, 2-1 중 (2, 1) 선택 • 3을 삽입 3-2-1, 2-3-1, 2-1-3 중 (2, 3, 1) 선택 • … • O(n3) • Table1. Comparison of heuristic algorithm(p. 4.5)
3. Neighborhood Search • Neighborhood • ⓐ Initial seed (Initial trial solution) • ⓑ Neighborhood generating mechanism • Adjacent pair-wise interchange n-1 • Pair-wise interchange • Last job inserted to previous jobs n-1 • ⓒ New seed selection rule (Only one, or search all possible improvements) • Neighborhood Search Procedure: • ① A trial solution • ② Generate and compare neighborhood solutions and find new trial solution • ③ Go to ② until no new trial solution is possible • Example (p. 4.7) Example: p 4.5
3. Neighborhood Search • Neighborhood Search Descent technique • Fig. Improvement of the objective function in Neighborhood Search • 단점: Trapped at local optima Objective Function Seed Number
4. Tabu-Search • A modified form of neighborhood search • Do not stop even when a local optimum is encountered • Move: Change from one schedule (solution, seed) to another • Neighborhood definition • Search the candidate • Tabu move: A move back to the previous seed (schedule, solution) • Tabu-list: A list of tabu moves • Fixed number of entries (5~9) • To avoid cycling • Mutations: • Every time a move is made thru a mutation in the current schedule, the reverse mutation is entered at the top of the Tabu-list. • Basic difference: Mechanism used for approving candidate moves • Simulated Annealing: Probabilistic • Tabu Search: Deterministic by a Tabu-List
4. Tabu-Search • Algorithm(Tabu-Search) • Step 1: • Step 2: • Step 3: • Increment k by 1 • If k=K, then stop; otherwise, go to Step 2.
4. Tabu-Search • (Example) • Single machine sum of the weighted tardiness problem( ) • Neighborhood: Adjacent Pair-wise Interchange • Tabu-list: a list of pairs of jobs (j, k) that swapped within the last two moves and cannot be swapped again. • Initial Tabu-list; empty
4. Tabu-Search • Iteration 1: • Neighborhood: 3 schedules • (1,2,4,3): 480 • (2,4,1,3): 436 • (2,1,3,4): 652 • Selection of the best non-Tabu sequence • Tabu-list: {(1,4)} • Iteration 2: • Neighborhood: 3 schedules • (4,2,1,3): 460 • (2,1,4,3): 500 Tabu • (2,4,3,1): 608 • The First move results in a schedule worse than the best schedule so far. Nevertheless • Tabu-list: {(2,4), (1,4)}
4. Tabu-Search • Iteration 3: • Neighborhood: 3 schedules • (2,4,1,3): 436 Tabu • (4,1,2,3): 440 • (4,2,3,1): 632 • Tabu-list:{(1,2),(2,4)} ( max. length of Tabu-list=2 in this case) • Iteration 4: • Neighborhood: 3 schedules • (1,4,2,3): 408 • (4,2,1,3): 460 Tabu • (4,1,3,2): 586 • Tabu-list:{(1,4),(1,2)} • Actually, S5 is a global optimum, but tabu-search, being unaware of this fact, continues. • Stop only when K reaches.
5. Simulated Annealing • (Definition) • First developed as a simulation model for describing the physical annealing process for condensed matter.
5. Simulated Annealing • Algorithm(Simulated Annealing) • Step 1: • Step 2: • Step 3: • Effectiveness depends on • The design of the neighborhood • Search policy: Randomly or in an Organized way.
6. Genetic algorithms • More general and abstract • Individuals (Chromosomes): Sequences or schedules • Population: Constant size • Fitness: f (Obj. fn.) • Generation: Iteration • Consists of surviving individuals of the previous generation and new solutions(Children). • Children generation Reproduction and mutation of individuals that are a part of the previous generation(Parents). • Chromosome consists of sub-chromosomes containing the information regarding job sequence. • Mutation in a parent chromosome Adjacent pair-wise interchange • Fittest individual reproduces and the least fit dies.
6. Genetic algorithms • Algorithm(Genetic Algorithms) • Step 1: • Step 2: • Step 3: • Increment k by 1 • If k=K, then stop; otherwise, go to Step 2.
6. Genetic algorithms • (Example) The same data with previous Tabu-Search example • 1st Generation • 3 individuals are selected at random • 4,1,3,2 reproduces 4,3,1,2 with random swap and 3,4,1,2 dies. • 2nd Generation • 4,1,3,2 reproduces 1,4,3,2 with random swap and 4,3,1,2 dies. • 3rd Generation • 1,4,3,2 reproduces 1,4,2,3 with random swap and 2,1,3,4 dies. • 4th Generation
7. Filtered Beam Search • Adaptation of B&B • Only the most promising nodes at level k are selected as nodes to branch from. • Beam width of the search: # of nodes retained • Filter width: # of nodes selected for a thorough search • Crude prediction Thorough evaluation • (Crude prediction) • Contribution of the partial schedule to the objective • Due-date tightness or other statistic of the jobs remaining to be scheduled • The nodes are compared and overall assessment are made. • (Thorough evaluation) • All the jobs not yet scheduled are scheduled using a composite dispatching rule • Indication of promise of the node • Nodes may be filtered out • Retained nodes may be analyzed more thoroughly by having all its remaining jobs scheduled with the composite dispatching rule • The value of this schedule's objective - upper bound on the best schedule among the offspring of that node.
7. Filtered Beam Search • (Example) The same data with previous Tabu-Search example • Beam width =2 • No filtering mechanism • Prediction: ATC(Apparent tardiness cost: Combination of WSPT and MS) rule • Highest ranking index first • Due-date tightness factor • Due-date range factor • Look-ahead parameter: k =5
7. Filtered Beam Search • (Level 1) • (1, *, *, *) 1,4,2,3 : 408 by ATC rule - Retained • (2, *, *, *) 2,4,1,3 : 436 by ATC rule - Retained • (3, *, *, *) 3,4,1,2 : 814 by ATC rule • (4, *, *, *) 4,1,2,3 : 440 by ATC rule • (Level 2) • From (1, *, *, *) • (1, 2, *, *) • (1, 3, *, *) • (1, 4, *, *) - Retained • From (2, *, *, *) • (2, 1, *, *) • (2, 3, *, *) • (2, 4, *, *) - Retained • (Level 3) • (1, 4, 2, 3) - Best( Optimal ) • (1, 4, 3, 2) • (2, 4, 1, 3) • (2, 4, 3, 1)
8. Random Sampling • K samples 일 경우, 총 가능해의 수 = • (Terminology) Biased Random Sampling • At each stage, each job has unequal chance to be selected. • (e.g.) higher selection probability for first job in EDD sequence or SPT sequence.⇒ 모두 combinatorial problem이기 때문에 마지막 수단으로 등장한 것임.