Optimization Bounds from Binary Decision Diagrams

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

The Separation Problem for Binary Decision Diagrams

Stochastic Decision Diagrams

Decision Diagrams: Tutorial

Decision Diagrams for Discrete Optimization

Logic, Optimization and Data Analytics

Consistency as Projection

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

Job Sequencing Bounds from Decision Diagrams

Decision Diagrams for Sequencing and Scheduling

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

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

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

Representations of All Solutions of Boolean Programming Problems

Projection in Logic, CP, and Optimization

Decision Diagram Relaxations for Integer Programming

Decision Diagrams and Dynamic Programming

Projection, Consistency, and George Boole

Projection, Inference, and Consistency

Graph Coloring Inequalities from All-different Systems

MDD-based Postoptimality Analysis for Mixed-integer Programs

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

Graph structure in polynomial systems: chordal networks

Graph structure in polynomial systems: chordal networks

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

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

Binary Decision Diagrams

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley

Optimization Methods in Logic

Solving LP and MIP Models with Piecewise Linear Objective Functions

23. Cutting planes and branch & bound

Carnegie Mellon University Tepper School of Business

Introduction to Bin Packing Problems

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

Analyzing the computational impact of individual MINLP solver components

Solving Mixed-Integer Nonlinear Programs

An Integrated Approach to Truss Structure Design

Finite-Domain Cuts for Graph Coloring

Basing Decisions on Sentences in Decision Diagrams

Binary Decision Diagrams. Graphs. Boolean Functions

Probabilistic Graphical Models

Travelling Salesman Problem

Development of an algorithm for solving mixed integer and nonconvex problems arising in electrical supply networks

Cutting Planes in SCIP

Disconnecting Networks via Node Deletions

The CPLEX Library: Mixed Integer Programming

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP:

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

BBM402-Lecture 20: LP Duality

3.4 Relaxations and bounds

Optimization in Process Systems Engineering

A First Look at Picking Dual Variables for Maximizing Reduced Cost Fixing

BDD Based Upon Shannon Expansion

A Branch-and-Refine Method for Nonconvex Mixed-Integer Optimization

Binary Decision Diagrams

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

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

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

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

Combinatorial optimization problems

CS Algorithms and Complexity

of a bimatrix game David Avis McGill University Gabriel Rosenberg Yale University Rahul Savani University of Warwick

Bounds on the Traveling Salesman Problem

DEPARTMENT OF STATISTICS AND OPERATIONS RESEARCH OPERATIONS RESEARCH DETERMINISTIC QUALIFYING EXAMINATION. Part I: Short Questions

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA

Learning to Branch. Ellen Vitercik. Joint work with Nina Balcan, Travis Dick, and Tuomas Sandholm. Published in ICML 2018

Symbolic Variable Elimination in Discrete and Continuous Graphical Models. Scott Sanner Ehsan Abbasnejad

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

4y Springer NONLINEAR INTEGER PROGRAMMING

Integer Programming. Wolfram Wiesemann. December 6, 2007

Decision Procedures An Algorithmic Point of View

QuIDD-Optimised Quantum Algorithms

Relaxations of multilinear convex envelopes: dual is better than primal

Orbitopes. Marc Pfetsch. joint work with Volker Kaibel. Zuse Institute Berlin

Last-Mile Scheduling Under Uncertainty

Scheduling Home Hospice Care with Logic-Based Benders Decomposition

18 hours nodes, first feasible 3.7% gap Time: 92 days!! LP relaxation at root node: Branch and bound

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications

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

Decomposition-based Methods for Large-scale Discrete Optimization p.1

Single-Facility Scheduling by Logic-Based Benders Decomposition

Sums of Products. Pasi Rastas November 15, 2005

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

A branch-and-price algorithm for parallel machine scheduling using ZDDs and generic branching

Modeling and solving the Euclidean Steiner Problem

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012

Presolve Reductions in Mixed Integer Programming

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

Robust Scheduling with Logic-Based Benders Decomposition

Orbital Conflict. Jeff Linderoth. Jim Ostrowski. Fabrizio Rossi Stefano Smriglio. When Worlds Collide. Univ. of Wisconsin-Madison

arxiv: v1 [cs.cc] 5 Dec 2018

Separation Techniques for Constrained Nonlinear 0 1 Programming

Parallel PIPS-SBB Multi-level parallelism for 2-stage SMIPS. Lluís-Miquel Munguia, Geoffrey M. Oxberry, Deepak Rajan, Yuji Shinano

Scenario Grouping and Decomposition Algorithms for Chance-constrained Programs

36106 Managerial Decision Modeling Linear Decision Models: Part II

where X is the feasible region, i.e., the set of the feasible solutions.

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

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

Section #2: Linear and Integer Programming

Transcription:

Optimization Bounds from Binary Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University ICS 203

Binary Decision Diagrams BDDs historically used for circuit design and verification. Lee 959, Akers 978, Bryant 986.

Binary Decision Diagrams BDDs historically used for circuit design and verification. Lee 959, Akers 978, Bryant 986. Compact graphical representation of boolean function. Can also represent feasible set of problem with binary variables. Slight generalization (MDDs) represents finite domain variables.

Binary Decision Diagrams BDD is result of superimposing isomorphic subtrees in a search tree. Unique reduced BDD for given variable ordering. Caching is a popular theme in knowledge representation. Constraints need not have an inequality representation.

The 0- inequality 300x 300x 285x 285x 265x 265x 230x 0 2 3 5 6 230x 90x 200x 00x 200x 00x 200x 7 8 9 0 2 3 00x 200x 00x 200x 00x 2700 5 6 7 8 has 7,520 minimal solutions

