# PolyOpt() Functionality

**URL:** <https://discourse.julialang.org/t/polyopt-functionality/95734>\
**Category:** General Usage\
**Tags:** optimization, machine-learning, diffeqflux\
**Created:** [March 8, 2023, 1:41pm UTC](https://discourse.julialang.org/t/polyopt-functionality/95734 "2023-03-08T13:41:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![JuliaQ123](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@JuliaQ123](https://discourse.julialang.org/u/JuliaQ123)\
**Post date:** [March 8, 2023, 1:41pm UTC](https://discourse.julialang.org/t/polyopt-functionality/95734/1 "2023-03-08T13:41:10Z")

</div>

Hi,

I have been setting up a universal differential equation model with multiple shooting, following the [example](https://docs.sciml.ai/DiffEqFlux/dev/examples/multiple_shooting/), and it works great. I am just confused as to what the `OptimizationPolyalgorithms.PolyOpt()` optimizer is actually doing, as I have been able to find no [docs](https://docs.juliahub.com/OptimizationPolyalgorithms/2YgTO/0.1.1/#OptimizationPolyalgorithms) or papers around it. The [paper on multiple shooting](https://deepai.org/publication/multiple-shooting-with-neural-differential-equations) mentions using an augmented lagrangian method, but I cannot see how this ties to `PolyOpt()`. Any direction would be helpful.  
Thanks.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [March 8, 2023, 1:48pm UTC](https://discourse.julialang.org/t/polyopt-functionality/95734/2 "2023-03-08T13:48:07Z")

</div>

> [@JuliaQ123](#):
>
> I have been setting up a universal differential equation model with multiple shooting, following the [example](https://docs.sciml.ai/DiffEqFlux/dev/examples/multiple_shooting/), and it works great. I am just confused as to what the `OptimizationPolyalgorithms.PolyOpt()` optimizer is actually doing, as I have been able to find no [docs](https://docs.juliahub.com/OptimizationPolyalgorithms/2YgTO/0.1.1/#OptimizationPolyalgorithms) or papers around it.

It’s ADAM → BFGS. If you just check the code it’s clear to read.
