# Systematic Bounding Techniques for Combinatorial Optimization Sharlee Climer and Weixiong Zhang Department of Computer Science and Engineering Washington.

## Presentation on theme: "Systematic Bounding Techniques for Combinatorial Optimization Sharlee Climer and Weixiong Zhang Department of Computer Science and Engineering Washington."— Presentation transcript:

Systematic Bounding Techniques for Combinatorial Optimization Sharlee Climer and Weixiong Zhang Department of Computer Science and Engineering Washington University in St. Louis This research was funded in part by NDSEG and Olin Fellowships, NSF grants IIS-0196057 and ITR/EIA-0113618, and in part by DARPA Cooperative Agreement F30602-00-2-0531.

AAAI-05 TutorialBounding Techniques2 Overview Introduction Introduction Formulation and notation Formulation and notation Historical perspective Historical perspective Modifications to obtain bounds Modifications to obtain bounds Two-step procedure Two-step procedure Exploiting the use of bounds Exploiting the use of bounds Future directions Future directions

AAAI-05 TutorialBounding Techniques3 What is the “use of bounds”? What is the “use of bounds”?

AAAI-05 TutorialBounding Techniques4 upper bound optimal solution lower bound

AAAI-05 TutorialBounding Techniques5 upper bound optimal solution lower bound The use of bounds

AAAI-05 TutorialBounding Techniques6 Use of bounds Bounds have been extensively studied in both computer science and operations research (OR) Bounds have been extensively studied in both computer science and operations research (OR) Pruning rules in branch-and-bound search Pruning rules in branch-and-bound search Without the use of bounds, many important problems would be unsolvable Without the use of bounds, many important problems would be unsolvable Previous efforts to systematically discover effective relaxations to be used for bounds Previous efforts to systematically discover effective relaxations to be used for bounds Recent work to systematically discover other modifications for use as bounds Recent work to systematically discover other modifications for use as bounds

AAAI-05 TutorialBounding Techniques7 Objectives of tutorial Survey the previous uses of bounds Survey the previous uses of bounds Reorganize existing work in a systematic way Reorganize existing work in a systematic way Point out potential directions for future work Point out potential directions for future work

AAAI-05 TutorialBounding Techniques8 Formulation and notation Techniques presented can be applied to a variety of optimization problems Techniques presented can be applied to a variety of optimization problems To demonstrate the use of bounds, we’ll use integer linear programs (IPs) as basic problem structure To demonstrate the use of bounds, we’ll use integer linear programs (IPs) as basic problem structure Without loss of generality, we consider only minimization problems Without loss of generality, we consider only minimization problems

AAAI-05 TutorialBounding Techniques9 Integer Linear Programs Minimize Z =  c i x i Minimize Z =  c i x i (objective function) Subject to: a set of linear constraints x i integer x i integer If x i integer constraints omitted, would have a linear program (LP)

AAAI-05 TutorialBounding Techniques10 Integer Linear Programs Large number of commercial applications Large number of commercial applications –Scheduling –Routing –Planning STRIPS planning problems converted to IPs [Kautz and Walser, AAAI-99; Vossen et al. IJCAI-99] STRIPS planning problems converted to IPs [Kautz and Walser, AAAI-99; Vossen et al. IJCAI-99] –Simplifies adding costs and resources –Optimality conditions

AAAI-05 TutorialBounding Techniques11 Integer Linear Programs Used to model: Used to model: –Traveling Salesman Problem –Constraint Satisfaction Problem –Robotic motion problems –Clustering –Multiple sequence alignment –Haplotype inferencing –VLSI circuit design –Computer disk read head scheduling –Derivation of physical structures of programs –Delay-Tolerant Network routing –Cellular radio network base station locations –Minimum-energy multicast problem in wireless ad hoc networks

AAAI-05 TutorialA1 Linear program example Minimize Z = -11x + 4y Subject to: 3x + 8y <= 40 11x - 8y <= 16 x,y >= 0 (Refer to example in handout)

AAAI-05 TutorialA2 Linear program example Minimize Z = -11x + 4y y = 11/4 x + Z/4 Family of parallel lines with slope of 11/4 and unknown y-intercept

AAAI-05 TutorialA3 Linear program example Optimal solution x = 4 y = 7/2 Z = -30

AAAI-05 TutorialA4 Integer linear program Minimize Z = -11x + 4y Subject to: 3x + 8y <= 40 11x - 8y <= 16 x,y >= 0 x,y integer Optimal solution x = 3 y = 3 Z = -21

AAAI-05 TutorialA5 Dual problem Every IP has a dual problem that is also an IP Every IP has a dual problem that is also an IP Original IP referred to as primal Original IP referred to as primal If primal is a minimization IP, then dual is a maximization IP If primal is a minimization IP, then dual is a maximization IP Same coefficients, but rearranged Same coefficients, but rearranged Inequalities in constraints are reversed Inequalities in constraints are reversed

