Nelder Mead

This algorithm is implemented based on [20]. In addition to other implementations, a boundary check is included. This ensures that the search considers the box constraints of the given optimization problem. If no boundaries are provided the algorithm falls back to a search without any constraints.

[1]:
from pymoo.algorithms.soo.nonconvex.nelder import NelderMead
from pymoo.problems import get_problem
from pymoo.optimize import minimize

problem = get_problem("sphere")

algorithm = NelderMead()

res = minimize(problem,
               algorithm,
               seed=1,
               verbose=False)

print("Best solution found: \nX = %s\nF = %s" % (res.X, res.F))

Compiled modules for significant speedup can not be used!
https://pymoo.org/installation.html#installation

To disable this warning:
from pymoo.config import Config
Config.warnings['not_compiled'] = False

Best solution found:
X = [0.49961501 0.49977501 0.49972263 0.50021479 0.5002991  0.50013549
 0.50071827 0.49980186 0.49952684 0.49985548]
F = [1.22965166e-06]

API

class pymoo.algorithms.soo.nonconvex.nelder.NelderMead(init_simplex_scale=0.05, func_params=<function adaptive_params>, output=<pymoo.util.display.single.SingleObjectiveOutput object>, **kwargs)