1 of 60

TT-Open-WBO-Inc: The SAT Engine of Modern Anytime MaxSAT

Alexander Nadel

Technion & NVIDIA, Israel

Dagstuhl Seminar on 'Interactions in Constraint Optimization' (25371)

Schloss Dagstuhl, Germany

September 9, 2025

1

2 of 60

MaxSAT: Definition

  •  

Extension of SAT to Linear Optimization

2

3 of 60

MaxSAT: Definition

  •  

Extension of SAT to Linear Optimization

3

4 of 60

MaxSAT

  • MaxSAT is widely applied
    • Domains: AI, data mining, scheduling, verification, …
    • Tasks: planning, optimization, structure learning, debugging, physical design in CAD, …
    • Community:
      • >2,000 peer-reviewed papers and major technical reports
      • Yearly MaxSAT Evaluations (MSEs) since 2006 (skipped in 2025☹)
  • The MaxSAT literature, algorithms, and evaluations are typically category-specific
  • Categories:
    • Classification by the input: Weighted vs. Unweighted
      • Unweighted ≅ all weights are 1
    • Classification by the algorithm type: Exact vs. Anytime1,2
      • Exact (formerly in MSEs: complete)
        • Guaranteed to return an optimal solution
        • No intermediate solutions required
      • Anytime (formerly in MSEs: incomplete)
        • Not guaranteed to return an optimal solution (but often do)
        • Continuously outputs improving solutions
        • Crucial for industrial use and hard real-world problems!
        • Evaluated at MaxSAT Evaluations since 2011

Usage and Categories

  1. Dean, T. L., & Boddy, M. S., "An analysis of time-dependent planning," AAAI 1988.
  2. Zilberstein, S., "Using anytime algorithms in intelligent systems," AI Magazine 17(3), 1996.

4

5 of 60

TT-Open-WBO-Inc: The SAT Engine of Modern Anytime MaxSAT

Anytime/Incomplete MSE Winners (2019-2024)

Year

Timeout

Unweighted Winner

Weighted Winner

2024

60s

SPB-MaxSAT-c-Band

SPB-MaxSAT-c-FPS

300s

SPB-MaxSAT-c-Band

SPB-MaxSAT-c-FPS

2023

60s

NuWLS-c 2023

NuWLS-c 2023

300s

NuWLS-c 2023

NuWLS-c 2023

2022

60s

NuWLS-c

NuWLS-c

300s

NuWLS-c

NuWLS-c

2021

60s

SATLike-c (with TT-Open-WBO-Inc)

SATLike-ck

300s

SATLike-c (with TT-Open-WBO-Inc)

Loandra (2020)

2020

60s

SATLike-c (with Loandra)

TT-Open-WBO-Inc

300s

SATLike-c (with Loandra)

TT-Open-WBO-Inc

2019

60s

Loandra

TT-Open-WBO-Inc

300s

Loandra

TT-Open-WBO-Inc

Highlighted: �TT-Open-WBO-Inc inside

Category

Timeout

1st

2nd

3d

Unweighted

60s

SPB-MaxSAT-c-Band

NuWLS-c-IBR

TT-Open-WBO-Inc-Glucose

Weighted

60s

SPB-MaxSAT-c-FPS

TT-Open-WBO-Inc-Glucose

NuWLS-c-IBR

Unweighted

300s

SPB-MaxSAT-c-Band

NuWLS-c-IBR

TT-Open-WBO-Inc-Glucose

Weighted

300s

SPB-MaxSAT-c-FPS

TT-Open-WBO-Inc-Glucose

NuWLS-c-IBR

MSE 2024: Best Solvers in Anytime Categories

5

6 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

6

7 of 60

Linear Search SAT-UNSAT (LSU)1

7

9/8/2025

  1. F 🡨 H // Initializing CNF F with the hard clauses
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F // using a cardinality or a PB constraint
  4. Else // UNSAT
    • Return the last model M // M is guaranteed to be an optimal model
  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

7

8 of 60

