.. Copyright 2021 IRT Saint-Exupéry, https://www.irt-saintexupery.com This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. .. _gen_opt_algos: Optimization algorithms ======================= .. warning:: Some capabilities may require the :ref:`installation ` of |g| with :ref:`all its features ` and some others may depend on :ref:`plugins `. .. warning:: All the features of the wrapped libraries may not be exposed through |g|. .. note:: The algorithm settings can be passed to a function of the form .. code-block:: python function(..., settings_model: AlgorithmSettings | None = None, **settings: Any) either one by one: .. code-block:: python function(..., setting_name_1=setting_name_1, setting_name_2=setting_name_2, ...) or using the argument name ``"settings_model"`` and the Pydantic model associated with the algorithm: .. code-block:: python settings_model = AlgorithmSettings(setting_name_1=setting_name_1, setting_name_2=setting_name_2, ...) function(..., settings_model=settings_model) .. raw:: html

Overview

Display .
Otherwise, display the optimization algorithms that
Algorithm
▲▼
Library
▲▼
Name in GEMSEO
▲▼
Package
▲▼
Augmented_Lagrangian_order_0 Augmented_Lagrangian_order_0 gemseo
Augmented_Lagrangian_order_1 Augmented_Lagrangian_order_1 gemseo
COBYQA SciPy Local COBYQA gemseo
Differential evolution SciPy Global Optimization DIFFERENTIAL_EVOLUTION gemseo
Dual annealing SciPy Global Optimization DUAL_ANNEALING gemseo
Dual simplex SciPy Linear Programming DUAL_SIMPLEX gemseo
HEXALY Hexaly HEXALY gemseo_hexaly
Interior point method SciPy Linear Programming INTERIOR_POINT gemseo
L-BFGS-B SciPy Local L-BFGS-B gemseo
MMA MMA MMA gemseo_mma
mNBI MNBI MNBI gemseo
Multi-start optimization MultiStart gemseo
NELDER-MEAD SciPy Local NELDER-MEAD gemseo
BFGS NLopt NLOPT_BFGS gemseo
BOBYQA NLopt NLOPT_BOBYQA gemseo
COBYLA NLopt NLOPT_COBYLA gemseo
MMA NLopt NLOPT_MMA gemseo
NEWUOA NLopt NLOPT_NEWUOA gemseo
SLSQP NLopt NLOPT_SLSQP gemseo
BOBYQA PDFO PDFO_BOBYQA gemseo_pdfo
COBYLA PDFO PDFO_COBYLA gemseo_pdfo
NEWUOA PDFO PDFO_NEWUOA gemseo_pdfo
GA pymoo PYMOO_GA gemseo_pymoo
NSGA2 pymoo PYMOO_NSGA2 gemseo_pymoo
NSGA3 pymoo PYMOO_NSGA3 gemseo_pymoo
RNSGA3 pymoo PYMOO_RNSGA3 gemseo_pymoo
UNSGA3 pymoo PYMOO_UNSGA3 gemseo_pymoo
PYOPTSPARSE_SLSQP pyOptSparse PYOPTSPARSE_SLSQP gemseo_pyoptsparse
PYOPTSPARSE_SNOPT pyOptSparse PYOPTSPARSE_SNOPT gemseo_pyoptsparse
SHGO SciPy Global Optimization SHGO gemseo
SLSQP SciPy Local SLSQP gemseo
SMT_EGO SMT SMT_EGO gemseo_mlearning
Branch & Cut algorithm SciPy Mixed-Integer Linear Programming Scipy_MILP gemseo
TNC SciPy Local TNC gemseo

.. _Augmented_Lagrangian_order_0_options: Augmented_Lagrangian_order_0 ---------------------------- Module: :class:`gemseo.algos.opt.augmented_lagrangian.augmented_lagrangian_order_0` Augmented Lagrangian algorithm for gradient-less functions. .. code-block:: python :caption: Pydantic model of the settings for Augmented_Lagrangian_order_0 from gemseo.settings.opt import Augmented_Lagrangian_order_0_Settings .. raw:: html
Required settings
  • **sub_algorithm_name** : ** The name of the optimizer used to solve each sub-problem. .. raw:: html
.. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **gamma** : *, optional* The penalty increase factor. By default it is set to 1.5. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **initial_rho** : *, optional* The initial penalty value. By default it is set to 10.0. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_rho** : *, optional* The maximum penalty value. By default it is set to 10000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **sub_algorithm_settings** : *collections.abc.Mapping[str, typing.Any], optional* The settings of the optimizer used to solve each sub-problem. By default it is set to {}. .. raw:: html
  • **sub_problem_constraints** : *collections.abc.Iterable[str], optional* The constraints to keep in the sub-problem. If ``empty``, all constraints are handled by the Augmented Lagrangian method which implies that the sub-problem is unconstrained. By default it is set to (). .. raw:: html
  • **tau** : *, optional* The threshold to increase the penalty. By default it is set to 0.9. .. raw:: html
  • **update_options_callback** : *typing.Optional[typing.Annotated[collections.abc.Callable[[typing.Any], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional* A callable for updating parameters or a function call. By default it is set to None. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _Augmented_Lagrangian_order_1_options: Augmented_Lagrangian_order_1 ---------------------------- Module: :class:`gemseo.algos.opt.augmented_lagrangian.augmented_lagrangian_order_1` Augmented Lagrangian algorithm using gradient information .. code-block:: python :caption: Pydantic model of the settings for Augmented_Lagrangian_order_1 from gemseo.settings.opt import Augmented_Lagrangian_order_1_Settings .. raw:: html
Required settings
  • **sub_algorithm_name** : ** The name of the optimizer used to solve each sub-problem. .. raw:: html
.. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **gamma** : *, optional* The penalty increase factor. By default it is set to 1.5. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **initial_rho** : *, optional* The initial penalty value. By default it is set to 10.0. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_rho** : *, optional* The maximum penalty value. By default it is set to 10000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **sub_algorithm_settings** : *collections.abc.Mapping[str, typing.Any], optional* The settings of the optimizer used to solve each sub-problem. By default it is set to {}. .. raw:: html
  • **sub_problem_constraints** : *collections.abc.Iterable[str], optional* The constraints to keep in the sub-problem. If ``empty``, all constraints are handled by the Augmented Lagrangian method which implies that the sub-problem is unconstrained. By default it is set to (). .. raw:: html
  • **tau** : *, optional* The threshold to increase the penalty. By default it is set to 0.9. .. raw:: html
  • **update_options_callback** : *typing.Optional[typing.Annotated[collections.abc.Callable[[typing.Any], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional* A callable for updating parameters or a function call. By default it is set to None. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _COBYQA_options: COBYQA ------ Module: :class:`gemseo.algos.opt.scipy_local.scipy_local` Derivative-free trust-region SQP method based on quadratic models for constrained optimization. .. code-block:: python :caption: Pydantic model of the settings for COBYQA from gemseo.settings.opt import COBYQA_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-cobyqa.html. .. raw:: html
Optional settings
  • **disp** : *, optional* Whether to print convergence messages. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 1e-06. .. raw:: html
  • **f_target** : *, optional* The target value for the objective function. The optimization procedure is terminated when the objective function value of a feasible point is less than or equal to this target. By default it is set to -inf. .. raw:: html
  • **final_tr_radius** : *, optional* The final trust-region radius. By default it is set to 1e-06. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **initial_tr_radius** : *, optional* The initial trust-region radius. By default it is set to 1.0. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _DIFFERENTIAL_EVOLUTION_options: DIFFERENTIAL_EVOLUTION ---------------------- Module: :class:`gemseo.algos.opt.scipy_global.scipy_global` Differential Evolution algorithm .. code-block:: python :caption: Pydantic model of the settings for DIFFERENTIAL_EVOLUTION from gemseo.settings.opt import DIFFERENTIAL_EVOLUTION_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.differential_evolution.html. .. raw:: html
Optional settings
  • **atol** : *, optional* The absolute tolerance for convergence. By default it is set to 0.0. .. raw:: html
  • **disp** : *, optional* Whether to print convergence messages. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 1e-06. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **init** : *str | gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[float]], optional* The method to perform the population initialization as a string or the initial population as an array. By default it is set to latinhypercube. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 9223372036854775807. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **mutation** : *float | tuple[float, float], optional* The mutation constant. If specified as a float it should be in the range [0, 2]. If specified as a tuple(min, max) dithering is employed. By default it is set to (0.5, 1.0). .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **polish** : *, optional* Whether to polish the best population member at the end. By default it is set to True. .. raw:: html
  • **popsize** : *, optional* The multiplier for setting the total population size. By default it is set to 15. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **recombination** : *, optional* The recombination constant. By default it is set to 0.7. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *, optional* The random seed. By default it is set to 0. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **strategy** : *, optional* The differential evolution strategy to use. By default it is set to best1bin. .. raw:: html
  • **tol** : *, optional* The relative tolerance for convergence. By default it is set to 0.01. .. raw:: html
  • **updating** : *, optional* The best solution vector updating strategy. By default it is set to immediate. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **workers** : *, optional* The number of parallel workers the population is subdivided in. By default it is set to 1. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _DUAL_ANNEALING_options: DUAL_ANNEALING -------------- Module: :class:`gemseo.algos.opt.scipy_global.scipy_global` Dual annealing .. code-block:: python :caption: Pydantic model of the settings for DUAL_ANNEALING from gemseo.settings.opt import DUAL_ANNEALING_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.dual_annealing.html. .. raw:: html
Optional settings
  • **accept** : *, optional* The acceptance distribution parameter. The lower the acceptance parameter, the smaller the probability of acceptance. By default it is set to -5. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 1e-06. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **initial_temp** : *, optional* The initial temperature. Use higher values to facilitates a wider search of the energy landscape. By default it is set to 5230. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 9223372036854775807. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **no_local_search** : *, optional* Whether to perform local search. By default it is set to False. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **restart_temp_ratio** : *, optional* The temperature ratio under which the reannealing process is triggered. By default it is set to 2e-05. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *, optional* The random seed. By default it is set to 0. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **visit** : *, optional* The visiting distribution parameter. Higher values give the visiting distribution a heavier tail, this makes the algorithm jump to a more distant region. By default it is set to 2.62. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _DUAL_SIMPLEX_options: DUAL_SIMPLEX ------------ Module: :class:`gemseo.algos.opt.scipy_linprog.scipy_linprog` Linear programming using the HiGHS dual simplex solver. .. code-block:: python :caption: Pydantic model of the settings for DUAL_SIMPLEX from gemseo.settings.opt import DUAL_SIMPLEX_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/optimize.linprog-highs-ds.html. .. raw:: html
Optional settings
  • **autoscale** : *, optional* Whether to perform auto-scaling of the constraints. By default it is set to False. .. raw:: html
  • **disp** : *, optional* Whether to print convergence messages. By default it is set to False. .. raw:: html
  • **dual_feasibility_tolerance** : *, optional* The dual feasability tolerance. By default it is set to 1e-07. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **maxiter** : *, optional* The maximum number of iterations to perform. By default it is set to 1000. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **presolve** : *, optional* Whether to perform a preliminary analysis on the problem before solving. It attempts to detect infeasibility, unboundedness or problem simplifications. By default it is set to True. .. raw:: html
  • **primal_feasibility_tolerance** : *, optional* The primal feasability tolerance. By default it is set to 1e-07. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **rr** : *, optional* Whether to remove linearly dependent equality-constraints. By default it is set to True. .. raw:: html
  • **rr_method** : *typing.Optional[typing.Literal['SVD', 'pivot', 'ID']], optional* The method to remove redundancy, either 'SVD', 'pivot' or 'ID'. If ``None``, use “SVD” if the matrix is nearly full rank. If not, uses “pivot”. The behavior of this default is subject to change without prior notice. By default it is set to None. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **simplex_dual_edge_weight_strategy** : *typing.Literal['dantzig', 'devex', 'steepest', 'steepest-devex'], optional* Strategy for simplex dual edge weights. By default it is set to steepest-devex. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **tol** : *, optional* A tolerance which determines when a residual is “close enough” to zero to be considered exactly zero. By default it is set to 1e-08. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
.. _HEXALY_options: HEXALY ------ .. note:: The plugin `gemseo_hexaly `_ is required. Module: :class:`gemseo_hexaly.algos.opt.hexaly.hexaly` Commercial black-box Hexaly library. It relies on a global mixed-integer solver. More details about the algorithm and its settings on https://www.hexaly.com/docs/last/index.html. .. raw:: html
Optional settings
  • **activate_surrogate** : *, optional* Whether to activate the internal surrogate model. By default it is set to False. .. raw:: html
  • **callback** : *gemseo_hexaly.algos.opt.hexaly._core.hexaly_callback.HexalyCallback | None, optional* The callback function called during the optimization algorithm. If ``None``, no callback is given to the Hexaly solver. By default it is set to None. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **nb_threads** : *, optional* The number of threads used by Hexaly. If 0, the number of threads is automatically adapted to your computer and to your optimization model.. By default it is set to 0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *typing.Optional[typing.Annotated[int, Ge(ge=0)]], optional* The random seed for the optimizer. If ``None``, use GEMSEO initial seed. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **use_reproducible_surrogate** : *, optional* Whether the surrogate model is reproducible. If ``True``, the solver may be less performant. By default it is set to False. .. raw:: html
  • **verbosity** : *, optional* The verbosity level of the optimizer. 0: All the traces are disabled. 1: Normal verbosity. This is the default level. 2: Detailed verbosity. Displays statistics during the search. By default it is set to 0. .. raw:: html
  • **warm_start** : *, optional* Whether to consider the current value of the design space as the initial solution. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
.. _INTERIOR_POINT_options: INTERIOR_POINT -------------- Module: :class:`gemseo.algos.opt.scipy_linprog.scipy_linprog` Linear programming using the HiGHS interior point solver. .. code-block:: python :caption: Pydantic model of the settings for INTERIOR_POINT from gemseo.settings.opt import INTERIOR_POINT_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/optimize.linprog-highs-ipm.html. .. raw:: html
Optional settings
  • **autoscale** : *, optional* Whether to perform auto-scaling of the constraints. By default it is set to False. .. raw:: html
  • **disp** : *, optional* Whether to print convergence messages. By default it is set to False. .. raw:: html
  • **dual_feasibility_tolerance** : *, optional* The tolerance on the feasibility of the dual problem. By default it is set to 1e-07. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **ipm_optimality_tolerance** : *, optional* Optimality tolerance. By default it is set to 1e-08. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **maxiter** : *, optional* The maximum number of iterations to perform. By default it is set to 1000. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **presolve** : *, optional* Whether to perform a preliminary analysis on the problem before solving. It attempts to detect infeasibility, unboundedness or problem simplifications. By default it is set to True. .. raw:: html
  • **primal_feasibility_tolerance** : *, optional* The tolerance on the feasibility of the primal problem. By default it is set to 1e-07. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **rr** : *, optional* Whether to remove linearly dependent equality-constraints. By default it is set to True. .. raw:: html
  • **rr_method** : *typing.Optional[typing.Literal['SVD', 'pivot', 'ID']], optional* The method to remove redundancy, either 'SVD', 'pivot' or 'ID'. If ``None``, use “SVD” if the matrix is nearly full rank. If not, uses “pivot”. The behavior of this default is subject to change without prior notice. By default it is set to None. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **tol** : *, optional* A tolerance which determines when a residual is “close enough” to zero to be considered exactly zero. By default it is set to 1e-08. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
.. _L-BFGS-B_options: L-BFGS-B -------- Module: :class:`gemseo.algos.opt.scipy_local.scipy_local` Limited-memory BFGS algorithm implemented in the SciPy library .. code-block:: python :caption: Pydantic model of the settings for L-BFGS-B from gemseo.settings.opt import L_BFGS_B_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-lbfgsb.html. .. raw:: html
Optional settings
  • **disp** : *, optional* Whether to print convergence messages. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 1e-06. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **gtol** : *, optional* The precision goal for the projected gradient value to stop the algorithm. By default it is set to 1e-06. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **iprint** : *, optional* The flag to control the frequency of output. Default is no output. By default it is set to -1. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **maxcor** : *, optional* The maximum number of corrections for the limited memory matrix. By default it is set to 20. .. raw:: html
  • **maxls** : *, optional* The maximum number of line search steps per iteration. By default it is set to 20. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _MMA_options: MMA --- .. note:: The plugin `gemseo_mma `_ is required. Module: :class:`gemseo_mma.opt.mma` The Method of Moving Asymptotes .. raw:: html
Optional settings
  • **asymptotes_distance_amplification_coefficient** : *, optional* The amplification factor for successful iterations. By default it is set to 1.2. .. raw:: html
  • **asymptotes_distance_reduction_coefficient** : *, optional* The decremental factor for unsuccessful iterations. By default it is set to 0.7. .. raw:: html
  • **conv_tol** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* If provided, control all other convergence tolerances. Otherwise, the other convergence tolerances are used. By default it is set to None. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-14. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-08. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.01. .. raw:: html
  • **initial_asymptotes_distance** : *, optional* The initial asymptotes distance from the current design variable value. By default it is set to 0.5. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_asymptote_distance** : *, optional* The maximum distance of the asymptotes from the current design variable value. By default it is set to 10.0. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_optimization_step** : *, optional* The maximum optimization step. By default it is set to 0.1. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **min_asymptote_distance** : *, optional* The minimum distance of the asymptotes from the current design variable value. By default it is set to 0.01. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **tol** : *, optional* The tolerance of convergence used in MMA to be compared with the KKT residual. By default it is set to 0.01. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-14. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-08. .. raw:: html
.. _MNBI_options: MNBI ---- Module: :class:`gemseo.algos.opt.mnbi.mnbi` Modified Normal Boundary Intersection (mNBI) method .. code-block:: python :caption: Pydantic model of the settings for MNBI from gemseo.settings.opt import MNBI_Settings .. raw:: html
Required settings
  • **sub_optim_algo** : ** The optimization algorithm used to solve the sub-optimization problems. .. raw:: html
.. raw:: html
Optional settings
  • **custom_anchor_points** : *collections.abc.Sequence[gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]]], optional* The bounding points of the custom phi simplex for the optimization. By default it is set to (). .. raw:: html
  • **custom_phi_betas** : *collections.abc.Sequence[gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]]], optional* The custom values of :math:`\Phi \beta` to be used in the optimization. By default it is set to (). .. raw:: html
  • **debug** : *, optional* Whether to output the sub-optimization optima in a database hdf file. By default it is set to False. .. raw:: html
  • **debug_file_path** : *str | pathlib.Path, optional* The path to the debug file if debug mode is active. By default it is set to debug_history.h5. .. raw:: html
  • **doe_algo** : *, optional* The design of experiments algo for the target points on the Pareto front. A ``fullfactorial`` DOE is used default as these tend to be low dimensions, usually not more than 3 objectives for a given problem. This setting is relevant only for problems with more than 2 objectives. By default it is set to PYDOE_FULLFACT. .. raw:: html
  • **doe_algo_settings** : *collections.abc.Mapping[str, typing.Any], optional* The settings for the DOE algorithm. By default it is set to {}. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **n_processes** : *, optional* The maximum number of processes used to parallelize the sub-optimizations. By default it is set to 1. .. raw:: html
  • **n_sub_optim** : *, optional* The number of sub-optimizations points. mNBI generates ``n_sub_optim`` points on the Pareto front between the `n-objective` individual minima. This value must be strictly greater than the number of objectives of the problem. By default it is set to 1. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. The mNBI algorithm does not allow to normalize the design space at the top level, only the sub-optimizations accept design space normalization. To do this, pass the setting ``normalize_design_space`` to ``sub_optim_algo_settings``. By default it is set to False. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **skip_betas** : *, optional* Whether to skip the sub-optimizations of relevant. The sub-optimizations are skipped if they correspond to values of beta for which the theoretical result has already been found. This can accelerate the main optimization by avoiding redundant sub-optimizations. But in cases where some sub-optimizations do not properly converge, some values of betas will be skipped based on false assumptions, and some parts of the Pareto front can be incorrectly resolved. By default it is set to True. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **sub_optim_algo_settings** : *collections.abc.Mapping[str, typing.Any], optional* The settings for the sub-optimization algorithm. By default it is set to {}. .. raw:: html
  • **sub_optim_max_iter** : *, optional* The maximum number of iterations of the sub-optimization algorithms. If 0, the ``max_iter`` value is used. By default it is set to 0. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
.. _MultiStart_options: MultiStart ---------- Module: :class:`gemseo.algos.opt.multi_start.multi_start` The optimization algorithm ``multistart`` generates starting points using a DOE algorithmand run a sub-optimization algorithm from each starting point.Depending on the sub-optimization algorithm,``multistart`` can handle integer design variables,equality and inequality constraintsas well as multi-objective functions. .. code-block:: python :caption: Pydantic model of the settings for MultiStart from gemseo.settings.opt import MultiStart_Settings .. raw:: html
Optional settings
  • **doe_algo_name** : *, optional* The name of the DOE algorithm. The DOE algorthm is used to generate the sub-optimizations starting points. By default it is set to LHS. .. raw:: html
  • **doe_algo_settings** : *collections.abc.Mapping[str, typing.Any], optional* The settings of the DOE algorithm. By default it is set to {}. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **multistart_file_path** : *str | pathlib.Path* The database file path to save the local optima. If empty, do not save the local optima. By default it is set to . .. raw:: html
  • **n_processes** : *, optional* The maximum number of processes used to parallelize the sub-optimizations. By default it is set to 1. .. raw:: html
  • **n_start** : *, optional* The number of sub-optimizations. By default it is set to 5. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to False. .. raw:: html
  • **opt_algo_max_iter** : *, optional* The maximum number of iterations for each sub-optimization. If 0, this number is ``int(max_iter/n_start)``. By default it is set to 0. .. raw:: html
  • **opt_algo_name** : *, optional* The name of the sub-optimization algorithm. By default it is set to SLSQP. .. raw:: html
  • **opt_algo_settings** : *collections.abc.Mapping[str, typing.Any], optional* The settings of the sub-optimization algorithm. By default it is set to {}. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
.. _NELDER-MEAD_options: NELDER-MEAD ----------- Module: :class:`gemseo.algos.opt.scipy_local.scipy_local` Nelder-Mead algorithm implemented in the SciPy library .. code-block:: python :caption: Pydantic model of the settings for NELDER-MEAD from gemseo.settings.opt import NELDER_MEAD_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-neldermead.html. .. raw:: html
Optional settings
  • **adaptive** : *, optional* Whether to adapt the algorithm parameters to dimensionality of problem. By default it is set to False. .. raw:: html
  • **disp** : *, optional* Whether to print convergence messages. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 1e-06. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **initial_simplex** : *collections.abc.Sequence[float] | gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[float]] | None, optional* The initial simplex. If provided, the expected shape is `(N+1, N)` where `N` is the problem dimension. By default it is set to None. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **return_all** : *, optional* Whether to return a list of the best solution at each of the iterations. By default it is set to False. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _NLOPT_BFGS_options: NLOPT_BFGS ---------- Module: :class:`gemseo.algos.opt.nlopt.nlopt` Broyden-Fletcher-Goldfarb-Shanno method (BFGS) implemented in the NLOPT library .. code-block:: python :caption: Pydantic model of the settings for NLOPT_BFGS from gemseo.settings.opt import NLOPT_BFGS_Settings More details about the algorithm and its settings on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#low-storage-bfgs. .. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-14. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-08. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *int | None, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to None. .. raw:: html
  • **stopval** : *, optional* The objective value at which the optimization will stop. By default it is set to -inf. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-14. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-08. .. raw:: html
