Approximation Strategies for Incomplete MaxSAT Saurabh Joshi 1 - - PowerPoint PPT Presentation

approximation strategies for incomplete maxsat
SMART_READER_LITE
LIVE PREVIEW

Approximation Strategies for Incomplete MaxSAT Saurabh Joshi 1 - - PowerPoint PPT Presentation

Approximation Strategies for Incomplete MaxSAT Saurabh Joshi 1 Prateek Kumar 1 Ruben Martins 2 Sukrut Rao 1 1 IIT Hyderabad 2 Carnegie Mellon University SAT+SMT School 2019, IIT Bombay 8th December 2019


slide-1
SLIDE 1

Approximation Strategies for Incomplete MaxSAT

Saurabh Joshi1 Prateek Kumar1 Ruben Martins2 Sukrut Rao1

भारतीय ूौोगक संःथान हैदराबाद Indian Institute of Technology Hyderabad

1IIT Hyderabad 2Carnegie Mellon University

SAT+SMT School 2019, IIT Bombay

8th December 2019 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

slide-2
SLIDE 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MaxSAT

w (x1 ∨ x2)∧ Unsat w (¬x1 ∨ x2)∧ w (x1 ∨ ¬x2)∧ w (¬x1 ∨ ¬x2) x x r ri k x x r Cardinality Constraint x x r wi ri k x x r PB Constraint Minimize k (Weighted MaxSAT)

slide-3
SLIDE 3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MaxSAT

w (x1 ∨ x2)∧ Unsat w (¬x1 ∨ x2)∧ w (x1 ∨ ¬x2)∧ w (¬x1 ∨ ¬x2) x x r ri k x x r Cardinality Constraint x x r wi ri k x x r PB Constraint Minimize k (Weighted MaxSAT)

slide-4
SLIDE 4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MaxSAT

w (x1 ∨ x2)∧ Unsat w (¬x1 ∨ x2)∧ w (x1 ∨ ¬x2)∧ w (¬x1 ∨ ¬x2) (x1 ∨ x2 ∨ r1)∧ ri k (¬x1 ∨ x2 ∨ r2)∧ Cardinality Constraint (x1 ∨ ¬x2 ∨ r3)∧ wi ri k (¬x1 ∨ ¬x2 ∨ r4) PB Constraint Minimize k (Weighted MaxSAT)

slide-5
SLIDE 5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MaxSAT

w (x1 ∨ x2)∧ Unsat w (¬x1 ∨ x2)∧ w (x1 ∨ ¬x2)∧ w (¬x1 ∨ ¬x2) (x1 ∨ x2 ∨ r1)∧ (∑ ri) ≤ k (¬x1 ∨ x2 ∨ r2)∧ Cardinality Constraint (x1 ∨ ¬x2 ∨ r3)∧ wi ri k (¬x1 ∨ ¬x2 ∨ r4) PB Constraint Minimize k (MaxSAT) (Weighted MaxSAT)

slide-6
SLIDE 6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MaxSAT

w1 (x1 ∨ x2)∧ Unsat w2 (¬x1 ∨ x2)∧ w3 (x1 ∨ ¬x2)∧ w4 (¬x1 ∨ ¬x2) (x1 ∨ x2 ∨ r1)∧ (∑ ri) ≤ k (¬x1 ∨ x2 ∨ r2)∧ Cardinality Constraint (x1 ∨ ¬x2 ∨ r3)∧ wi ri k (¬x1 ∨ ¬x2 ∨ r4) PB Constraint Minimize k (Weighted MaxSAT)

slide-7
SLIDE 7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MaxSAT

w1 (x1 ∨ x2)∧ Unsat w2 (¬x1 ∨ x2)∧ w3 (x1 ∨ ¬x2)∧ w4 (¬x1 ∨ ¬x2) (x1 ∨ x2 ∨ r1)∧ ri k (¬x1 ∨ x2 ∨ r2)∧ Cardinality Constraint (x1 ∨ ¬x2 ∨ r3)∧ (∑ wi · ri) ≤ k (¬x1 ∨ ¬x2 ∨ r4) PB Constraint Minimize k (Weighted MaxSAT)

slide-8
SLIDE 8

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Motivation for MaxSAT

▶ Operations Research ▶ Logistics ▶ Resource Allocation ▶ Computational Biology ▶ Fault Localization ▶ ... and many more For many applications it may be desirable to fjnd a good solution (even if suboptimal) very quickly. That’s where incomplete solvers come into play!