Cardinality and Pseudo-Boolean (PB) Constraints

  • How to block the models with an upper bound on the weight in LSU?
  • Unweighted MaxSAT:
    • Cardinality constraint: x1 + . . . + xn ≤ b
      • Example: x1 + x2 + x3 + x4 + x5 ≤ 3
  • Weighted MaxSAT:
    • PB constraint: l1*x1 + . . . + ln* xn ≤ b
      • Example: 2x1 + 4x2 + x3 + 5x4 + 7x5 ≤ 10
  • In MaxSAT solving, these constraints are encoded into clauses
  • TT-Open-WBO-Inc’s encodings:
    • Cardinality Encoding: Totalizer1,2
    • Pseudo-Boolean Encoding: Generalized Totalizer (GTU)3 or Adder4 (if |clauses| > 3M)
    • Encodings property: the upper bound can be easily & incrementally tightened
      • Essential for efficient LSU implementation

  1. Bailleux, O., & Boufkhad, Y., "Efficient CNF encoding of Boolean cardinality constraints," CP 2003.
  2. Büttner, M., & Rintanen, J., "Satisfiability planning with constraints on the number of actions," ICAPS 2005.
  3. Joshi, S., Martins, R., & Manquinho, V. M., "Generalized totalizer encoding for pseudo-Boolean constraints," CP 2015.
  4. Eén, N., & Sörensson, N., "Translating Pseudo-Boolean Constraints into SAT," JSAT, 2006.

8

9 of 60

LSU

Properties and Usage

  • Pros ☺
    • Inherently anytime
      • All the solver invocations, but the last one:
        • Return SAT
        • Improve the previous best model
    • Complete
  • Cons ☹
    • Cardinality and PB constraints are too heavy
    • Convergence might be too slow
      • The first model might be too far away
      • Finding the next best model might be too slow
  • TT-Open-WBO-Inc falls back to LSU when & if:
    • Approximations exhausted, and/or
    • The cardinality/PB encoding becomes manageable after tightening the upper bound

9

10 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat Tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

10

11 of 60

Approximating Weighted MaxSAT by BMO1

BMO: Boolean Multilevel Optimization2

  • The weighted MaxSAT algorithm:
    • Cluster target bits by weight
      • W = {w5 = 5, w4 = 3, w3 = 5, w2 = 2, w1 = 5, w0 = 3}
      • T clustering:
        • {t5, t3, t1}
        • {t4, t0}
        • {t2}
    • Incrementally apply unweighted LSU cluster by cluster (highest weight first)
      • For every cluster, find a solution with the fewest target bits on and tighten its cardinality constraint accordingly
      • Incomplete, might miss solutions. Assume 2 solutions in our example:
          • S1≡{t5, t4, t0} of weight 11
          • S2 ≡{t5, t3} of weight 10
        • The algorithm will return S1
    • Fall back to weighted LSU
      • Undo all the cardinality constraints before
      • Bound the PB constraint from above with the best solution’s weight for efficiency
  • Properties -- lighter and faster than Weighted LSU:
    • Lighter cardinality constraints replace PB constraints for the approximation stage
    • Weighted LSU (if reached within timeout) starts from a tightened bound
  • Usage in TT-Open-WBO-Inc: applied for Weighted MaxSAT

  1. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat“, JSAT 2019.
  2. Argelich, J., Lynce, I., & Marques Silva, J. P., "On solving Boolean multilevel optimization problems," IJCAI 2009.

11

12 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat Tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

12

13 of 60

SAT Polarity Selection for Anytime MaxSAT

  • TT-Open-WBO-Inc makes many incremental SAT queries in its anytime MaxSAT flows
  • The goal: steer the SAT solver’s polarity selection to improve anytime MaxSAT efficiency
  • The technique: make every SAT query to always look for the next solution near an assignment M1
    • By biasing the SAT polarity heuristic to select M(v) every time a participating variable v is chosen by the variable decision heuristic
  • Conservative: M is the best solution so far (WPM32, LinSBPS3); starts from the 2nd SAT query
    • Locality: it’s easier to find the next best solution in the neighborhood of the previous best one
  • Optimistic: M is the ideal assignment -- targets are fixed to 0 (Sat4J4)
    • The first model and any subsequent model is closer to the ideal
  • Target-Optimal-Rest-Conservative -- TORC (TT-Open-WBO-Inc5,6):
    • Takes the best from the conservative and optimistic approaches
    • A non-target variable: TORC sets its polarity to its value in the best model so far
    • A target variable: TORC sets its polarity to 0
  • Results5,6 [Nadel 2019] [Nadel 2020b]
    • TORC > conservative > optimistic > default SAT polarity selection
  • For weighted MaxSAT, TORC works well with Target-Score-Bump (TSB) variable boost heuristic1,2
  1. Agbaria, S., Carmi, D., Cohen, O., Korchemny, D., Lifshits, M., & Nadel, A., "SAT-Based Semiformal Verification of Hardware," FMCAD 2010.
  2. Ansótegui, C., Gabàs, J., & Levy, J., "Exploiting subproblem optimization in SAT-based MaxSAT algorithms," J. Heuristics, 2016.
  3. Berg, J., Demirović, E., & Stuckey, P., "Core-Boosted Linear Search for Incomplete MaxSAT," CPAIOR 2019.
  4. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.
  5. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  6. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.

