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

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

Optimization Bounds from Binary Decision Diagrams

The Separation Problem for Binary Decision Diagrams

Decision Diagrams: Tutorial

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

Decision Diagrams for Discrete Optimization

Stochastic Decision Diagrams

4y Springer NONLINEAR INTEGER PROGRAMMING

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

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

Logic, Optimization and Data Analytics

Decision Diagram Relaxations for Integer Programming

MDD-based Postoptimality Analysis for Mixed-integer Programs

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

Job Sequencing Bounds from Decision Diagrams

Lagrangean Decomposition for Mean-Variance Combinatorial Optimization

Integer programming: an introduction. Alessandro Astolfi

Introduction column generation

Decision Procedures An Algorithmic Point of View

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

Representations of All Solutions of Boolean Programming Problems

(tree searching technique) (Boolean formulas) satisfying assignment: (X 1, X 2 )

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2

Optimization Methods in Logic

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

Compiling Knowledge into Decomposable Negation Normal Form

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

January 29, Introduction to optimization and complexity. Outline. Introduction. Problem formulation. Convexity reminder. Optimality Conditions

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Duality Methods in Portfolio Allocation with Transaction Constraints and Uncertainty

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

Integer Programming. Wolfram Wiesemann. December 6, 2007

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

Lecture #21. c T x Ax b. maximize subject to

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

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

PAC-learning, VC Dimension and Margin-based Bounds

Introduction to integer programming II

Lagrangian Relaxation in MIP

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

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

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

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

This means that we can assume each list ) is

BBM402-Lecture 20: LP Duality

Consistency as Projection

Decision Diagrams for Sequencing and Scheduling

Decision Tree Learning Lecture 2

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

A new family of facet defining inequalities for the maximum edge-weighted clique problem

Projection in Logic, CP, and Optimization

Introduction to optimization and operations research

An Integrated Approach to Truss Structure Design

arxiv: v1 [cs.cc] 5 Dec 2018

Discrete (and Continuous) Optimization WI4 131

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

Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P

Decision Diagrams and Dynamic Programming

The CPLEX Library: Mixed Integer Programming

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

MIT Algebraic techniques and semidefinite optimization February 14, Lecture 3

36106 Managerial Decision Modeling Linear Decision Models: Part II

INTEGER PROGRAMMING. In many problems the decision variables must have integer values.

Integer Programming Part II

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

SOLVING INTEGER LINEAR PROGRAMS. 1. Solving the LP relaxation. 2. How to deal with fractional solutions?

Reconnect 04 Introduction to Integer Programming

Introduction to Bin Packing Problems

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

Structured Problems and Algorithms

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

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

Duality in Optimization and Constraint Satisfaction

A Parametric Simplex Algorithm for Linear Vector Optimization Problems

Projection, Consistency, and George Boole

Projection, Inference, and Consistency

THE THEORY OF SIMULTANEOUS LIFTING: CONSTELLATIONS IN CONFLICT HYPERGRAPHS SAMIR PAHWA. B.S., Kansas State University, 2009

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

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

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0.

Duality of LPs and Applications

Travelling Salesman Problem

Lecture Note 1: Introduction to optimization. Xiaoqun Zhang Shanghai Jiao Tong University

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

CS Algorithms and Complexity

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

NP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.

Compact Representation of Near-Optimal Integer Programming Solutions

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

1 Column Generation and the Cutting Stock Problem

Low-ranksemidefiniteprogrammingforthe. MAX2SAT problem. Bosch Center for Artificial Intelligence

Lecture 9: Dantzig-Wolfe Decomposition

Polyhedral Approach to Integer Linear Programming. Tepper School of Business Carnegie Mellon University, Pittsburgh

Introduction to Convex Optimization

Generation and Representation of Piecewise Polyhedral Value Functions

Lecture 21: Counting and Sampling Problems

A 0-1 KNAPSACK PROBLEM CONSIDERING RANDOMNESS OF FUTURE RETURNS AND FLEXIBLE GOALS OF AVAILABLE BUDGET AND TOTAL RETURN

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs

3.10 Lagrangian relaxation

Transcription:

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

Integer Programming with BDDs Goal: Use binary decision diagrams (BDDs) to solve linear and nonlinear integer programming problems. Focus on postoptimality analysis as well as solution. Why? Postoptimality analysis can be valuable in practice. BDDs provide it for free.

Why Postoptimality Analysis? A single optimal solution offers limited information. Postoptimality analysis can provide insight into model. It takes a model seriously as a model.

Why Postoptimality Analysis? A single optimal solution offers limited information. Postoptimality analysis can provide insight into model. It takes a model seriously as a model. Compare: models in the physical sciences. Schrödinger s wave equation

Postoptimality Analysis Types of analysis: Characterize the set of optimal or near-optimal solutions. How much freedom to alter solution without much sacrifice?

Postoptimality Analysis Types of analysis: Characterize the set of optimal or near-optimal solutions. How much freedom to alter solution without much sacrifice? Measure sensitivity of optimal value to problem data. Which data really matter?

Postoptimality Analysis Types of analysis: Characterize the set of optimal or near-optimal solutions. How much freedom to alter solution without much sacrifice? Measure sensitivity of optimal value to problem data. Which data really matter? Do this online in response to what-if queries. What if I fix certain variables?

Postoptimality Analysis Postoptimality analysis tends to be computationally intractable for integer programming. Particularly real-time or interactive analysis.

Postoptimality Analysis Postoptimality analysis tends to be computationally intractable for discrete and global optimization. Particularly real-time or interactive analysis. Ideal: a compact representation of the set of optimal, near-optimal, or feasible solutions. Can be queried in real time.

Analysis Using BBDs Proposal: Use binary decision diagrams (BDDs) A BDD represents any boolean function.

Analysis Using BBDs Proposal: Use binary decision diagrams (BDDs) A BDD represents a boolean function. Any boolean function has a unique reduced BDD. for a given variable ordering.

Analysis Using BBDs Proposal: Use binary decision diagrams (BDDs) A BDD represents any boolean function. A boolean function has a unique reduced BDD. for a given variable ordering. Common applications: VLSI verification & model checking Configuration problems

Analysis Using BBDs A BDD can represent the feasible set of an optimization problem. For 0-1 variables: View constraint set as a boolean function of its variables Value = 1 when constraints are satisfied

Analysis Using BBDs A BDD can represent the feasible set of an optimization problem. For 0-1 variables: View constraint set as a boolean function of its variables Value = 1 when constraints are satisfied For general integer variables: Write each variable as vector of 0-1 variables.

Analysis Using BBDs BDD can grow exponentially with number of variables but can be surprisingly compact in important cases. Size can be sensitive to variable ordering.

Analysis Using BBDs BDD can grow exponentially with number of variables but can be surprisingly compact in important cases. Size can be sensitive to variable ordering. BDD doesn t care whether the problem is linear or nonlinear, convex or nonconvex. Functions can take any form (polynomial, etc.). But objective function must be separable. Add new variables if necessary to accomplish this.

Analysis Using BBDs Can find optimal solution by computing shortest path in BDD. Do postoptimality analysis by analyzing BDD and its near-optimal paths.

Previous Work Becker, Behle, Eisenbrand, Wimmer (2005) Use BDDs to obtain valid cuts for 0-1 linear programming. Cuts are derived from small subsets of constraints. Generate BDD for subset. Use subgradient optimization to solve Lagrangean dual on BDD to obtain separating cuts.

Current Status We are in the initial stages of research. For now, we are using off-the-shelf software to compute BDDs. CLab 1.0, developed at IT Univ. of Copenhagen. We are investigating more efficient ways to build BDDs for optimization problems.

Binary Decision Diagrams A reduced BDD for a constraint set is a compact representation of the branching tree for a branching order. If both branches from a node lead to identical subtrees, remove the node. If two subtrees are identical, superimpose them.

x 0 = 1 x 0 = 0 x 0 x 1 x 1 Branching tree for 0-1 inequality x 2 x 2 x 2 x 2 x 3 x 3 x 3 x 3 x 3 x 3 x 3 x 3 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1

x 0 x 1 x 1 Branching tree for 0-1 inequality x 2 x 2 x 2 x 2 x 3 x 3 x 3 x 3 x 3 x 3 x 3 x 3 Remove redundant nodes 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1

x 0 x 1 x 1 x 2 x 2 x 2 x 2 x 3 x 3 x 3 x 3 x 3 x 3 x 3 x 3 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 x 0 x 1 x 1 x 2 x 2 x 2 x 2 x 3 x 3 x 3 x 3 1 0 1 1 0 1 1 0 1 0 0

Superimpose identical subtrees 1 x 0 x 1 x 1 x 2 x 2 x 2 x 2 x 3 x 3 x 3 x 3 1 0 1 1 0 1 1 0 1 0 0

x 0 x 1 x 2 x 2 x 3 x 3 1 1 0 1 0 0 1 x 0 x 1 x 1 x 2 x 2 x 2 x 2 x 3 x 3 x 3 x 3 1 0 1 1 0 1 1 0 1 0 0

x 0 x 1 x 2 x 2 x 3 x 3 1 1 0 1 0 0 Superimpose identical subtrees

x 0 x 1 x 2 x 2 x 3 x 3 1 1 0 1 0 0 x 0 x 1 x 2 x 2 x 3 1 1 0 0

Superimpose identical leaf nodes x 0 x 1 x 2 x 2 x 3 1 1 0 0

x 2 x 0 x 1 x 3 1 0 x 2 x 0 x 1 x 2 x 2 x 3 1 1 0 0

x 2 x 0 x 1 x 3 1 0 x 2 as generated by software

Min subject to 1 0 3 0 0 4 4 6 0 0 2 0 Edge lengths reflect terms of objective function

Min subject to { x } 2 1 + min 3 x 1 {0,1} 1 0 1 3 0 0 4 4 6 0 0 2 0 Edge lengths reflect terms of objective function

