# Is there a Julia equivalent of scipy.optimize.minimize(method='TNC')?

**URL:** <https://discourse.julialang.org/t/is-there-a-julia-equivalent-of-scipy-optimize-minimize-method-tnc/45154>\
**Category:** Optimization (Mathematical)\
**Created:** [August 18, 2020, 12:35pm UTC](https://discourse.julialang.org/t/is-there-a-julia-equivalent-of-scipy-optimize-minimize-method-tnc/45154 "2020-08-18T12:35:55Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![liuyxpp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/liuyxpp/32/9870_2.png) [@liuyxpp](https://discourse.julialang.org/u/liuyxpp)\
**Post date:** [August 20, 2020, 2:11pm UTC](https://discourse.julialang.org/t/is-there-a-julia-equivalent-of-scipy-optimize-minimize-method-tnc/45154/21 "2020-08-20T14:11:06Z")

</div>

I have defined objgrad! just like you show here (although the obj and grad! are also defined, I don’t bother to remove them). Note the difference of outputs of these two options though.

---

<div class="post-metadata">

**Author:** ![abelsiqueira](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abelsiqueira/32/47269_2.png) [@abelsiqueira](https://discourse.julialang.org/u/abelsiqueira)\
**Post date:** [August 20, 2020, 2:34pm UTC](https://discourse.julialang.org/t/is-there-a-julia-equivalent-of-scipy-optimize-minimize-method-tnc/45154/22 "2020-08-20T14:34:54Z")

</div>

Sorry, I didn’t notice that. I recreated the issue here: [https://github.com/JuliaSmoothOptimizers/NLPModels.jl/issues/304](https://github.com/JuliaSmoothOptimizers/NLPModels.jl/issues/304). Wrapping your model in LBFGSModel breaks the use of `objgrad`. This should be easy to fix. Thanks for finding it!

---

<div class="post-metadata">

**Author:** ![abelsiqueira](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abelsiqueira/32/47269_2.png) [@abelsiqueira](https://discourse.julialang.org/u/abelsiqueira)\
**Post date:** [August 20, 2020, 7:52pm UTC](https://discourse.julialang.org/t/is-there-a-julia-equivalent-of-scipy-optimize-minimize-method-tnc/45154/23 "2020-08-20T19:52:10Z")

</div>

NLPModels 0.8.2 is released and should help with this. Let me know if it works now.

---

<div class="post-metadata">

**Author:** ![liuyxpp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/liuyxpp/32/9870_2.png) [@liuyxpp](https://discourse.julialang.org/u/liuyxpp)\
**Post date:** [August 21, 2020, 12:12am UTC](https://discourse.julialang.org/t/is-there-a-julia-equivalent-of-scipy-optimize-minimize-method-tnc/45154/24 "2020-08-21T00:12:52Z")

</div>

I have tested the new version NLPModels v0.13.2. It indeed reduces the number of evaluations to half!

In a final summary, for the same tolerance of the gradients (`g_tol` and `outer_g_tol = 1e-4` for Optim.jl and `atol = 1e-4` for JSOSolvers), to optimize my problem, JSOSolvers requires 12 evaluations and Optim.jl requires 24 evaluations.

[Previous page](https://discourse.julialang.org/t/is-there-a-julia-equivalent-of-scipy-optimize-minimize-method-tnc/45154.md?page=1)