13

14 of 60

SAT Variable Decision Heuristic Adjustment for Anytime MaxSAT

Target-Score-Bump (TSB) Heuristic1,2

  • Observation: the impact of the TORC/optimistic polarity selection depends on the variable order
    • Target bit selected by the variable decision heuristic 🡪 0 polarity applied
    • Target bit propagated by BCP 🡪 unknown polarity forced by the SAT solver
  • Core idea: adjust variable selection order by boosting scores of target variables
    • Boosting factor is configurable
  • Trade-off:
    • Boost = ∞: always start with target bits, negated (except for propagated target bits)
      • Equivalent to setting the negated targets as assumptions
      • Botches SAT variable decision heuristic -- extremely slow in practice
    • Boost = 0: no influence
  • Implementation in TT-Open-WBO-Inc:
    • Balanced scheme:
      • Apply moderate boost to favor target variables at the beginning
      • Include a weight bias
      • Let the SAT solver adjust the scores as usual based on conflict-analysis
  • See 1 for TSB’s magic numbers & positive experimental results for weighted MaxSAT
    • Pays off only for weighted MaxSAT3

  1. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  2. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  3. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.

14

15 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat Tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

15

16 of 60

TT-Open-WBO-Inc-2020: the Algorithmics

M := SAT(H)

M := LocalSearch(M)

Incremental SAT-based Flow

TORC polarity selection

Weighted: TSB variable boost

Fallback to LSU?

No

SAT

LSU(M)

TORC polarity selection

Weighted: TSB variable boost

Yes

Polosat became too slow?

Approximation: BMO -- weighted; Mrs. Beaver (OBV) -- unweighted

SAT

Polosat: SAT-based Local Search

SAT

Yes

No

16

17 of 60

Optimization modulo Bitvectors (OBV)

  •  

by Reduction to MaxSAT

The Problem

Semantics

Weights

Unweighted MaxSAT

Minimize the number of satisfied target bits

∀i: w(ti)=1

OBV (Optimization modulo Bit-Vectors)

Minimize T’s value, interpreted as an unsigned number

∀i: w(ti)=2i

OBV vs. MaxSAT solving: The order makes OBV easier than MaxSAT

17

18 of 60

OBV-BS Algorithm for OBV Solving1,2

Iteratively try fixing target bits to 0, in order from MSB to LSB

OBV-BS

  • M := SAT(H)
  • i := n-1
  • FixBlockTo0(i, M)
  • While (i ≥ 0)
      • M := SAT(H, ¬ti)
      • If SAT
          • FixBlockTo0(i, M)
      • Else (UNSAT)
          • H := H ∧ ti; i := i - 1
  • Return M

Input: Hard Constraints (Clauses) H

Optimization target: T = [tn-1 tn-2 … t0]

Output: A model M to H which minimizes T’s value

    • T is interpreted as an unweighted integer with tn-1 being the MSB

FixBlockTo0(i, M) // i is provided by reference

While (i ≥ 0 and M(ti) = 0) {H := H ∧ ¬ti; i := i – 1}

  1. Knuth, D. E., "The Art of Computer Programming, Volume 4, Fascicle 6: Satisfiability," Addison-Wesley, 2015.
  2. Nadel, A., & Ryvchin, V., "Bit-Vector Optimization," TACAS 2016.

18

19 of 60

Mrs. Beaver1,2

