3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-07 05:44:51 +00:00
Commit graph

57 commits

Author SHA1 Message Date
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
Lev Nachmanson
f5b62015fc change the return type of ival.var() to tv
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
38eca3b66a fixes in order lemmas and printing terms
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
b964976b3f remove debug code from theory_lra.cpp and restore gomory.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
6877840342 port from master
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
e50082b484 add tv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
8af245a410 use a simpler encoding for term indices
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
79d4d13b14 fix in gomory: revert some changes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
29b9dfe326 fix in gomory cut
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
c284e153f3 fix in gomory: revert some changes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
91d9a5bc83 fix in gomory cut
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
77ca63db90 fix in gomory: revert some changes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
cbefa8d2b0 fix in gomory cut
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
0ee541204f fix in gomory: revert some changes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
b8d7af59f4 fix in gomory cut
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Lev Nachmanson
65de3f748a fix the real case in gomory cuts, create a cut in a form t >= k
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-20 16:28:25 -07:00
Nikolaj Bjorner
9451dd9a74 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-09 09:00:34 -08:00
Nikolaj Bjorner
5964969f29 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-09 08:38:07 -08:00
Nikolaj Bjorner
5dc8c93897 separate out gcd test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-08 16:44:25 -08:00
Nikolaj Bjorner
3f1f4e0f67 remove pragma once from cpp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-08 15:41:13 -08:00
Nikolaj Bjorner
c12c9a75e6 move all gomory functionality into gomory class
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-08 15:03:58 -08:00
Nikolaj Bjorner
d44855f262 move all gomory functionality into gomory class
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-08 13:02:19 -08:00
Nikolaj Bjorner
8b23a1701a move flatten functionality to asserted_formulas, sort variables in lut_finder
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-06 09:16:23 -08:00
Nikolaj Bjorner
a9d22d7409 fix #2918
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-01 14:09:40 -08:00