AAAI-05 TutorialA6 Dual linear program Primal: Minimize -11x + 4y Subject to: -3x - 8y >= -40 -11x + 8y >= -16 x,y >= 0 Dual: Maximize -40v - 16w Subject to: -3v - 11w <= -11 -8v + 8w <= 4 v,w >= 0

AAAI-05 TutorialA7 Dual linear program Maximize D = -40v - 16w Subject to: -3v - 11w <= -11 -8v + 8w <= 4 v,w >= 0

AAAI-05 TutorialA8 Dual linear program Optimal solution v = 11/28 w = 25/28 D = -30

AAAI-05 TutorialA9 Dual integer program Maximize D = -40v - 16w Subject to: -3v - 11w <= -11 -8v + 8w <= 4 v,w >= 0 v,w integer Optimal solution v = 1 w = 1 D = -56

AAAI-05 TutorialBounding Techniques21 The Traveling Salesman Problem The Traveling Salesman Problem (TSP) is the problem of finding a minimum cost complete tour of a set of cities The Traveling Salesman Problem (TSP) is the problem of finding a minimum cost complete tour of a set of cities STSP: cost from city i to city j is equal to the cost from city j to city i STSP: cost from city i to city j is equal to the cost from city j to city i ATSP: costs not necessarily equal ATSP: costs not necessarily equal

AAAI-05 TutorialBounding Techniques22 The Traveling Salesman Problem Minimize Z =  c ij x ij s.t.:  x ij = 1 for j = 1,…,n  x ij = 1 for i = 1,…,n  x ij = 1 for i = 1,…,n  x ij <= |W| - 1, for all proper non- empty subsets W of V  x ij <= |W| - 1, for all proper non- empty subsets W of V x ij = {0,1} x ij = {0,1}

AAAI-05 TutorialBounding Techniques23 Reprinted by permission, G. Dantzig, R. Fulkerson, and S. Johnson, Solution of a Large-Scale Traveling-Salesman Problem, Journal of the Operations Research Society of America, volume 2, 1954. Copyright 1954, the Institute for Operations Research and the Management Sciences, 7240 Parkway Drive, Suite 310, Hanover, Maryland 21076.

AAAI-05 TutorialBounding Techniques24 Omit subtour elimination constraints Minimize Z =  c ij x ij s.t.:  x ij = 1 for j = 1,…,n  x ij = 1 for i = 1,…,n  x ij = 1 for i = 1,…,n  x ij <= |W| - 1, for all proper non- empty subsets W of V  x ij <= |W| - 1, for all proper non- empty subsets W of V x ij = {0,1} x ij = {0,1} The assignment problem The assignment problem A lower bound for the ATSP A lower bound for the ATSP Can be solved in polynomial time Can be solved in polynomial time

AAAI-05 TutorialBounding Techniques25 Omit subtour elimination constraints

AAAI-05 TutorialBounding Techniques26 Relax integrality constraints Minimize Z =  c ij x ij s.t.:  x ij = 1 for j = 1,…,n  x ij = 1 for i = 1,…,n  x ij = 1 for i = 1,…,n  x ij <= |W| - 1, for all proper non- empty subsets W of V  x ij <= |W| - 1, for all proper non- empty subsets W of V x ij = {0,1} x ij = {0,1} 0 <= x ij <= 1 0 <= x ij <= 1 Linear program (LP) relaxation Linear program (LP) relaxation Held-Karp lower bound Held-Karp lower bound Can be solved in polynomial time Can be solved in polynomial time

AAAI-05 TutorialBounding Techniques27 Relax integrality constraints

AAAI-05 TutorialBounding Techniques28 Historical perspective Branch-and-bound Branch-and-bound Alpha-beta pruning Alpha-beta pruning Admissible heuristics Admissible heuristics –Abstractions –Pattern databases Cutting planes Cutting planes Gomory cuts Gomory cuts Branch-and-cut Branch-and-cut

AAAI-05 TutorialBounding Techniques29 Branch-and-bound In 1958, several papers appeared using branch- and-bound (BnB) [Bock, Op. Res. 1958; Croes, Op. Res. 1958; Eastman, PhD thesis 1958, Rossman and Twery, Op. Res. 1958] In 1958, several papers appeared using branch- and-bound (BnB) [Bock, Op. Res. 1958; Croes, Op. Res. 1958; Eastman, PhD thesis 1958, Rossman and Twery, Op. Res. 1958] Three of these papers introduced algorithms for the TSP Three of these papers introduced algorithms for the TSP “Branch-and-bound” coined [Little et al. Op. Res. 1963] (also a TSP algorithm) “Branch-and-bound” coined [Little et al. Op. Res. 1963] (also a TSP algorithm) Example: Carpaneto, Dell’Amico, and Toth’s (CDT) algorithm for the ATSP [ACM Trans. On Math. Software 1995] Example: Carpaneto, Dell’Amico, and Toth’s (CDT) algorithm for the ATSP [ACM Trans. On Math. Software 1995]

AAAI-05 TutorialBounding Techniques30 CDT algorithm

