Improving SAT-Based Weighted MaxSAT Solvers CP 2012 (Quebec) Carlos Ansótegui1 Joel Gabàs1 María Luisa Bonet2 Jordi Levy3 Universitat de Lleida (DIEI, UdL)1 . Universitat Politècnica de Catalunya (LSI, UPC)2 . Artificial Intelligence Research Institute (IIIA, CSIC)3 . October, 2012 1 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Weighted Partial MaxSAT Problem A weighted clause is a pair (C, w), where C is a clause and w indicates the penalty for falsifying C. A clause is called soft if w ∈ nat A clause is called hard if w = ∞ Weighted Partial MaxSAT (WPM) is the problem of finding an assignment that minimizes the aggregated cost of the falsified clauses. Partial MaxSAT is the WPM problem when soft clauses have weight 1. 2 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Example: Weighted Partial MaxSAT instance Consider the pigeon-hole formula PHP15 with 5 pigeons and one hole. variables: xi means that pigeon i goes to the only hole soft clauses: wi is the cost of pigeon i out of the hole hard clauses: no two pigeons can go to the same hole ϕ = { (x1 , 5), (x2 , 4), (x3 , 3), (x4 , 2), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} cost(ϕ) = 10. 3 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Weighted Partial MaxSAT solvers Branch and bound based - extend DPLL or CDCL SAT algorithms - apply incomplete MaxSAT resolution rules - use lowerbounding and upperbounding techniques - best performance on random instances Satisfiability testing based (SAT-based) - solve a sequence of SAT formulas - exploit unsatisfiable cores and satisfying assignments - introduce pseudoBoolean linear constraints - best performance on industrial instances 4 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Contributions of this paper - We improve the Fu and Malik algorithm (SAT-Based) by breaking symmetries - We improve the Weighted version of the Fu and Malik algorithm by applying an stratified approach - We provide good experimental results on WPM industrial and crafted instances. 5 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers SAT-based MaxSAT algorithms: search scheme A MaxSAT instance ϕ can be solved through a sequence of SAT instances ϕk . ϕk be satisfiable ↔ cost(ϕ) ≤ k . Let k ′ = cost(ϕ), ϕk unsatisfiable 0 ϕk satisfiable k ′−1 k ′ P wi + 1 cost(ϕ) is the smallest k of satisfiable ϕk . 6 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers SAT-based MaxSAT: basic encoding of ϕk ϕ = { (x1 , w1 ), (x2 , w2 ), (x3 , w3 ), (x4 , w4 ), (x5 , w5 ) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} 7 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers SAT-based MaxSAT: basic encoding of ϕk ϕk = { (x1 ∨ b1 , w1 ), (x2 ∨ b2 , w2 ), (x3 ∨ b3 , w3 ), (x4 ∨ b4 , w4 ), (x5 ∨ b5 , w5 ) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} ∪ P CNF ( 5i=1 wi · bi ≤ k , ∞) Note: ϕk is sent without weights to the 7 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy SAT solver Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm - Originally designed for solving Partial MaxSAT (soft with wi = 1) - Starts from k = 0, increasing k by 1 until ϕk is satisfiable - ϕk satisfiable ↔ cost(ϕ) = k - Exploits the unsatisfiable core returned by the SAT solver 8 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm ϕ0 = { (x1 , 1), (x2 , 1), (x3 , 1), (x4 , 1), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} 8 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm ϕ0 = { (x1 , 1), (x2 , 1), (x3 , 1), (x4 , 1), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} SAT(ϕ0 ) returns a core cost(ϕ) > 0 8 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm ϕ1 = { (x1 ∨ b11 , 1), (x2 ∨ b21 , 1), (x3 , 1), (x4 , 1), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} ∪ CNF (b11 + b21 = 1, ∞) Soft clauses in core are relaxed 8 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm ϕ1 = { (x1 ∨ b11 , 1), (x2 ∨ b21 , 1), (x3 , 1), (x4 , 1), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} ∪ CNF (b11 + b21 = 1, ∞) SAT(ϕ1 ) returns a core cost(ϕ) > 1 8 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm ϕ2 = { (x1 ∨ b11 (x2 ∨ (x3 ∨ (x4 ∨ , 1), b21 , 1), b32 b42 (x5 , 1), , 1), , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} ∪ CNF (b11 + b21 = 1, ∞) ∪ CNF (b32 + b42 = 1, ∞) ϕ2 is unsat, cost(ϕ) > 2 8 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm ϕ3 = { (x1 ∨ b11 ∨ b13 , 1), (x2 ∨ b21 ∨ b23 , 1), (x3 ∨ b32 ∨ b33 , 1), (x4 ∨ b42 ∨ b43 , 1), , 1) } ∪ (x5 {(¬xi ∨ ¬xj , ∞) | i < j} ∪ CNF (b11 + b21 = 1, ∞) ∪ CNF (b32 + b42 = 1, ∞) ∪ CNF (b13 + b23 + b33 + b43 = 1, ∞) ϕ3 is unsat, cost(ϕ) > 3 8 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm ϕ4 = { (x1 ∨ b11 ∨ b13 ∨ b14 , 1), (x2 ∨ b21 ∨ b23 ∨ b24 , 1), (x3 ∨ b32 ∨ b33 ∨ b34 , 1), (x4 ∨ b42 ∨ b43 ∨ b44 , 1), b54 , 1) } ∪ (x5 ∨ {(¬xi ∨ ¬xj , ∞) | i < j} ∪ CNF (b11 + b21 = 1, ∞) ∪ CNF (b32 + b42 = 1, ∞) ∪ CNF (b13 + b23 + b33 + b43 = 1, ∞) ∪ CNF (b14 + b24 + b34 + b44 + b54 = 1, ∞) ϕ4 is sat!, cost(ϕ) = 4 8 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The Fu and Malik algorithm if SAT({Ci | wi = ∞}) = (UNSAT, _) then return (∞, ∅); cost := 0; /* Optimal */ s := 0; /* Counter of cores */ while true do (st, ϕc ) := SAT({Ci | (Ci , 1) ∈ ϕ}) ; /* Call without weights */ if st = SAT then return (cost, ϕ); s := s + 1; As := ∅ ; /* Indexes of the core */ foreach Ci ∈ ϕc do if wi 6= ∞ then /* If the clause is soft */ bis := new_variable( ); ϕ := ϕ \ {(Ci , 1)} ∪ {(Ci ∨ bis , 1)} ; /* Add blocking variable */ As := As ∪ {i}; end end P ϕ := ϕ ∪ {(C, ∞) | C ∈ CNF( i∈As bis = 1)} ; /* Add cardinality */ cost := cost + 1 end 9 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Breaking Symmetries in the Fu and Malik algorithm Lets look again to ϕ3 in our working example without clause (x5 , 1) x1 ∨ x2 ∨ b13 b11 ∨ b21 ∨ x3 ∨ x4 ∨ b23 b32 ∨ b33 b42 ∨ b43 x1 ∨ x2 ∨ b11 ∨ b21 ∨ x3 ∨ x4 ∨ b11 + b21 = 1 b11 + b21 = 1 b32 + b42 = 1 b32 + b42 = 1 b13 + b23 + b33 + b43 = 1 10 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy b13 b23 b32 ∨ b33 b42 ∨ b43 b13 + b23 + b33 + b43 = 1 Improving SAT-Based Weighted MaxSAT Solvers Breaking Symmetries in the Fu and Malik algorithm Lets look again to ϕ3 in our working example without clause (x5 , 1) The formula is satisfiable, but it has 8 models instead of 4! x1 ∨ x2 ∨ b13 b11 ∨ b21 ∨ x3 ∨ x4 ∨ b23 b32 ∨ b33 b42 ∨ b43 x1 ∨ x2 ∨ b11 ∨ b21 ∨ x3 ∨ x4 ∨ b11 + b21 = 1 b11 + b21 = 1 b32 + b42 = 1 b32 + b42 = 1 b13 + b23 + b33 + b43 = 1 10 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy b13 b23 b32 ∨ b33 b42 ∨ b43 b13 + b23 + b33 + b43 = 1 Improving SAT-Based Weighted MaxSAT Solvers Breaking Symmetries in the Fu and Malik algorithm The two previous models are related by the permutation b11 ↔ b21 , b13 ↔ b23 The existence of so many partial models makes the task of showing unsatisfiability of the formula (including x5 ) much harder. After finding the third unsatisfiable core, we break symmetries by adding to ϕ3 : b13 → ¬b21 b33 → ¬b42 11 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The WPM1 algorithm Weighted version of Fu and Malik algorithm [WPM1 and WBO, 2009] Idea: Compute the minimum weight, wmin , in the unsat core Replace soft clauses in the unsat core by, - a copy with with weight wmin plus blocking variables and cardinality - a copy with weight wi − wmin Increase the current cost by wmin . 12 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The WPM1 algorithm ϕ0 = { (x1 , 5), (x2 , 4), (x3 , 3), (x4 , 2), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} 12 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The WPM1 algorithm ϕ0 = { (x1 , 5), (x2 , 4), (x3 , 3), (x4 , 2), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} SAT(ϕ0 ) returns a core cost(ϕ) > 0 12 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The WPM1 algorithm ϕ4 = { (x1 ∨ b11 , 4), ϕ0 = { (x1 , 5), (x2 , 4), (x3 , 3), (x4 , 2), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} SAT(ϕ0 ) returns a core cost(ϕ) > 0 (x2 ∨ b21 , 4), (x1 , 1), (x3 , 3), (x4 , 2), (x5 , 1) } ∪ {(¬xi ∨ ¬xj , ∞) | i < j} ∪ CNF (b11 + b21 = 1, ∞) copy with wmin copy with wi − wmin SAT (ϕ4 ) unsat, cost(ϕ) > 4. 12 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers The WPM1 algorithm if SAT({Ci | wi = ∞}) = (UNSAT, _) then return (∞, ∅); cost := 0; /* Optimal */ s := 0; /* Counter of cores */ while true do (st, ϕc ) := SAT({Ci | (Ci , wi ) ∈ ϕ}) ; /* Call SAT without weights */ if st = SAT then return (cost, ϕ); s := s + 1; As := ∅; /* Indexes of the core */ wmin := min{wi | Ci ∈ ϕc ∧ wi 6= ∞} ; /* Minimum weight */ foreach Ci ∈ ϕc do if wi 6= ∞ then bis := new_variable() ϕ := ϕ \ {(Ci , wi )} ∪ {(Ci , wi − wmin ), (Ci ∨ bis , wmin )} As := As ∪ {i} end end P ϕ := ϕ ∪ {(C, ∞) | C ∈ CNF ( i∈As bis = 1)} ; /* Add cardinality */ cost := cost + wmin end 13 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Stratified approach for the WPM1 algorithm Problem: - the number of iterations depends on wmin . - SAT solvers have no notion of weights - SAT solvers can return not minimal unsat cores Stratified approach: - idea: force the SAT solver to focus on clauses with higher weights - only clauses with wi > wmax are sent to the solver - when SAT solver returns sat, wmax is decreased - copies with wi − wmin are scheduled to their appropiated wmax 14 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Stratified approach for the WPM1 algorithm if SAT({Ci | wi = ∞}) = (UNSAT, _) then return (∞, ∅); cost := 0; /* Optimal */ s := 0; /* Counter of cores */ wmax := max{wi | (Ci , wi ) ∈ ϕ ∧ wi < ∞}; while true do (st , ϕc ) := SAT({Ci | (Ci , wi ) ∈ ϕ ∧ wi ≥ wmax }); if st = SAT then if wmax = 0 then return (cost , ϕ); else wmax := max{wi | (Ci , wi ) ∈ ϕ ∧ wi < wmax } ; end else s := s + 1; As := ∅; /* Indexes of the core */ wmin := min{wi | Ci ∈ ϕc ∧ wi 6= ∞} ; /* Minimum weight */ foreach Ci ∈ ϕc do if wi 6= ∞ then bis := new_variable(); ϕ := ϕ \ {(Ci , wi )} ∪ {(Ci , wi − wmin ), (Ci ∨ bis , wmin )} As := As ∪ {i} end P ϕ := ϕ ∪ {(C, ∞) | C ∈ CNF ( i∈As bis = 1)} ; /* Cardinal. */ cost := cost + wmin end end end 15 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Experimental investigation - Experiments conducted within MaxSAT evaluation environment: Memory extended from 0.5 to 1GB Cutoff extended from 30’ to 2h - Best solvers from MaxSAT evaluation 2011 - Other MaxSAT solvers reported to have good performance: bincd: F. Heras, A. Morgado, J. Marques-Silva maxhs: J. Davies, F. Bacchus - WCSP solver: toulbar2: Sanchez, Bouveret, Givry, Heras, Jgou, Larrosa, Ndiaye, Rollon, Schiex, Terrioux, Verfaillie, Zytnicki 16 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Experimental investigation Our solvers: wpm1 WPM1 algorithm on picoSAT (MaxSAT Eval. 2009/10) wpm1s wpm1 + stratified approach (MaxSAT Eval. 2011) wpm1b wpm1 + breaking symmetries wpm1bs wpm1b + stratified approach wpm1bsd wpm1bs + diversity heuristic (MaxSAT Eval. 2012) 17 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Weighted Partial MaxSAT industrial instances 3 families, 226 instances Solved instances 1.- wpm1bsd 204 2.- wpm1bs 204 3.- wpm1s 196 4.- wpm1b 188 5.- wbo1.6 176 6.- wpm1 172 7.- maxhs 138 8.- bincd 105 9.- sat4j 50 10.- binc 31 11.- toulbar2 5 18 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Mean solved family ratio 1.- wpm1bsd 76.3% 2.- wpm1bs 76.3% 3.- wpm1s 72.6% 4.- wpm1b 71.0% 5.- wpm1 63.7% 6.- wbo1.6 62.3% 7.- maxhs 49.7% 8.- bincd 40.7% 9.- sat4j 16.6% 10.- binc 14.0% 11.- toulbar2 1.7% Improving SAT-Based Weighted MaxSAT Solvers Weighted Partial MaxSAT crafted Instances 8 families, 372 instances 1.2.3.4.5.6.7.8.9.10.11.12.13.14.- Solved instances wpm1bsd incw_maxsatz ak_maxsat toulbar2 wpm1bs wmax_satz09z maxhs sat4j wpm1s bincd binc wpm1 wbo1.6 wpm1b 270 241 226 225 224 222 204 189 184 125 108 84 82 67 19 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Mean solved family ratio 1.- wpm1bsd 66.5% 2.- incw_maxsatz 56.6% 3.- wpm1bs 53.1% 4.- toulbar2 43.9% 5.- ak_maxsat 43.6% 6.- wmax_satz09z 41.4% 7.- wpm1s 40.5% 8.- maxhs 39.1% 9.- sat4j 38.4% 10.- bincd 35.1% 11.- wpm1 30.2% 12.- binc 28.5% 13.- wpm1b 25.5% 14.- wbo1.6 22.2% Improving SAT-Based Weighted MaxSAT Solvers Thanks! 20 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Experimental results Instance set haplotyping timetabling upgradeability Total # wpm1bsd wpm1bs wpm1s wpm1b wbo1.6 wpm1 100 26 100 226 423(95) 685.60(9) 35.8(100) 204 425(95) 683(9) 37.2(100) 204 378(88) 585(8) 36.5(100) 196 376(79) 992(9) 36.9(100) 188 93.4(72) 776(4) 63.3(100) 176 390(65) 1002(7) 114(100) 172 maxhs bincd sat4j binc 1043(34) 1238(4) 29.0(100) 138 196(21) 766(6) 637(78) 105 108(20) 0(0) 844(30) 50 408(27) 1350(4) 0(0) 31 toulbar2 383(5) 0(0) 0(0) 5 Table: Weighted Partial - Industrial. 21 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Experimental results Instance set Table4 [?] Total # maxhs wbo1.6 wpm1b 13 13 4.41(13) 13 5.03(13) 13 5.54(13) 13 wpm1bsd 8.84(13) 13 wpm1 wpm1bs 18.92(13) 13 534.13(13) 13 wpm1s bincd sat4j binc toulbar2 559.23(13) 13 56.69(11) 11 3485.52(6) 6 19.50(1) 1 0.00(0) 0 Table: Table 4 from [?]. Linux upgradibility family forcing diversity of weights. 22 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Experimental results Instance set # wpm1bsd auc-paths auc-sched planning warehouses miplib random-net spot5dir spot5log Total 86 84 56 18 12 74 21 21 372 274(53) 11.9(84) 27.9(52) 44(14) 1187(4) 241(39) 257(10) 532(14) 270 incw maxsatz 7.59(86) 220(84) 92.2(38) 1184(18) 1419(5) 1177(1) 1127(5) 0.63(4) 241 ak maxsat 4.6(86) 123(84) 354(40) 37(2) 0.47(2) 1570(2) 1106(5) 200(5) 226 toulbar2 wpm1bs 28.8(86) 133(84) 149(41) 0.03(1) 63.2(3) 0(0) 217(5) 170(5) 225 332(53) 12.2(84) 26.3(56) 571(3) 1165(4) 0(0) 383(10) 574(14) 224 wmax satz09z 570(80) 92(84) 220(50) 0.32(1) 266(3) 0(0) 11.5(2) 15.6(2) 222 maxhs sat4j wpm1s bincd binc wpm1 wbo1.6 wpm1b 72.2(86) 1125(69) 306(29) 0.37(1) 0.07(1) 2790(6) 199(6) 710(6) 204 994(44) 716(80) 3.27(55) 1.34(1) 693(4) 0(0) 1.95(2) 6.04(3) 189 22(33) 7.6(80) 12.5(54) 1644(3) 34(3) 0(0) 1.41(5) 44.4(6) 184 1828(2) 130(50) 59.5(47) 7.03(1) 618(3) 0(0) 66.7(11) 124(11) 125 0(0) 103(45) 51.1(46) 8.67(1) 699(3) 0(0) 51.7(6) 79.3(7) 108 0(0) 0(0) 1.46(28) 4.23(18) 0.21(1) 615(27) 1.03(4) 21.5(6) 84 0(0) 0(0) 1.33(30) 0.51(4) 0(0) 63(37) 2.60(5) 25.5(6) 82 0(0) 0(0) 3.63(29) 0.88(12) 1507(1) 439(12) 12.8(6) 131(7) 67 Table: Weighted Partial - Crafted. 23 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers Stratified approach with other algorithms Instance set haplotyping timetabling upgradeability Total # 100 26 100 226 [Weighted Partial - Industrial] bincd-2sd bincd-2 255(22) 1243(2) 34.9(100) 124 223(20) 1128(1) 30.8(100) 121 wpm2sd wpm2 515(23) 257(3) 49.0(100) 126 32.6(22) 246(4) 55.4(99) 125 [Table 4 from [?]. Linux upgradibility family forcing diversity of weights] Instance set # bincd-2sd bincd-2 wpm2sd wpm2 Table4 [?] Total 13 13 Instance set # auc-paths auc-sched planning warehouses miplib random-net spot5dir spot5log Total 86 84 56 18 12 74 21 21 372 27.1(13) 13 9.70(13) 13 [Weighted Partial - Crafted] bincd-2sd bincd-2 785(47) 534(81) 2.60(55) 0.18(1) 6.77(2) 2175(15) 529(11) 566(11) 223 739(42) 810(70) 3.36(56) 0.18(1) 3.61(2) 1918(18) 380(11) 1748(12) 212 13.9(13) 13 9.05(13) 13 wpm2sd wpm2 2551(3) 76.0(46) 89.6(36) 19.2(1) 13.7(1) 0(0) 486(10) 572(10) 107 0(0) 0(0) 28.7(23) 23.9(1) 16.4(1) 0(0) 518(9) 0.71(6) 40 Table: Experimental results. 24 / 24 Carlos Ansótegui, María Luisa Bonet, Joel Gabàs, Jordi Levy Improving SAT-Based Weighted MaxSAT Solvers