* before rm lu
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm get_column_in_lu_mode
* rm lu
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm lu
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm_lp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm_lu
* rm lu
* rm lu
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm lu
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm lu
* rm lu
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm lu
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm lu
* cleanup
* rm breakpoints
* rm dealing with doubles
* Revert "rm dealing with doubles"
This reverts commit 547254abe7.
* rm lu
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm lu
* rm lu
* rm scaler
* rm square_sparse_matrix
* more cleanup
* rm dead code
* rp precise
* remove many methods dealing with double
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* rm lu related fields from lp_core_solver_base.h
* remove dead code
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* more dead code removal
* remove more dead code
* more dead code
* rm dead code
* more dead code
* fix lp_tst
* more dead code
* replace lp_assert(false) with UNREACHABLE
* rm non feas costs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
---------
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
the column vector is pure overhead for the way the lar solver uses lp.
Some other solver modules use column vectors b and integrate with the lp_core_solver_base. The interaction model should be reviewed.
Unused solvers should be removed to make it easier to maintain this code.
* 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>
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
* use value function in lar_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing return
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* check_feasible is called after column is added for fixed variable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
* 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>
* remove inheritance from bound propagation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* less inheritance
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* less inheritance
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* cleaner API for explanation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove an unnecessery check
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* expl
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* 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>