Approximate MaxSAT by OBV-BS

  • Sub-procedures
    • OBV-BS
    • UMS-OBV-BS: OBV-BS modified to satisfy fewer target bits on-the-fly
      • Whenever there is a model, all the falsified target bits are shifted towards the MSB
      • Doesn’t solve OBV anymore
  • Mrs. Beaver(M) // M: the best solution so far
    • Loop forever or until the cardinality/PB encoding is small enough for LSU to digest:
      • Run UMS-OBV-BS(T). Update M, if a better solution is found.
      • Reverse T. Run UMS-OBV-BS(T). Update M, if a better solution is found.
      • Reverse T. Run OBV-BS(T). Update M, if a better solution is found.
      • Reverse T. Run OBV-BS(T). Update M, if a better solution is found.
      • Randomly shuffle T
    • LSU(M)
  • Mrs. Beaver’s properties:
    • Efficient incomplete approximation -- never creates cardinality/PB constraints unless the size is manageable enough to fall back to LSU
    • Attempts to diversify the solution space by switching between algorithms & shuffling the target
    • Usage in TT-Open-WBO-Inc: implemented and applied for unweighted MaxSAT only
      • Can be easily adjusted for weighted MaxSAT2
  1. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  2. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.

19

20 of 60

TT-Open-WBO-Inc-2020: the Algorithmics

M := SAT(H)

M := LocalSearch(M)

Incremental SAT-based Flow

TORC polarity selection

Weighted: TSB variable boost

Fallback to LSU?

No

SAT

LSU(M)

TORC polarity selection

Weighted: TSB variable boost

Yes

Polosat became too slow?

Approximation: BMO -- weighted; Mrs. Beaver (OBV) -- unweighted

SAT

Polosat: SAT-based Local Search

SAT

Yes

No

20

21 of 60

Polosat1: Optimizing a Black-Box Function in SAT

SAT-based local search (local search with SAT as an oracle)

  •  
  1. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.

Implementation details, crucial for efficiency:

  • Using a conflict threshold (1000) to limit every SAT query
  • Applying TORC / conservative polarity heuristic: steers Polosat into performing local search around the best model

21

22 of 60

Polosat1: Optimizing a Black-Box Function in SAT

Properties & Observations

  • Anytime
  • Incomplete
  • In practice, crucial for TT-Open-WBO-Inc’s efficiency (both weighted & unweighted MaxSAT)2
    • Classical local search and SAT-based search (Polosat) are complementary
  • Weighted: Polosat-OBV – a variant that is even more efficient2
  • Can be successfully applied beyond MaxSAT for optimizing black-box functions without translating them to clauses1

  1. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  2. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.

22

23 of 60

TT-Open-WBO-Inc-2020: the Algorithmics

M := SAT(H)

M := LocalSearch(M)

Incremental SAT-based Flow

TORC polarity selection

Weighted: TSB variable boost

Fallback to LSU?

No

SAT

LSU(M)

TORC polarity selection

Weighted: TSB variable boost

Yes

Polosat became too slow?

Approximation: BMO -- weighted; Mrs. Beaver (OBV) -- unweighted

SAT

Polosat: SAT-based Local Search

SAT

Yes

No

23

24 of 60

TT-Open-WBO-Inc-2020: the Algorithmics

M := SAT(H)

M := LocalSearch(M)

Incremental SAT-based Flow

TORC polarity selection

Weighted: TSB variable boost

Fallback to LSU?

No

SAT

LSU(M)

TORC polarity selection

Weighted: TSB variable boost

Yes

Polosat became too slow?

Approximation: BMO -- weighted; Mrs. Beaver (OBV) -- unweighted

SAT

Polosat: SAT-based Local Search

SAT

Yes

No

24

25 of 60

MaxSAT: Definition in Terms of Clauses

  • Input
    • Hard clauses H
    • Weighted soft clauses S
  • Output
    • Solution to H, such that:
      • The total weight of falsified soft clauses is minimal

SAT with Soft Clauses

25

26 of 60

Local Search in TT-Open-WBO-Inc

