# Survey of Non-Linear Optimization Modeling Layers in Julia

**URL:** <https://discourse.julialang.org/t/survey-of-non-linear-optimization-modeling-layers-in-julia/78168>\
**Category:** Optimization (Mathematical)\
**Tags:** nonlinear\
**Created:** [March 20, 2022, 3:39pm UTC](https://discourse.julialang.org/t/survey-of-non-linear-optimization-modeling-layers-in-julia/78168 "2022-03-20T15:39:20Z")\
**Posts on this page:** 4\
**Page:** 4

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [June 5, 2023, 5:15am UTC](https://discourse.julialang.org/t/survey-of-non-linear-optimization-modeling-layers-in-julia/78168/61 "2023-06-05T05:15:46Z")

</div>

Ah, hm, then I am not sure what NA stands for. Even from both Readmes of the solvers, I do see that indeed they do not use derivatives, but I read NA as “Not Available” here – what does it actually stand for then?

Interestingly, I also work in non-smooth optimization, but focusing on the case where you have a subgradient or other information available (or sedulity for example).

---

<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:** [June 5, 2023, 5:22am UTC](https://discourse.julialang.org/t/survey-of-non-linear-optimization-modeling-layers-in-julia/78168/62 "2023-06-05T05:22:01Z")

</div>

I guess we meant not applicable

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [June 5, 2023, 6:18am UTC](https://discourse.julialang.org/t/survey-of-non-linear-optimization-modeling-layers-in-julia/78168/63 "2023-06-05T06:18:42Z")

</div>

Slight difference, but sure not the same as the X then. I was somewhere in Numerical A… as a terminology that I again do not know 😉 similar to the gradient oracle.

---

<div class="post-metadata">

**Author:** ![ccoffrin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ccoffrin/32/400_2.png) [@ccoffrin](https://discourse.julialang.org/u/ccoffrin)\
**Post date:** [February 4, 2024, 10:34pm UTC](https://discourse.julialang.org/t/survey-of-non-linear-optimization-modeling-layers-in-julia/78168/64 "2024-02-04T22:34:44Z")

</div>

For anyone who is following this thread, there is a new modeling layer in Julia called [ExaModels](https://github.com/exanauts/ExaModels.jl), which has shown very good performance on the AC-OPF problem, see,

> [@AC Optimal Power Flow in Various Nonlinear Optimization Frameworks](https://discourse.julialang.org/t/ac-optimal-power-flow-in-various-nonlinear-optimization-frameworks/78486/81):
>
> Thanks to recent contributions from @sshin23, a new [rosetta-opf model](https://github.com/lanl-ansi/rosetta-opf/blob/main/examodels.jl) has been added based on the [ExaModels](https://github.com/exanauts/ExaModels.jl) framework. As the detailed results below show, this implementation tends to be the fastest Julia AC-OPF implementation I have seen so far, specially at the largest scales. Amazing work @sshin23! This table also includes updates to the [NLPModels to use the ConcreteStructs](https://github.com/lanl-ansi/rosetta-opf/pull/51) that were proposed in the SciML Benchmarks and an improvement to the [Julia JIT warmup](https://github.com/lanl-ansi/rosetta-opf/pull/43) procedure and other small mainten…

You may be interested to check it out. In the same thread @sshin23 provides a nice introduction to ExaModels and the kind of use-cases where it shines.

> [@AC Optimal Power Flow in Various Nonlinear Optimization Frameworks](https://discourse.julialang.org/t/ac-optimal-power-flow-in-various-nonlinear-optimization-frameworks/78486/82):
>
> Thanks, @ccoffrin for an amazing project and for sharing detailed results. Here’s a quick summary on how ExaModels works. What is ExaModels? ExaModels.jl is an algebraic modeling system embedded in Julia Language, which is tailored for what we call “SIMD abstraction”. By itself, ExaModels doesn’t have optimization solver capability. This means that you need to interface it with an optimization solver (e.g., Ipopt) to solve problems. ExaModels provide a user front-end to specify the nonlinear m…

@odow can you update the table in the first post to include an entry for ExaModels?

[Previous page](https://discourse.julialang.org/t/survey-of-non-linear-optimization-modeling-layers-in-julia/78168.md?page=3)