The 0- inequality 300x 300x 285x 285x 265x 265x 230x 0 2 3 5 6 230x 90x 200x 00x 200x 00x 200x 7 8 9 0 2 3 00x 200x 00x 200x 00x 2700 5 6 7 8 has 7,520 minimal solutions The BDD has only 52 nodes. Paths from top to bottom right correspond to feasible solutions

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 > million nodes to node. Subsequent papers with Hadzic, Hoda, van Hoeve, O Sullivan. We focus on independent set problem on a graph

Independent Set Problem Let each vertex have weight w i Select nonadjacent vertices to maximize wixi i 2 3

x Exact BDD for independent set problem zero-suppressed BDD x

x = 0 x = Exact BDD for independent set problem zero-suppressed BDD x

x Paths from top to bottom correspond to the feasible solutions x

x Paths from top to bottom correspond to the feasible solutions x

x Paths from top to bottom correspond to the feasible solutions x

x Paths from top to bottom correspond to the feasible solutions x

x Paths from top to bottom correspond to the feasible solutions and so forth x

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

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

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.

{2356} x {2356} {356} {35} {56} {} x To build BDD, associate state with each node {56} {5} {6}

{2356} x x To build BDD, associate state with each node

{2356} x {2356} {35} x To build BDD, associate state with each node

{2356} x {2356} {356} {35} {} x To build BDD, associate state with each node

{2356} x {2356} {356} {35} {56} {} x Merge nodes that correspond to the same state {5}

{2356} x {2356} {356} {35} {56} {} x Merge nodes that correspond to the same state {56} {5} {6}

{2356} x {2356} {356} {35} {56} {} x Merge nodes that correspond to the same state {56} {5} {6}

{2356} x {2356} {356} {35} Width = 2 {56} {} x Merge nodes that correspond to the same state {56} {5} {6}

{2356} x To build relaxed BDD, merge some additional nodes as we go along x

{2356} x {2356} {35} To build relaxed BDD, merge some additional nodes as we go along x

{2356} x {2356} {356} {35} To build relaxed BDD, merge some additional nodes as we go along {} x

{2356} x {2356} {356} To build relaxed BDD, merge some additional nodes as we go along {} x

{2356} x {2356} {356} To build relaxed BDD, merge some additional nodes as we go along {56} {} x

{2356} x {2356} {356} To build relaxed BDD, merge some additional nodes as we go along {56} x

{2356} x {2356} {356} To build relaxed BDD, merge some additional nodes as we go along {56} {6} {56} x

{2356} x {2356} {356} To build relaxed BDD, merge some additional nodes as we go along {56} {6} {56} x

{2356} x {2356} {356} Width = To build relaxed BDD, merge some additional nodes as we go along {56} {6} {56} x

{2356} x {2356} {356} Width = Represents 8 solutions, including feasible solutions {56} {6} {56} x

{2356} x {2356} {356} Width = Longest path gives bound of 3 on optimal value of 2 {56} {56} x {6}

Variable ordering is key. Variable Ordering Just as in branching methods. Some orderings provide much tighter bounds. Width of exact BDD is bounded by Fibonacci numbers. For an ordering induced by maximal path decomposition of the graph. We used a dynamic ordering heuristic. Next variable is the one appearing in the smallest number of states on the current level. Better than maximal path ordering.

Merging Heuristic Which nodes to merge when building relaxation? A longest path heuristic seems by far the best. Order nodes on current layer by increasing length of longest path into each node. Merge nodes in this order. We lose information in areas not likely to be part of the solution. This is better than merging nodes with more vertices n the corresponding states.

Width of BDD Wider BDDs yield tighter bounds. But take longer to build.

Comparison with LP Bound Random and benchmark instances Compare with LP bound at root node in CPLEX Turn off presolve We don t use it. It makes CPLEX bound worse or at most better. Use only clique cuts Other cuts improve bound at most And require orders of magnitude more time S 2

Random instances Relative bound vs. density CPLEX BDDs 00 vertices Max BDD width = 00 Time vs. density CPLEX BDDs

Benchmark instances (DIMACS) CPLEX Relative bound BDDs Max BDD width = 00 CPLEX Time BDDs

Alternate LP Formulation Try clique cover formulation for LP. Faster than generating clique cuts in CPLEX. Turn off all cuts in CPLEX. Requires computing clique cover before LP is formulated. May yield tighter bounds than 00-width BDD for sparse instances.

Alternate LP Formulation Try clique cover formulation for LP. Faster than generating clique cuts in CPLEX. Turn off all cuts in CPLEX. Requires computing clique cover before LP is formulated. May yield tighter bounds than 00-width BDD for sparse instances. Remedy: use wider BDDs to get tighter bounds. We can process a much wider BDD in the same time CPLEX spends at the root node. E.g., width million

Fast incremental calculation of bound. Modify relaxed BDD after variable is fixed in branching tree (fast). Recompute longest path (fast). However, may be better to rebuild relaxation from scratch. Research issue. Incrementality

Future Work Separating cuts They have an analog for BDDs. Modify BDD to remove solution of current relaxation. More problems Assembly line sequencing Vehicle routing with time windows

Future Work General BDD-based solver Branch in the BDD Combine with BDD-based propagation BDD-based bounds, primal heuristic No LP relaxation, cutting planes Linearity, convexity irrelevant Possibly nonseparable objective function

Dynamic Programming DP state transition graph is a weighted decision diagram. Possibly nonreduced. Objective function is in general nonseparable. Conversion to canonical costs may allow reduction.

DP state transition graph is a weighted decision diagram. Possibly nonreduced. Objective function is in general nonseparable. Conversion to canonical costs may allow reduction. DP state + BDD state Dynamic Programming DP state at each node provides information in addition to BDD. Can strengthen a relaxed BDD by associating a DP state with each node. BDD relaxation procedure leads to dynamic state space relaxation for DP.