File tree 2 files changed +2
-8
lines changed
2 files changed +2
-8
lines changed Original file line number Diff line number Diff line change @@ -35,14 +35,14 @@ namespace lp {
35
35
lra.push ();
36
36
if (!tighten_terms_for_cube ()) {
37
37
lra.pop ();
38
+ lra.set_status (lp_status::OPTIMAL);
38
39
return lia_move::undef;
39
40
}
40
41
41
42
lp_status st = lra.find_feasible_solution ();
42
43
if (st != lp_status::FEASIBLE && st != lp_status::OPTIMAL) {
43
44
TRACE (" cube" , tout << " cannot find a feasiblie solution" ;);
44
45
lra.pop ();
45
- lra.set_status (lp_status::OPTIMAL);
46
46
lra.move_non_basic_columns_to_bounds ();
47
47
// it can happen that we found an integer solution here
48
48
return !lra.r_basis_has_inf_int ()? lia_move::sat: lia_move::undef;
Original file line number Diff line number Diff line change @@ -465,14 +465,9 @@ void lar_solver::prepare_costs_for_r_solver(const lar_term & term) {
465
465
lp_assert (rslv.reduced_costs_are_correct_tableau ());
466
466
}
467
467
468
- bool feasible (lp_status st) {
469
- return st == lp_status::FEASIBLE || st == lp_status::OPTIMAL;
470
- }
471
-
472
468
void lar_solver::move_non_basic_columns_to_bounds () {
473
469
auto & lcs = m_mpq_lar_core_solver;
474
470
bool change = false ;
475
- bool feas = feasible (get_status ());
476
471
for (unsigned j : lcs.m_r_nbasis ) {
477
472
if (move_non_basic_column_to_bounds (j))
478
473
change = true ;
@@ -481,9 +476,8 @@ void lar_solver::move_non_basic_columns_to_bounds() {
481
476
if (settings ().simplex_strategy () == simplex_strategy_enum::tableau_costs && change)
482
477
update_x_and_inf_costs_for_columns_with_changed_bounds_tableau ();
483
478
484
- if (feas && change) {
479
+ if (change) {
485
480
find_feasible_solution ();
486
- SASSERT (feasible (get_status ()));
487
481
}
488
482
}
489
483
You can’t perform that action at this time.
0 commit comments