# SDDiP: Could not solve for Lagrangian duals. Iteration limit exceeded

**URL:** <https://discourse.julialang.org/t/sddip-could-not-solve-for-lagrangian-duals-iteration-limit-exceeded/61673>\
**Category:** Optimization (Mathematical)\
**Created:** [May 23, 2021, 10:03am UTC](https://discourse.julialang.org/t/sddip-could-not-solve-for-lagrangian-duals-iteration-limit-exceeded/61673 "2021-05-23T10:03:45Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![BYS](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bys/32/25384_2.png) [@BYS](https://discourse.julialang.org/u/BYS)\
**Post date:** [May 23, 2021, 10:03am UTC](https://discourse.julialang.org/t/sddip-could-not-solve-for-lagrangian-duals-iteration-limit-exceeded/61673/1 "2021-05-23T10:03:46Z")

</div>

I have tried a SDDP model including integer using “integrality\_handler=SDDP.SDDiP()”, and I set  
SDDP.train(model; iteration\_limit = 10)  
The results are as follows,

```julia
ERROR: LoadError: Could not solve for Lagrangian duals. Iteration limit exceeded.
Iteration Objective Primal Inf. Dual Inf. Time
       0 handle free variables 0s
       4 5.0448750e+03 0.000000e+00 0.000000e+00 0s

Solved in 4 iterations and 0.00 seconds
Optimal objective 5.044875000e+03

```

Handle free variable means what? Should I set iteration\_limit bigger?

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [May 23, 2021, 8:51pm UTC](https://discourse.julialang.org/t/sddip-could-not-solve-for-lagrangian-duals-iteration-limit-exceeded/61673/2 "2021-05-23T20:51:02Z")

</div>

Please open an issue at [Sign in to GitHub · GitHub](https://github.com/odow/SDDP.jl/issues/new) with a reproducible example.

The error is coming from your solver (Gurobi?). We failed to solve the Lagrangian subproblem, so no progress can be made. I suggest you remove `integrality_handler` and let SDDP.jl pick how to handle the binaries.

---

<div class="post-metadata">

**Author:** ![BYS](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bys/32/25384_2.png) [@BYS](https://discourse.julialang.org/u/BYS)\
**Post date:** [May 24, 2021, 1:07am UTC](https://discourse.julialang.org/t/sddip-could-not-solve-for-lagrangian-duals-iteration-limit-exceeded/61673/3 "2021-05-24T01:07:03Z")

</div>

Thanks for these valuable advice,I will have a try.

---

<div class="post-metadata">

**Author:** ![BYS](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bys/32/25384_2.png) [@BYS](https://discourse.julialang.org/u/BYS)\
**Post date:** [May 24, 2021, 8:24am UTC](https://discourse.julialang.org/t/sddip-could-not-solve-for-lagrangian-duals-iteration-limit-exceeded/61673/4 "2021-05-24T08:24:52Z")

</div>

By the way, if I want to close the display of GUROBI,and only see the iteration results of SDDP, how can I do it?

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [May 24, 2021, 8:40am UTC](https://discourse.julialang.org/t/sddip-could-not-solve-for-lagrangian-duals-iteration-limit-exceeded/61673/5 "2021-05-24T08:40:26Z")

</div>

`set_silent(sp)`. There are examples in the documentation.

---

<div class="post-metadata">

**Author:** ![BYS](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bys/32/25384_2.png) [@BYS](https://discourse.julialang.org/u/BYS)\
**Post date:** [May 24, 2021, 8:44am UTC](https://discourse.julialang.org/t/sddip-could-not-solve-for-lagrangian-duals-iteration-limit-exceeded/61673/6 "2021-05-24T08:44:09Z")

</div>

👌
