cumulative scheduling and pseudo boolean constraints
play

Cumulative Scheduling and Pseudo-Boolean Constraints Deduction at - PowerPoint PPT Presentation

Cumulative Scheduling and Pseudo-Boolean Constraints Deduction at Scale Albert Oliveras (+ Ignasi Ab o, Roberto As n, Robert Nieuwenhuis, Enric Rodr guez, Javier Larrosa, ...) Barcelogic Research Group, Tech. Univ. Catalonia,


  1. Cumulative Scheduling and Pseudo-Boolean Constraints Deduction at Scale Albert Oliveras (+ Ignasi Ab´ ıo, Roberto As´ ın, Robert Nieuwenhuis, Enric Rodr´ ıguez, Javier Larrosa, ...) Barcelogic Research Group, Tech. Univ. Catalonia, Barcelona Barcelogic - Tech. Univ. Catalonia (UPC) – p. 1

  2. Motivation Assume a company needs to complete the following 15 jobs: # Job Transport Unload Process Pack 1 1 truck 10 unloaders 5 technicians 3 packers 2 1 truck 5 unloaders 3 technicians, 1 supervisor 2 packers 3 1 car 2 unloaders 1 technicians , 1 supervisor 1 packer ... 15 1 truck 5 unloaders 3 technicians 2 packers Tasks cannot be interrupted (non-preemptive) Task precedences: transport → unload ❀ process ❀ pack Each task has a certain duration Resource availability: 2 trucks, 4 cars, 30 unloaders, 13 techn., 3 superv., 8 packers GOAL: complete all jobs as early as possible Barcelogic - Tech. Univ. Catalonia (UPC) – p. 2

  3. Overview of the talk Cumulative scheduling SAT encodings for PB constraints SAT encodings vs SMT Existing encodings Standard BDD-based encoding New results for BDD-based encodings CNFs for monotonic functions Probably BDDs for some PB constraints are non-poly Avoiding non-polynomial BDDs Conclusions and Future Work Barcelogic - Tech. Univ. Catalonia (UPC) – p. 3

  4. Problem statement INPUT DATA: For each resource r ∈ R , an integer avail ( r ) For each task t ∈ T : d ( t ) : duration of the task est ( t ) : earliest starting time lct ( t ) : latest completion time List of consumptions { ( r , units ( t , r )) , . . . , } List of precedences t 1 ❀ t 2 , and immediate ones t 1 → t 2 GOAL: find a valid schedule that minimizes makespan (i.e. minimizes the maximum completion time) Barcelogic - Tech. Univ. Catalonia (UPC) – p. 4

  5. Solving method Best approach: encoding to SAT + PB-constraints ([StuckeyCP09]). Consider propositional variables: s t , i ≡ start _ time ( t ) ≤ i and add clauses: s t ,0 → s t ,1 s t ,1 → s t ,2 . . . [integer consistency] ¬ s t , est ( t ) − 1 s t , lct ( t ) − d ( t ) [satisfy est and lct ] s t 2 ,0 → s t 1 ,0 s t 2 ,1 → s t 1 ,1 . . . [ t 1 precedes t 2 ] Barcelogic - Tech. Univ. Catalonia (UPC) – p. 5

  6. Solving method Best approach: encoding to SAT + PB-constraints ([StuckeyCP09]). Consider propositional variables: s t , i ≡ start _ time ( t ) ≤ i and add clauses: s t ,0 → s t ,1 s t ,1 → s t ,2 . . . [integer consistency] ¬ s t , est ( t ) − 1 s t , lct ( t ) − d ( t ) [satisfy est and lct ] s t 2 ,0 → s t 1 ,0 s t 2 ,1 → s t 1 ,1 . . . [ t 1 precedes t 2 ] Consider propositional variables: a t , i ≡ task t is active at time i and define them with: ↔ start _ time ( t ) ≤ i ∧ start _ time ( t ) + d ( t ) ≥ i + 1 a t , i Barcelogic - Tech. Univ. Catalonia (UPC) – p. 5

  7. Solving method Best approach: encoding to SAT + PB-constraints ([StuckeyCP09]). Consider propositional variables: s t , i ≡ start _ time ( t ) ≤ i and add clauses: s t ,0 → s t ,1 s t ,1 → s t ,2 . . . [integer consistency] ¬ s t , est ( t ) − 1 s t , lct ( t ) − d ( t ) [satisfy est and lct ] s t 2 ,0 → s t 1 ,0 s t 2 ,1 → s t 1 ,1 . . . [ t 1 precedes t 2 ] Consider propositional variables: a t , i ≡ task t is active at time i and define them with: ↔ start _ time ( t ) ≤ i ∧ start _ time ( t ) + d ( t ) ≥ i + 1 a t , i Add PB-constraints of the form: ∑ units ( t , r ) ∗ a t , i ≤ avail ( r ) , for each r and time i t s.t. t uses r Barcelogic - Tech. Univ. Catalonia (UPC) – p. 5

  8. Solving method Best approach: encoding to SAT + PB-constraints ([StuckeyCP09]). Consider propositional variables: s t , i ≡ start _ time ( t ) ≤ i and add clauses: s t ,0 → s t ,1 s t ,1 → s t ,2 . . . [integer consistency] ¬ s t , est ( t ) − 1 s t , lct ( t ) − d ( t ) [satisfy est and lct ] s t 2 ,0 → s t 1 ,0 s t 2 ,1 → s t 1 ,1 . . . [ t 1 precedes t 2 ] Consider propositional variables: a t , i ≡ task t is active at time i and define them with: ↔ start _ time ( t ) ≤ i ∧ start _ time ( t ) + d ( t ) ≥ i + 1 a t , i Add PB-constraints of the form: 2 x 1 + 7 x 2 + 5 x 3 + 10 x 4 ≤ 12 Barcelogic - Tech. Univ. Catalonia (UPC) – p. 5

  9. Overview of the talk Cumulative scheduling SATencodings for PB constraints SAT encodings vs SMT Existing encodings Standard BDD-based encoding New results for BDD-based encodings CNFs for monotonic functions Probably BDDs for some PB constraints are non-poly Avoiding non-polynomial BDDs Conclusions and Future Work Barcelogic - Tech. Univ. Catalonia (UPC) – p. 5

  10. SAT Encoding for PB-Constraints SAT + PB-constraints problems solvable with an SMT system But ... recent experience with SAT + cardinality constraints (PB with all coeffs. 1): Speed-up factor if encoding Slow-down factor if encoding Suite TO 4 2 1.5 TOT. 1.5 2 4 TO TOT. 168 54 14 7 243 7 24 215 12 258 MSU4 DES 321 53 20 16 410 11 4 0 0 15 MSU4: unsat-based max-SAT solving DES: discrete event system diagnosis problems How to decide whether SAT or SMT is the best choice? Why can SAT sometimes beat SMT? Barcelogic - Tech. Univ. Catalonia (UPC) – p. 6

  11. How could SAT beat SMT? SMT solvers can generate unsat proofs, which come in two parts: A resolution refutation from: the clauses of the input CNF the generated explanations (clauses) For each explanation clause, an independent proof in (its) T . So, after all, SMT generates a SAT encoding, but lazily. SMT solver runtime ≥ size of smallest resolution proof. Barcelogic - Tech. Univ. Catalonia (UPC) – p. 7

  12. How could SAT beat SMT? (2) In “artificial-like” problems: SMT’s lazy SAT encoding could end up being a full one And... this full encoding could be a rather naive one. Example: T = cardinality constraints. T -solver is just a counter. x 1 + . . . + x n ≤ k and x 1 + . . . + x n > k Unsat instance: Refutation requires all ( n k + 1 ) explanations like, e.g., x 1 ∨ x 2 ∨ . . . ∨ x k + 1 Here a good SAT encoding with auxiliary vars works better. Splitting on aux vars can give expon. speedup: Extended Resol. But... some constraints admit no P-size domain-consistent SAT encoding, e.g., alldiff [BessiereEtal’09]. Barcelogic - Tech. Univ. Catalonia (UPC) – p. 8

  13. PB-constraints SAT Encodings Desirable properties of a SAT Encoding: Polynomial size w.r.t. the number of vars of the constraint Consistent: take 2 x 1 + 4 x 2 + 2 x 3 ≤ 5 and I = { x 1 , x 2 } . Unit propagation should detect a false clause. Arc-consistent: take 2 x 1 + 3 x 2 + 7 x 3 ≤ 5 and I = { x 1 } . Unit propagation should propagate x 3 Existing encodings: Encoding Size Consistent Arc-consistent Tree-like Exponential yes yes BDD Not known yes yes O ( ∑ log a i ) Adders no no O (( ∑ log a i ) log 2 ∑ log a i ) Sorting yes no O ( n 2 log n log a max ) WatchDog yes yes Barcelogic - Tech. Univ. Catalonia (UPC) – p. 9

  14. Why yet another encoding? Existing arc-consistent polyn. encoding depends on coeffs. Take constraints: 3 x 1 + 2 x 2 + 4 x 3 ≤ 5 30001 x 1 + 19999 x 2 + 39998 x 3 ≤ 50007 They both represent the same Boolean function: ¬ ( x 1 ∧ x 3 ) ∧ ¬ ( x 2 ∧ x 3 ) 2nd constr. would have an unnecessarily large encoding A BDD-based encoding would solve this problem Question: what is the BDD size ? Barcelogic - Tech. Univ. Catalonia (UPC) – p. 10

  15. Overview of the talk Cumulative scheduling SAT encodings for PB constraints SAT encodings vs SMT Existing encodings Standard BDD-based encoding New results for BDD-based encodings CNFs for monotonic functions Probably BDDs for some PB constraints are non-poly Avoiding non-polynomial BDDs Conclusions and Future Work Barcelogic - Tech. Univ. Catalonia (UPC) – p. 10

  16. BDD construction process Take constraint 2 x 1 + 3 x 2 + 5 x 3 ≤ 6 a construct the diagram: x 1 0 1 x 2 x 2 0 1 0 1 x 3 x 3 x 3 x 3 0 1 0 1 0 1 0 1 1 0 Ordering x 1 < x 2 < x 3 is previously chosen Barcelogic - Tech. Univ. Catalonia (UPC) – p. 11

  17. BDD construction process Take constraint 2 x 1 + 3 x 2 + 5 x 3 ≤ 6 a construct the diagram: x 1 x 1 0 1 0 1 x 2 x 2 x 2 x 2 0 1 0 1 1 0 1 0 x 3 x 3 x 3 x 3 x 3 x 3 x 3 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 Nodes with identical children are removed Barcelogic - Tech. Univ. Catalonia (UPC) – p. 11

  18. BDD construction process Take constraint 2 x 1 + 3 x 2 + 5 x 3 ≤ 6 a construct the diagram: x 1 x 1 x 1 0 1 0 1 0 1 x 2 x 2 x 2 x 2 x 2 x 2 1 0 0 1 0 1 1 0 1 1 0 0 x 3 x 3 x 3 x 3 x 3 x 3 x 3 x 3 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 Isomorphic subtrees are merged Barcelogic - Tech. Univ. Catalonia (UPC) – p. 11

  19. BDD construction process Take constraint 2 x 1 + 3 x 2 + 5 x 3 ≤ 6 a construct the diagram: x 1 0 1 x 2 1 0 x 3 0 1 1 0 Canonical BDD for the constraint and ordering x 1 < x 2 < x 3 Barcelogic - Tech. Univ. Catalonia (UPC) – p. 11

  20. CNF conversion of BDDs x 1 0 1 x 2 1 0 x 3 0 1 1 0 Add auxiliary (output) variable for each node: o 1 , o 2 and o 3 Barcelogic - Tech. Univ. Catalonia (UPC) – p. 12

  21. CNF conversion of BDDs x 1 0 1 x 2 1 0 x 3 0 1 1 0 Add auxiliary (output) variable for each node: o 1 , o 2 and o 3 Specify behaviour of each node. For example: x 1 ∧ o 2 → o 1 x 1 ∧ o 3 → o 1 o 2 ∧ o 3 → o 1 x 1 ∧ o 2 → o 1 x 1 ∧ o 3 → o 1 o 2 ∧ o 3 → o 1 Barcelogic - Tech. Univ. Catalonia (UPC) – p. 12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend