Local search

advertisement
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?
Download