.. _NLOPT_BOBYQA_options: NLOPT_BOBYQA ------------ Module: :class:`gemseo.algos.opt.nlopt.nlopt` Bound Optimization BY Quadratic Approximation (BOBYQA) implemented in the NLOPT library .. code-block:: python :caption: Pydantic model of the settings for NLOPT_BOBYQA from gemseo.settings.opt import NLOPT_BOBYQA_Settings More details about the algorithm and its settings on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#bobyqa. .. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-14. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-08. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **init_step** : *typing.Union[typing.Annotated[float, Gt(gt=0)], gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[typing.Annotated[float, Gt(gt=0)]]]], optional* The initial step size for derivative-free algorithms. It can be an array of the initial steps for each dimension, or a single number if the same step will be used for all of them. For derivative-free local-optimization algorithms, the optimizer must somehow decide on some initial step size to perturb `x` by when it begins the optimization. This step size should be big enough so that the value of the objective significantly changes, but not too big if you want to find the local optimum nearest to x. By default it is set to 0.25. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *int | None, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to None. .. raw:: html
  • **stopval** : *, optional* The objective value at which the optimization will stop. By default it is set to -inf. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-14. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-08. .. raw:: html
.. _NLOPT_COBYLA_options: NLOPT_COBYLA ------------ Module: :class:`gemseo.algos.opt.nlopt.nlopt` Constrained Optimization BY Linear Approximations (COBYLA) implemented in the NLOPT library .. code-block:: python :caption: Pydantic model of the settings for NLOPT_COBYLA from gemseo.settings.opt import NLOPT_COBYLA_Settings More details about the algorithm and its settings on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#cobyla-constrained-optimization-by-linear-approximations. .. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-14. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-08. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **init_step** : *typing.Union[typing.Annotated[float, Gt(gt=0)], gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[typing.Annotated[float, Gt(gt=0)]]]], optional* The initial step size for derivative-free algorithms. It can be an array of the initial steps for each dimension, or a single number if the same step will be used for all of them. For derivative-free local-optimization algorithms, the optimizer must somehow decide on some initial step size to perturb `x` by when it begins the optimization. This step size should be big enough so that the value of the objective significantly changes, but not too big if you want to find the local optimum nearest to x. By default it is set to 0.25. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *typing.Optional[typing.Annotated[int, Ge(ge=0)]], optional* The seed for the pseudo-randomization of simplex steps. If ``None``, the seed is generated from the system time. By default it is set to 0. .. raw:: html
  • **stop_crit_n_x** : *int | None, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to None. .. raw:: html
  • **stopval** : *, optional* The objective value at which the optimization will stop. By default it is set to -inf. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-14. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-08. .. raw:: html
