Discrete Optimization with Decision Diagrams

Similar documents
Large-Scale Optimization and Logical Inference

Discrete Optimization with Decision Diagrams

Propagating Separable Equalities. in an MDD Store. Peter Tiedemann INFORMS John Hooker. Tarik Hadzic. Cork Constraint Computation Centre

Decision Diagrams for Optimization

BDD-Based Heuristics for Binary Optimization

Cost-Bounded Binary Decision Diagrams for 0-1 Programming

Manipulating MDD Relaxations for Combinatorial Optimization

Cost-Bounded Binary Decision Diagrams for 0-1 Programming

Postoptimality Analysis for Integer Programming Using Binary Decision Diagrams

Target Cuts from Relaxed Decision Diagrams

The Separation Problem for Binary Decision Diagrams

Propagating separable equalities in an MDD store

BDD-Guided Clause Generation

Decision Diagrams for Solving Traveling Salesman Problems with Pickup and Delivery in Real Time

Decomposition Based on Decision Diagrams

Graph Coloring Facets from a Constraint Programming Formulation

Graph Coloring via Constraint Programming-based Column Generation

Fundamentals of Integer Programming

The MIP-Solving-Framework SCIP

An SDP Approach to Multi-level Crossing Minimization

Lagrangian Relaxation in CP

Multivalued Decision Diagrams for a Prize-Collecting Sequencing Problem

Lagrangean Relaxation of the Hull-Reformulation of Linear Generalized Disjunctive Programs and its use in Disjunctive Branch and Bound

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

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

Solving the Euclidean Steiner Tree Problem in n-space

Motivation for Heuristics

The Gurobi Solver V1.0

On Proof Systems Behind Efficient SAT Solvers. DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor

Questions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?)

The Gurobi Optimizer. Bob Bixby

Chapter 10 Part 1: Reduction

Embedding Formulations, Complexity and Representability for Unions of Convex Sets

On the Global Solution of Linear Programs with Linear Complementarity Constraints

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

Algorithms for Decision Support. Integer linear programming models

ABC basics (compilation from different articles)

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

Advanced Use of GAMS Solver Links

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

Conflict Graphs for Combinatorial Optimization Problems

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)

Contents. Index... 33

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

Binary Decision Diagrams (BDD)

Boolean Representations and Combinatorial Equivalence

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees

Massively Parallel Seesaw Search for MAX-SAT

Exact solutions to mixed-integer linear programming problems

3 INTEGER LINEAR PROGRAMMING

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming

Minimum Weight Constrained Forest Problems. Problem Definition

Welcome to the Webinar. What s New in Gurobi 7.5

Exploiting Degeneracy in MIP

Automatic Scheduling of Hypermedia Documents with Elastic Times

Towards Efficient Higher-Order Semidefinite Relaxations for Max-Cut

Conflict Analysis in Mixed Integer Programming

Bayesian network model selection using integer programming

SCIP. 1 Introduction. 2 Model requirements. Contents. Stefan Vigerske, Humboldt University Berlin, Germany

Constraint Satisfaction Problems

arxiv: v1 [cs.dm] 6 May 2009

Integer Programming as Projection

Model Checking I Binary Decision Diagrams

Binary Decision Diagrams

CS521 \ Notes for the Final Exam

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Support Vector Machines. James McInerney Adapted from slides by Nakul Verma

Approximation Algorithms

Discrete Optimization. Lecture Notes 2

3 No-Wait Job Shops with Variable Processing Times

Agenda. Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions!

Algorithm Design (8) Graph Algorithms 1/2

How Much Of A Hypertree Can Be Captured By Windmills?

Improving Dual Bound for Stochastic MILP Models Using Sensitivity Analysis

Stochastic Separable Mixed-Integer Nonlinear Programming via Nonconvex Generalized Benders Decomposition

The Simplex Algorithm for LP, and an Open Problem

B553 Lecture 12: Global Optimization

Modelling of LP-problems (2WO09)

Global Solution of Mixed-Integer Dynamic Optimization Problems

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado.

Solving a Challenging Quadratic 3D Assignment Problem

Binary Decision Diagrams and Symbolic Model Checking

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

Comparisons of Commercial MIP Solvers and an Adaptive Memory (Tabu Search) Procedure for a Class of 0-1 Integer Programming Problems

The Design of Approximation Algorithms

A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

On the Relation between SAT and BDDs for Equivalence Checking

Finite Domain Cuts for Minimum Bandwidth

Bumptrees for Efficient Function, Constraint, and Classification Learning