Shared Fundamentals

  • Always maintain:
    • the current best solution α*
    • a complete assignment α
  • Both α* and α are initialized by the initial SAT query over the hard clauses
  • Loop till timeout
    • (Re)init weights of every clause (hard and soft)
    • LS round: loop for S steps (S initialized to 107)
      • If α is a solution better than α* (satisfies more soft clauses, weighted)
        • α* := α
        • Increase S by 107
      • Flip a variable in α with the highest score > 0, if such exists
        • make = weight of clauses that become satisfied if x is flipped
        • break = weight of clauses that become falsified if x is flipped
        • score = makebreak
      • The local minimum case (all variables have score ≤ 0)
        • Update clause weights
        • If all the clauses (hard and soft) are satisfied (optimal solution found) 🡪 exit
        • If a hard clause is falsified 🡪 c := a random falsified hard clause
        • Otherwise 🡪 c := a random falsified soft clause
        • Flip in α a variable with the highest score in c
  • Return α*

Not the original weight of soft clauses!

More precisely: apply BMS -- picks a random var. out of best t with replacement

Lurking here: weights handling that sets the algorithms apart:

  1. Init weights
  2. Reinit weights (if any)
  3. Update weights at local optima
  • Weights initialization
  • Weights reinitialization (if any)
  • Weights initialization
  • Weights reinitialization (if any)
  • Weights initialization
  • Weights reinitialization (if any)

26

27 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat Tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

27

28 of 60

SatLike Local Search Algorithm1

  • A performance breakthrough vs. earlier approaches[2-8] to local search for MaxSAT
    • Both as stand-alone and as a preprocessor before SAT-based flow
  • The idea:
    • Previous works’ weights handling put too much emphasis on hard clauses
      • The algorithms get stuck around the initial feasible solution, which might be far away for the optimum
    • Solution: prefer the soft clauses over the hard clauses at the beginning!
  • Implementation through weights handling:
    • Init weights:
      • For each hard clause, associate an integer as its weight, initialized to 1
      • For each soft clause, use the original weight as its initial weight
    • Initially, the soft clauses are more important than the hard ones!
    • Reinit weights: none
    • Update weights at local optima:
      • For each falsified hard clause, increase its weight by h, where h >= 1 (h=1 for unweighted; h=3 for weighted)
      • For each falsified soft clause with weight < T, increase its weight by 1 (unweighted: T=1 if vars < 1100 else 400; weighted: T=1 if avrgorigw < 10000 else 500)
    • Hard clauses become dominating as the time goes by (because of the threshold on the soft clause weights)!

  1. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  2. Pierre Hansen, Brigitte Jaumard., “Algorithms for the Maximum Satisfiability Problem,” Computing 44, 279- 303, 1990.
  3. Yuejun Jiang, Henry Kautz, Bart Selman. “Solving Problems with Hard and Soft Constraints Using a Stochastic Algorithm for MAX-SAT”, Proc. 1st Intl. Joint Workshop on AI & OR, Timberline, Oregon., Timberline, Oregon USA, 1995.
  4. H. Hoos, T Stützle., “Stochastic local search: Foundations and applications,” Elsevier/Morgan Kaufmann, 2005
  5. Smyth, B., Hoos, H., & Stützle, T., "An adaptive algorithm for solving MAX-SAT problems," AI 2003.
  6. Tompkins, D. A. D., "Dynamic Local Search for SAT: Design, Insights and Analysis," PhD Thesis, University of British Columbia, October 2010.
  7. Luo, C., Cai, S., Wu, J., Jie, Y., & Su, K., "An effective algorithm for weighted MAX-SAT," AI 2015.
  8. Cai, S., Luo, C., Lin, Z., & Su, K., "Improved local search for weighted maximum satisfiability," AI 2016.

28

29 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat Tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

29

30 of 60

NuWLS Local Search Algorithm1

Improving SatLike

  • Observations:
    • Small average original weight (including unweighted instances) 🡪 enlarging initial soft clause weights is beneficial
    • Large average original weight 🡪 reducing initial soft clause weights is beneficial
    • The status of α matters (feasible at the local optima? already found a solution this round? found a better solution this round?)
  • Implementation through weights handling:
    • Init and reinit weights:
      • Hards: 1
      • Softs:
        • Initially or if a solution is not found in the last round 🡪 1
          • Prioritize hard clauses to find a solution
        • Otherwise:

    • Update weights of falsified hard and soft clauses at local optima; main changes w.r.t SatLike:
      • Hard clauses:
        • Solution found in the current round 🡪 smooth the hard clause weights (applied with a certain probability)
      • Soft clauses:
        • A better solution found in this round (cost(α) < cost(α∗)) 🡪 the soft clause weights are not updated (to stay around α)
        • Solution still not found in current round 🡪 the soft clause weights is not increased.
  1. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.

