# Setting dual initial point for warm start

**URL:** https://discourse.julialang.org/t/setting-dual-initial-point-for-warm-start/6828
**Category:** Optimization (Mathematical)
**Created:** [November 1, 2017, 3:19pm UTC](https://discourse.julialang.org/t/setting-dual-initial-point-for-warm-start/6828 "2017-11-01T15:19:24Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Wikunia](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wikunia/32/2180_2.png) [@Wikunia](https://discourse.julialang.org/u/Wikunia)
#### Post date: [November 1, 2017, 3:19pm UTC](https://discourse.julialang.org/t/setting-dual-initial-point-for-warm-start/6828/1 "2017-11-01T15:19:24Z")

</div>

Is there a way to set a dual initial point for warm starting? I would like to use it in branch and bound using Ipopt (or any other nlp solver) in the backend for relaxation.

Only warm starting on the primal point by `setvalue` is probably not enough (or can make it worse) as mention here:  
[https://groups.google.com/forum/#!msg/julia-opt/D1cw7XL7\_M4/ufww9xpjEAAJ](https://groups.google.com/forum/#!msg/julia-opt/D1cw7XL7_M4/ufww9xpjEAAJ)

Thanks in advance!

---

<div class="post-metadata">

### Author: ![tim.holy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim.holy/32/52_2.png) [@tim.holy](https://discourse.julialang.org/u/tim.holy)
#### Post date: [November 1, 2017, 9:26pm UTC](https://discourse.julialang.org/t/setting-dual-initial-point-for-warm-start/6828/2 "2017-11-01T21:26:14Z")

</div>

If you check [https://github.com/JuliaNLSolvers/Optim.jl/pull/303](https://github.com/JuliaNLSolvers/Optim.jl/pull/303) you’ll find a strategy for setting the dual variables. In particular check the `initialize_μ_λ!` function. The fact that you can ensure that you won’t leave the “basin” of the user’s initial primal guess doesn’t seem to be widely known (at least, I didn’t see it in textbooks and I failed to find it in papers), but it’s pretty straightforward.

---

<div class="post-metadata">

### Author: ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)
#### Post date: [November 1, 2017, 9:48pm UTC](https://discourse.julialang.org/t/setting-dual-initial-point-for-warm-start/6828/3 "2017-11-01T21:48:34Z")

</div>

This is not supported in MathProgBase but will be supported in MathOptInterface. In the meantime I’d recommend hacking Ipopt.jl.