AAAI-05 TutorialBounding Techniques31 Branch-and-bound Croes TSP algorithm perhaps first BnB search published [Croes, Op. Res. 1958] Croes TSP algorithm perhaps first BnB search published [Croes, Op. Res. 1958] Used bounds in two different ways Used bounds in two different ways Found an approximate solution Found an approximate solution Used solution as upper bound for eliminating sets of arcs that cannot simultaneously appear Used solution as upper bound for eliminating sets of arcs that cannot simultaneously appear BnB tree over remaining arc combinations BnB tree over remaining arc combinations

AAAI-05 TutorialBounding Techniques32 Branch-and-bound Reprinted by permission, G. A. Croes, A Method for Solving Traveling-Salesman Problems, Operations Research, volume 6, 1958. Copyright 1958, the Institute for Operations Research and the Management Sciences, 7240 Parkway Drive, Suite 310, Hanover, Maryland 21076.

AAAI-05 TutorialBounding Techniques33 Branch-and-bound Croes solved 49-city STSP that had previously been solved by Dantzig, Fulkerson, and Johnson [Op. Res. 1954] Croes solved 49-city STSP that had previously been solved by Dantzig, Fulkerson, and Johnson [Op. Res. 1954] Improvements: Improvements: –Mechanized solver –Provides “anytime” solution –Faster than previous methods Croes solved by hand Croes solved by hand –70 hours to solve –Found optimal solution after 10 hours

AAAI-05 TutorialBounding Techniques34 Alpha-beta pruning Minimax search is a specialized BnB search for game playing Minimax search is a specialized BnB search for game playing Objective is to determine the best move Objective is to determine the best move Alpha-beta pruning used to reduce the number of nodes that need to be evaluated Alpha-beta pruning used to reduce the number of nodes that need to be evaluated

AAAI-05 TutorialBounding Techniques35 Alpha-beta pruning Devised by John McCarthy in 1956, but not published Devised by John McCarthy in 1956, but not published Used in the NSS chess program in 1958 [Newell et al. IBM Journal of R&D 1958] Used in the NSS chess program in 1958 [Newell et al. IBM Journal of R&D 1958] Pearl proved alpha-beta to be an asymptotically optimal game-searching algorithm [Pearl, Comm. of ACM 1982] Pearl proved alpha-beta to be an asymptotically optimal game-searching algorithm [Pearl, Comm. of ACM 1982] Modified strategy used by Deep Blue [Hsu, Behind Deep Blue 2002] Modified strategy used by Deep Blue [Hsu, Behind Deep Blue 2002]

AAAI-05 TutorialBounding Techniques36 Minimax search tree

AAAI-05 TutorialBounding Techniques37 Alpha-beta pruning

AAAI-05 TutorialBounding Techniques38 Alpha-beta pruning

AAAI-05 TutorialBounding Techniques39 Alpha-beta pruning

AAAI-05 TutorialBounding Techniques40 Alpha-beta pruning

AAAI-05 TutorialBounding Techniques41 Alpha-beta pruning

AAAI-05 TutorialBounding Techniques42 Alpha-beta pruning

AAAI-05 TutorialBounding Techniques43 Admissible heuristics Evaluation functions used by minimax are examples of heuristics Evaluation functions used by minimax are examples of heuristics Trade-off of accuracy vs. time to compute Trade-off of accuracy vs. time to compute Admissible heuristic provides a lower bound Admissible heuristic provides a lower bound Admissibility needed to guarantee A* search performance Admissibility needed to guarantee A* search performance Admissibility allows pruning Admissibility allows pruning

AAAI-05 TutorialBounding Techniques44 Admissible heuristics Abstractions used for admissible heuristics can be generated by relaxing constraints Abstractions used for admissible heuristics can be generated by relaxing constraints In 1970, Held and Karp used relaxation for the STSP [Op. Res. 1970] In 1970, Held and Karp used relaxation for the STSP [Op. Res. 1970] –1-tree –A spanning tree with an added edge –Node 1 has degree two and is part of single cycle –Find MST without node 1 and add two smallest edges incident to node 1

AAAI-05 TutorialBounding Techniques45 1-tree

AAAI-05 TutorialBounding Techniques46 Systematic generation In 1982, Pearl suggested automatically deriving admissible heuristics by systematically deleting constraints* [Pearl, reprinted in AI Magazine 1983] In 1982, Pearl suggested automatically deriving admissible heuristics by systematically deleting constraints* [Pearl, reprinted in AI Magazine 1983] Absolver II [Prieditis, Machine Learning 1993] Absolver II [Prieditis, Machine Learning 1993] –An implementation to automatically derive admissible heuristics –Uses abstracting transformations  Reduces cost function and/or  Expands goal states –Used to find first useful heuristic for Rubik’s cube * Introduced earlier by Somalvico et al.

AAAI-05 TutorialBounding Techniques47 Pearl’s example Used STRIPS formulation of 8-Puzzle problem 351 72 64812345 678 Start stateGoal state