1000 for unweighted

3000 for weighted

30

31 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat Tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

31

32 of 60

NuWLS-2023 Local Search Algorithm1

Research Questions in 1

  • Init and reinit:
    • How to initialize and adjust the weight of each hard clause and each soft clause to distinguish between them during the search?
    • In particular, what is the increment to be added to the weight of a soft clause?
  • Threshold on the weights:
    • Can the weight of a clause be infinitely increased?
      • In other words, should there be an upper bound for the weight of a clause?
    • If yes, what is the upper bound?
      • Should it be uniform for all clauses or specific for each clause?
  • Update weights at local optima
    • How to select the clauses whose weights should be adjusted?
  1. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.

32

33 of 60

NuWLS-2023 Local Search Algorithm1

The Algorithm

  1. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  • Focus on finding a feasible solution first (both init and reinit)

  • The weight of each soft clause is increased at a local optimum
    • as opposite to falsified only

  • The hierarchy between soft clauses is always kept
    • Given any two soft clauses c1 and c2, if wori(c1) ≤ wori(c2), then w(c1) ≤ w(c2) for any k.
    • The difference of weights between c1 and c2 keeps increasing with the number of feasible local optima k
      • The more feasible local optima, the more important the soft clauses with large original weight will be

  • The more feasible local optima, the more important soft clauses become w.r.t hard clauses
    • No threshold (upper bound) in contrast to previous approaches!

  • Infeasible vs. feasible local optimum
    • Infeasible local optimum 🡪 hard weights increased
    • Feasible local optimum 🡪 soft weights increased

  • The best solution found so far in terms of Unified-SW’s weights = the best solution found so far in terms of original weights.

33

34 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat Tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

34

35 of 60

SPB-MaxSAT Local Search Algorithm1

  • Main idea:
    • Adapt local search’s score to decrease the value of the following SPB constraint:

SPB(α) := total original-weight of falsified soft clauses in α

    • Guides the search to improve MaxSAT’s objective function
  • How:
    • Weight the hard clauses similarly to previous approaches
    • Weight SPB as a whole instead of weighting the soft clauses individually
      • Soft clauses are not part of the equation weighting scheme anymore!
  • Implementation:
    • Score function in the previous algorithms:
      • Flip a variable in α with the highest score > 0, if such exists
        • make = weight of clauses that become satisfied if x is flipped
        • break = weight of clauses that become falsified if x is flipped
        • score = makebreak

  1. Zheng, J., Chen, Z., Li, C.-M., & He, K., "Rethinking the Soft Conflict Pseudo Boolean Constraint on MaxSAT Local Search Solvers," IJCAI 2024.

35

36 of 60

SPB-MaxSAT Local Search Algorithm1

  • Main idea:
    • Adapt local search’s score to mind (and increase) the value of the following SPB constraint:

SPB(α) := total original-weight of falsified soft clauses in α

    • Guides the search to improve MaxSAT’s objective function
  • How:
    • Weight the hard clauses similarly to previous approaches
    • Weight SPB as a whole instead of weighting the soft clauses individually
      • Soft clauses are not part of the equation weighting scheme anymore!
  • Implementation:
    • Score function in the previous algorithms SPB-MaxSAT:
      • Flip a variable x in α with the highest score > 0, if such exists
        • make = weight of hard clauses that become satisfied if x is flipped + wspb ⋅ SPB(α)
        • break = weight of hard clauses that become falsified if x is flipped + wspb ⋅ SPB(α’) // α’ is α after flipping x
        • score = makebreak
    • Init weights:
      • Set the weight of each hard clause and the SPB to 1
    • Reinit weights: none
    • Update weights at local optima:
      • For each falsified hard clause, increase its weight by hinc, where hinc=1 for unweighted; hinc=28 for weighted
      • If SPB(α) SPB(α*), wspb := δ ⋅ (wspb + 1), where δ =1.00072 for unweighted; δ =1.001 for weighted

  1. Zheng, J., Chen, Z., Li, C.-M., & He, K., "Rethinking the Soft Conflict Pseudo Boolean Constraint on MaxSAT Local Search Solvers," IJCAI 2024.

