Decision Diagrams for Discrete Optimization

Similar documents
Decision Diagrams for Sequencing and Scheduling

Optimization Bounds from Binary Decision Diagrams

Decision Diagrams: Tutorial

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

Stochastic Decision Diagrams

Logic, Optimization and Data Analytics

The Separation Problem for Binary Decision Diagrams

Job Sequencing Bounds from Decision Diagrams

Decision Diagram Relaxations for Integer Programming

Consistency as Projection

Representations of All Solutions of Boolean Programming Problems

Projection in Logic, CP, and 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

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

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

Projection, Inference, and Consistency

Projection, Consistency, and George Boole

Scheduling with Constraint Programming. Job Shop Cumulative Job Shop

Introduction to Bin Packing Problems

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

Travelling Salesman Problem

Single-Facility Scheduling by Logic-Based Benders Decomposition

MDD-based Postoptimality Analysis for Mixed-integer Programs

Carnegie Mellon University Tepper School of Business

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

The core of solving constraint problems using Constraint Programming (CP), with emphasis on:

Operations Research as Empirical Modeling

An Integrated Approach to Truss Structure Design

Hybrid Optimization Methods for Time-Dependent Sequencing Problems

Integer Programming, Constraint Programming, and their Combination

Decision Diagrams and Dynamic Programming

A Framework for Integrating Optimization and Constraint Programming

The CPLEX Library: Mixed Integer Programming

Algorithms. Outline! Approximation Algorithms. The class APX. The intelligence behind the hardware. ! Based on

Integer Linear Programming (ILP)

Graph Coloring Inequalities from All-different Systems

Robust Scheduling with Logic-Based Benders Decomposition

An Integrated Method for Planning and Scheduling to Minimize Tardiness

arxiv: v1 [cs.cc] 5 Dec 2018

Disconnecting Networks via Node Deletions

Introduction to Integer Linear Programming

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

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

Integer Programming. Wolfram Wiesemann. December 6, 2007

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs

Combining Optimization and Constraint Programming

Integer Linear Programming

Introduction to optimization and operations research

An Exact Algorithm for the Steiner Tree Problem with Delays

Integrating Solution Methods. through Duality. US-Mexico Workshop on Optimization. Oaxaca, January John Hooker

Bounds on the Traveling Salesman Problem

Binary Decision Diagrams. Graphs. Boolean Functions

Integer and Constraint Programming for Batch Annealing Process Planning

A Search-Infer-and-Relax Framework for Integrating Solution Methods

Boosting Set Constraint Propagation for Network Design

Cardinality Networks: a Theoretical and Empirical Study

BBM402-Lecture 20: LP Duality

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Duality in Optimization and Constraint Satisfaction

CSCI 1590 Intro to Computational Complexity

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

Introduction to Integer Programming

Graph structure in polynomial systems: chordal networks

Decision Procedures An Algorithmic Point of View

Graph structure in polynomial systems: chordal networks

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

Sums of Products. Pasi Rastas November 15, 2005

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

An Adaptive Partition-based Approach for Solving Two-stage Stochastic Programs with Fixed Recourse

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

Orbital Shrinking: A New Tool for Hybrid MIP/CP Methods

Logic-based Benders Decomposition

Constraint Programming Overview based on Examples

A Global Constraint for Total Weighted Completion Time for Unary Resources

Resource Constrained Project Scheduling Linear and Integer Programming (1)

Binary Decision Diagrams

Scheduling Home Hospice Care with Logic-Based Benders Decomposition

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

Interleaved Alldifferent Constraints: CSP vs. SAT Approaches

Contents college 5 and 6 Branch and Bound; Beam Search (Chapter , book)! general introduction

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

A Note on Symmetry Reduction for Circular Traveling Tournament Problems

Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse

Introduction to Arti Intelligence

Reduced Ordered Binary Decision Diagrams

Symbolic Model Checking with ROBDDs

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

Planning and Scheduling by Logic-Based Benders Decomposition

BDD Based Upon Shannon Expansion

Determine the size of an instance of the minimum spanning tree problem.

Symmetry Breaking Ordering Constraints

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

Integer vs. constraint programming. IP vs. CP: Language

The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation

Probabilistic Graphical Models

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

Transcription:

Decision Diagrams for Discrete Optimization Willem Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Acknowledgments: David Bergman, Andre Cire, Samid Hoda, John Hooker, Brian Kell, Joris Kinable, Ashish Sabharwal, Horst Samulowitz, Vijay Saraswat, Marla Slusky, Tallys Yunes