Min subject to 1 { x } 2 1 + min 3 x {0,1} 1 0 1 3 0 0 4 4 1 + min 4 x 1 {0,1} { x } 3 4 6 0 0 2 0 Edge lengths reflect terms of objective function

Min subject to Shortest path has length 1 1 0 Optimal solution: ( x 0, x 1, x 2, x 3 ) = (0,1,1,0) 3 0 Set to minimizing value 4 0 4 6 0 0

Conjunction of BDDs

Conjunction of BDDs =

Binary Decision Diagrams Generating a BDD from scratch requires enumeration of search tree. Intelligent caching to identify reduced form. Known bound on optimal value can prune the search.

Binary Decision Diagrams Generating a BDD from scratch requires enumeration of search tree. Intelligent caching to identify reduced form. Known bound on optimal value can prune the search. In practice, BDD for an expression is formed by combining BDDs of subexpressions. For example, conjoining BDDs of individual knapsack constraints. Bounding can be used here as well (current research).

Binary Decision Diagrams BDD for a knapsack constraint can be surprisingly small

Binary Decision Diagrams BDD for a knapsack constraint can be surprisingly small The 0-1 inequality has 117,520 minimal feasible solutions

Binary Decision Diagrams BDD for a knapsack constraint can be surprisingly small The 0-1 inequality has 117,520 minimal feasible solutions Or equivalently, has 117,520 minimal covers

Binary Decision Diagrams BDD for a knapsack constraint can be surprisingly small The 0-1 inequality has 117,520 minimal feasible solutions But its reduced BDD has only 152 nodes

General Integer Variables Expand general integer variable into several binary variables. BDD is layered, each layer containing binary variables that correspond to one integer variable. For shortest path computations, add edges between layers to create augmented graph.

Capital Budgeting Capital budgeting problem: max where c = return from facility j j ax b x j cx {0,1, 2,3} a = cost of facility j, b = budget j x = number of facilities of type j j

Capital Budgeting Capital budgeting problem: max where c = return from facility j j ax b x j cx {0,1, 2,3} a = cost of facility j, b = budget j x = number of facilities of type j j Let c = a = b =1800

Capital Budgeting BDD has 1080 nodes. Cost-based domain analysis: Let Sol ( ) = { x cx c opt } be set of solutions within of the optimal value c opt. Let x j ( ) be projection of Sol( ) onto x j Observe how x j ( ) grows as increases.» Gives an idea of how much freedom there is to adjust the solution without much sacrifice.

x 1 (0)

x 1 (0) x 1 (5) = {0,1,2}

Network Reliability Minimize cost subject to a bound on reliability System of 5 bridges:

The problem: min R R j min j j R = R R + (1 R ) R R + (1 R ) R R R j c x 1 2 2 3 4 1 2 3 4 + R (1 R )(1 R ) R R + (1 R ) R R (1 R ) R 1 2 3 4 5 1 2 3 4 5 x j j = 1 (1 j ), all R r j x {0,1, 2,3} Number of links j Set R min = 60 in all examples

Cost-based domain analysis 308 nodes in BDD 1.1 seconds to compile BDD r = c =

Domain analysis with respect to R Same BDD as before

7 bridges

Cost-based domain analysis 1779 nodes in BDD 14.8 seconds to compile BDD

Domain analysis with respect to R Same BDD as before

12 bridges

Cost-based domain analysis 69,457 nodes in BDD 2933 seconds to compile BDD

Domain analysis with respect to R Same BDD as before

Portfolio Design Maximize expected return subject to an upper bound on variance.

Expected yield rate of security i Cost of one block of security i 1 if x i > 0, 0 otherwise (no need to model this with integer variables) Number of blocks of security i purchased Variance/covariance Maximum variance Maximum investment Maximum number of securities in portfolio

n = 10 securities Use 15 most significant entries of variance/covariance matrix D i = {0,,7} That is, 0 to 7 blocks of each security Weekly yield rates and variances/covariances from from Hang Seng Index 4.5 million HKD Max 7 securities

Cost-based domain analysis 59,802 nodes in BDD 63 seconds to compile BDD

Yield/risk tradeoff Y risk = 10% downside risk = Y max 1.28σ 636,568 nodes in BDD since V max is a variable 186 seconds to compile BDD

Yield/risk tradeoff

Future Research More efficient BDD construction for postoptimality analysis. Use known optimal cost to create BDD of nearoptimal solutions. Reconstruct BDD of near-optimal solutions from branch-and-bound tree. Integrate BDD construction and branch-and-bound search. Variable ordering heuristics.

Future Research Deeper analysis of near-optimal set. Characterize optimal and near-optimal solutions by decomposition properties, etc. Existential quantification/projection methods to focus attention on important variables. BDD as basis for explanation (generalized duality). Extension to discrete/continuous problems.

Other Uses for BDDs Polyhedral relaxations of BDDs Apply to subsets of constraints. BDD relaxations. Replace domain store with BDD store.