36

37 of 60

SPB-MaxSAT-c-Band and SPB-MaxSAT-c-FPS

Combining SPB2 with Band3 and FPS4 to MSE’241

  • Three version of SPB-MaxSAT, submitted to MSE’24:
    • (Plain) SPB-MaxSAT-c
      • c stands for complete to reflect the fact that a complete solver (TT-Open-WBO-Inc-2020) is invoked after the local search
    • SPB-MaxSAT-c-Band
      • Combination with 3: soft clauses weighting with Multi-armed Bandit heuristics
    • SPB-MaxSAT-c-FPS
      • Combination with 4: look-ahead with probabilistic sampling at local optimum
  • Results at MSE’24, anytime categories:
    • score = Σbenchmark i (1+ cost of best known cost for i) / (1 + cost of solution for i found by s)

  • Conclusion:
    • Band/FPS only slightly improve the performance of plain SPB for unweighted/weighted (0-0.007 score improvement), resp., but
    • Both Band and FPS were needed to win 2 of the categories due to the tight competition!
  1. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.
  2. Zheng, J., Chen, Z., Li, C.-M., & He, K., "Rethinking the Soft Conflict Pseudo Boolean Constraint on MaxSAT Local Search Solvers," IJCAI 2024.
  3. Zheng, J., He, K., Zhou, J., Jin, Y., Li, C. M., & Manya, F., "BandMaxSAT: A Local Search MaxSAT Solver with Multi-armed Bandit," IJCAI 2022.
  4. Zheng, J., Zhou, J., He, K., "Farsighted Probabilistic Sampling based Local Search for (Weighted) Partial MaxSAT," AAAI 2023.

Unweighted, 60s

Unweighted, 300s

Weighted, 60s

Weighted, 300s

37

38 of 60

TT-Open-WBO-Inc-2020: the Algorithmics

M := SAT(H)

M := LocalSearch(M)

Incremental SAT-based Flow

TORC polarity selection

Weighted: TSB variable boost

Fallback to LSU?

No

SAT

LSU(M)

TORC polarity selection

Weighted: TSB variable boost

Yes

Polosat became too slow?

Approximation: BMO -- weighted; Mrs. Beaver (OBV) -- unweighted

SAT

Polosat: SAT-based Local Search

SAT

Yes

No

38

39 of 60

TT-Open-WBO-Inc Genealogy

Open-WBO-LSU1

Open-WBO-Inc-BMO2

Weighted MaxSAT by BMO approximation2

TT-Open-WBO-Inc-20193

Anytime-MaxSAT-dedicated SAT heuristics4

TT-Open-WBO-Inc-20206

  • SatLike local search as preprocessing5
  • Unweighted MaxSAT by OBV approximation (Mrs. Beaver)4,7
  • SAT-based local search (Polosat)8
  1. Martins, R., Manquinho, V., & Lynce, I., "Open-WBO: A Modular MaxSAT Solver," SAT 2014.
  2. Joshi, S., Kumar, P., Rao, S., & Martins, R., "Open-wbo-inc: Approximation strategies for incomplete weighted maxsat," JSAT 2019.
  3. Nadel, A., "Polarity and Variable Selection Heuristics for SAT-based Anytime MaxSAT," JSAT 2020.
  4. Nadel, A., "Anytime Weighted MaxSAT with Improved Polarity Selection and Bit-Vector Optimization," FMCAD 2019.
  5. Cai, S., & Lei, Z., "Old techniques in new ways: Clause weighting, unit propagation and hybridization for maximum satisfiability," AI 2020.
  6. Nadel, A., "TT-Open-WBO-Inc: an Efficient Anytime MaxSAT Solver," JSAT 2024.
  7. Nadel, A., "Solving MaxSAT with Bit-Vector Optimization," SAT 2018.
  8. Nadel, A., "On Optimizing a Generic Function in SAT," FMCAD 2020.
  9. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.
  10. Chu, Y., Li, C.-M., Ye, F., & Cai, S., "Enhancing MaxSAT Local Search via a Unified Soft Clause Weighting Scheme," SAT 2024.
  11. Jin, M., He, K., Zheng, J., Xue, J., & Chen, Z., "Combining BandMaxSAT and FPS with SPB-MaxSAT-c," MSE 2024.