AAAI-05 TutorialBounding Techniques48 Pearl’s example 3 primitive predicates 3 primitive predicates –ON(x,y) tile x is on cell y –CLEAR(y) cell is clear of tiles –ADJ(y,z) cell y is adjacent to cell z Each state defined by a list of 8 ON predicates, one CLEAR predicate, and a fixed set of ADJ predicates describing the adjacencies of the cells on the board Each state defined by a list of 8 ON predicates, one CLEAR predicate, and a fixed set of ADJ predicates describing the adjacencies of the cells on the board

AAAI-05 TutorialBounding Techniques49 Pearl’s example Operator to move tile x from cell y to cell z Operator to move tile x from cell y to cell z MOVE(x,y,z) Precondition list: ON(x,y), CLEAR(z), ADJ(y,z) Add list: ON(x,z), CLEAR(y) Delete list: ON(x,y), CLEAR(z) Find a sequence of MOVE operations to transform from the initial state to a goal state Find a sequence of MOVE operations to transform from the initial state to a goal state

AAAI-05 TutorialBounding Techniques50 Pearl’s example Removing CLEAR(z) and ADJ(y,z) from the precondition list Removing CLEAR(z) and ADJ(y,z) from the precondition list –Permits a tile to be moved from its current position to any other position in one move –Equal to the number of tiles that are misplaced in initial state Removing CLEAR(z) from the precondition list Removing CLEAR(z) from the precondition list –Equals the sum of the Manhattan distances

AAAI-05 TutorialBounding Techniques51 Pearl’s example Removing ADJ(y,z) from the precondition list Removing ADJ(y,z) from the precondition list Swap the blank with any other tile Swap the blank with any other tile Can be solved with greedy algorithm Can be solved with greedy algorithm –If current empty cell y is to be covered with tile x, move x to cell y. Else move any misplaced tile into y. Less intuitive than other two heuristics Less intuitive than other two heuristics Discovered 13 years after A* was tested using the other two Discovered 13 years after A* was tested using the other two Constraints can be divided Constraints can be divided –Tighter lower bound if only part of constraint is removed

AAAI-05 TutorialBounding Techniques52 Pattern databases A look-up table containing precomputed solutions to subproblems A look-up table containing precomputed solutions to subproblems Cost of solving entire problem is at least as large as cost of solving subproblem Cost of solving entire problem is at least as large as cost of solving subproblem Large memory requirements Large memory requirements Used to find first optimal solutions to random Rubik’s Cube [Korf, Workshop on Computer Games, IJCAI-97] Used to find first optimal solutions to random Rubik’s Cube [Korf, Workshop on Computer Games, IJCAI-97] Introduced by Culberson and Schaeffer and demonstrated on 15-puzzle [Lecture Notes in AI, 1996] Introduced by Culberson and Schaeffer and demonstrated on 15-puzzle [Lecture Notes in AI, 1996] –Precomputed minimum cost for placing 7 tiles plus the “empty” tile in correct final position

AAAI-05 TutorialBounding Techniques53 Pattern databases b3 7 11 12131415b8910 12131415 Fringe target patternCorner target pattern

AAAI-05 TutorialBounding Techniques54 Cutting planes OR research moved in different direction OR research moved in different direction Cutting planes: added constraints that tighten a relaxation Cutting planes: added constraints that tighten a relaxation Introduced by Dantzig, Fulkerson, and Johnson [Op. Res. 1954] Introduced by Dantzig, Fulkerson, and Johnson [Op. Res. 1954] –49-city STSP –Iteratively solve relaxation –Integrality and subtour elimination constraints (SECs) removed –Add cutting planes to remove relaxed solutions –Added 23 SECs and 2 subjectively improvised cuts to remove non-integral solutions

AAAI-05 TutorialBounding Techniques55 Generate cuts General procedure to remove non-integral solutions from binary IPs, as outlined by Hillier and Lieberman [2001] 1. Consider <= constraint with nonnegative coefficients 2. Find a group of variables such that (a)Violation if all equal 1 (while others equal 0) (b)Satisfied if any one is changed to 0 3. Let k equal number of variables in group Sum of variables in group <= k - 1

AAAI-05 TutorialBounding Techniques56 Example 10x + 16y + 13z <= 29 x, y, z are binary variables Integrality is relaxed Constraint is violated if x, y, and z are all equal to 1 Constraint is satisfied if any one is equal to 0 New cut: x + y + z <= 2 Cut removes solutions from relaxed problem but not from original problem (e.g. x = 0.5, y = 0.8, z = 0.8)

AAAI-05 TutorialBounding Techniques57 Gomory cuts In 1958, Gomory proposed an iterative search strategy for IPs [Bulletin of the Am. Math. Soc., 1958] In 1958, Gomory proposed an iterative search strategy for IPs [Bulletin of the Am. Math. Soc., 1958] –Solve with integrality relaxed –Apply cut to remove relaxed solution –Proved termination In 1966, Martin implemented first TSP code using cutting planes [Op. Res. 1966] In 1966, Martin implemented first TSP code using cutting planes [Op. Res. 1966] –Relaxed integrality and subtour elimination constraints (SECs) Iterative procedures, no branching Iterative procedures, no branching

