3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-03 05:47:01 +00:00
Commit graph

80 commits

Author SHA1 Message Date
Lev Nachmanson
99538567a7 rebase with master
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
5db46c1d81 use u_dependency in eprime_pair
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a5dd59fdfb fix the build 2025-02-11 12:23:00 -10:00
Lev Nachmanson
a1a01b9da6 move some functionality from int_solver to int_solver::imp 2025-02-11 12:23:00 -10:00
Lev Nachmanson
342dccdc02 correctly process cancellation in gomory cuts
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-09-19 14:11:27 -07:00
Nikolaj Bjorner
bdb9106f99
Api (#7097)
* rename ul_pair to column

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* t

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* simple test passed

* remove an assert

* relax an assertion

* remove an obsolete function

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* access a term by the term column

* remove the column index from colunm.h

* remove an unused method

* remove debug code

* fix the build of lp_tst

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

---------

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-24 16:05:18 -08:00
Lev Nachmanson
91ca55e5ad change the definition of Gomory row
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-14 13:37:30 -10:00
Lev Nachmanson
e2fb4fbd38 fix dependencies for Gomory polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-13 19:01:21 -10:00
Lev Nachmanson
2eadcf0872 avoid duplicate explanations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-12 15:49:21 -10:00
Lev Nachmanson
7d7fef061f add explanations and fix polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-12 15:28:16 -10:00
Lev Nachmanson
999e67df0d address Nikolaj's comments in Gomory cut
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 16:49:10 -10:00
Lev Nachmanson
2d24436582 remove a blank line
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 13:42:35 -10:00
Lev Nachmanson
2b974a0f1d do not delay update for the polar case
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 13:39:37 -10:00
Lev Nachmanson
2ac866a8d0 take the coefficient from cut_result, not lia
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 12:10:37 -10:00
Lev Nachmanson
2ca1187b3a fix a bug in polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-10 10:50:56 -10:00
Lev Nachmanson
2934618c50 remove simplify_inequality from gomory.cpp 2024-01-04 11:40:57 -10:00
Lev Nachmanson
239d68ed9c return conflict on an empty term in Gomory cuts 2024-01-03 18:56:35 -10:00
Nikolaj Bjorner
a7bfdcd0ea readd big cuts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-02 11:17:59 -08:00
Lev Nachmanson
84997f8b21 move a TRACE statement 2024-01-01 05:25:07 -10:00
Lev Nachmanson
fd2b6c62d1 bug fix in gomory polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-01 05:25:07 -10:00
Lev Nachmanson
53c95e3627 cleanup 2023-12-28 06:00:57 -10:00
Lev Nachmanson
0728b81e9e add parameter lp_settings.m_gomory_simplify 2023-12-28 06:00:57 -10:00
Lev Nachmanson
5796e8899f use vector instead of unordered_map in gomory
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-28 06:00:57 -10:00
Lev Nachmanson
a3529a0046 create bounds for gomory cuts with big numbers 2023-12-28 06:00:57 -10:00
Lev Nachmanson
af7691224e adding the polarity bound 2023-12-28 06:00:57 -10:00
Lev Nachmanson
4317d134bf refactor: move gomory functionaly from int_solver to gomory 2023-12-20 12:56:20 -10:00
Lev Nachmanson
9a18628b17 remove unnecessary assignments 2023-12-18 18:49:27 -10:00
Lev Nachmanson
fc23a498c4 a simple version of choosing a column for gomory cut 2023-12-04 15:06:50 -10:00
Nikolaj Bjorner
35bc522dae #7003
minor tweaks to gomory and reset n3 within loop (but the entire function is dead code).
2023-11-19 09:59:44 -08:00
Nikolaj Bjorner
5b9fdcf462 fix #6997
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-15 18:08:48 -08:00
Nikolaj Bjorner
8a4e857294 #6523
regressions from changes inside math/lp/int_solver
2023-11-13 14:28:03 -08:00
Nikolaj Bjorner
3de5af3cb0 fix bug in bound simplification in Gomory for mixed integer linear cuts, enable fixed variable redution after bugfix, add notes that rewriting bounds does not work
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-10 16:39:04 +01:00
Nikolaj Bjorner
bd4d580b17 fix #6986 2023-11-08 13:49:30 +01:00
Nikolaj Bjorner
3d99ed9dd4 Gomory cut / branch and bound improvements
Improve fairness of cut generation by switching to find_infeasible_int_var with cascading priorities, allow stronger cuts by inlining terms.
2023-11-07 19:59:02 +01:00
Lev Nachmanson
f847d039bc use the simple version of move_non_basic_column_to_bounds 2023-10-05 20:57:54 -07:00
Nikolaj Bjorner
5e3df9ee77
Arith min max (#6864)
* prepare for dependencies

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* snapshot

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactoring

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactoring

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* build

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* pass in u_dependency_manager

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* address NYIs

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactoring names

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* eq_explanation update

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add outline of bounds improvement functionality

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix unit tests

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove unused structs

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more bounds

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more bounds

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* convert more internals to use u_dependency instead of constraint_index

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* convert more internals to use u_dependency instead of constraint_index

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remember to push/pop scopes

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* use the main function for updating bounds

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove reset of shared dep manager

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disable improve-bounds, add statistics

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

---------

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-19 17:44:09 -07:00
Lev Nachmanson
e091a2e775 remove the line with clang-format off 2023-07-10 12:05:59 -07:00
Lev Nachmanson
f5d9ffaca1 clean up and add clang-format off
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-06-30 11:57:42 -07:00
Nikolaj Bjorner
97b66d13c0 fix soundness bug in disabled code 2023-04-15 17:09:05 -07:00
Nikolaj Bjorner
368d60f553 add branch / cut selection heuristic from solver=2
disabled for testing.
2023-04-10 22:14:16 -07:00
Nikolaj Bjorner
da3f31697b fix proof checking for bounds propagation 2022-05-30 10:18:16 -07:00
Nikolaj Bjorner
f29a596070 deal with compiler warnings, from MacOS CI build 2021-03-08 17:14:09 -08:00
Lev Nachmanson
25724401cf
Perf branch (#4710)
* avoid creating rows with  all but one fixed columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* pb

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* once in a while flip bounds of boxed variables during move_nbasic_to_bounds

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* flip rarely

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* flip rarely

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* flip rarely

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* return an empty model when lar_solver is not ready

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* randomly change bounded base var on demand only

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* randomly change bounded base var on demand only

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-09-25 17:47:29 -07:00
Nikolaj Bjorner
1e6d2fbbdc debugging cuts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-21 20:02:12 -07:00
Lev Nachmanson
af2f74c05f
smarter explanation.h (#4385)
* smarter explanation.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* clean explanation API

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* suppress warnings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* disable the warnings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-19 12:38:44 -07:00
Lev Nachmanson
6b28973799
nla review (#4321)
* simplify the nla_solver interface

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* more simplifications

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* init m_use_nra_model

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* work on NSB comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* work on NSB comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 13:52:42 -07:00
Lev Nachmanson
530f77281c fixes in branching
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-26 16:13:47 -07:00
Lev Nachmanson
5208b64a6b expose only necessary methods of lar_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-16 12:58:39 -07:00
Nikolaj Bjorner
c2e5cd78c8 change lar_terms to use column indices
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 12:13:59 -07:00
Nikolaj Bjorner
080dbb13b0 tv alignment, code review comments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 03:35:19 -07:00