# Why Nelder-Mead minimization without minimal property check?

**URL:** <https://discourse.julialang.org/t/why-nelder-mead-minimization-without-minimal-property-check/102236>\
**Category:** Optimization (Mathematical)\
**Tags:** optimization\
**Created:** [July 29, 2023, 12:45pm UTC](https://discourse.julialang.org/t/why-nelder-mead-minimization-without-minimal-property-check/102236 "2023-07-29T12:45:08Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![Zaikun](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zaikun/32/44262_2.png) [@Zaikun](https://discourse.julialang.org/u/Zaikun)\
**Post date:** [October 19, 2023, 9:47am UTC](https://discourse.julialang.org/t/why-nelder-mead-minimization-without-minimal-property-check/102236/20 "2023-10-19T09:47:24Z")

</div>

> [@lmiq](#):
>
> The best way is probably to contribute to this project: [GitHub - libprima/prima: PRIMA is a package for solving general nonlinear optimization problems without using derivatives. It provides the reference implementation of Powell’s derivative-free optimization methods, i.e., COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA. PRIMA means Reference Implementation for Powell’s methods with Modernization and Amelioration, “P” for Powell.](https://github.com/libprima/prima)

> [@PRIMA: a package for solving general nonlinear optimization problems without using derivatives](https://discourse.julialang.org/t/prima-a-package-for-solving-general-nonlinear-optimization-problems-without-using-derivatives/105134/1):
>
> Hi everyone, I am very glad to announce [PRIMA](http://libprima.net), a package for solving general nonlinear optimization problems without using derivatives. PRIMA provides the reference implementation for [M.J.D. Powell](https://en.wikipedia.org/wiki/Michael_J._D._Powell)’s renowned derivative-free optimization methods, i.e., COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA. The “P” in the name stands for [Powell](https://www.zhangzk.net/powell.html), and “RIMA” is an acronym for “Reference Implementation with Modernization and Amelioration”. Powell’s solvers are widely used by engineers and scientists. For in…

Thank @lmiq and @pnavaro for the pointers to [PRIMA](http://libprima.net). I hope it will be useful to the Julia community.

> [@pkofod](#):
>
> I would love to include Powell-style algorithms. Just havn’t had the time. I bought [https://epubs.siam.org/doi/book/10.1137/1.9780898718768](https://epubs.siam.org/doi/book/10.1137/1.9780898718768) but never really found time to devote to the topic.

As a maintainer of Powell’s solvers, I am delighted that you @pkofod are interested in these methods. However, I would suggest never implementing these methods from scratch by only looking at the book you mentioned or any other literature. The implementation of these methods is notorious HARD. Powell mentioned that “The development of NEWUOA has taken nearly three years. The work was very frustrating”. For more elaboration on this particular point, you may refer to [my talk](https://raw.githubusercontent.com/ztalks/20230825-iciam23/main/20230825-iciam.pdf) at [The 10th International Congress on Industrial and Applied Mathematics](https://iciam2023.org/) (check the slide titled “Implementation of these methods is HARD” and those after).

Unless you want to spend many frustrating years as Powell (and I) did on implementing these methods, it is better to use some existing implementation as a reference. The very first objective of [PRIMA](http://libprima.net) is to provide such a reference implementation.

A native Julia implementation of these methods is highly desirable. It is [within the plan of PRIMA](https://github.com/robertfeldt/BlackBoxOptim.jl/issues/225#issuecomment-1770387382). It would be great if someone from the Julia community gets sufficiently interested to take the initiative.

Thanks.

---

_[View the full topic](https://discourse.julialang.org/t/why-nelder-mead-minimization-without-minimal-property-check/102236)._