AAAI-05 TutorialBounding Techniques58 Branch-and-cut Branch-and-cut (BnC) is a BnB search with cutting planes added to relaxations at nodes Branch-and-cut (BnC) is a BnB search with cutting planes added to relaxations at nodes Hong implemented BnC code in 1972 for the TSP [PhD thesis, Johns Hopkins, 1972] Hong implemented BnC code in 1972 for the TSP [PhD thesis, Johns Hopkins, 1972] In 1987, Padberg and Rinaldi coined “branch-and-cut” and used to solve 532- city STSP [Op. Res. Letters 1987] In 1987, Padberg and Rinaldi coined “branch-and-cut” and used to solve 532- city STSP [Op. Res. Letters 1987]

AAAI-05 TutorialBounding Techniques59 Concorde In 1994, first implementation of Concorde [Applegate et al. Lecture Notes in Comp. Sci. 2001] In 1994, first implementation of Concorde [Applegate et al. Lecture Notes in Comp. Sci. 2001] Branch-and-cut code for STSP Branch-and-cut code for STSP Relaxed integrality and SECs Relaxed integrality and SECs Also used custom cuts tailored for the TSP Also used custom cuts tailored for the TSP Apply cuts at a node until diminishing returns Apply cuts at a node until diminishing returns Branch by setting value of an arc Branch by setting value of an arc In 2004, Concorde was used to solve a 24,978- city STSP [Applegate et al. www.tsp.gatech.edu] In 2004, Concorde was used to solve a 24,978- city STSP [Applegate et al. www.tsp.gatech.edu]www.tsp.gatech.edu –14,827,429 cutting planes in addition to SECs

AAAI-05 TutorialBounding Techniques60 Modifications to obtain bounds Many possibilities for obtaining bounds have been previously overlooked Many possibilities for obtaining bounds have been previously overlooked Examine every aspect of problem description Examine every aspect of problem description Modifications of IPs to produce bounds Modifications of IPs to produce bounds –Relaxing or tightening constraints –Modifying objective function –Adding or deleting decision variables –Modifications to dual problem

AAAI-05 TutorialBounding Techniques61 Example Minimize Z = y – 4/5 x Subject to: x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers

AAAI-05 TutorialBounding Techniques62 Solution space x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers

AAAI-05 TutorialBounding Techniques63 Objective function Minimize Z = y – 4/5 x x = 0 y = 3 Z = 3

AAAI-05 TutorialBounding Techniques64 Optimal solution Minimize Z = y – 4/5 x x = 2 y = 1 Z = -0.6

AAAI-05 TutorialBounding Techniques65 Relaxing constraints Minimize Z = y – 4/5 x subject to: x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers x = 3.5 y = 1.4 Z = -1.4 Lower bound

AAAI-05 TutorialBounding Techniques66 Relaxing constraints Minimize Z = y – 4/5 x subject to: x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers x = 3 y = 1 Z = -1.4 Lower bound

AAAI-05 TutorialBounding Techniques67 Tightening constraints Minimize Z = y – 4/5 x subject to: x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers y >= 2 x = 3 y = 2 Z = -0.4 Upper bound

AAAI-05 TutorialBounding Techniques68 Tightening constraints Minimize Z = y – 4/5 x subject to: x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers x = 2 y = 2 Z = 0.4 Upper bound

AAAI-05 TutorialBounding Techniques69 Tightening constraints Common use: adding constraints that set values of variables (branching rules) Common use: adding constraints that set values of variables (branching rules) Reduce number of feasible solutions Reduce number of feasible solutions Example of “easier” problem: add constraints setting most variables to zero, and solve sparse problem Example of “easier” problem: add constraints setting most variables to zero, and solve sparse problem

AAAI-05 TutorialBounding Techniques70 Relaxing optimality Minimize Z = y – 4/5 x subject to: x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers x = 3 y = 2 Z = -0.4 Upper bound

AAAI-05 TutorialBounding Techniques71 Modifying objective function coefficients Minimize Z = y – 4/5 x subject to: x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers x = 1 y = 1 Z = 1 Upper bound

AAAI-05 TutorialBounding Techniques72 Modifying objective function coefficients Minimize Z = y – 4/5 x subject to: x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers x = 1 y = 1 Z = 0.2 Upper bound

AAAI-05 TutorialBounding Techniques73 Modifying objective function coefficients Reducing range of objective function coefficients can yield “easier” problem for TSP Reducing range of objective function coefficients can yield “easier” problem for TSP Phase transitions – difficulty in solving problem changes dramatically when a parameter is increased beyond a distinct value Phase transitions – difficulty in solving problem changes dramatically when a parameter is increased beyond a distinct value For TSP, parameter is range of c ij values For TSP, parameter is range of c ij values