.. _NLOPT_MMA_options: NLOPT_MMA --------- Module: :class:`gemseo.algos.opt.nlopt.nlopt` Method of Moving Asymptotes (MMA)implemented in the NLOPT library .. code-block:: python :caption: Pydantic model of the settings for NLOPT_MMA from gemseo.settings.opt import NLOPT_MMA_Settings More details about the algorithm and its settings on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#mma-method-of-moving-asymptotes-and-ccsa. .. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-14. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-08. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **inner_maxeval** : *, optional* The maximum number of inner iterations of the algorithm. The value 0 means that there is no limit. By default it is set to 0. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *int | None, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to None. .. raw:: html
  • **stopval** : *, optional* The objective value at which the optimization will stop. By default it is set to -inf. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-14. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-08. .. raw:: html
.. _NLOPT_NEWUOA_options: NLOPT_NEWUOA ------------ Module: :class:`gemseo.algos.opt.nlopt.nlopt` NEWUOA + bound constraints implemented in the NLOPT library .. code-block:: python :caption: Pydantic model of the settings for NLOPT_NEWUOA from gemseo.settings.opt import NLOPT_NEWUOA_Settings More details about the algorithm and its settings on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#newuoa-bound-constraints. .. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-14. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-08. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **init_step** : *typing.Union[typing.Annotated[float, Gt(gt=0)], gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[typing.Annotated[float, Gt(gt=0)]]]], optional* The initial step size for derivative-free algorithms. It can be an array of the initial steps for each dimension, or a single number if the same step will be used for all of them. For derivative-free local-optimization algorithms, the optimizer must somehow decide on some initial step size to perturb `x` by when it begins the optimization. This step size should be big enough so that the value of the objective significantly changes, but not too big if you want to find the local optimum nearest to x. By default it is set to 0.25. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *int | None, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to None. .. raw:: html
  • **stopval** : *, optional* The objective value at which the optimization will stop. By default it is set to -inf. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-14. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-08. .. raw:: html
.. _NLOPT_SLSQP_options: NLOPT_SLSQP ----------- Module: :class:`gemseo.algos.opt.nlopt.nlopt` Sequential Least-Squares Quadratic Programming (SLSQP) implemented in the NLOPT library .. code-block:: python :caption: Pydantic model of the settings for NLOPT_SLSQP from gemseo.settings.opt import NLOPT_SLSQP_Settings More details about the algorithm and its settings on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#slsqp. .. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-14. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-08. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *int | None, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to None. .. raw:: html
  • **stopval** : *, optional* The objective value at which the optimization will stop. By default it is set to -inf. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-14. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-08. .. raw:: html
.. _PDFO_BOBYQA_options: PDFO_BOBYQA ----------- .. note:: The plugin `gemseo_pdfo `_ is required. Module: :class:`gemseo_pdfo.pdfo` Bound Optimization By Quadratic Approximation More details about the algorithm and its settings on https://www.pdfo.net/. .. raw:: html
Optional settings
  • **chkfunval** : *, optional* A flag used when debugging. If both ``debug`` and ``chkfunval`` are ``True``, an extra function/constraint evaluation is performed to check whether the returned values of the objective function and constraint match the returned x. By default it is set to False. .. raw:: html
  • **classical** : *, optional* The flag indicating whether to call the classical Powell code or not. By default it is set to False. .. raw:: html
  • **debug** : *, optional* The debugging flag. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **ensure_bounds** : *, optional* Whether to project the design vector onto the design space before execution. By default it is set to True. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftarget** : *, optional* The target value of the objective function. If a feasible iterate achieves an objective function value lower or equal to ``ftarget``, the algorithm stops immediately. By default it is set to -inf. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-12. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-12. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 500. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **quiet** : *, optional* The flag of quietness of the interface. If ``True``, the output message will not be printed. By default it is set to True. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **rhobeg** : *, optional* The initial value of the trust region radius. By default it is set to 0.5. .. raw:: html
  • **rhoend** : *, optional* The final value of the trust region radius. Indicates the accuracy required in the final values of the variables. By default it is set to 1e-06. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scale** : *, optional* The flag indicating whether to scale the problem according to the bound constraints. By default it is set to False. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-12. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-12. .. raw:: html