Summary What can MDDs do for discrete optimization? Compact representation of all solutions to a problem Limit on size gives approximation Control strength of approximation by size limit MDDs for integer optimization MDD relaxations provide upper bounds MDD restrictions provide lower bounds Incorporation in branch and bound can be very effective MDDs for constraint programming and scheduling MDD propagation natural generalization of domain propagation Orders of magnitude improvement possible 2

Decision Diagrams : 0 : 1 f(x1, f ( x1, x2, x3) x = x1 ( x* 1 x2 x* 2 x3 + x3) x1 * ( x1 * xx2 2) + x2 ( x2* x3x 3) Binary Decision Diagrams were introduced to compactly represent Boolean functions [Lee, 1959], [Akers, 1978], [Bryant, 1986] BDD: merge isomorphic subtrees of a given binary decision tree MDDs are multi valued decision diagrams (i.e., for discrete variables) 3

Brief background Original application areas: circuit design, verification Usually reduced ordered BDDs/MDDs are applied fixed variable ordering minimal exact representation Recent interest from optimization community cut generation [Becker et al., 2005] 0/1 vertex and facet enumeration [Behle & Eisenbrand, 2007] post optimality analysis [Hadzic & Hooker, 2006, 2007] Interesting variant approximate MDDs [Andersen, Hadzic, Hooker & Tiedemann, CP 2007] 4

Exact MDDs for discrete optimization : 0 : 1 r (1) x 1 + x 2 + x 3 1 (2) x 1 + x 4 + x 5 1 (3) x 2 + x 4 1 x 1 x 2 x 3 x 4 x 5 l l l l l l l l l l 0 0 l l 0 0 l l l 0 l l l 0 l l 0 0 0 0 0 0 5

Exact MDDs for discrete optimization : 0 : 1 r (1) x 1 + x 2 + x 3 1 (2) x 1 + x 4 + x 5 1 (3) x 2 + x 4 1 x 1 x 2 x 3 x 4 x 5 l l l l l l l l l l 0 0 l l 0 0 l l l 0 l l l 0 l l 0 0 0 0 0 6

Exact MDDs for discrete optimization : 0 : 1 r (1) x 1 + x 2 + x 3 1 (2) x 1 + x 4 + x 5 1 (3) x 2 + x 4 1 x 1 x 2 x 3 x 4 x 5 l l l l l l l l l l l l l l l l l l l l 7

Exact MDDs for discrete optimization : 0 : 1 r (1) x 1 + x 2 + x 3 1 (2) x 1 + x 4 + x 5 1 (3) x 2 + x 4 1 x 1 x 2 x 3 x 4 x 5 l l l l l l l l l l l l l l l l l l 8

Exact MDDs for discrete optimization : 0 : 1 root r (1) x 1 + x 2 + x 3 1 (2) x 1 + x 4 + x 5 1 (3) x 2 + x 4 1 x 1 x 2 x 3 x 4 x 5 Each path corresponds to a solution terminal 1 t (1,0,1,1,0) 9

Approximate MDDs Exact MDDs can be of exponential size in general We can limit the size (width) of the MDD to obtain a relaxation [Andersen et al., 2007] strength is controlled by the width Can provide bounds on objective function Can also be used for cut generation, constraint propagation, guiding search, 10

MDDs for Integer Optimization Bergman, Cire, v.h., Hooker: Optimization Bounds from Binary Decision Diagrams. INFORMS J. Computing 26(2): 253 268, 2014. Bergman, Cire, v.h., Yunes: BDD Based Heuristics for Binary Optimization. Journal of Heuristics 20: 211 234, 2014. Bergman, Cire, v.h., Hooker. Discrete Optimization with Decision Diagrams. Under review, 2013. Bergman, Cire, Sabharwal, Samulowitz, Saraswat, and v.h. Parallel Combinatorial Optimization with Decision Diagrams. In Proceedings of CPAIOR, Springer LNCS, 2014. 11

Motivation Conventional integer programming relies on branchand bound based on continuous LP relaxations Relaxation bounds Feasible solutions Branching We propose a novel branch and bound algorithm for discrete optimization based on decision diagrams Relaxation bounds Relaxed BDDs Feasible solutions Restricted BDDs Branching Nodes of relaxed BDDs Potential benefits: stronger bounds, efficiency, memory requirements, models need not be linear 12

Case Study: Independent Set Problem Given graph G = (V, E) with vertex weights w i Find a subset of vertices S with maximum total weight such that no edge exists between any two vertices in S max i w i x i s.t. x i + x j 1 for all (i,j) in E x i binary for all i in V 5 4 2 8 6 13

Exact top down compilation : 0 : 1 r state information: eligible vertices {1,2,3,4,5} 1 2 3 x 1 5 4 {3,4} {2,3,4,5} x 2 {3,4} {5} {3,4,5} x 3 {4} {5} {5} {4,5} x 4 Merge equivalent nodes x 5 14

Node Merging : 0 : 1 r state information: eligible vertices {1,2,3,4,5} 1 2 3 x 1 5 4 {3,4} {2,3,4,5} x 2 {3,4} {5} {3,4,5} x 3 {4} {5} {4,5} x 4 x 5 {5} Relaxed Theorem: BDD: This merge procedure nonequivalent generates an nodes exact when BDDthe given width is exceeded [Bergman et al., 2012] 15

Relaxed BDD : 0 : 1 r 1 2 Exact BDD Relaxed BDD (width 3) 5 4 3 r {1,2,3,4,5} x 1 {3,4} {2,3,4,5} x 2 {3,4} {5} {3,4,5} x 3 x 4 {4} {5} {5} {4,5} x 5 16

Relaxed BDD : 0 : 1 r 1 2 Exact BDD Relaxed BDD (width 3) 5 4 3 r {1,2,3,4,5} x 1 {3,4} {2,3,4,5} x 2 {3,4} {5} {3,4,5} x 3 x 4 {4,5} {5} {5} x 5 17

Relaxed BDD : 0 : 1 r 1 2 Exact BDD Relaxed BDD (width 3) 5 4 3 r x 1 x 2 x 3 x 4 x 5 (0,0,0,1,0) 18

Relaxed BDD : 0 : 1 r 1 2 Exact BDD Relaxed BDD (width 3) 5 4 3 r x 1 x 2 x 3 x 4 x 5 (1,0,0,0,1) 19

Evaluate Objective Function : 0 : 1 r 5 1 2 4 Exact BDD Relaxed BDD (width 3) 8 5 4 6 3 2 r x 1 x 2 x 3 x 4 x 5 max f(x) = 12 max f(x) = 13 20

Restricted BDD : 0 Restricted MDD (width 3) : 1 r {1,2,3,4,5} 1 2 3 x 1 5 4 {3,4} {2,3,4,5} x 2 {3,4} {5} {3,4,5} x 3 {4} {5} {4,5} 21

Variable Ordering Order of variables greatly impacts BDD size also influences bound from relaxed BDD (see next) Finding optimal ordering is NP hard Insights from independent set as case study formal bounds on BDD size measure strength of relaxation w.r.t. ordering 22

Exact BDD orderings for Paths 23

Many Random Orderings Better orderings give stronger bounds For each random ordering, plot the exact BDD width and the bound from width 10 BDD relaxation 24

Formal Results for Independent Set Graph Class Bound on Width Paths 1 Cliques 1 Interval Graphs n/2 Trees n/2 General Graphs Fibonacci Numbers (The proof for general graphs is based on a maximal path decomposition of the graph) 25

Branch and Bound Width 3 relaxed decision diagram 1 6 5 2 1 4 3 2 3 4 Upper Bound = 4 5 6 26

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 6 27

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 6 28

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 6 29

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 6 30

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 2 6 31

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 3 6 32

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 2 6 33

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 2 3 2 6 34

Branch and Bound 1 6 5 2 1 4 3 2 3 4 5 max { 2, 3, 2 } = 3 6 35

New Branching Scheme Novel branching scheme Branch on pools of partial solutions Remove symmetry from search Symmetry with respect to feasible completions Can be combined with other techniques Use decision diagrams for branching, and LP for bounds Immediate parallelization Send nodes to different workers, recursive application DDX10 (CPAIOR 2014) 36

Computational Results Compare with IBM ILOG CPLEX State of the art integer programming technology Use typical, strong formulations Edge formulation and clique formulation for maximum independent set problem O(n) variables, O(n 2 ) constraints Random Erdös Rényi G(n,p) graphs and DIMACS Clique graphs Compare end gaps after 1,800 seconds

Random graphs: n=250 38

Random graphs: n=500 39

Random graphs: n=750 40

Random graphs: n=1500 41

DIMACS Graphs: End Gap (1,800s) 42

Parallelization: BDD vs CPLEX CPLEX BDD n = 170, each data point avg over 30 instances 1 worker: BDD 1.25 times faster than CPLEX (density 0.29) 32 workers: BDD 5.5 times faster than CPLEX (density 0.29) BDDs scale to well to (at least) 256 workers 43

General Approach In general, our approach can be applied when problem is formulated as a dynamic programming model We can build exact BDD from DP model using top down compilation scheme (exponential size in general) Note that we do not use DP to solve the problem, only to represent it Other problem classes considered MAX CUT, set covering, set packing, MAX 2 SAT, SAT, 44

MAX CUT representation Value of a cut (S,T) is s,t s e S, t e T w(s,t) Example: cut ( {1,2}, {3,4) ) has value 2 MAX CUT: Find a cut with maximum value 2 1 1 2 2 3 1 3 4 1 How can we represent this in a BDD? state represents vertices included in S? we propose a state to represent the marginal cost of including vertex in S S T 45

MAX CUT example BDD State: j th element is additional value of adding vertex j to S (if positive) 1 4 8 2 0 r (0,0,0) 0 (0,4,9) v 1 9 3 (0,0,17) v 2 v 3 S T 46

MAX CUT example BDD State: j th element is additional value of adding vertex j to S (if positive) 1 4 8 2 r (0,0,0) 0 (0,4,9) 0 4 + min{8,9} v 1 9 3 (0,0,17) 0 17 0 1 (0,0,1) v 2 v 3 t (0,0,0) S T 47

Computational Results Compare with IBM ILOG CPLEX Typical MIP formulation + triangle inequalities O(n 2 ) variables, O(n 3 ) constraints Benchmark problems g instances Helmberg and Rendl instances, which were taken from Rinaldi s random graph generator n ranges from 800 to 3000 very large/difficult problems, mostly open Also compared performance with BiqMac

MIP vs BDD: 60 seconds (n=40) 49

MIP vs BDD: 1,800 seconds (n=40) 50

BiqMac vs BDD BiqMac BDD Best known instance LB UB LB UB LB UB g50 5880 5988.18 5880 5899* 5880 5988.18 g32 1390 1567.65 1410* 1645 1398 1560 g33 1352 1544.32 1380* 1536* 1376 1537 g34 1366 1546.70 1376* 1688 1372 1541 g11 558 629.17 564 567* 564 627 g12 548 623.88 556 616* 556 621 g13 578 647.14 580 652 580 645 51

MDDs for Constraint Programming Andersen, Hadzic, Hooker, Tiedemann: A Constraint Store Based on Multivalued Decision Diagrams. CP 2007: 118 132 Hoda, v.h., Hooker: A Systematic Approach to MDD Based Constraint Programming. CP 2010: 266 280 Cire, v.h.: MDDs for Sequencing Problems. Operations Research, 61(6): 1411 1428, 2013. 52

Motivation Constraint Programming applies systematic search and inference techniques to solve discrete optimization problems Inference mainly takes place through: Filtering provably inconsistent values from variable domains Propagating the updated domains to other constraints x 1 {1,2}, x 2 {1,2,3}, x 3 {2,3} x 1 < x 2 x 2 {2,3} alldifferent(x 1,x 2,x 3 ) x 1 {1} 53

Illustrative Example AllEqual(x 1, x 2,, x n ), all x i binary x 1 + x 2 + + x n n/2 {0,1} x 1 {0} {1} {0,1} x 2 {0} {1} {0,1} x n 1 {0} {1} {0,1} x n {0} {1} domain representation, size 2 n MDD representation, size 2 54

Drawback of domain propagation All structural relationships among variables are projected onto the domains Potential solution space implicitly defined by Cartesian product of variable domains (very coarse relaxation) We can communicate more information between constraint using MDDs [Andersen et al. 2007] Explicit representation of more refined potential solution space Limited width defines relaxed MDD Strength is controlled by the imposed width 55

MDD based Constraint Programming Maintain limited width MDD Serves as relaxation Typically start with width 1 (initial variable domains) Dynamically adjust MDD, based on constraints Constraint Propagation Edge filtering: Remove provably inconsistent edges (those that do not participate in any solution) Node refinement: Split nodes to separate edge information Search As in classical CP, but may now be guided by MDD 56

Specific MDD propagation algorithms Linear equalities and inequalities [Hadzic et al., 2008] [Hoda et al., 2010] Alldifferent constraints [Andersen et al., 2007] Element constraints [Hoda et al., 2010] Among constraints [Hoda et al., 2010] Disjunctive scheduling constraints [Hoda et al., 2010] [Cire & v.h., 2011, 2013] Sequence constraints (combination of Amongs) [Bergman et al., 2013] Generic re application of existing domain filtering algorithm for any constraint type [Hoda et al., 2010] 57

Case Study: Disjunctive Scheduling 58

Disjunctive Scheduling Sequencing and scheduling of activities on a resource Activities Processing time: p i Release time: r i Deadline: d i Activity 1 Activity 2 Activity 3 0 1 2 3 4 Resource Nonpreemptive Process one activity at a time 59

Common Side Constraints Precedence relations between activities Sequence dependent setup times Induced by objective function Makespan Sum of setup times Sum of completion times Tardiness / number of late jobs 60

MDD Representation Natural representation as permutation MDD Every solution can be written as a permutation π π 1, π 2, π 3,, π n : activity sequencing in the resource Schedule is implied by a sequence, e.g.: 61

MDD Representation {1} π 1 Act r i p i d i 1 0 2 3 2 4 2 9 {2} {3} π 2 3 3 3 8 Path {1} {3} {2} : {3} {2} π 3 0 start 1 1 6 start 2 7 3 start 3 5 62

MDD Propagation We can apply several propagation algorithms: Alldifferent for the permutation structure Earliest start time / latest end time Precedence relations 63

Propagation (cont d) State information at each node i {1,2} r {3} π 1 labels on all paths: A i labels on some paths: S i {1,2} {3} {1} π 2 earliest starting time: E i latest completion time: L i {3} u {1} {2} π 3 Top down example for arc (u,v) v {1,2,3,4,5} π 4 64

Alldifferent Propagation {1,2} r {3} π 1 All paths state: A u Labels belonging to all paths from node r to node u A u = {3} Thus eliminate {3} from (u,v) {1,2} {3} {3} {1} u {2} {1} π 2 π 3 {1,2,4,5} {1,2,3,4,5} π 4 v 65

Alldifferent Propagation Some paths state: S u Labels belonging to some path from node r to node u S u = {1,2,3} Identification of Hall sets Thus eliminate {1,2,3} from (u,v) {1,2} {1,2} {3} r {3} {3} {1} {2} u {4,5} {1,2,4,5} {1} π 1 π 2 π 3 π 4 v 66

Propagate Earliest Completion Time {1,2} r {3} π 1 Earliest Completion Time: E u Minimum completion time of all paths from root to node u {1,2} {3} {3} {1} {2} {1} π 2 π 3 Similarly: Latest Completion Time u v {4,5} π 4 67

Propagate Earliest Completion Time Act r i d i p i 1 0 4 2 2 3 7 3 3 1 8 3 2 {1,2} {1,2} 0 r {3} {3} {1} π 1 π 2 4 5 6 1 5 2 10 3 4 {3} {1} {2} π 3 7 u E u = 7 Eliminate 4 from (u,v) {5} {4,5} π 4 v 68

Propagate Precedence Relations Arc with label j infeasible if {1,2} r {3} π 1 Suppose and i not on some path from r S u = {1,2,3} Since 4 not in S u, eliminate 5 from (u,v) {1,2} {3} {3} {1} u {5} {2} {1} π 2 π 3 π 4 Similarly: Bottom up for v 69

More MDD Inference Theorem: Given the exact MDD M, we can deduce all implied activity precedences in polynomial time in the size of M u, r i u j t 70

Communicate Precedence Relations 1. Provide precedence relations from MDD to CP update start/end time variables in CP model other inference techniques may utilize them help to guide search 2. Filter the MDD using precedence relations from other (CP) techniques 3. In context of MIP, these can be added as linear inequalities 71

Experiments MDD propagation implemented in IBM ILOG CPLEX CP Optimizer 12.4 (CPO) State of the art constraint based scheduling solver Uses a portfolio of inference techniques and LP relaxation MDD is added as user defined propagator 72

TSP with Time Windows Pure MDD time (s) Dumas/Ascheuer instances 20 60 jobs lex search MDD width: 16 CPO time (s) 73

Total Tardiness Results MDD 128 MDD 64 MDD 32 MDD 16 MDD 128 MDD 64 MDD 32 CPO MDD 16 CPO total tardiness total weighted tardiness 74

Sequential Ordering Problem (TSPLIB) * * * * solved for the first time 75

Summary What can MDDs do for discrete optimization? Compact representation of all solutions to a problem Limit on size gives approximation Control strength of approximation by size limit MDDs for integer optimization MDD relaxations provide upper bounds MDD restrictions provide lower bounds Incorporation in branch and bound can be very effective MDDs for constraint programming and scheduling MDD propagation natural generalization of domain propagation Orders of magnitude improvement possible 76