Our contributions

Weight relaxation based approximation Subproblem minimization based approximation

slide-9
SLIDE 9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Motivation for MaxSAT

▶ Operations Research ▶ Logistics ▶ Resource Allocation ▶ Computational Biology ▶ Fault Localization ▶ ... and many more For many applications it may be desirable to fjnd a good solution (even if suboptimal) very quickly. That’s where incomplete solvers come into play!

Our contributions

Weight relaxation based approximation Subproblem minimization based approximation

slide-10
SLIDE 10

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Motivation for MaxSAT

▶ Operations Research ▶ Logistics ▶ Resource Allocation ▶ Computational Biology ▶ Fault Localization ▶ ... and many more For many applications it may be desirable to fjnd a good solution (even if suboptimal) very quickly. That’s where incomplete solvers come into play!

Our contributions

Weight relaxation based approximation Subproblem minimization based approximation

slide-11
SLIDE 11

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Motivation for MaxSAT

▶ Operations Research ▶ Logistics ▶ Resource Allocation ▶ Computational Biology ▶ Fault Localization ▶ ... and many more For many applications it may be desirable to fjnd a good solution (even if suboptimal) very quickly. That’s where incomplete solvers come into play!

Our contributions

▶ Weight relaxation based approximation ▶ Subproblem minimization based approximation

slide-12
SLIDE 12

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 l a l a l l a

  • Worst case exponential size (e.g., weights

) Polynomial size encoding when all the weights are same.

slide-13
SLIDE 13

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ▶ (¬l1 ∨ a2) l a l l a

  • Worst case exponential size (e.g., weights

) Polynomial size encoding when all the weights are same.

slide-14
SLIDE 14

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ▶ (¬l1 ∨ a2) l a l l a

  • Worst case exponential size (e.g., weights

) Polynomial size encoding when all the weights are same.

slide-15
SLIDE 15

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ▶ (¬l1 ∨ a2) ∧(¬l2 ∨ a3) l l a

  • Worst case exponential size (e.g., weights

) Polynomial size encoding when all the weights are same.

slide-16
SLIDE 16

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ▶ (¬l1 ∨ a2) ∧(¬l2 ∨ a3) l l a

  • Worst case exponential size (e.g., weights

) Polynomial size encoding when all the weights are same.

slide-17
SLIDE 17

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ▶ (¬l1 ∨ a2) ∧(¬l2 ∨ a3) ∧(¬l1 ∨ ¬l2 ∨ a5)

  • Worst case exponential size (e.g., weights

) Polynomial size encoding when all the weights are same.

slide-18
SLIDE 18

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ▶ (¬l1 ∨ a2) ∧(¬l2 ∨ a3) ∧(¬l1 ∨ ¬l2 ∨ a5) . . .

  • Worst case exponential size (e.g., weights

) Polynomial size encoding when all the weights are same.

slide-19
SLIDE 19

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ≤ 5 ▶ (¬l1 ∨ a2) ∧(¬l2 ∨ a3) ∧(¬l1 ∨ ¬l2 ∨ a5) . . . ¬o6 ∧ ¬o8 ∧ ¬o9 ∧ ¬o11 Worst case exponential size (e.g., weights ) Polynomial size encoding when all the weights are same.

slide-20
SLIDE 20

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ≤ 5 ▶ (¬l1 ∨ a2) ∧(¬l2 ∨ a3) ∧(¬l1 ∨ ¬l2 ∨ a5) . . . ¬o6 ∧ ¬o8 ∧ ¬o9 ∧ ¬o11 ▶ Worst case exponential size (e.g., weights 1, 2, 4, 8, . . . ) Polynomial size encoding when all the weights are same.

slide-21
SLIDE 21

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ≤ 5 ▶ (¬l1 ∨ a2) ∧(¬l2 ∨ a3) ∧(¬l1 ∨ ¬l2 ∨ a5) . . . ¬o6 ∧ ¬o8 ∧ ¬o9 ∧ ¬o11 ▶ Worst case exponential size (e.g., weights 1, 2, 4, 8, . . . ) ▶ Polynomial size encoding when all the weights are same.

slide-22
SLIDE 22

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

GTE for Pseudo-Boolean Constraints

(O : o2, o3, o5, o6, o8, o9, o11 : 11) (A : a2, a3, a5 : 5) (B : b3, b6 : 6) (C : l1 : 2) (D : l2 : 3) (E : l3 : 3) (F : l4 : 3)

