diff --git a/ortools/glop/lp_solver.cc b/ortools/glop/lp_solver.cc index fe8f495988..e34c844b20 100644 --- a/ortools/glop/lp_solver.cc +++ b/ortools/glop/lp_solver.cc @@ -177,6 +177,7 @@ ProblemStatus LPSolver::SolveWithTimeLimit(const LinearProgram& lp, SOLVER_LOG(&logger_, "Initial problem: ", lp.GetDimensionString()); SOLVER_LOG(&logger_, "Objective stats: ", lp.GetObjectiveStatsString()); SOLVER_LOG(&logger_, "Bounds stats: ", lp.GetBoundsStatsString()); + SOLVER_LOG(&logger_, "Parameters: ", parameters_.ShortDebugString()); } // Check some preconditions. diff --git a/ortools/glop/reduced_costs.cc b/ortools/glop/reduced_costs.cc index 31a1522b03..515e61c0c8 100644 --- a/ortools/glop/reduced_costs.cc +++ b/ortools/glop/reduced_costs.cc @@ -532,6 +532,10 @@ void PrimalPrices::UpdateBeforeBasisPivot(ColIndex entering_col, // given by the update_row. UpdateEnteringCandidates( update_row->GetNonZeroPositions()); + + // This should be redundant with the call above, except in degenerate + // cases where the update_row has a zero position on the entering col! + prices_.Remove(entering_col); } void PrimalPrices::RecomputePriceAt(ColIndex col) {