New Hybrid Heuristics for Pseudo-Boolean Propagation

Reading time: 5 minute
...

📝 Original Info

  • Title: New Hybrid Heuristics for Pseudo-Boolean Propagation
  • ArXiv ID: 2511.21417
  • Date: 2025-11-26
  • Authors: Researchers from original ArXiv paper

📝 Abstract

In pseudo-boolean solving the currently most successful unit propagation strategy is a hybrid mode combining the watched literal scheme with the counting method. This short paper introduces new heuristics for this hybrid decision, which are able to drastically outperform the current method in the RoundingSAT solver.

💡 Deep Analysis

Deep Dive into New Hybrid Heuristics for Pseudo-Boolean Propagation.

In pseudo-boolean solving the currently most successful unit propagation strategy is a hybrid mode combining the watched literal scheme with the counting method. This short paper introduces new heuristics for this hybrid decision, which are able to drastically outperform the current method in the RoundingSAT solver.

📄 Full Content

Pseudo-boolean solvers are an extension of SAT solvers that allow general linear inequalities to be used as constraints and optionally a linear objective function to be specified. This increased flexibility for users comes at the cost of complicating many components of the CDCL algorithm, with both conflict analysis and unit propagation still being continuously improved by ongoing research [4,5,9].

Here, we focus on the latter, where the simple counting method was the dominant paradigm until 2020, when Devriendt [1] developed a specialised watched literal scheme for the RoundingSAT solver. This implementation was further improved by Nieuwenhuis et al. [8], who demonstrated that the existing hybrid method combining the counting and watched literal scheme could outperform both approaches. Finally, the authors of this paper recently extended the watched literal scheme with the significant literal approach [7], which could improve the runtime for specific applications like knapsack instances.

In this paper we will apply the most successful heuristics from the significant literal scheme to the hybrid method to improve the constraint-specific choice between watched literals and the counting approach. We observe a remarkable improvement across the decision and optimization instances from recent competition datasets.

A pseudo-boolean problem consists of variables x i ∈ {0, 1}, with literals l i representing either x i or x i := 1 -x i and pseudo-boolean constraints C as n i=1 a i l i ≥ b for a i , b ∈ N. Without loss of generality we will assume that the coefficients are in descending order, so ∀i : a i ≥ a i+1 . The slack of a pseudo-boolean constraint under the current (partial) assignment ρ of the literals is defined as slack(C, ρ) = -b+ li / ∈ρ a i , which is the amount by which the left-hand side can exceed the right-hand side. Thus, if slack(C, ρ) < 0, the constraint C is unsatisfiable without unassigning literals. A literal l i is called a unit literal if slack(C, ρ) < a i . This means that the literal l i must be set to 1 as otherwise slack(C, ρ ∪ {l i }) < 0.

In the counting method for detecting unit literals, each time we assign or unassign a variable, we update the slack of all constraints in which it occurs. The watched literal scheme by Devriendt instead maintains a set of literals W (C) for each constraint, which all must be either set to 1 or unassigned and satisfy the following inequality:

(1)

Similar to the watched scheme for SAT we now only have updates to W (C) when assigning variables and only in constraints where the variable is a watched literal. Contrary to SAT, where using watched literals has been the dominant method for more than two decades, in pseudo-boolean solving this method only offers a slight improvement over the counting approach. We refer the reader to Devriendts paper [1] for more details on the mathematical background and important implementation optimizations.

The current implementation of the RoundingSAT solver uses a hybrid method between the counting and watched literal scheme [3]. Each time a new constraint is added, either as part of the original instance or via conflict analysis, algorithm 1 is used to decide if the constraint will be treated using the counting method or otherwise with the watched literal scheme. The parameter p is set with the prop-counting option and has a default value of 0.7.

The idea is to use m to count the minimal number of watched literal necessary. Since the literals are sorted by descending coefficient, we simply choose the first literals until we fulfill equation 1. Because the code initializes sum ← -b and skips a 1 , the equation is equivalent to sum ≥ 0. So for the default value 0.7 the code checks if the watched set W (C) must contain ≥ 30% of the literals in C, in which case it uses the counting method instead.

Inspired by the successful heuristics from the significant literal approach [7], we introduce the Absolute Hybrid Heuristic:

and the Additive Hybrid Heuristic:

We implemented these heuristics with just a few lines of code in commit a5c28f99 of the Round-ingSAT solver, which is the newest version at the time of writing. For our benchmark, we use the 1157 instances from the OPT-LIN and DEC-LIN track of the Pseudo Boolean Competition 2025 [10]. However, we filter out instances where all coefficients of all input constraints are smaller than 100, which we will call small instances. The reason is that both our heuristics only perform well for c ≥ 100, so for the small instances useCounting would simply be always false and thus the performance identical to the current RoundingSAT solver without hybrid mode. Additionally, this leaves us with a more manageable dataset of 206 instances, which we run with a 3600s timeout on an “AMD Ryzen 7 7735HS” CPU and 16 GB of memory. We run the current hybrid mode with its default value of 0.7, but also with 0.8 to check if a larger cut-off value performs better on the large instances. For al

…(Full text truncated)…

📸 Image Gallery

cover.png page_2.webp page_3.webp

Reference

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut