Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of.

Slides:



Advertisements
Similar presentations
Traveling Salesperson Problem
Advertisements

Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Sub Exponential Randomize Algorithm for Linear Programming Paper by: Bernd Gärtner and Emo Welzl Presentation by : Oz Lavee.
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
EE 553 Integer Programming
Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 11, 2013.
Branch & Bound Algorithms
Thursday, April 25 Nonlinear Programming Theory Separable programming Handouts: Lecture Notes.
Easy Optimization Problems, Relaxation, Local Processing for a small subset of variables.
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles (1991) Jerome Barraquand Jean-Claude Latombe.
Design and Analysis of Algorithms
Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Computational Methods for Management and Economics Carla Gomes
Approximation Algorithms
Chapter 10: Iterative Improvement
Jean-Charles REGIN Michel RUEHER ILOG Sophia Antipolis Université de Nice – Sophia Antipolis A global constraint combining.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
A Compressed Breadth-First Search for Satisfiability DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Carmine Cerrone, Raffaele Cerulli, Bruce Golden GO IX Sirmione, Italy July
Foundations of Constraint Processing, Fall 2004 November 18, 2004More on BT search1 Foundations of Constraint Processing CSCE421/821, Fall 2004:
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
An efficient distributed protocol for collective decision- making in combinatorial domains CMSS Feb , 2012 Minyi Li Intelligent Agent Technology.
ENCI 303 Lecture PS-19 Optimization 2
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
Approximation Algorithms
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Heuristic Optimization Methods Greedy algorithms, Approximation algorithms, and GRASP.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005.
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
A local search algorithm with repair procedure for the Roadef 2010 challenge Lauri Ahlroth, André Schumacher, Henri Tokola
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
C OMPUTING U NSAT C ORES O F B OOLEAN A ND SMT F ORMULAS Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories Alessandro Cimatti, Alberto.
Heuristics for Minimum Brauer Chain Problem Fatih Gelgi Melih Onus.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Tommy Messelis * Stefaan Haspeslagh Burak Bilgin Patrick De Causmaecker Greet Vanden Berghe *
Approximation Algorithms based on linear programming.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
Introduction to Algorithms: Brute-Force Algorithms.
Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University.
Water Resources Development and Management Optimization (Integer and Mixed Integer Programming) CVEN 5393 Mar 28, 2011.
Traveling Salesperson Problem
Mathematical Programming
The CPLEX Library: Mixed Integer Programming
Quality of Service in Multimedia Distribution
A Progressive Approach for Satisfiability Modulo Theories
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
Improved Design Debugging using Maximum Satisfiability
SAT-based Methods: Logic Synthesis and Technology Mapping
SAT/SMT seminar 18/02/2018 Computing multiple MUSes (Minimal Unsatisfiable Subformulas) and MSISes (Minimal Safe Inductive Subsets) Alexander Ivrii IBM.
Branch-and-Bound Algorithm for Integer Program
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of Michigan August 5, 2005 (IJCAI-05)

2 An Overconstrained Temporal Problem C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3)  (z-y ≤ 1) C 4 : (y-z ≤ -2)

3 MUSes Given: Infeasible set of constraints C Goal: All Minimal Unsatisfiable Subsets of C Minimal Unsat.: All proper subsets satisfiable Compact explanations of infeasibility C = {C 1,C 2,C 3,C 4,C 5 }  UNSAT {C 1,C 3,C 4 }  UNSAT { C 3,C 4 }  SAT {C 1, C 4 }  SAT {C 1,C 3 }  SAT (MUS)

4 Disjunctive Temporal Problems A constraint system whose constraints are disjunctions of inequalities between timepoints: Generalization of a Simple Temporal Problem (STP), which has one inequality per constraint Used for temporal reasoning DTPs (x 1 -y 1 ≤ b 1 )  (x 2 -y 2 ≤ b 2 ) (x n -y n ≤ b n ) (x 1 -y 1 ≤ b 1 )  (x 2 -y 2 ≤ b 2 )   (x n -y n ≤ b n )... timepointsreal value

5 Why All MUSes? Why DTPs? Knowing all MUSes can be necessary for determining an optimum relaxation DTPs allow fine-grained relaxations beyond simply removing entire constraints C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3)  (z-y ≤ 1) C 4 : (y-z ≤ -2)

6 Outline Problem Description / Motivation Algorithm Foundations Musilitis (Algorithm Details) Experimental Results Conclusion

7 ◊ ◊◊ ◊ ◊◊◊ Max-CSP Maximum cardinality feasible set of constraints Maximal Satisfiable Subset (MSS) Inaugmentable feasible set of constraints Algorithm Foundations C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3)  (z-y ≤ 1) C 4 : (y-z ≤ -2) Max-CSP MSS

8 A Hint of Duality MSS Satisfiable Cannot be made larger MUS Unsatisfiable Cannot be made smaller

9 A CoMSS is the complement of an MSS A CoMSS provides an irreducible “fix” for the system: removing those constraints makes the system satisfiable (turns it into an MSS). CoMSSes Solution Space C: {C 1,C 2,C 3,C 4,C 5,C 6,C 7 } C1C1 C2C2 C3C3 C4C4 C5C5 C6C6 C7C7 MSSCoMSS Remaining Solutions

