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

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

Decision Diagrams: Tutorial

The Separation Problem for Binary Decision Diagrams

Optimization Bounds from Binary Decision Diagrams

MDD-based Postoptimality Analysis for Mixed-integer Programs

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

Stochastic Decision Diagrams

Decision Diagrams for Discrete Optimization

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

Logic, Optimization and Data Analytics

Decision Diagram Relaxations for Integer Programming

Decision Procedures An Algorithmic Point of View

Decision Diagrams and Dynamic Programming

Job Sequencing Bounds from Decision Diagrams

Consistency as Projection

Representations of All Solutions of Boolean Programming Problems

Integer programming: an introduction. Alessandro Astolfi

4y Springer NONLINEAR INTEGER PROGRAMMING

Projection in Logic, CP, and Optimization

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

Decision Diagrams for Sequencing and Scheduling

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

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

Compact Representation of Near-Optimal Integer Programming Solutions

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

Compact Representation of Near-Optimal Integer Programming Solutions

Introduction to integer programming II

Week Cuts, Branch & Bound, and Lagrangean Relaxation

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

Integer Programming. Wolfram Wiesemann. December 6, 2007

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

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

Analyzing the computational impact of individual MINLP solver components

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

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

An Integrated Approach to Truss Structure Design

Projection, Consistency, and George Boole

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

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

BBM402-Lecture 20: LP Duality

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

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

Optimization Methods in Logic

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

Introduction column generation

A Framework for Integrating Optimization and Constraint Programming

Lagrangian Relaxation in MIP

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

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

Operations Research Lecture 6: Integer Programming

Discrete (and Continuous) Optimization WI4 131

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

Projection, Inference, and Consistency

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

DM545 Linear and Integer Programming. Lecture 13 Branch and Bound. Marco Chiarandini

Duality of LPs and Applications

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

Decision Tree Learning Lecture 2

On the Generation of Circuits and Minimal Forbidden Sets

Outline. Computer Science 331. Cost of Binary Search Tree Operations. Bounds on Height: Worst- and Average-Case

Lecture 8: Column Generation

Logic-Based Benders Decomposition

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

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

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

Integer Programming Duality

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

Compiling Knowledge into Decomposable Negation Normal Form

The CPLEX Library: Mixed Integer Programming

Operations Research Methods in Constraint Programming

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

Bilevel Integer Optimization: Theory and Algorithms

arxiv: v1 [cs.cc] 5 Dec 2018

A Parametric Simplex Algorithm for Linear Vector Optimization Problems

Single-Facility Scheduling by Logic-Based Benders Decomposition

IE418 Integer Programming

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

Integer and Combinatorial Optimization: Introduction

A COMPUTATIONAL COMPARISON OF SYMMETRY HANDLING METHODS FOR MIXED INTEGER PROGRAMS

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

3.7 Strong valid inequalities for structured ILP problems

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

3.10 Lagrangian relaxation

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

Linear and Integer Programming - ideas

PART 4 INTEGER PROGRAMMING

Operations Research as Empirical Modeling

Integer Programming Part II

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

SYNCHRONIZED SIMULTANEOUS APPROXIMATE LIFTING FOR THE MULTIPLE KNAPSACK POLYTOPE THOMAS BRADEN MORRISON. B.S., Kansas State University, 2012

Cutting and Surrogate Constraint Analysis for Improved Multidimensional Knapsack Solutions

Section #2: Linear and Integer Programming

Notes on Machine Learning for and

Travelling Salesman Problem

Decision Trees.

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

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

Lecture 25 of 42. PAC Learning, VC Dimension, and Mistake Bounds

Solving Mixed-Integer Nonlinear Programs

Transcription:

Postoptimality Analysis Using Multivalued Decision Diagrams Tarik Hadzic Cork Constraint Computation Centre J. N. Hooker Carnegie Mellon University London School of Economics June 2008

Postoptimality Analysis with MDDs Goal: Perform postoptimality analysis on discrete optimization problems.

Postoptimality Analysis with MDDs Goal: Perform postoptimality analysis on discrete optimization problems. Difficulty: It is hard to reason about the entire solution space.

Postoptimality Analysis with MDDs Goal: Perform postoptimality analysis on discrete optimization problems. Difficulty: It is hard to reason about the entire solution space. Solution: Use a knowledge representation approach. Represent the set of near-optimal solutions as a Multivalued Decision Diagram. MDD can be queried in real time.

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 discrete optimization. Particularly real-time or interactive analysis.

