diff --git a/src/solver/cbc_cmd.rs b/src/solver/cbc_cmd.rs index 9f7d8f8..800b7ff 100644 --- a/src/solver/cbc_cmd.rs +++ b/src/solver/cbc_cmd.rs @@ -69,9 +69,15 @@ impl SolverCbcCmd { if !cbc && s == "optimal" { status = SolverStatus::Solved; } + else if !cbc && s == "Optimal" { + status = SolverStatus::Solved; + } else if !cbc && s == "infeasible" { status = SolverStatus::Infeasible; } + else if !cbc && s == "Infeasible" { + status = SolverStatus::Infeasible; + } else if cbc && s == "Optimal" { status = SolverStatus::Solved; } @@ -90,7 +96,7 @@ impl SolverCbcCmd { } // Objective value - if !cbc { + if !cbc && (!line.contains("-")) { r.read_line(&mut line)?; } @@ -122,7 +128,7 @@ impl SolverCbcCmd { }; // Variable - if dtype == "x" { + if dtype == "x" { solution.x[index] = value; if mul > 0. { solution.pi[index] = mul;