simopt.solvers.neldmd ===================== .. py:module:: simopt.solvers.neldmd .. autoapi-nested-parse:: Nelder-Mead Algorithm. Nelder-Mead: An algorithm that maintains a simplex of points that moves around the feasible region according to certain geometric operations: reflection, expansion, contraction, and shrinking. A detailed description of the solver can be found `here `__. Module Contents --------------- .. py:class:: NelderMeadConfig Bases: :py:obj:`simopt.base.SolverConfig` Configuration for Nelder-Mead solver. .. py:attribute:: r :type: Annotated[int, Field(default=30, gt=0, description='number of replications taken at each solution')] .. py:attribute:: alpha :type: Annotated[float, Field(default=1.0, gt=0, description='reflection coefficient > 0')] .. py:attribute:: gammap :type: Annotated[float, Field(default=2.0, gt=1, description='expansion coefficient > 1')] .. py:attribute:: betap :type: Annotated[float, Field(default=0.5, gt=0, lt=1, description='contraction coefficient > 0, < 1')] .. py:attribute:: delta :type: Annotated[float, Field(default=0.5, gt=0, lt=1, description='shrink factor > 0, < 1')] .. py:attribute:: sensitivity :type: Annotated[float, Field(default=1e-07, gt=0, description='shrinking scale for bounds')] .. py:attribute:: initial_spread :type: Annotated[float, Field(default=0.1, gt=0, description='fraction of distance between bounds used for initial points')] .. py:class:: NelderMead(name: str = '', fixed_factors: dict | None = None) Bases: :py:obj:`simopt.base.Solver` Nelder-Mead Algorithm. The Nelder-Mead algorithm, which maintains a simplex of points that moves around the feasible region according to certain geometric operations: reflection, expansion, contraction, and shrinking. Initialize a solver object. :param name: Name of the solver. Defaults to an empty string. :type name: str, optional :param fixed_factors: Dictionary of user-specified solver factors. Defaults to None. :type fixed_factors: dict | None, optional .. py:attribute:: name :type: str :value: 'NELDMD' .. py:attribute:: config_class :type: ClassVar[type[simopt.base.SolverConfig]] Configuration class for the solver. .. py:attribute:: class_name_abbr :type: ClassVar[str] :value: 'NELDMD' Short name of the solver class. .. py:attribute:: class_name :type: ClassVar[str] :value: 'Nelder-Mead' Long name of the solver class. .. py:attribute:: objective_type :type: ClassVar[simopt.base.ObjectiveType] Description of objective types. .. py:attribute:: constraint_type :type: ClassVar[simopt.base.ConstraintType] Description of constraint types. .. py:attribute:: variable_type :type: ClassVar[simopt.base.VariableType] Description of variable types. .. py:attribute:: gradient_needed :type: ClassVar[bool] :value: False True if gradient of objective function is needed, otherwise False. .. py:method:: solve(problem: simopt.base.Problem) -> None Run a single macroreplication of a solver on a problem. :param problem: Simulation-optimization problem to solve. :type problem: Problem :returns: - list [Solution]: List of solutions recommended throughout the budget. - list [int]: List of intermediate budgets when recommended solutions change. :rtype: tuple