simopt.solvers.adam =================== .. py:module:: simopt.solvers.adam .. autoapi-nested-parse:: First-order gradient-based optimization of stochastic objective functions. An algorithm for first-order gradient-based optimization of stochastic objective functions, based on adaptive estimates of lower-order moments. Module Contents --------------- .. py:class:: ADAMConfig Bases: :py:obj:`simopt.base.SolverConfig` Configuration for ADAM solver. .. py:attribute:: r :type: Annotated[int, Field(default=30, gt=0, description='number of replications taken at each solution')] .. py:attribute:: beta_1 :type: Annotated[float, Field(default=0.9, gt=0, lt=1, description='exponential decay of the rate for the first moment estimates')] .. py:attribute:: beta_2 :type: Annotated[float, Field(default=0.999, lt=1, description='exponential decay rate for the second-moment estimates')] .. py:attribute:: alpha :type: Annotated[float, Field(default=0.5, gt=0, description='step size')] .. py:attribute:: epsilon :type: Annotated[float, Field(default=1e-08, gt=0, description='a small value to prevent zero-division')] .. py:attribute:: sensitivity :type: Annotated[float, Field(default=1e-07, gt=0, description='shrinking scale for variable bounds')] .. py:class:: ADAM(name: str = '', fixed_factors: dict | None = None) Bases: :py:obj:`simopt.base.Solver` First-order gradient-based optimization of stochastic objective functions. An algorithm for first-order gradient-based optimization of stochastic objective functions, based on adaptive estimates of lower-order moments. 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: 'ADAM' .. py:attribute:: config_class :type: ClassVar[type[simopt.base.SolverConfig]] Configuration class for the solver. .. py:attribute:: class_name_abbr :type: ClassVar[str] :value: 'ADAM' Short name of the solver class. .. py:attribute:: class_name :type: ClassVar[str] :value: 'ADAM' 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