4

I have read that Nelder Mead algorithm is working for unconstrained optimization. http://www.scholarpedia.org/article/Nelder-Mead_algorithm I think in Matlab Nelder Mead is used also for unconstrained optimization. However, I am a little bit confused, since I found a Java API for optimization http://www.ee.ucl.ac.uk/~mflanaga/java/Minimisation.html (Flanagan's Scientific Library) that has a class that implements Nelder Mead simplex and allows for defining constraints and bounds. So, is the version implemented in Flanagan's API a modified variation of the "classical" Nelder Mead algorithm?

Sorin
  • 105
  • 1
  • 10

2 Answers2

5

It looks like the API is implementing a simple "soft" constraint system, where constraints are transformed into penalty functions which severely penalize regions outside the constraints. It's a cheap-and-cheerful way of adding constraints to an unconstrained solver, but there'll be a tradeoff between optimality, convergence, and the degree to which the constraints are satisfied.

Sneftel
  • 34,359
  • 11
  • 60
  • 94
  • ok, and do you know is there any scientific article that describes this adaptation of the original algorithm? – Sorin Jan 03 '17 at 18:06
  • @Sorin I doubt there's one specifically for Nelder-Mead. Soft constraints are as old as dirt. Any good textbook on optimization will discuss them, though. – Sneftel Jan 03 '17 at 22:17
  • I was looking at the penalty weights proposed in the Flanagan's Scientific Library http://www.ee.ucl.ac.uk/~mflanaga/java/Minimisation.html#constraint but this appears to address only the individual simple constraints like x1>l or x1 – Sorin Jan 10 '17 at 15:30
  • @Sorin COBYLA https://docs.scipy.org/doc/scipy/reference/optimize.minimize-cobyla.html#optimize-minimize-cobyla is a similar simplex-based optimizer that allows for general nonlinear constraints. COBYLA is a significant improvement on Nelder-Mead. You can learn more: Powell, M J D. A direct search optimization method that models the objective and constraint functions by linear interpolation – MeowBlingBling Jan 22 '21 at 21:37
-2

Have a look on HillStormer[1], a (free) software that permits linear constraints for the Nelder-Mead. You wila discover that the use of linear constraints can improve the optimization using less stepsby permitting the degeneration of the simplex on the constraint recovering it afterwards. Furthermore, this software includes a "Test-Mode" that permits you to compose response-surfaces and present the optimization graphically afterwards.You may download it at [1]: http://www.hillstormer.es