# Multi-cut Benders decomposition?

**URL:** <https://discourse.julialang.org/t/multi-cut-benders-decomposition/23472>\
**Category:** Optimization (Mathematical)\
**Created:** [April 24, 2019, 1:57pm UTC](https://discourse.julialang.org/t/multi-cut-benders-decomposition/23472 "2019-04-24T13:57:18Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![deschase](https://avatars.discourse-cdn.com/v4/letter/d/6bbea6/32.png) [@deschase](https://discourse.julialang.org/u/deschase)\
**Post date:** [April 29, 2019, 1:09pm UTC](https://discourse.julialang.org/t/multi-cut-benders-decomposition/23472/3 "2019-04-29T13:09:50Z")

</div>

Thanks for your reply, it helped a lot.  
I got something working, so here is a code that gets the `nb_poolsol` best solutions encountered during the branch and bound performed by Gurobi on a toy example:

```julia
# Parameters
nb_poolsol = 10 
Nb_var = 3

```

```julia
# Charging model and solving it
myModel = JuMP.direct_model(Gurobi.Optimizer(PoolSearchMode=2, PoolSolutions=nb_poolsol, SolutionNumber=0))
@variable(myModel, x[1:Nb_var] >= 0, Int)
@objective(myModel, Max, x[1] + x[2] + x[3])
@constraint(myModel, x[1] + x[2] - x[3] <= 8 )
@constraint(myModel, x[1] - x[2] - x[3] <= 10 )
@constraint(myModel, -x[1] + x[2] + x[3] <= 15 )
@constraint(myModel, x[1] + 2*x[2] + 3*x[3] <= 20 )
optimize!(myModel)

```

```julia
# Print the last nb_poolsol solutions
for i in 0:(nb_poolsol-1)
    setparam!(myModel.moi_backend.inner,"SolutionNumber", i)
    xn = Gurobi.get_dblattrarray(myModel.moi_backend.inner, "Xn", 1, Nb_var)
    xn_val = Gurobi.get_dblattr(myModel.moi_backend.inner, "PoolObjVal")
    print(xn)
    print(" -> ")
    println(xn_val)
end

```

---

_[View the full topic](https://discourse.julialang.org/t/multi-cut-benders-decomposition/23472)._
