3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-19 07:06:28 +00:00
z3/src
Lev Nachmanson a75c860899 lp: randomize the Gomory-cut gate to break period resonance
should_gomory_cut used a deterministic schedule (m_number_of_calls %
m_int_gomory_cut_period == 0). On some UNSAT QF_LIA families (e.g.
rings_preprocessed, cut_lemmas) this fixed period phase-locks with the
search: the solver drowns in theory conflicts (~32k vs ~2k) while the
Diophantine tightening that would close the proof is starved, causing
timeouts that vanish when the period is changed (4 vs 5).

Replace the modulus with a random draw of the same expected rate
(random_next(period) == 0). This breaks the deterministic resonance while
preserving the average cut frequency. Locally this turns the whole
regressing band from timeouts / ~23s into sub-second-to-seconds solves,
with no slowdown observed on a regression sample and lp unit tests passing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-18 16:10:55 -07:00
..
ackermannization Fix off-by-one vulnerabilities: use range-based for on goals; cache loop bound 2026-02-19 22:37:22 +00:00
api python: build a PyPI-publishable Pyodide (PEP 783) wheel (#9891) 2026-06-18 13:05:03 -06:00
ast Update seq_rewriter.cpp 2026-06-16 14:14:49 -06:00
cmd_context refactor solver to include settable stats 2026-06-07 14:17:38 -07:00
math lp: randomize the Gomory-cut gate to break period resonance 2026-06-18 16:10:55 -07:00
model Fix instance of "flexible array member". (#9883) 2026-06-16 16:09:18 -06:00
muz Add rlimit support in fixedpoint parameters (#9798) 2026-06-10 15:13:05 -07:00
nlsat making try-for tactic exception resilient on cancelation 2026-04-26 15:58:24 -07:00
opt Fixes necessary to compile z3 included in clang-tidy via FetchContents. (#9768) 2026-06-08 19:44:01 -07:00
params prepare for lambda unfolding in ho-matcher and selectively enable ho matching 2026-05-22 13:25:01 -07:00
parsers Fix off-by-one column after comment lines in SMT2 scanner (#9808) 2026-06-10 06:49:31 -07:00
qe Cleanup thanks to Copilot (#9709) 2026-06-04 10:46:33 -07:00
sat refactor solver to include settable stats 2026-06-07 14:17:38 -07:00
shell Fixes necessary to compile z3 included in clang-tidy via FetchContents. (#9768) 2026-06-08 19:44:01 -07:00
smt Eliminate unused private fields and local variables. (#9875) 2026-06-16 14:55:18 +01:00
solver Eliminate unused private fields and local variables. (#9875) 2026-06-16 14:55:18 +01:00
tactic Fix reference to recfun::util in lia2card_tactic.cpp 2026-06-16 14:02:24 -06:00
test Smart constructors for regex ranges: canonical form at construction time (#9814) 2026-06-16 13:58:56 -06:00
util Remove a few unneeded constructors (#9879) 2026-06-16 14:55:59 +01:00
CMakeLists.txt git bindings v1.0 2026-02-18 21:02:25 -08:00