AAAI-05 TutorialBounding Techniques74 Modifying objective function coefficients Zhang reduced range by eliminating least significant bits [CP-AI-OR-02] Zhang reduced range by eliminating least significant bits [CP-AI-OR-02] After finding solution, used original values to compute cost of tour, yielding an upper bound After finding solution, used original values to compute cost of tour, yielding an upper bound Could derive a lower bound by rounding values down and keeping these values when computing cost of tour found Could derive a lower bound by rounding values down and keeping these values when computing cost of tour found

AAAI-05 TutorialBounding Techniques75 Modifying objective function coefficients Frieze’s polynomial-time STSP algorithm [SIAM Computing 1987] Frieze’s polynomial-time STSP algorithm [SIAM Computing 1987] –Finds exact solution with a probability that tends to 1 as the number of cities n tends to infinity –Random cost values drawn from zero to B (n) - 1, where B (n) = o (n / log log n)

AAAI-05 TutorialBounding Techniques76 Modifying objective function coefficients Lagrangian relaxation Lagrangian relaxation –Adds penalties to objective function for violation of deleted constraints [Fisher, Management Science 1981] –Deletion of constraints yields lower bound –Addition of penalties tightens the bound, but it is still a lower bound –Can be used as a lower bound for pruning or as a heuristic to guide the search

AAAI-05 TutorialBounding Techniques77 Adding decision variables Assuming zero is in allowable range for new variable Assuming zero is in allowable range for new variable Addition of variable creates a lower bound Addition of variable creates a lower bound Creates additional feasible solutions, doesn’t exclude any feasible solutions to original problem Creates additional feasible solutions, doesn’t exclude any feasible solutions to original problem Example 1: add edges in graph problems Example 1: add edges in graph problems –May create shortcuts

AAAI-05 TutorialBounding Techniques78 Adding decision variables Example 2: tilted drilling machine problems, a class of ATSPs Example 2: tilted drilling machine problems, a class of ATSPs Convert ATSP to STSP with 2-node transformation Convert ATSP to STSP with 2-node transformation Solved 800 100-city instances using Concorde and ATSP solvers Solved 800 100-city instances using Concorde and ATSP solvers Number of decision variables more than quadrupled*, yet modified problems were generally easier to solve Number of decision variables more than quadrupled*, yet modified problems were generally easier to solve *number of variables without zero or infinite costs same as original problem

AAAI-05 TutorialBounding Techniques79 Deleting decision variables Assuming zero is in allowable range for deleted variable Assuming zero is in allowable range for deleted variable Deletion of variable creates an upper bound Deletion of variable creates an upper bound Removes feasible solutions from the original problem Removes feasible solutions from the original problem Example for TSP: remove all arcs with edges greater than a threshold Example for TSP: remove all arcs with edges greater than a threshold –If a tour exists it is an upper bound Same result as adding a constraint setting the value of the variable to zero Same result as adding a constraint setting the value of the variable to zero

AAAI-05 TutorialBounding Techniques80 Using dual problem Feasible solutions to dual IP are lower bounds to primal IP Feasible solutions to dual IP are lower bounds to primal IP Modifications to dual that yield lower bounds for primal Modifications to dual that yield lower bounds for primal –Tightening constraints –Relaxing optimality –Decreasing objective function coefficients –Changing objective function coefficients, and substituting original coefficients after dual is solved –Deleting decision variables (assuming zero is in allowable range)

AAAI-05 TutorialBounding Techniques81 Summary of modifications Upper bound Lower bound Relax constraints -Primal Tighten constraints PrimalDual Relax optimality PrimalDual Increase c i Primal- Decrease c i - Primal & dual Change c i but use original values after solved PrimalDual Delete variables* PrimalDual Add variables* -Primal * Assuming zero is in allowable range of variables

AAAI-05 TutorialBounding Techniques82 “Simplifying” modifications Decomposability Decomposability –Manhattan distance for 8-puzzle example –All subproblems can be solved independently Partial ordering Partial ordering –8-puzzle: delete ADJ requirement –Placing empty tile has higher order and is done last –Greedy algorithm works Create special structures Create special structures –OR development of algorithms for tackling special structures  Mutually exclusive alternatives constraints  Contingent decisions constraints  Set-covering constraints Trial-and-error Trial-and-error

AAAI-05 TutorialBounding Techniques83 Limit crossing A 2-step procedure for systematically exploring the use of bounds A 2-step procedure for systematically exploring the use of bounds Has been implicitly used in a number of algorithms and search strategies Has been implicitly used in a number of algorithms and search strategies To our knowledge, hasn’t been generally formalized To our knowledge, hasn’t been generally formalized –Narrower formalization [Climer and Zhang, AAAI-02] Broaden focus beyond branch-and-bound Broaden focus beyond branch-and-bound

