Complete Search Incomplete Search General Search Methods A ∗ search Metaheuristics Heuristics for TSP Outline DM811 – Fall 2009 Heuristics for Combinatorial Optimization 1. Complete Search Methods General Search Methods A ∗ search Lecture 5 2. Incomplete Search Methods Construction Heuristics and Metaheuristics 3. Metaheuristics Rollout/Pilot Method Marco Chiarandini Beam Search Iterated Greedy Deptartment of Mathematics & Computer Science University of Southern Denmark GRASP Adaptive Iterated Construction Search Multilevel Refinement 4. Heuristics for TSP 2 Complete Search Complete Search Incomplete Search General Search Methods Incomplete Search General Search Methods A ∗ search A ∗ search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP Search Methods Tree Search initial state: the empty assignment {} in which all variables are unassigned Search Space successor function: a value can be assigned to any unassigned variable, tree with branching factor at the top level nd provided that it does not conflict with previously assigned variables at the next level ( n − 1 ) d . goal test: the current assignment is complete The tree has n ! · d n even if only d n possible complete assignments. path cost: a constant cost CSP is commutative in the order of application of any given set of Types of problems: action. (the order of the assignment does not influence) Assignment Hence we can consider search algs that generate successors by Sequencing considering possible assignments for only a single variable at each node Subset in the search tree. Routing ... 4 5
Complete Search Complete Search Incomplete Search General Search Methods Incomplete Search General Search Methods A ∗ search A ∗ search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP Backtrack Search Backtrack Search Backtracking search depth first search that chooses one variable at a time and backtracks when a variable has no legal values left to assign. No need to copy solutions all the times but rather extensions and undo extensions Since CSP is standard then the alg is also standard and can use general purpose algorithms for initial state, successor function and goal test. Backtracking is uninformed and complete. Other search algorithms may use information in form of heuristics. 6 7 Complete Search Complete Search Incomplete Search General Search Methods Incomplete Search General Search Methods A ∗ search A ∗ search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP Complete Tree Search General Purpose Methods Decisions in general purpose methods: Uninformed Breadth-first search 1) Which variable should we assign next, and in what order should its values be tried? Depth-first search Depth-limited search 2) What are the implications of the current variable assignments for the Iterative deepening depth-first search other unassigned variables? Bidirectional Search 3) When a path fails – that is, a state is reached in which a variable has no Informed legal values can the search avoid repeating this failure in subsequent Informed search algorithm: exploit problem-specific knowledge paths? Best-first search: node that “appears” to be the best selected for expansion based on an evaluation function f ( x ) Search (1) + Inference (2) + Backtracking (3) = Constraint Programming Implemented through a priority queue of nodes in ascending order of f In the general case, at point 1) we use heuristic rules. (See later discussion on A ∗ search) If we do not backtrack (point 3) then we have a construction heuristic. 8 9
Complete Search Complete Search Incomplete Search General Search Methods Incomplete Search General Search Methods A ∗ search A ∗ search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP 1) Which variable should we assign next, and in what order should its values be tried? 2) What are the implications of the current variable assignments for the other unassigned variables? Select-Initial-Unassigned-Variable Propagating information through constraints: Select-Unassigned-Variable Implicit in Select-Unassigned-Variable most constrained first = fail-first heuristic = Minimum remaining values (MRV) heuristic Forward checking (coupled with Minimum Remaining Values) (tend to reduce the branching factor and to speed up pruning) least constrained last Constraint propagation in CSP Eg.: max degree, farthest, earliest due date, etc. arc consistency: force all (directed) arcs uv to be consistent: ∃ a value in D ( v ) : ∀ values in D ( u ) , otherwise detects inconsistency Order-Domain-Values can be applied as preprocessing or as propagation step after each greedy assignment (Maintaining Arc Consistency) least constraining value heuristic (leaves maximum flexibility for subsequent variable assignments) Applied repeatedly maximal regret implements a kind of look ahead 10 14 Complete Search Complete Search Incomplete Search General Search Methods Incomplete Search General Search Methods A ∗ search A ∗ search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP Propagation: An Example 3) When a path fails – that is, a state is reached in which a variable has no legal values can the search avoid repeating this failure in subsequent paths? Backtracking-Search chronological backtracking, the most recent decision point is revisited backjumping, backtracks to the most recent variable in the conflict set (set of previously assigned variables connected to X by constraints). 15 16
Complete Search Complete Search Incomplete Search General Search Methods Incomplete Search General Search Methods A ∗ search A ∗ search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP A ∗ , a best-first search An Empirical Comparison A ∗ search The priority assigned to a node x is determined by the function f ( x ) = g ( x ) + h ( x ) g ( x ) : cost of the path so far h ( x ) : heuristic estimate of the minimal cost to reach the goal from x. It is optimal if h ( x ) is an Median number of consistency checks admissible heuristic: never overestimates the cost to reach the goal consistent: h ( n ) ≤ c ( n, a, n ′ ) + h ( n ′ ) 17 19 Complete Search Complete Search Incomplete Search General Search Methods Incomplete Search General Search Methods A ∗ search A ∗ search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP A ∗ best-first search A ∗ search Possible choices for admissible heuristic functions optimal solution to an easily solvable relaxed problem optimal solution to an easily solvable subproblem learning from experience by gathering statistics on state features preferred heuristics functions with higher values (provided they do not overestimate) if several heuristics available h 1 , h 2 , . . . , h m and not clear which is the best then: h ( x ) = max { h 1 ( x ) , . . . , h m ( x ) } 20 21
Complete Search Complete Search Incomplete Search General Search Methods Incomplete Search A ∗ search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP Outline A ∗ search 1. Complete Search Methods Drawbacks General Search Methods A ∗ search Time complexity: In the worst case, the number of nodes expanded is exponential, 2. Incomplete Search Methods (but it is polynomial when the heuristic function h meets the following condition: 3. Metaheuristics | h ( x ) − h ∗ ( x ) | ≤ O ( log h ∗ ( x )) Rollout/Pilot Method h ∗ is the optimal heuristic, the exact cost of getting from x to the goal.) Beam Search Iterated Greedy GRASP Memory usage: In the worst case, it must remember an exponential Adaptive Iterated Construction Search number of nodes. Multilevel Refinement Several variants: including iterative deepening A ∗ (IDA ∗ ), memory-bounded A ∗ (MA ∗ ) and simplified memory bounded A ∗ (SMA ∗ ) 4. Heuristics for TSP and recursive best-first search (RBFS) 22 23 Complete Search Complete Search Incomplete Search Incomplete Search Metaheuristics Metaheuristics Heuristics for TSP Heuristics for TSP Incomplete Search Greedy algorithms Complete search is often better suited when ... proofs of insolubility or optimality are required; Greedy algorithms (aka best-first) time constraints are not critical; Strategy: always make the choice that is best at the moment. problem-specific knowledge can be exploited. They are not generally guaranteed to find globally optimal solutions (but sometimes they do: Minimum Spanning Tree, Single Source Shortest Path, etc.) Heuristics are often better suited when ... non linear constraints and non linear objective function; We will see problem sepcific examples reasonably good solutions are required within a short time; problem-specific knowledge is rather limited. 25 27
Recommend
More recommend