Nested task exception while using Cbc (COIN-OR Branch and Cut) solver inside SDDP.jl

I am dealing with a multi-stage mixed-integer stochastic global supply chain optimization problem and want to solve the stage-wise problem instances using the Cbc (and other solvers) within the SDDiP algorithm using the SDDP.jl package in Julia.

In this regard, I am getting the following nested task exception while trying to use the Cbc solver to solve stagewise subproblems.

1 Like

Cbc.jl doesn’t support dual solutions. You cannot use it with SDDP.jl.

Got it. Is it the issue with the rapper the Cbc.jl or the solver the Cbc itself?

If its a solver issue, can you explain why the Cbc is usable to provide dual solutions?

It’s a bit of both. Cbc is the MIP solver. It uses the LP solver Clp to solve the LP subproblems. But there is no API in Cbc to query the dual value found by Clp.

Regardless though, you should not use Cbc.jl or Clp.jl with SDDP.jl. The way that the Julia wrappers are structured mean that they will not be efficient. Just use HiGHS instead.

Got it.