10 The Link: CoMSSes and MUSes Known: 1. A system is SAT iff it contains no MUSes 2. Removing the constraints in a CoMSS from a system makes it SAT  Removing the constraints in a CoMSS removes at least one constraint from every MUS in a system. Every CoMSS is an irreducible hitting set of the collection of all MUSes.

11 C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3)  (z-y ≤ 1) C 4 : (y-z ≤ -2) ◊◊◊ ◊◊◊◊◊◊ ◊◊◊◊ ◊◊◊◊ ◊◊◊◊◊◊ ◊◊◊◊ ◊◊◊ ◊◊◊◊◊◊◊ ◊◊ ◊◊◊◊◊◊◊◊ ◊◊ ◊ MUS 1 = {C 1, C 2 } MUS 2 = {C 1, C 3, C 4 } Hitting Sets Example Given a collection of sets M, a hitting set of M is a set that contains at least one element from each set in M. CoMSS 1 = {C 1 } CoMSS 2 = {C 2, C 3 } CoMSS 3 = {C 2, C 4 } Every CoMSS is an irreducible hitting set of the collection of all MUSes.

12 The Duality: CoMSSes and MUSES Additionally, every MUS is an irreducible hitting set of the collection of all CoMSSes Hitting sets provide a transformation from one collection to the other MUSesCoMSSes hitting sets

13 Musilitis General operation of Musilitis: 1. Find all CoMSSes of a DTP 2. Compute minimal hitting sets of the CoMSSes DTP Find CoMSSesCoMSSes Compute Minimal Hitting Sets All MUSes Musilitis

14 Musilitis: Finding CoMSSes Built on Maxilitis (Moffitt & Pollack, 2005) Max-CSP solver for DTPs Utilizes several constraint processing techniques with a branch-and-bound process General Strategy: Find a maximal satisfiable subset of constraints Prevent that set from appearing in a future solution Iterate until no further satisfiable subsets remain

15 Musilitis: Finding CoMSSes C 1 : (x-y ≤ 1) C 2 : (y-x ≤ -2) C 3 : (y-x ≤ -3)  (z-y ≤ 1) C 4 : (y-z ≤ -2) C1C1 ¬C 1 C2C2 ¬C 2 X C 31 ¬C 3 C 32 X C4C4 ¬C 4 X {C 2,C 4 } Candidate CoMSS C4C4 {C 2,C 3 } C2C2 C3C3 C4C4 {C 1 }

16 Musilitis: Computing One MUS Goal: Irreducible Hitting Set Straightforward construction, no search Iteratively choose constraints to add to the set Choice can be arbitrary For each chosen constraint, alter the remaining problem to make that constraint essential Hitting set is irreducible iff every element is essential

17 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) CoMSS 1 = {C 1 } CoMSS 2 = {C 2, C 3 } CoMSS 3 = {C 2, C 4 }

18 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) 2.Select a CoMSS in which it appears(CoMSS 2 ) CoMSS 1 = {C 1 } CoMSS 2 = {C 2, C 3 } CoMSS 3 = {C 2, C 4 }

19 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential CoMSS 1 = {C 1 } CoMSS 2 = {C 2, C 3 } CoMSS 3 = {C 2, C 4 }

20 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential 4.Remove any CoMSSes in which the constraint appears, because they are now hit by the MUS CoMSS 1 = {C 1 } CoMSS 2 = {C 3 } CoMSS 3 = {C 4 }

21 Musilitis: Computing One MUS 1.Select a constraint to add to the MUS(C 3 ) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other constraints in that CoMSS from the problem – makes the chosen constraint essential 4.Remove any CoMSSes in which the constraint appears, because they are now hit by the MUS 5.Iterate until no CoMSSes remain CoMSS 1 = {C 1 } CoMSS 3 = {C 4 }

22 Musilitis: Computing All MUSes Use general form of single MUS method Branch on choice of constraint and CoMSS to make all possible MUSes Tree is not irredundant, so ordering heuristics and memoization are used to reduce and prune the tree Very fast in practice: Millions of MUSes in minutes

23 Experimental Results Paramaterized Random Test Case Generator k= # disjuncts per constraint L= max magnitude of inequality bound (x-y≤b) m= # constraints N= # timepoints (variables) R= constraints / timepoints (m/N) Experiments Run k = 2 L = 100 N = 5, 6, and 7 R = 6 through 11

24 Experimental Results Median Runtimes for Finding CoMSSes(C)

25 Experimental Results Runtimes of Extracting MUSes(C) vs |MUSes(C)|

26 Related Work on MUSes Many algorithms for single MUSes Mostly for Boolean Satisfiability, some for Linear Programs Often approximate, i.e., they return a small US Other work on finding all MUSes Birnbaum & Lozinskii, 2003 ( Knowledge Systems ) Liffiton & Sakallah, 2005 ( Boolean Satisfiability ) Bailey & Stuckey, 2005 ( Herbrand Constraints ) Finding the Smallest MUS Mneimneh, et al., 2005 ( Boolean Satisfiability )

27 Future Work Relaxations / approximations Trade off completeness/correctness for speed Find fewer than all MUSes Find non-minimal USes Develop techniques for presenting MUSes to users and enabling informed decisions about weakening constraints to obtain feasibility