mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 05:18:44 +00:00
48 lines
4.8 KiB
Plaintext
48 lines
4.8 KiB
Plaintext
def_module_params('sat',
|
|
export=True,
|
|
description='propositional SAT solver',
|
|
params=(max_memory_param(),
|
|
('phase', SYMBOL, 'caching', 'phase selection strategy: always_false, always_true, caching, random'),
|
|
('phase.caching.on', UINT, 400, 'phase caching on period (in number of conflicts)'),
|
|
('phase.caching.off', UINT, 100, 'phase caching off period (in number of conflicts)'),
|
|
('restart', SYMBOL, 'luby', 'restart strategy: luby or geometric'),
|
|
('restart.initial', UINT, 100, 'initial restart (number of conflicts)'),
|
|
('restart.max', UINT, UINT_MAX, 'maximal number of restarts.'),
|
|
('restart.factor', DOUBLE, 1.5, 'restart increment factor for geometric strategy'),
|
|
('inprocess.max', UINT, UINT_MAX, 'maximal number of inprocessing passes'),
|
|
('branching.heuristic', SYMBOL, 'vsids', 'branching heuristic vsids, lrb or chb'),
|
|
('branching.anti_exploration', BOOL, False, 'apply anti-exploration heuristic for branch selection'),
|
|
('random_freq', DOUBLE, 0.01, 'frequency of random case splits'),
|
|
('random_seed', UINT, 0, 'random seed'),
|
|
('burst_search', UINT, 100, 'number of conflicts before first global simplification'),
|
|
('max_conflicts', UINT, UINT_MAX, 'maximum number of conflicts'),
|
|
('gc', SYMBOL, 'glue_psm', 'garbage collection strategy: psm, glue, glue_psm, dyn_psm'),
|
|
('gc.initial', UINT, 20000, 'learned clauses garbage collection frequence'),
|
|
('gc.increment', UINT, 500, 'increment to the garbage collection threshold'),
|
|
('gc.small_lbd', UINT, 3, 'learned clauses with small LBD are never deleted (only used in dyn_psm)'),
|
|
('gc.k', UINT, 7, 'learned clauses that are inactive for k gc rounds are permanently deleted (only used in dyn_psm)'),
|
|
('minimize_lemmas', BOOL, True, 'minimize learned clauses'),
|
|
('dyn_sub_res', BOOL, True, 'dynamic subsumption resolution for minimizing learned clauses'),
|
|
('core.minimize', BOOL, False, 'minimize computed core'),
|
|
('core.minimize_partial', BOOL, False, 'apply partial (cheap) core minimization'),
|
|
('threads', UINT, 1, 'number of parallel threads to use'),
|
|
('dimacs.core', BOOL, False, 'extract core from DIMACS benchmarks'),
|
|
('drat.file', SYMBOL, '', 'file to dump DRAT proofs'),
|
|
('drat.check_unsat', BOOL, False, 'build up internal proof and check'),
|
|
('drat.check_sat', BOOL, False, 'build up internal trace, check satisfying model'),
|
|
('cardinality.solver', BOOL, False, 'use cardinality solver'),
|
|
('pb.solver', SYMBOL, 'circuit', 'method for handling Pseudo-Boolean constraints: circuit (arithmetical circuit), sorting (sorting circuit), totalizer (use totalizer encoding), solver (use SMT solver)'),
|
|
('xor.solver', BOOL, False, 'use xor solver'),
|
|
('atmost1_encoding', SYMBOL, 'grouped', 'encoding used for at-most-1 constraints grouped, bimander, ordered'),
|
|
('local_search_threads', UINT, 0, 'number of local search threads to find satisfiable solution'),
|
|
('local_search', BOOL, False, 'use local search instead of CDCL'),
|
|
('lookahead.cube.fraction', DOUBLE, 0.4, 'adaptive fraction to create lookahead cubes. Used when lookahead_cube is true'),
|
|
('lookahead.cube.cutoff', UINT, 10, 'cut-off depth to create cubes. Only enabled when non-zero. Used when lookahead_cube is true.'),
|
|
('lookahead_search', BOOL, False, 'use lookahead solver'),
|
|
('lookahead.preselect', BOOL, False, 'use pre-selection of subset of variables for branching'),
|
|
('lookahead_simplify', BOOL, False, 'use lookahead solver during simplification'),
|
|
('lookahead.global_autarky', BOOL, False, 'prefer to branch on variables that occur in clauses that are reduced'),
|
|
('lookahead.reward', SYMBOL, 'march_cu', 'select lookahead heuristic: ternary, heule_schur (Heule Schur), heuleu (Heule Unit), unit, or march_cu'),
|
|
('dimacs.inprocess.display', BOOL, False, 'display SAT instance in DIMACS format if unsolved after inprocess.max inprocessing passes')))
|
|
|