▶ Encoding 2l1 + 3l2 + 3l3 + 3l4 ≤ 5 ▶ (¬l1 ∨ a2) ∧(¬l2 ∨ a3) ∧(¬l1 ∨ ¬l2 ∨ a5) . . . ¬o6 ∧ ¬o8 ∧ ¬o9 ∧ ¬o11 ▶ Worst case exponential size (e.g., weights 1, 2, 4, 8, . . . ) ▶ Polynomial size encoding when all the weights are same. This can be leveraged for incomplete solving.

slide-23
SLIDE 23

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form Sort clauses by weights in ascending order Initially everything in one cluster Keep dividing clusters by picking the largest weight difgerence as a cluster boundary Replace weights by a representative weight of a cluster (say, arithmetic mean) 10 3 27 12 11 2 4 26 25 Original problem: Minimize k in wi ri k Modifjed problem: Minimize k in wi ri k Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-24
SLIDE 24

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order Initially everything in one cluster Keep dividing clusters by picking the largest weight difgerence as a cluster boundary Replace weights by a representative weight of a cluster (say, arithmetic mean) 2 3 4 10 11 12 25 26 27 Original problem: Minimize k in wi ri k Modifjed problem: Minimize k in wi ri k Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-25
SLIDE 25

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order ▶ Initially everything in one cluster Keep dividing clusters by picking the largest weight difgerence as a cluster boundary Replace weights by a representative weight of a cluster (say, arithmetic mean) 2 3 4 10 11 12 25 26 27 Original problem: Minimize k in wi ri k Modifjed problem: Minimize k in wi ri k Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-26
SLIDE 26

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order ▶ Initially everything in one cluster ▶ Keep dividing clusters by picking the largest weight difgerence as a cluster boundary Replace weights by a representative weight of a cluster (say, arithmetic mean) 2 3 4 10 11 12 25 26 27 Original problem: Minimize k in wi ri k Modifjed problem: Minimize k in wi ri k Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-27
SLIDE 27

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order ▶ Initially everything in one cluster ▶ Keep dividing clusters by picking the largest weight difgerence as a cluster boundary Replace weights by a representative weight of a cluster (say, arithmetic mean) 2 3 4 10 11 12 25 26 27 Original problem: Minimize k in wi ri k Modifjed problem: Minimize k in wi ri k Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-28
SLIDE 28

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order ▶ Initially everything in one cluster ▶ Keep dividing clusters by picking the largest weight difgerence as a cluster boundary ▶ Replace weights by a representative weight of a cluster (say, arithmetic mean) 3 3 3 11 11 11 26 26 26 Original problem: Minimize k in wi ri k Modifjed problem: Minimize k in wi ri k Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-29
SLIDE 29

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order ▶ Initially everything in one cluster ▶ Keep dividing clusters by picking the largest weight difgerence as a cluster boundary ▶ Replace weights by a representative weight of a cluster (say, arithmetic mean) 3 3 3 11 11 11 26 26 26 ▶ Original problem: Minimize k in (∑ wi · ri) ≤ k Modifjed problem: Minimize k in wi ri k Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-30
SLIDE 30

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order ▶ Initially everything in one cluster ▶ Keep dividing clusters by picking the largest weight difgerence as a cluster boundary ▶ Replace weights by a representative weight of a cluster (say, arithmetic mean) 3 3 3 11 11 11 26 26 26 ▶ Original problem: Minimize k in (∑ wi · ri) ≤ k ▶ Modifjed problem: Minimize k in (∑ w′

i · ri) ≤ k

Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-31
SLIDE 31

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order ▶ Initially everything in one cluster ▶ Keep dividing clusters by picking the largest weight difgerence as a cluster boundary ▶ Replace weights by a representative weight of a cluster (say, arithmetic mean) 3 3 3 11 11 11 26 26 26 ▶ Original problem: Minimize k in (∑ wi · ri) ≤ k ▶ Modifjed problem: Minimize k in (∑ w′

i · ri) ≤ k

▶ Keep decreasing k until you reach Unsat Keep reporting assignments with smallest wi ri seen so far

slide-32
SLIDE 32

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ m = 3 are the number of clusters we want to form ▶ Sort clauses by weights in ascending order ▶ Initially everything in one cluster ▶ Keep dividing clusters by picking the largest weight difgerence as a cluster boundary ▶ Replace weights by a representative weight of a cluster (say, arithmetic mean) 3 3 3 11 11 11 26 26 26 ▶ Original problem: Minimize k in (∑ wi · ri) ≤ k ▶ Modifjed problem: Minimize k in (∑ w′

i · ri) ≤ k

▶ Keep decreasing k until you reach Unsat ▶ Keep reporting assignments ν with smallest (∑ wi · ri) seen so far

slide-33
SLIDE 33

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Weight relaxation

▶ As m increases accuracy increases. No approximation when m = #weights ▶ Formula size increases as m increases thus making it more diffjcult for the solver ▶ If time permits, keep increasing m

slide-34
SLIDE 34

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r r r r r r r 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-35
SLIDE 35

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r r r r 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-36
SLIDE 36

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r r r r 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-37
SLIDE 37

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 1 r r r r 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-38
SLIDE 38

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 1 r r r r 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-39
SLIDE 39

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r4 + r5 + r6 + r7 ≤ 3 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-40
SLIDE 40

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r4 + r5 + r6 + r7 ≤ 3 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-41
SLIDE 41

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r4 + r5 + r6 + r7 ≤ 2 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-42
SLIDE 42

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r4 + r5 + r6 + r7 ≤ 2 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-43
SLIDE 43

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r4 + r5 + r6 + r7 ≤ 3 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-44
SLIDE 44

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r4 + r5 + r6 + r7 ≤ 3 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 ▶ Greedy approach Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-45
SLIDE 45

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r4 + r5 + r6 + r7 ≤ 3 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 ▶ Greedy approach ▶ Does not converge to optimal if BMO property does not hold Switch to alternatives if time permits (complete search, local search)

slide-46
SLIDE 46

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subproblem Minimization

▶ Weight at any level is higher than sum of all the weights below that level (BMO property) ▶ Starting from heaviest (highest) level keep reducing (∑ ri) r8 + r9 + r10 ≤ 2 r4 + r5 + r6 + r7 ≤ 3 1 r1 1 r2 1 r3 4 r4 4 r5 4 r6 4 r7 20 r8 20 r9 20 r10 ▶ Greedy approach ▶ Does not converge to optimal if BMO property does not hold ▶ Switch to alternatives if time permits (complete search, local search)

slide-47
SLIDE 47

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Experiments

▶ Techniques implemented as Open-WBO-Inc on top of Open-WBO framework ▶ MaxSAT evaluations 2017 benchmarks used ▶ Compared maxroster (MSE17-1), WPM3 (MSE17-2), QMaxSAT (MSE17-complete-2), apx-weight, apx-subprob ▶ Score =

  

b∈Benchmarks

( best(b) solver(b) )

  |Benchmarks|

▶ The solver providing the best result for a benchmark scores 1 ▶ The score deteriorates as the result deviates from the best known ▶ Score of 0 if solver fails for some reason.

▶ Timeout = 10s, 60s, 300s

slide-48
SLIDE 48

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Results: Clustering efgect on Formula size

1 2 3 4 5 1,000 2,000 3,000 #Clusters (m) Ratio #Clauses after PB encoding

slide-49
SLIDE 49

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Results: Clustering efgect on apx-weight performance

1 2 3 4 5 0.65 0.7 0.75 0.8 #Clusters (m) Score Efgect of clustering on apx-weight timeout=10s timeout=60s timeout=300s

slide-50
SLIDE 50

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Results: Clustering efgect on apx-subprob performance

1 2 3 4 5 50 100#weights 0.75 0.8 0.85 0.9 #Clusters (m) Score Efgect of clustering on apx-subprob timeout=10s timeout=60s timeout=300s

slide-51
SLIDE 51

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Results: Comparision with other solvers

10 60 300 0.7 0.8 0.9 Timeout Score QMaxSAT WPM3 apx-weight maxroster apx-subprob

slide-52
SLIDE 52

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Results: Validation by others

▶ apx-weight placed fourth in MaxSAT 2018 evaluations in weighted incomplete tracks for 60s and 300s Timeout ▶ apx-subprob placed second in MaxSAT 2018 evaluations in weighted incomplete track for 300s Timeout ▶ apx-subprob placed fjrst in MaxSAT 2018 evaluations in weighted incomplete track for 60s Timeout ▶ apx-subprob with switching to complete search placed sixth and fourth in MaxSAT 2019 in weighted incomplete tracks for 300s and60s Timeout respectively ▶ apx-subprob with switching to local search placed third in MaxSAT 2019 in weighted incomplete tracks for 300s and60s Timeout

slide-53
SLIDE 53

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Thank You!

Try Open-WBO-Inc : https://github.com/sbjoshi/Open-WBO-Inc