Provably Optimal Test Cube Generation using Quantified Boolean Formula Solving

Nogood Learning for Mixed Integer Programming

COMS 4771 Support Vector Machines. Nakul Verma

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

Satisfiability-Based Algorithms for 0-1 Integer Programming

Transcription:

Discrete Optimization with Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University Australian OR Society, May 2014

Goal Find an alternative research direction for generalpurpose discrete optimization. Given the maturity of IP technology.

Goal Find an alternative research direction for generalpurpose discrete optimization. Given the maturity of IP technology How? Explore alternative problem representations. Use knowledge representation techniques from AI. Decision diagrams, and/or graphs, join graphs, Bayesian networks, etc. We focus on decision diagrams.

Goal Find an alternative research direction for generalpurpose discrete optimization. Given the maturity of IP technology How? Explore alternative problem representations. Use knowledge representation techniques from AI. Decision diagrams, and/or graphs, join graphs, Bayesian networks, etc. We focus on decision diagrams. Use a model with constant size as instances scale up. To solve instances too large to load in a MIP solver. Distinguish model from relaxation (e.g. inequalities).

Optimization with Decision Diagrams Idea: let decision diagrams play the role of LP relaxation. Relaxed decision diagrams provide bounds. Restricted decision diagrams provide primal heuristic. Size of decision diagram is adjustable.

Optimization with Decision Diagrams Idea: let decision diagrams play the role of LP relaxation. Relaxed decision diagrams provide bounds. Restricted decision diagrams provide primal heuristic. Size of decision diagram is adjustable. Novel branching scheme Branch in decision diagram rather than on variables.

Optimization with Decision Diagrams Idea: let decision diagrams play the role of LP relaxation. Relaxed decision diagrams provide bounds. Restricted decision diagrams provide primal heuristic. Size of decision diagram is adjustable. Novel branching scheme Branch in decision diagram rather than on variables. Constant size model DP-style model of problem. State space size is no concern.

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. Slight generalization (MDDs) represents finite domain variables. Reduced BDD is result of superimposing isomorphic subtrees in a search tree.

Brief History: BDDs in Optimization BDDs for cut generation Becker, Behle, Eisenbrand, Wimmer (2005) BDDs for 0-1 global optimization, postoptimality analysis Hadžić & Hooker (2006, 2007) Relaxed BDDs for propagation, bounds Andersen, Hadžić, Hooker, Tiedemann (2007) Bergman, Ciré, van Hoeve, Hooker (2013) Restricted BDDs for primal heuristics Bergman, Ciré, van Hoeve, Yunes (submitted)

Stable Set Problem Let each vertex have weight w i Select nonadjacent vertices to maximize i w i x i 2 3 1 4 6 5

2 3 x 1 1 6 5 4 x 2 x 3 Exact BDD for stable 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 stable 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.

DP-Style Modeling Model has two components. DP model of problem, using state variables. Analogous to inequality model in IP. Rule for merging states to create relaxed BDD. Analogous to adding valid inequalities in IP.

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 BDD Analogous to LP relaxation in IP This relaxation is discrete. Doesn t require the linear inequality formulation of IP.

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

Variable ordering is key. Variable Ordering Just as in branching methods. Some orderings provide much tighter bounds. Dynamic ordering heuristic. Next variable is the one appearing in the smallest number of states on the current level.

Node Merging Heuristic Merge nodes with worst node values. Continue merging until desired width is achieved. Node value is defined as part of model. Related to quality of paths through the node. For example, longest path length to node from top of BDD.

Wider BDDs yield tighter bounds. But take longer to build. Adjust width dynamically. Width of Decision Diagram

Incrementality Fast incremental calculation of bound. Modify relaxed BDD after branching (fast). Recompute longest path (fast).

Primal Heuristic Use restricted decision diagram. All paths are feasible. Longest path is a good feasible solution Reduce width by removing nodes with worst longest-path values.

Branching Novel branching scheme Branch in relaxed BDD. Branch on pools of partial solutions.

Relaxed BDD 1 6 5 Exact down to here 2 3 1 4 4 2 3 5 6

Relaxed BDD 1 6 5 Branch on nodes in this layer 2 3 1 4 4 2 3 5 6

Relaxed BDD 1 6 5 First branch 2 3 1 4 4 2 3 5 6

Relaxed BDD 1 6 5 Second branch 2 3 1 4 4 2 3 5 6

Relaxed BDD 1 6 5 Third branch 2 3 1 4 4 2 3 5 Continue recursively 6

