Lev Nachmanson
6f7b749ff9
improved dio handler
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-03-24 07:44:13 -10:00
Lev Nachmanson
a7310462df
throttle down cuts from proofs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-23 19:38:35 -08:00
Nikolaj Bjorner
1a3d1ad69d
add base line bounds tightening utility
2025-02-21 12:46:51 -08:00
Lev Nachmanson
bd3d288a08
tighten only core constrants
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-20 08:40:16 -08:00
Lev Nachmanson
e920291393
fixing the default parameters of dio and rename m_gomory_cuts to m_cuts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
134bed826a
throttle the branching in dio
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
7e02dfe484
add stats on m_dio_branching_conflicts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a19e10912f
make dio less aggressive, allow other cuts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
174185582a
collect the explanation correctly
2025-02-11 12:23:00 -10:00
Lev Nachmanson
e4f3b5753f
solving regressions/smt2/b1.smt2
2025-02-11 12:23:00 -10:00
Lev Nachmanson
71c433908c
work on incremental version
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
392c24a145
throttle dioph equalities
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
9e8b17b5f8
do not use conflicts with fresh vars to create branches
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
ea50208ad6
prepare using fresh vars in cuts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
2ebb957cc8
enable cuts from proofs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
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
3d6cc64e2e
prepare for calling diophantine equations
2025-02-11 12:23:00 -10:00
Lev Nachmanson
097a25ebfe
add parameter to control calling diophantine equations
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Nikolaj Bjorner
648cf9602e
fix uninitialized variable warnings
2025-01-14 13:54:05 -08:00
David Seifert
2ce89e5f49
Gcc 15 two phase ( #7313 )
...
* Fix `-Wclass-memaccess`
* Fix for GCC 15 two-phase lookup
* GCC 15 is more aggressive about checking dependent names:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=r15-2117-g313afcfdabeab3
Bug: https://bugs.gentoo.org/936634
2024-07-29 11:07:10 -07:00
Nikolaj Bjorner
8fe357f1f2
Nlsat simplify ( #7227 )
...
* dev branch for simplification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bug fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bugfixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix factorization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* separate out simplification functionality
* reorder initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorder initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Update README.md
* initial warppers for seq-map/seq-fold
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* expose fold as well
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add C++ bindings for sequence operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add abs function to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add parameter validation to ternary and 4-ary functions for API #7219
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add pre-processing and reorder
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add pre-processing and reorder
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-14 22:19:33 -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
2934618c50
remove simplify_inequality from gomory.cpp
2024-01-04 11:40:57 -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
Nikolaj Bjorner
77dab53e9e
track number of Gomory cuts
2023-11-07 19:57:49 +01:00
Lev Nachmanson
ca6cb0af95
add changes in lp with validate_bound and maximize_term
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-11-02 09:59:03 -07:00
Nikolaj Bjorner
4a870966ad
add code to enable unit propagation of bounds
...
set UNIT_PROPAGATE_BOUNDS 1 to use the unit propagation version. It applies unit propagation eagerly (does not depend on checking LIA consistency before final check) and avoid creating new literals in most cases
2023-10-09 16:04:39 +09:00
Lev Nachmanson
610313946d
split free vars in nla
2023-08-18 12:36:14 -07:00
Lev Nachmanson
e091a2e775
remove the line with clang-format off
2023-07-10 12:05:59 -07:00
Lev Nachmanson
5ed2a82893
set clang format off for lp files ( #6795 )
...
* adding // clang-format off
* set clang-format off at the beginning of lp files
* set clang-format off
* remove dead code
2023-07-03 17:35:16 -07:00
Lev Nachmanson
32ec02778e
use heap to track infeasible columns. ( #6771 )
...
* use heap to track infeasible columns
* fix the formatting
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
---------
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-06-19 13:50:14 -07:00
Nikolaj Bjorner
ef943347ee
ensure assume-eqs is invoked after check-lia statically
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-26 11:16:15 -07:00
Nikolaj Bjorner
a2bac119d3
differentiate fixed from offset-eq in statistics
2023-04-18 08:40:51 -07:00
Lev Nachmanson
3efe91c3e3
more dead code
2023-03-08 10:27:05 -08:00
Lev Nachmanson
c8c0a00190
remove more dead code
2023-03-08 10:27:05 -08:00
Lev Nachmanson
f351eb3ab2
remove many methods dealing with double
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
9ec82632a3
rp precise
2023-03-08 10:27:05 -08:00
Lev Nachmanson
73224adc48
cleanup
2023-03-08 10:27:05 -08:00
Lev Nachmanson
377ceba6d5
rm lu
2023-03-08 10:27:05 -08:00
Lev Nachmanson
25f103db1a
rm_lp
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
527f0d1242
rm lu
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Lev Nachmanson
a38be43264
rm lu
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-03-08 10:27:05 -08:00
Nikolaj Bjorner
0f86a00229
use setter method to easier track updates to settings.
2023-02-01 10:18:14 -08:00
Nuno Lopes
73a24ca0a9
remove '#include <iostream>' from headers and from unneeded places
...
It's harmful to have iostream everywhere as it injects functions in the compiled files
2022-06-17 14:10:19 +01: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
87d4ce2659
working on #5614
...
there are some different sources for the performance regression illustrated by the example. The mitigations will be enabled separately:
- m_bv_to_propagate is too expensive
- lp_bound_propagator misses equalities in two different ways:
- it resets row checks after backtracking even though they could still propagate
- it misses equalities for fixed rows when the fixed constant value does not correspond to a fixed variable.
FYI @levnach
2021-11-02 14:55:39 -07:00
Henrich Lauko
96671cfc73
Add and fix a few general compiler warnings. ( #5628 )
...
* rewriter: fix unused variable warnings
* cmake: make missing non-virtual dtors error
* treewide: add missing virtual destructors
* cmake: add a few more checks
* api: add missing virtual destructor to user_propagator_base
* examples: compile cpp example with compiler warnings
* model: fix unused variable warnings
* rewriter: fix logical-op-parentheses warnings
* sat: fix unused variable warnings
* smt: fix unused variable warnings
2021-10-29 15:42:32 +02:00
Nikolaj Bjorner
0182187296
fix regression in arithmetic resource bound
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-03 11:41:42 -07:00
Nikolaj Bjorner
5127014f18
track cuts
2021-06-01 15:26:36 -07:00