Analysis Using MDDs Proposal: Use binary decision diagrams (BDDs). For binary variables.

Analysis Using MDDs Proposal: Use binary decision diagrams (BDDs) For binary variables. Or MDDs For multivalued variables Common applications: VLSI verification & model checking Configuration problems

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

Analysis Using MDDs MDD can grow exponentially with number of variables but can be surprisingly compact in important cases. Size can be sensitive to variable ordering. MDD 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.

Outline Analysis using MDDs Example: capital budgeting problem Complete MDD (all feasible solutions) Example: reliability networks Complete MDD Cost-bounded BDDs Represent near-optimal solutions only Much smaller BDDs Not yet implemented for MDDs Example: 0-1 linear programming

Analysis Using MDDs An MDD for a constraint set is a compact representation of the branching tree. Superimpose isomorphic subtrees. Remove unnecessary nodes. The constraint set has a unique reduced MDD. For a given variable ordering.

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

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 1 indicates feasible solution, 0 infeasible

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 2 x 3 x + 4 x + 6 x subject to 2x +3x +5x +5x 7 0 1 2 3 0 1 2 3 1 0 2 0 3 0 4 0 Edge lengths reflect terms of objective function 4 0 6 0

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

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

min 2 x 3 x + 4 x + 6 x subject to 2x +3x +5x +5x 7 0 1 2 3 0 1 2 3 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

Combine constraints by conjoining BDDs

Combine constraints by conjoining BDDs =

Constructing MDDs Generating an MDD from scratch requires enumeration of search tree. Intelligent caching to identify reduced form. Known bound on optimal value can prune the search.

Constructing MDDs Generating an MDD from scratch requires enumeration of search tree. Intelligent caching to identify reduced form. Known bound on optimal value can prune the search. In practice, MDD for an expression is formed by combining MDDs of subexpressions. For example, conjoining BDDs of individual knapsack constraints. We will use cost-based bounding. Represent near-optimal solutions only. Prune the MDD as it is constructed.

Constructing MDDs BDD for a knapsack constraint can be surprisingly small

Constructing MDDs BDD for a knapsack constraint can be surprisingly small The 0-1 inequality 300 x + 300 x + 285 x + 285 x + 265 x + 265 x + 230 x + 230 x + 190 x + 200 x + 0 1 2 3 4 5 6 7 8 9 400 x + 200 x + 400 x + 200 x + 400 x + 200 x + 400 x + 200 x + 400 x 2701 10 11 12 13 14 15 16 17 18 has 117,520 minimal feasible solutions

Constructing MDDs BDD for a knapsack constraint can be surprisingly small The 0-1 inequality 300 x + 300 x + 285 x + 285 x + 265 x + 265 x + 230 x + 230 x + 190 x + 200 x + 0 1 2 3 4 5 6 7 8 9 400 x + 200 x + 400 x + 200 x + 400 x + 200 x + 400 x + 200 x + 400 x 2700 10 11 12 13 14 15 16 17 18 has 117,520 minimal feasible solutions Or equivalently, 300 x + 300 x + 285 x + 285 x + 265 x + 265 x + 230 x + 230 x + 190 x + 200 x + 0 1 2 3 4 5 6 7 8 9 400 x + 200 x + 400 x + 200 x + 400 x + 200 x + 400 x + 200 x + 400 x 2701 10 11 12 13 14 15 16 17 18 has 117,520 minimal covers

Constructing MDDs BDD for a knapsack constraint can be surprisingly small The 0-1 inequality 300 x + 300 x + 285 x + 285 x + 265 x + 265 x + 230 x + 230 x + 190 x + 200 x + 0 1 2 3 4 5 6 7 8 9 400 x + 200 x + 400 x + 200 x + 400 x + 200 x + 400 x + 200 x + 400 x 2700 10 11 12 13 14 15 16 17 18 has 117,520 minimal feasible solutions But its reduced BDD has only 152 nodes

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

Capital Budgeting Capital budgeting problem: max ax b x j cx { 0,1,2,3 } where c = return from facility j j j j a = cost of facility j, b = budget x = number of facilities of type j Let c a b = = = (503,493,450,410,395,389,360,331,304,299) (249,241,219,211,194,196,177,162,150,149) 1800

Capital Budgeting BDD has 1080 nodes. MDD is converted to BDD. Cost-based domain analysis: Sol ( ) = x cx c opt be set of solutions within of the optimal value c opt. Let { } 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: R = R 1 R 2 + (1 R 2 ) R 3 R 4 + (1 R 1 ) R 2 R 3 R 4 + R 1 (1 R 2 )(1 R 3 ) R 4 R 5 + (1 R 1 ) R 2 R 3 (1 R 4 ) R 5

The problem: min j R R min j j Number of links 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} Set R min = 60 in all examples

Cost-based domain analysis 89 nodes in MDD 1.2 seconds to compile MDD r = c =

Domain analysis with respect to R Same MDD as before

7 bridges

Cost-based domain analysis 3126 nodes in MDD 9.0 seconds to compile MDD

Domain analysis with respect to R Same BDD as before

12 bridges

Cost-based domain analysis 36,301 nodes in MDD 1980 seconds to compile MDD 1.8 seconds query time to build this table

Domain analysis with respect to R Same MDD as before

Reducing MDD Growth Original MDD Represents entire feasible set Can be very large.

Reducing MDD Growth Original MDD Represents entire feasible set Can be very large. Near-optimal MDD Exactly represents solutions with max of optimum. Can be even larger than the original MDD!

Reducing MDD Growth Original MDD Represents entire feasible set Can be very large. Near-optimal MDD Exactly represents solutions with max of optimum. Can be even larger than the original MDD! We introduce a sound MDD. Includes all near-optimal solutions, plus some others. Much smaller than near-optimal MDD. Constructed by pruning and contraction.

Reducing MDD Growth Large MDD All feasible solutions

Reducing MDD Growth Possibly even larger MDD All feasible solutions Near-optimal solutions

Reducing MDD Growth All feasible solutions Sound MDD Simplification of near-optimal set Near-optimal solutions

Pruning and Contracting We are unaware of a polytime exact method for constructing the smallest sound MDD. We use two heuristic methods for generating small sound MDDs during compilation: Pruning edges Contracting nodes

Pruning Delete all edges that belong only to paths longer than c opt + max. Edge that belongs only to long paths.

Pruning Delete all edges that belong only to paths longer than c opt + max.

Pruning Delete all edges that belong only to paths longer than c opt + max. If another edge now belongs only to long paths

Pruning Delete all edges that belong only to paths longer than c opt + max. Delete it, too.

Pruning Delete all edges that belong only to paths longer than c opt + max. And simplify the BDD.

Pruning Delete all edges that belong only to paths longer than c opt + max. And simplify the BDD.

Contracting Remove a node if this creates no new paths shorter than c opt + max u p u c

Experimental Results We solve the 0-1 problem min cx Ax b x { } 0,1 n b = α A i ij j A ij drawn uniformly from [0,r]

Original MDD Experimental Results 20 variables, 5 constraints c opt = 101, c max = 588 Near-optimal MDD Sound BDD Memory = 0.2 MB Query time = 0.04 sec

Size of MDD M max M ( max ) Sol = 449,102 Sol = 72,896 Sol = 556 Sol = 929,260 max / (c max c opt )

Experimental Results 30 variables, 6 constraints c opt = 36, c max = 812 Memory = 20 MB Query time = 4 sec

Experimental Results 40 variables, 8 constraints c opt = 110, c max = 1241 Memory = 4 MB Query time = 1 sec

Experimental Results 60 variables, 10 constraints c min = 67, c max = 3179 Memory = 2 MB Query time = 0.3 sec

Experimental Results Results when tightness α is gradually reduced

Experimental Results MIPLIB instances max = 0 (MDD represents all optimal solutions)

Conclusion Cost-bounded BDDs provide reasonable scalabililty for BDD-based postoptimality analysis. At least for 0-1 linear programming. Comprehensive postoptimality analysis available in real time. Once MDD has been constructed.

Conclusions and Future Work Future work: Extension of cost bounding to MDDs. A matter of implementation. Use cost bounded MDDs for nonlinear, nonconvex problems Test cost bounding on nonlinear problems. Nonlinearity, nonconvexity should not be a major factor. Extension to mixed discrete/continuous variables.??

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. MDD as basis for explanation (generalized duality).

Other Uses for BDDs Polyhedral relaxations of MDDs Apply to subsets of constraints. MDDs as solution technique Shortest path approach Use known bound to reduce MDD.

Other Uses for BDDs MDDs as solution technique propagation thru MDD relaxation Replace domain store with MDD store. Use general splitting technique to generate relaxed MDD. Tightness of relaxation depends on MDD width. Order-of-magnitude speedups for multiple alldiffs. Also applied to separable equality constraints. Poor performance on 0-1 inequalities.