Local search for intractable problems PS 98 chapt
Local search for intractable problems (PS 98, chapt. 19) • Idea: for a feasible solution, define a neighborhood of feasible solutions • Search neighborhood for a solution of lower cost; move to a better one (best or first-found) • When current solution is locally optimal (nothing better in its neighborhood), stop. • Repeat from many random initial feasible solutions
Exact neighborhoods • If locally optimal globally optimal, neighborhood is called “exact’’. • Examples: Linear programming; Minimum spanning tree • Having an exact neighborhood is a hint (but doesn’t prove) that a problem is “easy” (in P)
The TSP
2 -opt and 3 -opt
Link emphasizing proven optimality: GA Tech page important contributions of Shen Lin (1965): • completely random starts, prob. of opt example, 48 cities: prob. 5%; with 100 runs, prob. opt = 1 -. 95^100 = 99. 4% • strong neighborhoods work well with completely random starts weak neighborhoods are helped by good starts • another contribution of Shen Lin: 3 -opt much better than 2 -opt; but 4 -opt not that much better than 3 -opt • Lin's results on TSP problems were surprisingly good, and that led others to apply local search to other problems
Heuristics, choices, tradeoffs • First-improvement vs. steepest-descent • Randomize search order? (May be useful if starting feasible solutions are scarce) • Further improve local optima? • Reduction (S. Lin): keep pieces representing common features of local optima • Or, forbid these features in looking for new local optima (“denial” in SW 68) • Keep dictionary of previous local optima to save time in checking final local optimality
Min-cost survivable networks (SWK 1969): find graph with given vertex-connectivity and min weight. Xchange. Features: Starts and keeping feasible are key problems. Offshore natural-gas pipelines (RFSSK 70): find min cost delivery system for offshore natural gas. Features: Costing is complicated and therefore expensive; Delta-change is a very small neighborhood. Uniform graph partitioning (KL 70): Split 2 n nodes into two circuit boards so cost of inter-board edges is min. Stab for favorable sequence, accepting some down-turns (“variable-depth search”) until net is negative. (Applied to TSP in LK 73. )
Project suggestions: • Visualize dynamics of 2 -opt, 3 -opt • Apply local search to a (possibly new) combinatorial optimization problem: batting order? Exam scheduling? Drawing graphs with small number of crossovers? Untying knots? • Try instances of an undecidable problem like Post Correspondence Problem? • Convert half-tone pictures to tours Mona Lisa 100 K problem using “linear 2 -opt” [SW 70], say? • Compare “linear 2 -opt” with Concorde on big problems • Try “linear 2 -opt” on some images? • Code and test “linear 3 -opt” • Combine variable-depth and linear 2, 3 -opt?
- Slides: 8