360 likes | 567 Views
Very Large-Scale Neighborhood Search For Timetabling. James B. Orlin MIT Sloan School of Management. Survey is joint with Carol Meyers. Overview. Very large-scale neighborhood (VLSN) search The cyclic exchange neighborhood Functional annealing Optimized crossover for genetic algorithms
E N D
Very Large-Scale Neighborhood Search For Timetabling James B. Orlin MIT Sloan School of Management Survey is joint with Carol Meyers
Overview • Very large-scale neighborhood (VLSN) search • The cyclic exchange neighborhood • Functional annealing • Optimized crossover for genetic algorithms • Other approaches to VLSN Search
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Neighborhood Search Algorithms • Start with a feasible solution x • Define a neighborhood of x • Identify an improved neighbor y • Replace x by y and repeat ……………..
VLSN Search • Quality of the local optimal solution • Better as the size of the neighborhood increases • Running time increases with the increase in size • VLSN Search • Very large neighborhoods • Neighborhoods enumerated implicitly • Use of network/discrete optimization algorithms
VLSN Search dates back a long way • If Simplex is viewed as a search technique, then column generation is VLSN Search • Sending flows around cycles to find a min cost flow is VLSN Search • Augmenting path algorithms are VLSN search • bipartite matching • non-bipartite matching • max flow
Overarching Goal • Promoting VLSN Search • VLSN Search is a collection of tools that may be of use in timetabling • ranges from very obvious approaches to some subtle approaches • can be combined with tabu search or other heuristics • it has only recently been used. There are many more opportunities for use of VLSN search • Note: I am available to discuss ideas over the next two days
Surveys on VLSN Search • Ahuja, Ergun, Orlin, Punnen [2002], [2006] • Meyers and Orlin [2006] • Deĭneko and Woeginger [2000] • See also http://www.ise.ufl.edu/ahuja/ http://web.mit.edu/jorlin/www/
17 19 7 16 18 20 9 8 11 12 10 15 S2 S1 14 13 10 9 2 6 14 19 7 20 6 5 S4 1 1 3 4 2 S3 17 18 16 8 5 15 12 4 11 3 13 Partitioning Problems Given a set S of 20 objects. Partition the set S into four subsets, S1, S2, S3, S4. Find the partition such that i c(Si) is minimum.
2 14 1 A Two-Exchange Neighborhood 10 9 S1 S2 6 19 7 20 17 18 16 8 S3 15 5 12 S4 11 13 4 3 Number of possible exchanges n2
14 7 18 12 1 Number of possible exchanges A Multi-Exchange Neighborhood-I A Cyclic Multi-Exchange 10 9 2 S1 S2 6 19 20 17 16 8 S3 15 S4 5 11 13 4 3
14 7 15 12 4 3 1 A Multi-Exchange Neighborhood-II A Path Multi-Exchange 10 9 2 S1 S2 6 19 20 17 18 16 8 S3 S4 5 11 13
Sizes of the Two Neighborhoods Suppose that we can evaluate 1 million neighbors per second.
Multi-Exchanges w.r.t a solution S Directed Cycles in G(S) Enumerating Multi-Exchanges Multi-exchanges are transformed into directed cycles in an appropriately defined graph G(S), called the improvement graph.
10 9 2 S1 S2 6 19 14 7 20 17 16 18 8 12 15 S4 5 11 13 4 S3 3 17 1 8 2 12 19 13 1 9 4 20 18 16 7 10 3 11 6 14 15 5 Improvement Graph Improvement Graph G: • A node i for every item i in partition. • An arc (i, j) signifies a move of item i to the subset containing item j and item j leaving its subset.
14 7 8 12 7 1 8 14 12 Improvement Graph (contd.) 10 9 2 S1 S2 6 19 20 17 16 18 S3 15 S4 5 11 13 4 3 c14,7 Cost of the multi-exchange = Cost of the directed cycle Profitable multi-exchange = a negative cost cycle c7,12 c8,14 c12,8
Theorem. There is a one-to-one correspondence between cyclic exchanges w.r.t S and subset-disjoint cycles in G(S). A Theorem on Improvement Graphs
Start with a feasible partition S = (S1,S2,.., Sk). Construct the improvement graph G(S). Repetitive Loop Identify a negative-cost (subset-disjoint) cycle in G(S) Obtain the profitable multi-exchange w.r.t S Perform the multi-exchange and update S Update the improvement graph G(S) The Generic Algorithm
Uses of the Cyclic Exchange Neighborhood • Facility location problems • Ahuja, Orlin, Pallottino, Scaparra and Scutella [2002] • Vehicle routing problems • Agarwal, Ahuja, Laporte and Shen [2003] • Weapon-target assignment problem • Ahuja, Kumar, Jha and Orlin [2003] • Examination Timetabling • Abdullah, Ahmadi, Burke, Dror PATAT [2004] • Course Scheduling • Jha PhD dissertation [2004]
Examination SchedulingAbdullah, Ahmadi, Burke, Dror [2004] No person scheduled for two exams in one period. For each person, there is a penalty for exams that are close to each other.
Day 1 Day K Period 1 Period 2 Period 3 Examination SchedulingAbdullah, Ahmadi, Burke, Dror [2004]
T Th F 11 AM M W F 10 AM M Th F 3 PM Course Timetabling : Jha, Ahuja [2004] • Assign subjects to time slots and classrooms • minimize student conflicts on class preferences • maximize professors’ preferences The partitions are time slots. Each cyclic exchange moves classes between the time slots. Typically within a few percent of optimum on those problems solvable by IPs.
Simulated Annealing • Simulated Annealing (in its usual form) is not a good choice for VLSN Search Choosing one of 1016 neighbors at random can lead to very slow convergence to the optimum.
Functional Annealing • Sharma and Sukhapesna [2005 and 2006] • Iteratively perturb the objective function • The objective function converges to the correct objective function • Combined with statistical learning, the authors claim impressive results for the QAP.
The Functioning Annealing Algorithm Algorithm Functional annealing begin choose an initial solution x0 in F set k = 0 while stopping criteria not met do let c’ = c + w, where w is obtained using an exp dist find an improved neighbor wrt c’ end end
GAs and Optimized Crossover • Give a very brief overview of GAs since the audience already knows this stuff. • Then explain that one can in principle look for the optimized crossover. • application to independent set (one slide) on technique plus a slide on computational results • application to TSP (one slide) • possible application to timetabling
Mutation http://press2.nci.nih.gov/sciencebehind/cancer/images/cancer42.gif
Crossovers two chromosomes a crossover (chiasma) the chromosomes after recombination http://www.emc.maricopa.edu/faculty/farabee/BIOBK/BioBookmeiosis.html
The evolutionary process • maintain a population of individuals • the gene pool is renewed through mutations • Natural selection (better solutions are more likely to be parents), and crossover (mixing of genes), leads to improvements in successive generations • But, can we do better than nature? What if we create optimal children?
3 3 3 2 2 2 4 4 4 1 1 1 5 5 5 8 8 8 Opt child Parent 1 Parent 2 6 6 6 7 7 7 1 2 3 4 5 6 7 8 0 1 01010 1 1 2 3 4 5 6 7 8 0 1 0 0 1 0 0 1 1 2 3 4 5 6 7 8 1 0 0 1 0 1 0 0 Optimized Crossover for Independent Sets Agarwal, Orlin, Tai [1997]
A possible application to timetabling • Consider allocating subjects to time slots • The optimal crossover of two parents has the following property: • if subject j is allocated to time slot s1 by parent 1 and time slot s2 by parent 2, then in any child it is allocated to time slot s1 or s2. • Questions to address • Can one find the optimized crossover? • How would one implement this as part of a GA? • Would it work well in practice?
Other Work on VLSN Search • Diameter of a Neighborhood • see e.g., Bozejko and Wodecki. PATAT06 • Dominance [Punnen and Glover] • Extended Neighborhood [Orlin and Sharma] • Using Grammars to express neighborhoods [Bompadre and Orlin] • Exponential Nbhds searchable in polynomial time
A simple approach relying on IPs • If the original problem is formulated as an IP, then one can have IP based neighborhoods. ORIGINAL IP FOR SOME TIMETABLING PROBLEM minimize cx subject to x P Suppose that x* is feasible but not optimal LOCAL SEARCH minimize cx subject to || x – x* || K x P
Uses of the Simple IP Approach Great for interactive scheduling (person – machine scheduling.) Can be used to modify the original problem and specify that the solution is not too far away. e.g., in exam scheduling, a user can require that a subject’s exam move to a different period. The user can then reoptimize subject to the constraint that at most 10 other subjects change time slots.
Conclusion Slide • Some successful applications of VLSN search in timetabling • Lots of successes for VLSN search in other domains • Opportunities for more applications of VLSN search in timetabling.