AAAI-05 TutorialBounding Techniques84 Limit crossing 2 steps: 2 steps: (1) Find a simple upper or lower bound (2) Combine upper-bounding and lower- bounding modifications and solve If solution of the doubly-modified problem exceeds the simple upper bound, upper- bounding modification in step (2) is invalid If solution of the doubly-modified problem exceeds the simple upper bound, upper- bounding modification in step (2) is invalid If solution of doubly-modified problem is less than the simple lower bound, lower-bounding modification in step (2) is invalid If solution of doubly-modified problem is less than the simple lower bound, lower-bounding modification in step (2) is invalid

AAAI-05 TutorialBounding Techniques85 Branch-and-bound search Incumbent solution

AAAI-05 TutorialBounding Techniques86 Limit crossing Find a simple upper or lower bound that is tight Find a simple upper or lower bound that is tight Systematically apply modifications to produce doubly-modified problems Systematically apply modifications to produce doubly-modified problems –Either modification can be difficult to solve –Only need the combination of the two modifications to be relatively easy May produce novel search strategies May produce novel search strategies

AAAI-05 TutorialBounding Techniques87 Limit crossing search strategies Cut-and-solve [Climer and Zhang, AIJ, to appear] Cut-and-solve [Climer and Zhang, AIJ, to appear] –An iterative search strategy –Useful for combinatorial optimization problems Backbone and fat identifier [Climer and Zhang, AAAI-02] Backbone and fat identifier [Climer and Zhang, AAAI-02] –Used to identify characteristic variables

AAAI-05 TutorialBounding Techniques88 Cut-and-solve Iterative search strategy called cut-and-solve Iterative search strategy called cut-and-solve For each iteration: For each iteration: –Step 1: A chunk of the solution space is cut away and solved, providing incumbent solutions –Step 2: A relaxed solution is found for remaining solution space Iterate until relaxed solution is greater than or equal to incumbent Iterate until relaxed solution is greater than or equal to incumbent

AAAI-05 TutorialBounding Techniques89 Example x >= 0 y <= 3 y + 13/6 x <= 9 y – 5/13 x >= 1/14 y + 3/5 x >= 6/5 x,y integers

AAAI-05 TutorialBounding Techniques90 Optimal solution Minimize Z = y – 4/5 x x = 2 y = 1 Z = -0.6

AAAI-05 TutorialBounding Techniques91 Iteration 1, first step Cut away a chunk of the solution space: y – 17/3 x >= -14 and solve sparse problem

AAAI-05 TutorialBounding Techniques92 Iteration 1, first step Incumbent solution is -0.4 x = 3 y = 2 Z = -0.4

AAAI-05 TutorialBounding Techniques93 Iteration 1, second step Add new constraint: y – 17/3 x <= -14 to cut off chunk of solution space Relax integrality and solve

AAAI-05 TutorialBounding Techniques94 Iteration 1, second step x = 2.6 y = 1.0 Z = -1.1 Incumbent solution is -0.4, so need to run another iteration

AAAI-05 TutorialBounding Techniques95 Iteration 2, first step Cut away a chunk of the solution space and solve sparse problem

AAAI-05 TutorialBounding Techniques96 Iteration 2, first step This solution is less than incumbent, so incumbent becomes -0.6 x = 2 y = 1 Z = -0.6

AAAI-05 TutorialBounding Techniques97 Iteration 2, second step Add constraint to cut off solved chunk Relax integrality and solve

AAAI-05 TutorialBounding Techniques98 Iteration 2, second step Incumbent value: Z = -0.6 Solution is greater than incumbent, so incumbent must be optimal x = 1.0 y = 0.6 Z = -0.2

AAAI-05 TutorialBounding Techniques99 Cut-and-solve properties Minimal memory requirements Minimal memory requirements –Keep new constraints and incumbent solution from one iteration to the next No subtrees in which to get lost No subtrees in which to get lost Piercing cuts should try to capture optimal solutions Piercing cuts should try to capture optimal solutions Different from conventional cutting planes Different from conventional cutting planes –Remove solutions from original problem

AAAI-05 TutorialBounding Techniques100 Cut-and-solve Same as two steps of limit crossing Same as two steps of limit crossing –Small chunk is solved to provide simple upper bound –Doubly-modified problem  Added piercing cuts are upper-bounding modifications  Relaxation is lower-bounding modification Unusual upper-bounding modification Unusual upper-bounding modification –Results in search path instead of search tree

AAAI-05 TutorialBounding Techniques101 Cut-and-solve A general technique for determining piercing cuts for binary IPs A general technique for determining piercing cuts for binary IPs –Relax integrality and solve LP –LP yields reduced costs  a lower bound on the increase of the solution if variable forced into LP solution –Let S = set of k variables with the smallest reduced costs –Find optimal solution for set S –Add piercing cut: sum of variables not in S >= 1 Custom piercing cuts tailored to particular problem may work better Custom piercing cuts tailored to particular problem may work better

AAAI-05 TutorialBounding Techniques102 Cut-and-solve We used general technique for ATSP [AIJ, to appear] We used general technique for ATSP [AIJ, to appear] –Piercing cut added: sum of variables in S <= n – 1 –Same cut but less variables in constraint Very good results for difficult instances Very good results for difficult instances –Real-world instances with structural characteristics Results for easy problems not as impressive Results for easy problems not as impressive

