Local search for intractable problems (PS98, 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 SW68) • 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 (RFSSK70): 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 (KL70): Split 2n 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 LK73.) 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 100K problem using “linear 2-opt” [SW70], 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?