Put it All Together General-purpose discrete solver Bounds from relaxed BDD Primal heuristic from restricted BDD Formulation with state variables, node merger rule Branching in relaxed BDD

Put it All Together General-purpose discrete solver Bounds from relaxed BDD Primal heuristic from restricted BDD Formulation with state variables, node merger rule Branching in relaxed BDD Compare with CPLEX Select problems with good IP model. Stable set problem Max cut problem Max 2-SAT

Stable Set Problem BDD Model: State = Set of available vertices to add to stable set. Arc cost = weight of added vertex Node value = longest path length to node Node merger = union of states MIP model: Clique cover model. Clique cover generated by greedy heuristic based on vertex degree.

Random stable set instances, 10 per data point Gap after 30 minutes 250 vertices CPLEX BDDs

Random stable set instances, 10 per data point Gap after 30 minutes 500 vertices CPLEX BDDs

Random stable set instances, 10 per data point Gap after 30 minutes 750 vertices CPLEX BDDs

Random stable set instances, 10 per data point Gap after 30 minutes 1000 vertices CPLEX BDDs

Random stable set instances, 10 per data point Gap after 30 minutes 1250 vertices CPLEX BDDs

Random stable set instances, 10 per data point Gap after 30 minutes 1500 vertices CPLEX BDDs

Random stable set instances, 10 per data point Gap after 30 minutes 1750 vertices CPLEX BDDs

DIMACS instances Graph complement of 87 max clique instances Relative gap after 30 minutes

Problem: In a graph, find a cut that maximizes weight of edges crossing the cut. BDD Model: Max Cut Problem Choose a DP model in which state reflects the solution quality. State: s = (s 1,, s n ), where s i is net marginal benefit of placing vertex i on the left side of the cut. Arc cost = (roughly) net change in s i. i Node value = longest path length to node + s i. i Node merger: Merge states s and s to obtain s, where MIP model: Standard. s i = min s i, s i if s i, s i 0 max s i, s i if s i, s i < 0 0 if s i s i < 0

Random max cut instances 30 vertices, 10 instances per data point Average solve time CPLEX without presolve BDDs

Random max cut instances 30 vertices, 10 instances per data point Average solve time CPLEX with presolve BDDs

Random max cut instances 40 vertices, 10 instances Number solved after 30 minutes CPLEX with presolve BDDs

Random max cut instances 50 vertices, 10 instances per data point Average percent gap after 30 minutes CPLEX with presolve BDDs

Benchmark max cut instances (g-set) Better than specialized algorithms for sparse instances. Worse for dense instances. Obtained best known solution for 6 instances:

Max 2-SAT Problem: Find truth assignment for a 2-SAT problem that maximizes total weight of satisfied clauses. BDD Model: Very similar to max cut model. MIP model: Standard model used in MaxSAT literature. IP is often competitive with best special-purpose algorithms.

Random max 2-SAT instances 30 variables, 100 instances Number of instances solved CPLEX BDDs

Random max 2-SAT instances 40 variables, 100 instances Number of instances solved CPLEX BDDs

IP Applications Tighter bounds Use BDDs to improve IP bound. Often better than LP + all cuts generated at root node. Bound obtained in much less time. More effective primal heuristic Often better than IP primal heuristics

Conclusions Hard to evaluate a general-purpose solver. Needs extensive testing on wide range of problems. Solver development takes time. MIP improved many orders of magnitude in 50 years.

Conclusions Hard to evaluate a general-purpose solver Needs extensive testing on wide range of problems. Solver development takes time. MIP improved many orders of magnitude in 50 years. BDD-based optimization could be promising. Simple, rudimentary algorithm. But very limited computational experience.

Ongoing Research Additional problems Problems that are hard to formulate as IP Min bandwidth, linear arrangement Quadratic assignment Nonlinear objective functions

Ongoing Research Additional problems Problems that are hard to formulate as IP Min bandwidth, linear arrangement Quadratic assignment Nonlinear objective functions Parallel computation Very close to linear average speedup. Frequently superlinear. IP very hard to parallelize.

Ongoing Research Additional problems Problems that are hard to formulate as IP Min bandwidth, linear arrangement Quadratic assignment Nonlinear objective functions Parallel computation Very close to linear average speedup. Frequently superlinear. IP very hard to parallelize. Finding all (near) optimal solutions Build BDD of optimal solutions after one optimal solution is obtained perhaps by another solver.

Future Research Stochastic optimization Use BDDs with chance nodes. Continuous variables We have some ideas Nonserial BDDs Model is nonserial DP. Other types of knowledge representation And/or graphs, join graphs, etc.