MSE’17

MSE’19

MSE’20

MSE’21

MSE’22

MSE’24

MSE’21-24

SAT&LS solvers integration & Polosat Tuning

MSE’18

Efficient SAT encodings + Linear SAT-UNSAT (LSU) algorithm

MSE’23

SatLike-c5

NuWLS-c9

NuWLS-c-202310

Novelty in local search

SPB-MaxSAT-c*11

39

40 of 60

TT-Open-WBO-Inc

Current Version

  • Available at https://github.com/alexander-nadel-academic/tt-open-wbo-inc/
  • Two SAT solvers:
    • Glucose
    • IntelSAT
  • Polosat adjustments:
    • When update the bad observables?
    • Flip only the current bad observable or the whole prefix or both?
  • Parameter tuning for MSEs
  • Updated to the best performing local search after each MSE
  • Yearly results:
    • Better than the previous TT-Open-WBO-Inc version
    • In top-3 of MSE, but outperformed by the latest and greatest LS & TT-Open-WBO-Inc-20

40

41 of 60

Thanks for your attention!�

41

42 of 60

Linear Search SAT-UNSAT (LSU)1

42

9/8/2025

The optimal model

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

All the models

100

90

83

60

54

52

49

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

42

43 of 60

43

9/8/2025

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.
  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

Linear Search SAT-UNSAT (LSU)1

43

44 of 60

44

9/8/2025

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

44

45 of 60

45

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

45

46 of 60

46

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

46

47 of 60

47

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

47

48 of 60

48

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

48

49 of 60

49

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

49

50 of 60

50

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

50

51 of 60

51

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

51

52 of 60

52

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

52

53 of 60

53

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

53

54 of 60

54

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

54

55 of 60

55

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

55

56 of 60

56

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

56

57 of 60

57

9/8/2025

  1. F 🡨 H (a CNF F is initialized with the hard clauses)
  2. Run an incremental SAT solver over F
  3. If SAT with a model M
    • Block all the models of weight ≥ w(M) in F (using a cardinality or a PB constraint)
  4. Else (UNSAT)
    • Return the last model M (M is guaranteed to be an optimal model)

90

83

60

54

52

49

100

  1. Le Berre, D., & Parrain, A., "The sat4j library, release 2.2," JSAT 2010.

Linear Search SAT-UNSAT (LSU)1

57

58 of 60

Local Search in MaxSAT

The Shared Algorithmic Framework

58

59 of 60

NuWLS Local Search Algorithm1

Update Weights at Local Optima

  1. Chu, Y., Cai, S., & Luo, C., "NuWLS: Improving Local Search for (Weighted) Partial MaxSAT by New Weighting Techniques," AAAI 2023.

59

60 of 60

Optimization modulo Bitvectors (OBV)

  • Input in MaxSAT
    • Clauses H (aka, hard clauses)
    • Target T = {tn-1, tn-2 , … , t0} weighted by W = {wn-1, wn-2 , … , w0}
      • Each ti is a literal, associated with an integer weight wi > 0
  • Output in MaxSAT
    • Solution to H that minimizes wn-1*tn-1 + … + w1*t1 + … + w0*t0

by Reduction to MaxSAT

The Problem

Semantics

Weights

The Optimal Model

Unweighted MaxSAT

Minimize the number of satisfied target bits

∀i: w(ti)=1

M2: only 1 target bit is satisfied; �2 bits satisfied for M1 and M3

OBV (Optimization Modulo Bit-Vectors)

Minimize T’s value, interpreted as an unsigned number

∀i: w(ti)=2i

M1: C(M1)=3 < C(M2)=4 < C(M3)=6

Example: H = (a + b) (a + c) (¬a + ¬c); T = {a,b,c}

H has 3 models: M1={a=0, b=1, c=1}; M2={a=1, b=0, c=0}; M3={a=1, b=1, c=0}

OBV vs. MaxSAT solving: The order makes OBV easier than MaxSAT

60