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
Nikolaj Bjorner
f97dd34028
tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-30 14:54:04 -07:00
Nikolaj Bjorner
938a89e197
prepare for local version of Gomory cuts
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 19:45:14 -07:00
Nikolaj Bjorner
bd8e5eee4b
add simplification experiment (disabled) for tracking, some reshuffling of equation/fixed_equation structs
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 10:21:31 -07:00
Nikolaj Bjorner
d04807e8c3
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-10 13:43:38 -07:00
Nikolaj Bjorner
eff3f5f65e
port bug fixes from unit prop branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 09:45:58 -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
Nikolaj Bjorner
51df7b75ce
fix 6800
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 15:18:22 -07:00
Nikolaj Bjorner
a6ab0a7d49
formatting hygiene
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-08 13:50:49 -07:00
Lev Nachmanson
0fbf8f92f5
delete remove_fixed_vars_from_base() from
...
int_solver
2023-08-07 14:55:13 -10:00
Nikolaj Bjorner
125787c458
remove dead code
2023-08-07 11:22:34 -07:00
Lev Nachmanson
fd5902f76e
relax an assertion in int_solver::patcher
2023-07-16 11:55:42 -10:00
Lev Nachmanson
401ec04ec3
code cleaning around m_touched_rows of lar_solver ( #6814 )
2023-07-14 20:19:13 -07:00
Lev Nachmanson
e091a2e775
remove the line with clang-format off
2023-07-10 12:05:59 -07:00
Lev Nachmanson
1c907e8d09
add a comment
2023-07-05 09:14:57 -07:00
Lev Nachmanson
61948fa1ff
find minimal deltas in patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-07-01 07:48:07 -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
Lev Nachmanson
30a2ced9aa
patching merge ( #6780 )
...
* patching merge
* fix the format and some warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* a fix in the delta calculation
* test patching
* try a new version of get_patching_deltas
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove dead code from lp_tst and try optimizing patching
* add comments, replace VERIFY with lp_assert
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* cleanup
---------
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-06-27 17:53:27 -07:00
Nikolaj Bjorner
368d60f553
add branch / cut selection heuristic from solver=2
...
disabled for testing.
2023-04-10 22:14:16 -07:00
Lev Nachmanson
25f103db1a
rm_lp
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
7758b519bc
Handle correctly cancelled run ( #5695 )
...
* remove the bound on total iterations in simplex
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove unncesseray checks in get_freedom_interval_for_column()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* fix the build of test-z3
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Revert "remove unncesseray checks in get_freedom_interval_for_column()"
This reverts commit 6770ed85e3
.
* optimize get_freedom_interval_for_column() for feasible case
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* add function lar_solver::status_feasible
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rename status_is_feasible() to is_feasible()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* fix the linux build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-12-05 18:38:37 -08:00
Nikolaj Bjorner
1618c970df
adding checks
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-03 13:17:48 -08:00
Nikolaj Bjorner
970347e797
infeas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-03 13:00:52 -08:00
Lev Nachmanson
d50c4bfcc1
remove an unused var
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-11-28 09:44:50 -08:00
Lev Nachmanson
3b67dd8288
add a trace statement
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2021-03-19 13:17:27 -07:00
Nikolaj Bjorner
857557ad93
deal with compiler warnings
2021-03-08 20:39:19 -08:00
Nikolaj Bjorner
b5a6c6bc66
attempt at more graceful timeout handling #4821
2020-11-26 06:33:44 -08:00
Lev Nachmanson
1e7998f03a
no big nums in patching ( #4705 )
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-09-23 08:46:41 -07:00
Nikolaj Bjorner
1e6d2fbbdc
debugging cuts
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-21 20:02:12 -07:00
Nikolaj Bjorner
c13e3ce693
fix #4640
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-17 08:38:07 -07:00
Nikolaj Bjorner
df8b14d77c
fix #4641
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-17 08:35:59 -07:00
Lev Nachmanson
c4fbe05a96
simplify cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
e3503f060f
debug cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
4de38d09e2
cheap eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
110ab5e6ef
debug cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
4b76e213a5
move declarations closer to usage
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
9b7f97fab9
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
a53ed5bddd
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
b84585beeb
more aggressive patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
caa384f6c9
make m_inf_set private and cosmetic improvements in nla patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-26 12:44:47 -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
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
4f575d3158
fix build warning
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-27 21:19:40 -08:00
Nikolaj Bjorner
11199619a5
prepare for throttling gcd test and patching based on cost/success ratio
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-26 19:02:56 -08:00
Lev Nachmanson
b5276e93bb
bug fix in shift_var
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-02-14 16:59:31 -08:00
Nikolaj Bjorner
c46e36ce58
bug fixes to LUT extraction, bug fix for real value case of freedom intervals
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-11 14:25:25 -08:00
Nikolaj Bjorner
f1abc71c35
fix #2962
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-10 11:44:10 -08:00
Lev Nachmanson
fd3c3a2599
make the column shift in random_update divisible by m
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-02-09 16:30:09 -08:00
Nikolaj Bjorner
c8b98d8b48
move hnf cut functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-09 09:22:02 -08:00