3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-20 11:55:49 +00:00

Fix inconsistent optimization with scaled objectives (#8998)

When the LP optimizer returns the same blocker expression in successive
iterations of geometric_lex (e.g., due to nonlinear constraints like
mod/to_int preventing the LP from exploring the full feasible region),
the loop now falls back to using the model-based lower bound to push
harder instead of breaking immediately.

This fixes the case where minimize(3*a) incorrectly returned -162
while minimize(a) correctly returned -infinity with the same constraints.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Lev Nachmanson 2026-03-15 07:02:13 -10:00 committed by Lev Nachmanson
parent 5df80705aa
commit 99099255b6
2 changed files with 58 additions and 0 deletions

View file

@ -177,6 +177,7 @@ int main(int argc, char ** argv) {
TST(api);
TST(max_reg);
TST(max_rev);
TST(scaled_min);
TST(deep_api_bugs);
TST(api_algebraic);
TST(api_polynomial);