The Separation Problem for Binary Decision Diagrams

Similar documents
Optimization Bounds from Binary Decision Diagrams

Stochastic Decision Diagrams

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA

Logic, Optimization and Data Analytics

Decision Diagrams: Tutorial

Consistency as Projection

Decision Diagrams for Discrete Optimization

Multivalued Decision Diagrams. Postoptimality Analysis Using. J. N. Hooker. Tarik Hadzic. Cork Constraint Computation Centre

Lessons from MIP Search. John Hooker Carnegie Mellon University November 2009

Decision Diagrams for Sequencing and Scheduling

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008

Job Sequencing Bounds from Decision Diagrams

with Binary Decision Diagrams Integer Programming J. N. Hooker Tarik Hadzic IT University of Copenhagen Carnegie Mellon University ICS 2007, January

Projection, Consistency, and George Boole

Projection, Inference, and Consistency

Projection in Logic, CP, and Optimization

Decision Diagrams and Dynamic Programming

arxiv: v1 [cs.cc] 5 Dec 2018

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

Representations of All Solutions of Boolean Programming Problems

Scheduling Home Hospice Care with Logic-Based Benders Decomposition

Optimization Methods in Logic

Decision Diagram Relaxations for Integer Programming

Binary Decision Diagrams

MDD-based Postoptimality Analysis for Mixed-integer Programs

Robust Scheduling with Logic-Based Benders Decomposition

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

Preprocessing. Complements of Operations Research. Giovanni Righini. Università degli Studi di Milano

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Basing Decisions on Sentences in Decision Diagrams

3.7 Cutting plane methods

Multiperiod Blend Scheduling Problem

Binary Decision Diagrams. Graphs. Boolean Functions

Integer Linear Programming (ILP)

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Binary Decision Diagrams

ECS122A Handout on NP-Completeness March 12, 2018

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Logic-Based Benders Decomposition

CS Algorithms and Complexity

The P versus NP Problem. Ker-I Ko. Stony Brook, New York

Introduction to Bin Packing Problems

Binary Decision Diagrams

3.4 Relaxations and bounds

Dissertation Proposal: Modern Methodologies for Practical Discrete Optimization Models

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

SEQUENTIAL AND SIMULTANEOUS LIFTING IN THE NODE PACKING POLYHEDRON JEFFREY WILLIAM PAVELKA. B.S., Kansas State University, 2011

CHAPTER 3: INTEGER PROGRAMMING

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

The CPLEX Library: Mixed Integer Programming

Reduced Ordered Binary Decision Diagrams

Graph Coloring Inequalities from All-different Systems

Travelling Salesman Problem

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory

Single-Facility Scheduling by Logic-Based Benders Decomposition

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Bounds on the Traveling Salesman Problem

IE418 Integer Programming

Chapter 3: Discrete Optimization Integer Programming

A Framework for Integrating Optimization and Constraint Programming

Disconnecting Networks via Node Deletions

21. Set cover and TSP

Operations Research Lecture 6: Integer Programming

Graph structure in polynomial systems: chordal networks

Chapter 3: Discrete Optimization Integer Programming

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t.

Symbolic Model Checking with ROBDDs

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Analyzing the computational impact of individual MINLP solver components

Optimization in Process Systems Engineering

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Approximate Uni-directional Benders Decomposition

Separation Techniques for Constrained Nonlinear 0 1 Programming

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Branch-and-cut Approaches for Chance-constrained Formulations of Reliable Network Design Problems

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

Graph structure in polynomial systems: chordal networks

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

Solving Mixed-Integer Nonlinear Programs

CS/COE

23. Cutting planes and branch & bound

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Reduced Ordered Binary Decision Diagrams

Discrete (and Continuous) Optimization WI4 131

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Optimization Methods in Management Science

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

1 Solution of a Large-Scale Traveling-Salesman Problem... 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson

Logic-based Benders Decomposition

The Simplex Method: An Example

Math Models of OR: Branch-and-Bound

Mixed Integer Programming Solvers: from Where to Where. Andrea Lodi University of Bologna, Italy

Binary Decision Diagrams

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Section #2: Linear and Integer Programming

BDD Based Upon Shannon Expansion

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

4y Springer NONLINEAR INTEGER PROGRAMMING

Transcription:

The Separation Problem for Binary Decision Diagrams J. N. Hooker Joint work with André Ciré Carnegie Mellon University ISAIM 2014

Separation Problem in Optimization Given a relaxation of an optimization problem Find a constraint that separates solution of the relaxation from the feasible set Feasible set Optimal solution of relaxed problem Relaxation of feasible set

Separation Problem in Optimization Given a relaxation of an optimization problem Find a constraint that separates solution of the relaxation from the feasible set Feasible set Relaxation of feasible set Optimal solution of relaxed problem Separating constraint (cut)

Separation Problem in Optimization Now strengthen the relaxation with the separating cut. Cuts are usually linear inequalities. Feasible set Strengthened relaxation Separating constraint (cut)

Separation Problem in Optimization Now strengthen the relaxation with the separating cut. Cuts are usually linear inequalities. Re-solve relaxation and repeat. Feasible set Optimal solution of tightened relaxation Strengthened relaxation Separating constraint (cut)

Separation Problem in Optimization Separation is a workhorse in integer and nonlinear programming. Relaxations are usually polyhedral. Typical problem: in a large known family of cuts, find one that separates. Cannot publish a cutting plane paper without a separation algorithm.

Separation Problem in Optimization Example: Integer programming Gomory cuts Mixed integer rounding cuts Separating knapsack cuts Separating cover inequalities Separating cuts in special families Subtour elimination, combs for TSP Separating flow cuts for fixed-charge network flow etc. (huge literature)

Separation Problem for BDDs Is there a role for separation in discrete relaxations? We will look at separation for binary decision diagrams (BDDs). Recently used for discrete optimization and constraint programming.

Separation Problem for BDDs Is there a role for separation in discrete relaxations? We will look at separation for binary decision diagrams (BDDs). Recently used for discrete optimization and constraint programming. Key idea: A relaxed BDD provides A discrete relaxation of the problem as a. How to separate a solution (or family of solutions) from the relaxed BDD? We will focus on separating Benders cuts.

Decision Diagrams Binary decision diagrams (BDDs) historically used for circuit design and verification. Lee 1959, Akers 1978, Bryant 1986.

Decision Diagrams Binary decision diagrams (BDDs) historically used for circuit design and verification. Lee 1959, Akers 1978, Bryant 1986. Compact graphical representation of boolean function. Can also represent feasible set of problem with binary variables. Easy generalization to multivalued decision diagrams (MDDs) for finite domain variables.

Decision Diagrams Binary decision diagrams (BDDs) historically used for circuit design and verification. Lee 1959, Akers 1978, Bryant 1986. Compact graphical representation of boolean function. Can also represent feasible set of problem with binary variables. Easy generalization to multivalued decision diagrams (MDDs) for finite domain variables. BDD is result of superimposing isomorphic subtrees in a search tree. Unique reduced BDD for given variable ordering. A type of caching.

Binary Decision Diagrams BDD can grow exponentially with problem size. So we use a smaller, relaxed BDD that represents superset of feasible set. Andersen, Hadzic, Hooker, Tiedemann 2007. For alldiff systems, reduced search tree from >1 million nodes to 1 node. Subsequent papers with Hadzic, Hoda, van Hoeve, O Sullivan. Example: independent set problem on a graph

Independent Set Problem Let each vertex have weight w i Select nonadjacent vertices to maximize x i =1 if vertex i selected wixi i 2 3 1 4 6 5

2 3 x 1 1 6 5 4 x 2 x 3 Exact BDD for independent set problem zero-suppressed BDD x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 = 0 x 1 = 1 x 2 x 3 Exact BDD for independent set problem zero-suppressed BDD x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 and so forth x 6

1 2 3 6 5 4 0 0 w 1 x 1 x 2 w 2 x 3 For objective function, associate weights with arcs w 3 0 0 w 4 0 w 4 w 5 0 0 w 6 w 3 0 0 w 5 x 4 x 5 x 6

1 2 3 6 5 4 0 0 w 1 x 1 x 2 w 2 x 3 For objective function, associate weights with arcs Optimal solution is longest path 0 w 3 0 w 4 0 w 4 w 5 0 0 w 6 w 3 0 0 w 5 x 4 x 5 x 6

Objective Function In general, objective function can be any separable function. Linear or nonlinear, convex or nonconvex BDDs can be generalized to nonseparable objective functions. There is a unique reduced BDD with canonical edge costs.

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {456} {4} x 4 To build BDD, associate state with each node {56} {5} {6} x 5 x 6

2 3 {123456} x 1 1 6 5 4 x 2 x 3 x 4 To build BDD, associate state with each node x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {35} x 3 x 4 To build BDD, associate state with each node x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {4} x 4 To build BDD, associate state with each node x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {456} {4} x 4 Merge nodes that correspond to the same state {5} x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {456} {4} x 4 Merge nodes that correspond to the same state {56} {5} {6} x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {456} {4} x 4 Merge nodes that correspond to the same state {56} {5} {6} x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 Width = 2 {456} {4} x 4 Merge nodes that correspond to the same state {56} {5} {6} x 5 x 6

