Non-Incremental Solvers#

List of Classes#

Module Description#

This module groups wrappers and re-entrant adapters used when a backend is invoked in a non-native-incremental workflow, while exposing the common Hermax interface.

For incomplete / subprocess-isolated wrappers see Incomplete Non-Incremental Solvers and the developer note Solver Subprocess Isolation.

Backend mapping:

  • hermax.non_incremental.RC2: hermax.core.rc2.RC2Reentrant (re-encoding wrapper around RC2 [1] [2] [8]).

  • hermax.non_incremental.UWrMaxSATCompetition: hermax.core.uwrmaxsat_comp_py.UWrMaxSATCompReentrant [4].

  • hermax.non_incremental.EvalMaxSAT: hermax.core.evalmaxsat_latest_py.EvalMaxSATLatestReentrant [5].

  • hermax.non_incremental.MaxHS: hermax.core.maxhs_wrapper_py.MaxHSSolver (optional CPLEX-backed MaxHS wrapper [9]).

  • hermax.non_incremental.CASHWMaxSAT: hermax.core.cashwmaxsat_py.CASHWMaxSATSolver [6].

  • hermax.non_incremental.CGSS: hermax.core.cgss_py.CGSSSolver (RC2WCE/CGSS wrapper [7] [8]).

  • hermax.non_incremental.OpenWBOOLL: hermax.core.openwbo_py.OLLSolver (Open-WBO OLL backend [8]).

  • hermax.non_incremental.OpenWBOPartMSU3: hermax.core.openwbo_py.PartMSU3Solver (Open-WBO PartMSU3 backend [11] [12]).

  • hermax.non_incremental.OpenWBO: hermax.core.openwbo_py.AutoOpenWBOSolver (Open-WBO auto routing: OLL/PartMSU3/MSU3).

Warning

In Hermax package builds, UWrMaxSATCompetition and CASHWMaxSAT is compiled with SCIP disabled.

Warning

Preprocessing is disabled for UWrMaxSATCompetition due to undefined behavior (UB) that can cause native crashes.

Warning

On macOS, preprocessing is disabled for EvalMaxSAT backends due to possible native crashes.

API Details#

References#