.. _PDFO_COBYLA_options: PDFO_COBYLA ----------- .. note:: The plugin `gemseo_pdfo `_ is required. Module: :class:`gemseo_pdfo.pdfo` Constrained Optimization By Linear Approximations More details about the algorithm and its settings on https://www.pdfo.net/. .. raw:: html
Optional settings
  • **chkfunval** : *, optional* A flag used when debugging. If both ``debug`` and ``chkfunval`` are ``True``, an extra function/constraint evaluation is performed to check whether the returned values of the objective function and constraint match the returned x. By default it is set to False. .. raw:: html
  • **classical** : *, optional* The flag indicating whether to call the classical Powell code or not. By default it is set to False. .. raw:: html
  • **debug** : *, optional* The debugging flag. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **ensure_bounds** : *, optional* Whether to project the design vector onto the design space before execution. By default it is set to True. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftarget** : *, optional* The target value of the objective function. If a feasible iterate achieves an objective function value lower or equal to ``ftarget``, the algorithm stops immediately. By default it is set to -inf. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-12. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-12. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 500. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **quiet** : *, optional* The flag of quietness of the interface. If ``True``, the output message will not be printed. By default it is set to True. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **rhobeg** : *, optional* The initial value of the trust region radius. By default it is set to 0.5. .. raw:: html
  • **rhoend** : *, optional* The final value of the trust region radius. Indicates the accuracy required in the final values of the variables. By default it is set to 1e-06. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scale** : *, optional* The flag indicating whether to scale the problem according to the bound constraints. By default it is set to False. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-12. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-12. .. raw:: html
.. _PDFO_NEWUOA_options: PDFO_NEWUOA ----------- .. note:: The plugin `gemseo_pdfo `_ is required. Module: :class:`gemseo_pdfo.pdfo` NEWUOA More details about the algorithm and its settings on https://www.pdfo.net/. .. raw:: html
Optional settings
  • **chkfunval** : *, optional* A flag used when debugging. If both ``debug`` and ``chkfunval`` are ``True``, an extra function/constraint evaluation is performed to check whether the returned values of the objective function and constraint match the returned x. By default it is set to False. .. raw:: html
  • **classical** : *, optional* The flag indicating whether to call the classical Powell code or not. By default it is set to False. .. raw:: html
  • **debug** : *, optional* The debugging flag. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **ensure_bounds** : *, optional* Whether to project the design vector onto the design space before execution. By default it is set to True. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftarget** : *, optional* The target value of the objective function. If a feasible iterate achieves an objective function value lower or equal to ``ftarget``, the algorithm stops immediately. By default it is set to -inf. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-12. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-12. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 500. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **quiet** : *, optional* The flag of quietness of the interface. If ``True``, the output message will not be printed. By default it is set to True. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **rhobeg** : *, optional* The initial value of the trust region radius. By default it is set to 0.5. .. raw:: html
  • **rhoend** : *, optional* The final value of the trust region radius. Indicates the accuracy required in the final values of the variables. By default it is set to 1e-06. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scale** : *, optional* The flag indicating whether to scale the problem according to the bound constraints. By default it is set to False. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-12. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-12. .. raw:: html
.. _PYMOO_GA_options: PYMOO_GA -------- .. note:: The plugin `gemseo_pymoo `_ is required. Module: :class:`gemseo_pymoo.algos.opt.pymoo` Genetic Algorithm (GA) implemented in the Pymoo library More details about the algorithm and its settings on https://www.pymoo.org/algorithms/soo/ga.html. .. raw:: html
Optional settings
  • **crossover** : *, optional* The crossover operator used to create offsprings. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **eliminate_duplicates** : *, optional* If True, eliminate duplicates after merging the parent and the offspring population. By default it is set to True. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The equality tolerance. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_abs** : *, optional* hv_tol_abs: A stop criterion, absolute tolerance on the hypervolume convergence check. If norm(xk-xk+1)<= hv_tol_abs: stop. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_rel** : *, optional* A stop criterion, the relative tolerance on the hypervolume convergence check. If norm(xk-xk+1)/norm(xk)<= hv_tol_rel: stop. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The inequality tolerance. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_gen** : *, optional* The maximum number of generations. By default it is set to 10000000. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 999. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **mutation** : *, optional* The mutation operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **n_offsprings** : *typing.Optional[typing.Annotated[int, Ge(ge=0)]], optional* Number of offspring that are created through mating. If None, it will be set equal to the population size. By default it is set to None. .. raw:: html
  • **n_processes** : *, optional* Number of processes for multiprocess problems. By default it is set to 1. .. raw:: html
  • **normalize_design_space** : *, optional* If True, scale the variables to the range [0, 1]. By default it is set to True. .. raw:: html
  • **pop_size** : *, optional* The population size. By default it is set to 100. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **sampling** : *typing.Any | None, optional* The sampling process that generates the initial population. If None, the algorithm's default is used By default it is set to None. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *, optional* The random seed to be used. By default it is set to 1. .. raw:: html
  • **selection** : *, optional* The mating selection operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **stop_crit_n_hv** : *, optional* The number of generations to account for during the criterion check on the hypervolume indicator. By default it is set to 5. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _PYMOO_NSGA2_options: PYMOO_NSGA2 ----------- .. note:: The plugin `gemseo_pymoo `_ is required. Module: :class:`gemseo_pymoo.algos.opt.pymoo` Non-Dominated Sorting Genetic Algorithm II (NSGA2) implemented in the Pymoo library More details about the algorithm and its settings on https://www.pymoo.org/algorithms/moo/nsga2.html. .. raw:: html
Optional settings
  • **crossover** : *, optional* The crossover operator used to create offsprings. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **eliminate_duplicates** : *, optional* If True, eliminate duplicates after merging the parent and the offspring population. By default it is set to True. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The equality tolerance. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_abs** : *, optional* hv_tol_abs: A stop criterion, absolute tolerance on the hypervolume convergence check. If norm(xk-xk+1)<= hv_tol_abs: stop. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_rel** : *, optional* A stop criterion, the relative tolerance on the hypervolume convergence check. If norm(xk-xk+1)/norm(xk)<= hv_tol_rel: stop. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The inequality tolerance. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_gen** : *, optional* The maximum number of generations. By default it is set to 10000000. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 999. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **mutation** : *, optional* The mutation operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **n_offsprings** : *typing.Optional[typing.Annotated[int, Ge(ge=0)]], optional* Number of offspring that are created through mating. If None, it will be set equal to the population size. By default it is set to None. .. raw:: html
  • **n_processes** : *, optional* Number of processes for multiprocess problems. By default it is set to 1. .. raw:: html
  • **normalize_design_space** : *, optional* If True, scale the variables to the range [0, 1]. By default it is set to True. .. raw:: html
  • **pop_size** : *, optional* The population size. By default it is set to 100. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **sampling** : *typing.Any | None, optional* The sampling process that generates the initial population. If None, the algorithm's default is used By default it is set to None. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *, optional* The random seed to be used. By default it is set to 1. .. raw:: html
  • **selection** : *, optional* The mating selection operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **stop_crit_n_hv** : *, optional* The number of generations to account for during the criterion check on the hypervolume indicator. By default it is set to 5. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _PYMOO_NSGA3_options: PYMOO_NSGA3 ----------- .. note:: The plugin `gemseo_pymoo `_ is required. Module: :class:`gemseo_pymoo.algos.opt.pymoo` Non-Dominated Sorting Genetic Algorithm III (NSGA3) implemented in the Pymoo library More details about the algorithm and its settings on https://www.pymoo.org/algorithms/moo/nsga3.html. .. raw:: html
Optional settings
  • **crossover** : *, optional* The crossover operator used to create offsprings. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **eliminate_duplicates** : *, optional* If True, eliminate duplicates after merging the parent and the offspring population. By default it is set to True. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The equality tolerance. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_abs** : *, optional* hv_tol_abs: A stop criterion, absolute tolerance on the hypervolume convergence check. If norm(xk-xk+1)<= hv_tol_abs: stop. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_rel** : *, optional* A stop criterion, the relative tolerance on the hypervolume convergence check. If norm(xk-xk+1)/norm(xk)<= hv_tol_rel: stop. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The inequality tolerance. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_gen** : *, optional* The maximum number of generations. By default it is set to 10000000. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 999. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **mutation** : *, optional* The mutation operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **n_offsprings** : *typing.Optional[typing.Annotated[int, Ge(ge=0)]], optional* Number of offspring that are created through mating. If None, it will be set equal to the population size. By default it is set to None. .. raw:: html
  • **n_partitions** : *, optional* The number of gaps between two consecutive points along an objective axis. By default it is set to 20. .. raw:: html
  • **n_points** : *typing.Optional[typing.Annotated[int, Gt(gt=0)]], optional* The number of points on the unit simplex. By default it is set to None. .. raw:: html
  • **n_processes** : *, optional* Number of processes for multiprocess problems. By default it is set to 1. .. raw:: html
  • **normalize_design_space** : *, optional* If True, scale the variables to the range [0, 1]. By default it is set to True. .. raw:: html
  • **partitions** : *gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]] | None, optional* The custom partitions. By default it is set to None. .. raw:: html
  • **pop_size** : *, optional* The population size. By default it is set to 100. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **ref_dirs_name** : *gemseo_pymoo.algos.opt._base_scaled_pymoo_algorithms_settings.RefDirsNames | None* The reference directions. By default it is set to . .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **sampling** : *typing.Any | None, optional* The sampling process that generates the initial population. If None, the algorithm's default is used By default it is set to None. .. raw:: html
  • **scaling_1** : *float | None, optional* The scaling of the first simplex. By default it is set to None. .. raw:: html
  • **scaling_2** : *float | None, optional* The scaling of the second simplex. By default it is set to None. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *, optional* The random seed to be used. By default it is set to 1. .. raw:: html
  • **selection** : *, optional* The mating selection operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **stop_crit_n_hv** : *, optional* The number of generations to account for during the criterion check on the hypervolume indicator. By default it is set to 5. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _PYMOO_RNSGA3_options: PYMOO_RNSGA3 ------------ .. note:: The plugin `gemseo_pymoo `_ is required. Module: :class:`gemseo_pymoo.algos.opt.pymoo` Reference Point Based NSGA III implemented in the Pymoo library More details about the algorithm and its settings on https://www.pymoo.org/algorithms/moo/rnsga3.html. .. raw:: html
Optional settings
  • **crossover** : *, optional* The crossover operator used to create offsprings. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **eliminate_duplicates** : *, optional* If True, eliminate duplicates after merging the parent and the offspring population. By default it is set to True. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The equality tolerance. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_abs** : *, optional* hv_tol_abs: A stop criterion, absolute tolerance on the hypervolume convergence check. If norm(xk-xk+1)<= hv_tol_abs: stop. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_rel** : *, optional* A stop criterion, the relative tolerance on the hypervolume convergence check. If norm(xk-xk+1)/norm(xk)<= hv_tol_rel: stop. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The inequality tolerance. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_gen** : *, optional* The maximum number of generations. By default it is set to 10000000. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 999. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **mu** : *, optional* The scaling of the reference lines used during survival selection. By default it is set to 0.1. .. raw:: html
  • **mutation** : *, optional* The mutation operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **n_offsprings** : *typing.Optional[typing.Annotated[int, Ge(ge=0)]], optional* Number of offspring that are created through mating. If None, it will be set equal to the population size. By default it is set to None. .. raw:: html
  • **n_processes** : *, optional* Number of processes for multiprocess problems. By default it is set to 1. .. raw:: html
  • **normalize_design_space** : *, optional* If True, scale the variables to the range [0, 1]. By default it is set to True. .. raw:: html
  • **pop_per_ref_point** : *, optional* The size of the population used for each reference point. By default it is set to 1. .. raw:: html
  • **pop_size** : *, optional* The population size. By default it is set to 100. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **ref_points** : *gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]] | None, optional* The reference points (Aspiration Points) as a NumPy array where each row represents a point and each column a variable. By default it is set to None. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **sampling** : *typing.Any | None, optional* The sampling process that generates the initial population. If None, the algorithm's default is used By default it is set to None. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *, optional* The random seed to be used. By default it is set to 1. .. raw:: html
  • **selection** : *, optional* The mating selection operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **stop_crit_n_hv** : *, optional* The number of generations to account for during the criterion check on the hypervolume indicator. By default it is set to 5. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _PYMOO_UNSGA3_options: PYMOO_UNSGA3 ------------ .. note:: The plugin `gemseo_pymoo `_ is required. Module: :class:`gemseo_pymoo.algos.opt.pymoo` Unified NSGA III implemented in the Pymoo library More details about the algorithm and its settings on https://www.pymoo.org/algorithms/moo/unsga3.html. .. raw:: html
Optional settings
  • **crossover** : *, optional* The crossover operator used to create offsprings. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **eliminate_duplicates** : *, optional* If True, eliminate duplicates after merging the parent and the offspring population. By default it is set to True. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The equality tolerance. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_abs** : *, optional* hv_tol_abs: A stop criterion, absolute tolerance on the hypervolume convergence check. If norm(xk-xk+1)<= hv_tol_abs: stop. By default it is set to 1e-09. .. raw:: html
  • **hv_tol_rel** : *, optional* A stop criterion, the relative tolerance on the hypervolume convergence check. If norm(xk-xk+1)/norm(xk)<= hv_tol_rel: stop. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The inequality tolerance. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_gen** : *, optional* The maximum number of generations. By default it is set to 10000000. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 999. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **mutation** : *, optional* The mutation operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **n_offsprings** : *typing.Optional[typing.Annotated[int, Ge(ge=0)]], optional* Number of offspring that are created through mating. If None, it will be set equal to the population size. By default it is set to None. .. raw:: html
  • **n_partitions** : *, optional* The number of gaps between two consecutive points along an objective axis. By default it is set to 20. .. raw:: html
  • **n_points** : *typing.Optional[typing.Annotated[int, Gt(gt=0)]], optional* The number of points on the unit simplex. By default it is set to None. .. raw:: html
  • **n_processes** : *, optional* Number of processes for multiprocess problems. By default it is set to 1. .. raw:: html
  • **normalize_design_space** : *, optional* If True, scale the variables to the range [0, 1]. By default it is set to True. .. raw:: html
  • **partitions** : *gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]] | None, optional* The custom partitions. By default it is set to None. .. raw:: html
  • **pop_size** : *, optional* The population size. By default it is set to 100. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **ref_dirs_name** : *gemseo_pymoo.algos.opt._base_scaled_pymoo_algorithms_settings.RefDirsNames | None* The reference directions. By default it is set to . .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **sampling** : *typing.Any | None, optional* The sampling process that generates the initial population. If None, the algorithm's default is used By default it is set to None. .. raw:: html
  • **scaling_1** : *float | None, optional* The scaling of the first simplex. By default it is set to None. .. raw:: html
  • **scaling_2** : *float | None, optional* The scaling of the second simplex. By default it is set to None. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **seed** : *, optional* The random seed to be used. By default it is set to 1. .. raw:: html
  • **selection** : *, optional* The mating selection operator. If None, the algorithm's default is used. By default it is set to None. .. raw:: html
  • **stop_crit_n_hv** : *, optional* The number of generations to account for during the criterion check on the hypervolume indicator. By default it is set to 5. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _PYOPTSPARSE_SLSQP_options: PYOPTSPARSE_SLSQP ----------------- .. note:: The plugin `gemseo_pyoptsparse `_ is required. Module: :class:`gemseo_pyoptsparse.algos.opt.py_opt_sparse` Sequential Least-Squares Quadratic Programming (SLSQP) implemented in pyOptSparse library More details about the algorithm and its settings on https://mdolab-pyoptsparse.readthedocs-hosted.com. .. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-06. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-06. .. raw:: html
  • **i_file** : *, optional* Output file path By default it is set to SLSQP.out. .. raw:: html
  • **i_out** : *, optional* Output unit number By default it is set to 60. .. raw:: html
  • **i_print** : *, optional* Output Level (<0 - None, 0 - Screen, 1 - File) By default it is set to -1. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **options_file** : *str | None, optional* The file name where all options are written. By default it is set to None. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-06. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-06. .. raw:: html
.. _PYOPTSPARSE_SNOPT_options: PYOPTSPARSE_SNOPT ----------------- .. note:: The plugin `gemseo_pyoptsparse `_ is required. Module: :class:`gemseo_pyoptsparse.algos.opt.py_opt_sparse` SNOPT implemented in PyOptSparse library More details about the algorithm and its settings on https://mdolab-pyoptsparse.readthedocs-hosted.com. .. raw:: html
Optional settings
  • **backup_basis_file** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **central_difference_interval** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **check_frequency** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **crash_option** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **crash_tolerance** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **debug_level** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **derivative_linesearch** : *dict[str, typing.Any] | None, optional* None By default it is set to None. .. raw:: html
  • **difference_interval** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **dump_file** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **elastic_mode** : *str | None, optional* None By default it is set to None. .. raw:: html
  • **elastic_weight** : *, optional* The initial elastic weight associated to the elastic mode activation. By default it is set to 10000.0. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **expand_frequency** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **factorization_frequency** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-06. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-06. .. raw:: html
  • **function_precision** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **hessian_flush** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **hessian_frequency** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **hessian_full_memory** : *dict[str, typing.Any] | None, optional* None By default it is set to None. .. raw:: html
  • **hessian_limited_memory** : *dict[str, typing.Any] | None, optional* None By default it is set to None. .. raw:: html
  • **hessian_updates** : *, optional* Iteration frequency to start again the hessian updating process By default it is set to 10. .. raw:: html
  • **i_print** : *, optional* Print file output unit By default it is set to 0. .. raw:: html
  • **i_summ** : *, optional* Summary file output unit By default it is set to 0. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **infinite_bound** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **insert_file** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **linesearch_tolerance** : *, optional* Accuracy to control a steplength with the direction of search at each iteration By default it is set to 0.9. .. raw:: html
  • **load_file** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **lu_complete_pivoting** : *dict[str, typing.Any] | None, optional* None By default it is set to None. .. raw:: html
  • **lu_factor_tolerance** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **lu_partial_pivoting** : *dict[str, typing.Any] | None, optional* None By default it is set to None. .. raw:: html
  • **lu_rook_pivoting** : *dict[str, typing.Any] | None, optional* None By default it is set to None. .. raw:: html
  • **lu_singularity_tolerance** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **lu_update_tolerance** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **major_optimality_tolerance** : *, optional* None By default it is set to 1e-06. .. raw:: html
  • **major_print_level** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **major_step_limit** : *, optional* Limitation of the change in design variables during a linesearch By default it is set to 2.0. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **minor_feasibility_tolerance** : *, optional* Fesibility tolerance of the minor problem By default it is set to 1e-06. .. raw:: html
  • **minor_iterations_limit** : *, optional* The iterations limit for the minor problem By default it is set to 10000. .. raw:: html
  • **minor_print_level** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **new_basis_file** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **new_superbasics_limit** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **nonderivative_linesearch** : *dict[str, typing.Any] | None, optional* None By default it is set to None. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **objective_row** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **old_basis_file** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **options_file** : *str | None, optional* The file name where all options are written. By default it is set to None. .. raw:: html
  • **partial_price** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **penalty_parameter** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **pivot_tolerance** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **print_file** : *, optional* None By default it is set to SNOPT_print.out. .. raw:: html
  • **print_frequency** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **proximal_iterations_limit** : *, optional* The iterations limit for solving the proximal point problem By default it is set to 10000. .. raw:: html
  • **proximal_point_method** : *, optional* The method for the proximal point procedure By default it is set to 1. .. raw:: html
  • **punch_file** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **reduced_hessian_dimension** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **save_frequency** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **save_major_iteration_variables** : *list[str], optional* The SNOPT internal variables that must be saved into the optimization database (specific to PyOptSparse wrapper). By default it is set to []. .. raw:: html
  • **scale_option** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **scale_tolerance** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **solution** : *str | None, optional* None By default it is set to None. .. raw:: html
  • **solution_file** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **start_constraint_check_at_column** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **start_objective_check_at_column** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **summary_file** : *, optional* None By default it is set to SNOPT_summary.out. .. raw:: html
  • **summary_frequency** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **superbasics_limit** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **suppress_options_listing** : *dict[str, typing.Any] | None, optional* None By default it is set to None. .. raw:: html
  • **system_information** : *str | None, optional* None By default it is set to None. .. raw:: html
  • **timing_level** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **unbounded_objective** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **unbounded_step_size** : *float | None, optional* None By default it is set to None. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **user_character_workspace** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **user_integer_workspace** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **user_real_workspace** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **verify_level** : *int | None, optional* None By default it is set to None. .. raw:: html
  • **violation_limit** : *, optional* The absolute limit on the magnitude of the maximum constraint violation after the linesearch By default it is set to 10.0. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-06. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-06. .. raw:: html
.. _SHGO_options: SHGO ---- Module: :class:`gemseo.algos.opt.scipy_global.scipy_global` Simplicial homology global optimization .. code-block:: python :caption: Pydantic model of the settings for SHGO from gemseo.settings.opt import SHGO_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.shgo.html. .. raw:: html
Optional settings
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 1e-06. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **iters** : *, optional* The number of iterations used to construct the simplicial complex. By default it is set to 1. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 9223372036854775807. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **n** : *, optional* The number of samples used to construct the simplicial complex. By default it is set to 100. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **options** : *collections.abc.Mapping[str, typing.Any], optional* The options for the local optimization algorithm. By default it is set to {}. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **sampling_method** : *, optional* The sampling method. By default it is set to simplicial. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **workers** : *, optional* The number workers to parallelize on. By default it is set to 1. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _SLSQP_options: SLSQP ----- Module: :class:`gemseo.algos.opt.scipy_local.scipy_local` Sequential Least-Squares Quadratic Programming (SLSQP) implemented in the SciPy library .. code-block:: python :caption: Pydantic model of the settings for SLSQP from gemseo.settings.opt import SLSQP_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-slsqp.html. .. raw:: html
Optional settings
  • **disp** : *, optional* Whether to print convergence messages. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 1e-06. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **iprint** : *, optional* The flag to control the frequency of output. Default is no output. By default it is set to -1. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
.. _SMT_EGO_options: SMT_EGO ------- .. note:: The plugin `gemseo_mlearning `_ is required. Module: :class:`gemseo_mlearning.algos.opt.smt.smt_ego` Efficient Global Optimization .. code-block:: python :caption: Pydantic model of the settings for SMT_EGO from gemseo_mlearning.settings.opt import SMT_EGO_Settings More details about the algorithm and its settings on https://smt.readthedocs.io/en/latest/_src_docs/applications/ego.html. .. raw:: html
Optional settings
  • **criterion** : *, optional* The acquisition criterion. By default it is set to EI. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **enable_tunneling** : *, optional* Whether to enable the penalization of points that have been already evaluated in EI criterion. By default it is set to False. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **n_doe** : *, optional* The number of points of the initial LHS DOE to train the surrogate. By default it is set to 10. .. raw:: html
  • **n_max_optim** : *, optional* The maximum number of iterations for each sub-optimization. By default it is set to 20. .. raw:: html
  • **n_parallel** : *, optional* The number of points to be acquired in parallel; if `1`, acquire points sequentially. By default it is set to 1. .. raw:: html
  • **n_start** : *, optional* The number of sub-optimizations. By default it is set to 50. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **qEI** : *, optional* The strategy to acquire points in parallel. By default it is set to KBUB. .. raw:: html
  • **random_state** : *, optional* The Numpy RandomState object or seed number which controls random draws. By default it is set to 1. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **surrogate** : *, optional* The SMT Kriging-based surrogate model used internally; either an instance of the surrogate before training or its class name. By default it is set to KRG. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
.. _Scipy_MILP_options: Scipy_MILP ---------- Module: :class:`gemseo.algos.opt.scipy_milp.scipy_milp` Mixed-integer linear programming .. code-block:: python :caption: Pydantic model of the settings for Scipy_MILP from gemseo.settings.opt import SciPyMILP_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.milp.html. .. raw:: html
Optional settings
  • **disp** : *, optional* Whether to print optimization status during optimization. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 0.01. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 0.0. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **mip_rel_gap** : *, optional* The termination criterion for MIP solver. The solver will terminate when the gap between the primal objective value and the dual objective bound, scaled by the primal objective value, is <= mip_rel_gap. By default it is set to 0.0. .. raw:: html
  • **node_limit** : *, optional* The maximum number of nodes to solve before stopping. By default it is set to 1000. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **presolve** : *, optional* Whether to perform a preliminary analysis on the problem before solving. It attempts to detect infeasibility, unboundedness or problem simplifications. By default it is set to True. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **time_limit** : *, optional* The maximum number of seconds allotted to solve the problem. By default it is set to inf. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 0.0. .. raw:: html
.. _TNC_options: TNC --- Module: :class:`gemseo.algos.opt.scipy_local.scipy_local` Truncated Newton (TNC) algorithm implemented in SciPy library .. code-block:: python :caption: Pydantic model of the settings for TNC from gemseo.settings.opt import TNC_Settings More details about the algorithm and its settings on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-tnc.html. .. raw:: html
Optional settings
  • **accuracy** : *, optional* The relative precision for finite difference calculations. By default it is set to 0.0. .. raw:: html
  • **disp** : *, optional* Whether to print convergence messages. By default it is set to False. .. raw:: html
  • **enable_progress_bar** : *bool | None, optional* Whether to enable the progress bar in the optimization log. If ``None``, use the global value of ``enable_progress_bar`` (see the ``configure`` function to change it globally). By default it is set to None. .. raw:: html
  • **eq_tolerance** : *, optional* The tolerance on the equality constraints. By default it is set to 1e-06. .. raw:: html
  • **eta** : *, optional* The severity of the line search. By default it is set to -1. .. raw:: html
  • **ftol_abs** : *, optional* The absolute tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **ftol_rel** : *, optional* The relative tolerance on the objective function. By default it is set to 1e-09. .. raw:: html
  • **gtol** : *, optional* The precision goal for the projected gradient value to stop the algorithm. By default it is set to 1e-06. .. raw:: html
  • **ineq_tolerance** : *, optional* The tolerance on the inequality constraints. By default it is set to 0.0001. .. raw:: html
  • **kkt_tol_abs** : *, optional* The absolute tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **kkt_tol_rel** : *, optional* The relative tolerance on the KKT residual norm. If ``inf`` this criterion is not activated. By default it is set to inf. .. raw:: html
  • **log_problem** : *, optional* Whether to log the definition and result of the problem. By default it is set to True. .. raw:: html
  • **max_iter** : *, optional* The maximum number of iterations. By default it is set to 1000. .. raw:: html
  • **max_time** : *, optional* The maximum runtime in seconds, disabled if 0. By default it is set to 0.0. .. raw:: html
  • **maxCGit** : *, optional* The maximum number of hessian-vector evaluations per main iteration. By default it is set to -1. .. raw:: html
  • **minfev** : *, optional* The minimum function value estimate. By default it is set to 0.0. .. raw:: html
  • **normalize_design_space** : *, optional* Whether to normalize the design space variables between 0 and 1. By default it is set to True. .. raw:: html
  • **offset** : *float | None, optional* The value to subtract from each variable. If ``None``, the offsets are (up+low)/2 for interval bounded variables and x for the others. By default it is set to None. .. raw:: html
  • **progress_bar_data_name** : *, optional* The name of a :class:`.BaseProgressBarData` class to define the data of an evaluation problem to be displayed in the progress bar. By default it is set to ProgressBarData. .. raw:: html
  • **rescale** : *, optional* The log10 scaling factor used to trigger the objectiv function rescaling. By default it is set to 1.3. .. raw:: html
  • **reset_iteration_counters** : *, optional* Whether to reset the iteration counters before each execution. By default it is set to True. .. raw:: html
  • **round_ints** : *, optional* Whether to round the integer variables. By default it is set to True. .. raw:: html
  • **scaling_threshold** : *typing.Optional[typing.Annotated[float, Ge(ge=0)]], optional* The threshold on the reference function value that triggers scaling. If ``None``, do not scale the functions. By default it is set to None. .. raw:: html
  • **stepmx** : *, optional* The maximum step for the line search (may be increased during call). By default it is set to 0.0. .. raw:: html
  • **stop_crit_n_x** : *, optional* The minimum number of design vectors to consider in the stopping criteria. By default it is set to 3. .. raw:: html
  • **store_jacobian** : *, optional* Whether to store the Jacobian matrices in the database. This argument is ignored when the ``use_database`` option is ``False``. If a gradient-based algorithm is used, this option cannot be set along with kkt options. By default it is set to True. .. raw:: html
  • **use_database** : *, optional* Whether to wrap the functions in the database. By default it is set to True. .. raw:: html
  • **use_one_line_progress_bar** : *, optional* Whether to log the progress bar on a single line. By default it is set to False. .. raw:: html
  • **xtol_abs** : *, optional* The absolute tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html
  • **xtol_rel** : *, optional* The relative tolerance on the design parameters. By default it is set to 1e-09. .. raw:: html