Relaxation Bounding To obtain a bound on the objective function: Use a relaxed decision diagram Analogous to linear programming relaxation in MIP This relaxation is discrete. Doesn t require the linear inequality formulation of MIP.

2 3 {123456} x 1 1 6 5 4 x 2 x 3 To build relaxed BDD, merge some additional nodes as we go along x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {35} x 3 To build relaxed BDD, merge some additional nodes as we go along x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 To build relaxed BDD, merge some additional nodes as we go along {4} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {4} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {456} {4} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {456} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {456} {6} {56} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {456} {6} {56} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 Width = 1 To build relaxed BDD, merge some additional nodes as we go along {456} {6} {56} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 Width = 1 Represents 18 solutions, including 11 feasible solutions {456} {6} {56} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 Width = 1 Longest path gives bound of 3 on optimal value of 2 {456} {56} x 4 x 5 {6} x 6

Bound vs. Width Wider BDDs yield tighter bounds. But take longer to build.

Propagation We can propagate by removing arcs from the decision diagram. Rather than removing elements from variable domains. More effective than traditional domain filtering. More information propagated from one constraint to the next.

Suppose this is the relaxed decision diagram {123456} {23456} x 1 x 2 {3456} {35} x 3 {456} {4} x 4 {56} {5} x 5 {6} x 6

Suppose this is the relaxed decision diagram {12345 } {23456} x 1 x 2 {3456} {35} x 3 {456} {4} x 4 Suppose other constraints remove 6 from domain of x 1 {56} {5} {6} x 5 x 6

Suppose this is the relaxed decision diagram {12345 } {2345 } x 1 x 2 {345 } {35} x 3 {45 } {4} x 4 This propagates through the states and removes some arcs. {5 } {5} { } x 5 x 6

Suppose this is the relaxed decision diagram {12345 } {2345 } x 1 x 2 {345 } {35} x 3 {45 } {4} x 4 This propagates through the states and removes some arcs. {5 } {5} x 5 x 6

Separation Problem for BDDs Exclude a given partial assignment x i = x i for i I. That is, remove all paths in which x i = x i for i I. Example

Original BDD Remove partial assignment x 2, x 4 = (1,1) 1-arcs from state 1 nodes preserve state 0-arcs switch state to 0.

Original BDD Separating BDD Remove partial assignment x 2, x 4 = (1,1) 1-arcs from state 1 nodes preserve state 0-arcs switch state to 0.

Separation Algorithm In principle, a partial assignment can be separated by conjoining two BDDs. Original BDD Width-2 BDD representing negation of partial assignment However, this introduces an unnecessary data structure.

Separation Algorithm We will propose an algorithm specifically for BDD separation. Exposes essential logic of separation. Operates on original data structure. Allows proof of tighter bounds on growth of the separating BDD as cuts are added.

Original BDD Separating BDD state A node has state 1 when all incoming paths are excluded. Otherwise state 0. Assign state 1 to root node.

Original BDD Separating BDD Duplicate arcs leaving r in original BDD. Child nodes inherit state of parent node. ng

Original BDD Separating BDD 1-arcs from state 1 nodes preserve state 1 ng

Original BDD Separating BDD 1-arcs from state 1 nodes preserve state 1 0-arcs from state 1 nodes switch to state 0 ng

Original BDD Separating BDD Duplicate arcs in original BDD. Child nodes inherit ng state of parent node.

Original BDD Separating BDD Duplicate arcs from nodes ng with state 0, preserving state.

Original BDD Separating BDD 1-arcs from state 1 nodes ng preserve state 0-arcs switch state to 0.

Original BDD Separating BDD 1-arcs from state 1 nodes Terminate paths preserve state at nodes with state 1 0-arcs switch state to 0.

Size of Separating BDD We wish to separate from a given BDD all solutions x in which x i = x i for i I. Theorem (obvious). The separating BDD is at most twice as large as the original BDD. If only one solution is separated, the separating BDD has at most one additional node per layer. This refers to separating BDD created by the algorithm Not necessarily a reduced (minimal) BDD.

Size of Separating BDD We wish to separate from a given BDD all solutions x in which x i = x i for i I. Let n i be size of layer i of original BDD. Let j,k be smallest, largest indices in I. Theorem (not so obvious). Size of layer i of separating BDD n i + φ i if j i k n i otherwise where φ i = min n i, φ i 1 if i 1 I min n i, 2φ i 1 otherwise

