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