AAAI-05 TutorialBounding Techniques103 Backbone and fat identifier Backbones are variables that appear in every optimal solution Backbones are variables that appear in every optimal solution Fat variables don’t appear in any optimal solution Fat variables don’t appear in any optimal solution Useful for Useful for –Enumerating all optimal solutions –Identifying critical components –Identifying wasted components

AAAI-05 TutorialBounding Techniques104 Backbone and fat identifier Find a simple upper bound Find a simple upper bound Attempt to identify backbones: Attempt to identify backbones: –Force exclusion of each variable –If limits cross, must be a backbone Attempt to identify fat: Attempt to identify fat: –Force inclusion of each variable –If limits cross, must be fat Use problem-specific information to improve results Use problem-specific information to improve results Example for ATSP [Climer and Zhang, AAAI-02] Example for ATSP [Climer and Zhang, AAAI-02]

AAAI-05 TutorialBounding Techniques105

AAAI-05 TutorialBounding Techniques106 Upper bound = 61

AAAI-05 TutorialBounding Techniques107 Upper bound = 61 Lower bound = 24

AAAI-05 TutorialBounding Techniques108 Upper bound = 61 Lower bound = 24 Doubly-modified = 61

AAAI-05 TutorialBounding Techniques109 Upper bound = 61 Lower bound = 24 Doubly-modified = 70

AAAI-05 TutorialBounding Techniques110 Upper bound = 61

AAAI-05 TutorialBounding Techniques111 Upper bound = 61 Lower bound = 24

AAAI-05 TutorialBounding Techniques112 Upper bound = 61 Doubly-modified = 61

AAAI-05 TutorialBounding Techniques113 Upper bound = 61 Doubly-modified = 75

AAAI-05 TutorialBounding Techniques114 Upper bound = 61

AAAI-05 TutorialBounding Techniques115 Upper bound = 61 Doubly-modified = 152

AAAI-05 TutorialBounding Techniques116 Upper bound = 61

AAAI-05 TutorialBounding Techniques117 Upper bound = 61 Doubly-modified = 115

AAAI-05 TutorialBounding Techniques118 Upper bound = 61

AAAI-05 TutorialBounding Techniques119 Upper bound = 61 Doubly-modified = infinity

AAAI-05 TutorialBounding Techniques120

AAAI-05 TutorialBounding Techniques121

AAAI-05 TutorialBounding Techniques122 Results Used AP lower bound [Climer and Zhang, AAAI-02] Used AP lower bound [Climer and Zhang, AAAI-02] Random ATSP graphs with cost range equal to number of cities Random ATSP graphs with cost range equal to number of cities Found close to half of the backbone arcs and 99% of the fat arcs Found close to half of the backbone arcs and 99% of the fat arcs Time savings when finding all solutions: Time savings when finding all solutions: –20% for smaller instances –75% for larger instances Found very few backbones and fat for real-world problems as this lower bound is not tight Found very few backbones and fat for real-world problems as this lower bound is not tight –Implementing with tighter lower bound

AAAI-05 TutorialBounding Techniques123 Moving beyond typical branch-and-bound Cut-and-solveBackbone & fat identifier

AAAI-05 TutorialBounding Techniques124 Future directions Forecasting effective bounding modifications Forecasting effective bounding modifications –Automatically identifying “easy” doubly-modified problems –Tightness of modifications Systematic exploration of IPs Systematic exploration of IPs Other domains Other domains –Quadratic programs –Constraint programming –Explore modifications of every facet of problem definition

AAAI-05 TutorialBounding Techniques125 Take-home message The use of bounds is a powerful technique for solving difficult problems The use of bounds is a powerful technique for solving difficult problems It has been shown that a systematic approach to finding lower bounds can produce useful heuristics that are not easily discovered It has been shown that a systematic approach to finding lower bounds can produce useful heuristics that are not easily discovered Systematically using the 2-step limit crossing procedure coupled with a clear vision of all potential problem modifications can yield novel search strategies that exploit bounds Systematically using the 2-step limit crossing procedure coupled with a clear vision of all potential problem modifications can yield novel search strategies that exploit bounds

AAAI-05 TutorialBounding Techniques126 Questions?

AAAI-05 TutorialBounding Techniques127 ATSP results rtilt class 100 cities 100 trials

AAAI-05 TutorialBounding Techniques128 ATSP results stilt class

AAAI-05 TutorialBounding Techniques129 ATSP results crane class

AAAI-05 TutorialBounding Techniques130 ATSP results disk class

AAAI-05 TutorialBounding Techniques131 ATSP results coin class

AAAI-05 TutorialBounding Techniques132 ATSP results shop class

Download ppt "Systematic Bounding Techniques for Combinatorial Optimization Sharlee Climer and Weixiong Zhang Department of Computer Science and Engineering Washington."

Similar presentations