Size of Separating BDD We wish to separate from a given BDD all solutions x in which x i = x i for i I. Let n i be size of layer i of original BDD. Let j,k be smallest, largest indices in I. Corollary Portion of BDD outside the range of indices in I is unaffected by separation. This will be useful in decomposition methods.

Separating BDD generated by the algorithm need not be reduced. The reduced BDD for a Boolean function is the smallest BDD that represents the function. It is unique. Reduced Separating BDD For example

Original BDD

Original BDD BDD that separates x 2 = 1 as generated by algorithm

Original BDD BDD that separates x 2 = 1 as generated by algorithm Reduced form of separating BDD

Growth of BDD Key question: How fast does the separating BDD grow when a sequence of partial solutions are separated? Traditional relaxation grows linearly. One inequality constraint added per solution separated. Will the separating BDD grow linearly?

Can reduced separating BDD grow exponentially? Yes Worst-Case Growth Example Start with BDD that represents all Boolean vectors (width 1). Separate: 1,,,,,, 1, 1,,,, 1,,, 1,, 1,, etc.

Reduced BDD for n = 6 variables. It has width 2 n/2

Empirical Growth How fast does the separating BDD grow in a realistic optimization algorithm? We will look at a logic-based Benders algorithm for the home health care delivery problem

Benders Decomposition Logic-based Benders decomposition is a generalization of classical Benders. Address a simplified problem: min f(x) (x, y) S Master Problem Optimize over x subject to Benders cuts Benders cut excludes x (and perhaps similar solutions) if it is infeasible in the subproblem. Algorithm terminates when x is feasible in the subproblem. Benders cut Subproblem (x, y) S Solution x of master

Benders Decomposition Logic-based Benders decomposition is a generalization of classical Benders. Master problem is initially a relaxation of the original problem over x (warm start). Relaxation becomes tighter as Benders cuts are added. Master Problem Optimize over x subject to Benders cuts Benders cut Solution x of master Subproblem (x, y) S

Benders Decomposition Using BDDs in Benders: We will use a relaxed BDD as initial master problem (warm start). Benders cuts exclude partial assignments. Add a Benders cut by creating a separating BDD. Master Problem Optimize in separating BDD Benders cut Solution x of master Subproblem (x, y) S

Home Health Care Home health care delivery problem. Assign nurses to homebound patients. subject to constraints on nurse qualifications. Route each nurse through assigned patients, observing time windows. Nurse must take a break if day is long enough. Minimize cost in some sense.

Home Health Care Solve with Benders decomposition. Assignment problem in master. Subproblem generates Benders cuts when there is no feasible schedule for one or more nurses. Each cut excludes a partial assignment of nurses to patients. Master Problem BDD relaxation of nurse assignment problem Benders cut Solution x of master Subproblem Decouples into routing and scheduling problem for each nurse.

Home Health Care Solve with Benders decomposition. Assignment problem in master. Subproblem generates Benders cuts when there is no feasible schedule for one or more nurses. Each cut excludes a partial assignment of nurses to patients. How fast does the separating BDD grow in the master problem? Master Problem BDD relaxation of nurse assignment problem Benders cut Solution x of master Subproblem Decouples into routing and scheduling problem for each nurse.

Results for 20 instances

Growth of Separating BDD for All but 3 Instances

Growth of Separating BDD for 2 Harder Instances

Growth of Separating BDD for Hardest Instance

Separating BDD grows more or less linearly in all but one instance. Somewhat superlinear in hardest instance. Most BDDs never exceeded width of 100. A width-1000 BDD can be processed in small fraction of a second. Hardest instance: Width 16,496. 820 iterations. Empirical Growth Final iteration processed in 2.9 seconds, including solution of subproblem.

Exploiting structure Include relaxation of subproblem in the master problem Common technique in logic-based Benders. How? Add routing and scheduling variables to bottom of BDD in the master. The Benders cuts will still contain only assignment variables. By previous corollary, the rest of the BDD will be unchanged after separation.

Conclusions General separation algorithm is straightforward for BDDs. Reduced separating BDD grows exponentially in worst case. Classical relaxation grows linearly. Empirically, BDD may grow linearly Almost always grows linearly in a representative application of logic-based Benders decomposition.

Conclusions So separation may have a useful role in BDD-based optimization. But we must keep a close eye on growth rate. Exploiting problem structure with variable ordering may reduce growth rate.