Optimization algorithms

Warning

Some algorithms may require the installation of GEMSEO with all its features and some others may depend on plugins.

Note

All the features of the wrapped optimization libraries may not be exposed through GEMSEO.

Algorithm
▲▼
Library
▲▼
Name in GEMSEO
▲▼
Package
▲▼
Handle equality constraints
▲▼
Handle inequality constraints
▲▼
Handle float variables
▲▼
Handle integer variables
▲▼
Handle multiobjective
▲▼
Require gradient
▲▼
Differential evolution SciPy DIFFERENTIAL_EVOLUTION gemseo
Dual annealing SciPy DUAL_ANNEALING gemseo
L-BFGS-B SciPy L-BFGS-B gemseo
Linear interior point SciPy LINEAR_INTERIOR_POINT 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
COBYLA PDFO PDFO_COBYLA gemseo
NEWUOA PDFO PDFO_NEWUOA gemseo
PSEVEN pSeven PSEVEN gemseo
Feasible direction pSeven PSEVEN_FD gemseo
MOM pSeven PSEVEN_MOM gemseo
NCG pSeven PSEVEN_NCG gemseo
NLS pSeven PSEVEN_NLS gemseo
POWELL pSeven PSEVEN_POWELL gemseo
QP pSeven PSEVEN_QP gemseo
SQ2P pSeven PSEVEN_SQ2P gemseo
SQP pSeven PSEVEN_SQP gemseo
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
Revised simplex SciPy REVISED_SIMPLEX gemseo
SHGO SciPy SHGO gemseo
Simplex SciPy SIMPLEX gemseo
SLSQP SciPy SLSQP gemseo
SNOPT SNOPT SNOPTB gemseo
TNC SciPy TNC gemseo

DIFFERENTIAL_EVOLUTION

Module: gemseo.algos.opt.lib_scipy_global

Differential Evolution algorithm

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.differential_evolution.html.

Optional parameters
  • atol : float, optional

    The absolute tolerance for convergence.

    By default it is set to 0.0.

  • eq_tolerance : float, optional

    The tolerance on equality constraints.

    By default it is set to 1e-06.

  • ftol_abs : float, optional

    A stop criteria, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criteria, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ineq_tolerance : float, optional

    The tolerance on inequality constraints.

    By default it is set to 1e-06.

  • init : str, optional

    Either the type of population initialization to be used or an array specifying the initial population.

    By default it is set to latinhypercube.

  • iters : int, optional

    The number of iterations used in the construction of the simplicial complex.

    By default it is set to 1.

  • local_options : Mapping[str, Any], optional

    The options for the local optimization algorithm, only for shgo, see scipy.optimize doc.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • n : int, optional

    The number of sampling points used in the construction of the simplicial complex.

    By default it is set to 100.

  • niters : int, optional

    The number of iterations used in the construction of the simplicial complex.

    By default it is set to 1.

  • normalize_design_space : bool, optional

    If True, variables are scaled in [0, 1].

    By default it is set to True.

  • polish : bool, optional

    Whether to use the L-BFGS-B algorithm to polish the best population member at the end.

    By default it is set to True.

  • popsize : int, optional

    A multiplier for setting the total population size. The population has popsize * len(x) individuals.

    By default it is set to 15.

  • recombination : float, optional

    The recombination constant.

    By default it is set to 0.7.

  • sampling_method : str, optional

    The method to compute the initial points. Current built in sampling method options are halton, sobol and simplicial.

    By default it is set to simplicial.

  • seed : int, optional

    The seed to be used for repeatable minimizations. If None, the numpy.random.RandomState singleton is used.

    By default it is set to 1.

  • strategy : str, optional

    The differential evolution strategy to use.

    By default it is set to best1bin.

  • tol : float, optional

    The relative tolerance for convergence.

    By default it is set to 0.01.

  • updating : str, optional

    The strategy to update the solution vector. If "immediate", the best solution vector is continuously updated within a single generation. With ‘deferred’, the best solution vector is updated once per generation. Only ‘deferred’ is compatible with parallelization, and the workers keyword can over-ride this option.

    By default it is set to immediate.

  • workers : int, optional

    The number of processes for parallel execution.

    By default it is set to 1.

  • xtol_abs : float, optional

    A stop criteria, the absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criteria, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **kwargs : Any

    The other algorithms options.

DUAL_ANNEALING

Module: gemseo.algos.opt.lib_scipy_global

Dual annealing

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.dual_annealing.html.

Optional parameters
  • atol : float, optional

    The absolute tolerance for convergence.

    By default it is set to 0.0.

  • eq_tolerance : float, optional

    The tolerance on equality constraints.

    By default it is set to 1e-06.

  • ftol_abs : float, optional

    A stop criteria, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criteria, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ineq_tolerance : float, optional

    The tolerance on inequality constraints.

    By default it is set to 1e-06.

  • init : str, optional

    Either the type of population initialization to be used or an array specifying the initial population.

    By default it is set to latinhypercube.

  • iters : int, optional

    The number of iterations used in the construction of the simplicial complex.

    By default it is set to 1.

  • local_options : Mapping[str, Any], optional

    The options for the local optimization algorithm, only for shgo, see scipy.optimize doc.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • n : int, optional

    The number of sampling points used in the construction of the simplicial complex.

    By default it is set to 100.

  • niters : int, optional

    The number of iterations used in the construction of the simplicial complex.

    By default it is set to 1.

  • normalize_design_space : bool, optional

    If True, variables are scaled in [0, 1].

    By default it is set to True.

  • polish : bool, optional

    Whether to use the L-BFGS-B algorithm to polish the best population member at the end.

    By default it is set to True.

  • popsize : int, optional

    A multiplier for setting the total population size. The population has popsize * len(x) individuals.

    By default it is set to 15.

  • recombination : float, optional

    The recombination constant.

    By default it is set to 0.7.

  • sampling_method : str, optional

    The method to compute the initial points. Current built in sampling method options are halton, sobol and simplicial.

    By default it is set to simplicial.

  • seed : int, optional

    The seed to be used for repeatable minimizations. If None, the numpy.random.RandomState singleton is used.

    By default it is set to 1.

  • strategy : str, optional

    The differential evolution strategy to use.

    By default it is set to best1bin.

  • tol : float, optional

    The relative tolerance for convergence.

    By default it is set to 0.01.

  • updating : str, optional

    The strategy to update the solution vector. If "immediate", the best solution vector is continuously updated within a single generation. With ‘deferred’, the best solution vector is updated once per generation. Only ‘deferred’ is compatible with parallelization, and the workers keyword can over-ride this option.

    By default it is set to immediate.

  • workers : int, optional

    The number of processes for parallel execution.

    By default it is set to 1.

  • xtol_abs : float, optional

    A stop criteria, the absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criteria, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **kwargs : Any

    The other algorithms options.

L-BFGS-B

Module: gemseo.algos.opt.lib_scipy

Limited-memory BFGS algorithm implemented in SciPy library

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.fmin_l_bfgs_b.html.

Optional parameters
  • disp : int, optional

    The display information flag.

    By default it is set to 0.

  • eq_tolerance : float, optional

    The equality tolerance.

    By default it is set to 0.01.

  • eta : float, optional

    The severity of the line search, specific to the TNC algorithm.

    By default it is set to -1.0.

  • factr : float, optional

    A stop criteria on the projected gradient norm, stop if max_i (grad_i)<eps_mach * factr, where eps_mach is the machine precision.

    By default it is set to 10000000.0.

  • ftol_abs : float, optional

    A stop criteria, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criteria, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ineq_tolerance : float, optional

    The inequality tolerance.

    By default it is set to 0.0001.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_fun_eval : int, optional

    The internal stop criteria on the number of algorithm outer iterations.

    By default it is set to 999.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • max_ls_step_nb : int, optional

    The maximum number of line search steps per iteration.

    By default it is set to 20.

  • max_ls_step_size : float, optional

    The maximum step for the line search.

    By default it is set to 0.0.

  • max_time : float, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.

  • maxCGit : int, optional

    The maximum Conjugate Gradient internal solver iterations.

    By default it is set to -1.

  • maxcor : int, optional

    The maximum BFGS updates.

    By default it is set to 20.

  • minfev : float, optional

    The minimum function value estimate.

    By default it is set to 0.0.

  • normalize_design_space : int, optional

    If True, scales variables to [0, 1].

    By default it is set to True.

  • offset : float | None, optional

    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.

  • pg_tol : float, optional

    A stop criteria on the projected gradient norm.

    By default it is set to 1e-05.

  • rescale : float, optional

    The scaling factor (in log10) used to trigger f value rescaling.

    By default it is set to -1.

  • scale : float | None, optional

    The scaling factor to apply to each variable. If None, the factors are up-low for interval bounded variables and 1+|x| for the others.

    By default it is set to None.

  • stepmx : float, optional

    The maximum step for the line search.

    By default it is set to 0.0.

  • xtol_abs : float, optional

    A stop criteria, absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criteria, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **kwargs : Any

    The other algorithm options.

LINEAR_INTERIOR_POINT

Module: gemseo.algos.opt.lib_scipy_linprog

Linear programming by the interior-point method implemented in the SciPy library

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.linprog-interior-point.html.

Optional parameters
  • autoscale : bool, optional

    If True, then the linear problem is scaled. Refer to the SciPy documentation for more details.

    By default it is set to False.

  • callback : Callable[[OptimizeResult], Any] | None, optional

    A function to be called at least once per iteration. Takes a scipy.optimize.OptimizeResult as single argument. If None, no function is called. Refer to the SciPy documentation for more details.

    By default it is set to None.

  • disp : bool, optional

    Whether to print convergence messages.

    By default it is set to False.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to the objective function.

    By default it is set to 999.

  • normalize_design_space : bool, optional

    If True, scales variables in [0, 1].

    By default it is set to True.

  • presolve : bool, optional

    If True, then attempt to detect infeasibility, unboundedness or problem simplifications before solving. Refer to the SciPy documentation for more details.

    By default it is set to True.

  • redundancy_removal : bool, optional

    If True, then linearly dependent equality-constraints are removed.

    By default it is set to True.

  • verbose : bool, optional

    If True, then the convergence messages are printed.

    By default it is set to False.

  • **kwargs : Any

    The other algorithm’s options.

NLOPT_BFGS

Module: gemseo.algos.opt.lib_nlopt

Broyden-Fletcher-Goldfarb-Shanno method (BFGS) implemented in the NLOPT library

More details about the algorithm and its options on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#low-storage-bfgs.

Optional parameters
  • ctol_abs : float, optional

    The absolute tolerance on the constraints.

    By default it is set to 1e-06.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • init_step : float, optional

    The initial step size for derivative-free algorithms. Increasing init_step will make the initial DOE in COBYLA take wider steps in the design variables. By default, each variable is set to x0 plus a perturbation given by 0.25*(ub_i-x0_i) for i=0, …, len(x0)-1.

    By default it is set to 0.25.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 999.

  • max_time : float, optional

    The maximum runtime in seconds. The value 0 means no runtime limit.

    By default it is set to 0.0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • stop_crit_n_x : int | None, optional

    The minimum number of design vectors to take into account in the stopping criteria.

    By default it is set to None.

  • stopval : float | None, optional

    The objective value at which the optimization will stop. Stop minimizing when an objective value \(\leq\) stopval is found, or stop maximizing when a value \(\geq\) stopval is found. If None, this termination condition will not be active.

    By default it is set to None.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    The additional algorithm-specific options.

NLOPT_BOBYQA

Module: gemseo.algos.opt.lib_nlopt

Bound Optimization BY Quadratic Approximation (BOBYQA) implemented in the NLOPT library

More details about the algorithm and its options on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#bobyqa.

Optional parameters
  • ctol_abs : float, optional

    The absolute tolerance on the constraints.

    By default it is set to 1e-06.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • init_step : float, optional

    The initial step size for derivative-free algorithms. Increasing init_step will make the initial DOE in COBYLA take wider steps in the design variables. By default, each variable is set to x0 plus a perturbation given by 0.25*(ub_i-x0_i) for i=0, …, len(x0)-1.

    By default it is set to 0.25.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 999.

  • max_time : float, optional

    The maximum runtime in seconds. The value 0 means no runtime limit.

    By default it is set to 0.0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • stop_crit_n_x : int | None, optional

    The minimum number of design vectors to take into account in the stopping criteria.

    By default it is set to None.

  • stopval : float | None, optional

    The objective value at which the optimization will stop. Stop minimizing when an objective value \(\leq\) stopval is found, or stop maximizing when a value \(\geq\) stopval is found. If None, this termination condition will not be active.

    By default it is set to None.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    The additional algorithm-specific options.

NLOPT_COBYLA

Module: gemseo.algos.opt.lib_nlopt

Constrained Optimization BY Linear Approximations (COBYLA) implemented in the NLOPT library

More details about the algorithm and its options on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#cobyla-constrained-optimization-by-linear-approximations.

Optional parameters
  • ctol_abs : float, optional

    The absolute tolerance on the constraints.

    By default it is set to 1e-06.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • init_step : float, optional

    The initial step size for derivative-free algorithms. Increasing init_step will make the initial DOE in COBYLA take wider steps in the design variables. By default, each variable is set to x0 plus a perturbation given by 0.25*(ub_i-x0_i) for i=0, …, len(x0)-1.

    By default it is set to 0.25.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 999.

  • max_time : float, optional

    The maximum runtime in seconds. The value 0 means no runtime limit.

    By default it is set to 0.0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • stop_crit_n_x : int | None, optional

    The minimum number of design vectors to take into account in the stopping criteria.

    By default it is set to None.

  • stopval : float | None, optional

    The objective value at which the optimization will stop. Stop minimizing when an objective value \(\leq\) stopval is found, or stop maximizing when a value \(\geq\) stopval is found. If None, this termination condition will not be active.

    By default it is set to None.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    The additional algorithm-specific options.

NLOPT_MMA

Module: gemseo.algos.opt.lib_nlopt

Method of Moving Asymptotes (MMA)implemented in the NLOPT library

More details about the algorithm and its options on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#mma-method-of-moving-asymptotes-and-ccsa.

Optional parameters
  • ctol_abs : float, optional

    The absolute tolerance on the constraints.

    By default it is set to 1e-06.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • init_step : float, optional

    The initial step size for derivative-free algorithms. Increasing init_step will make the initial DOE in COBYLA take wider steps in the design variables. By default, each variable is set to x0 plus a perturbation given by 0.25*(ub_i-x0_i) for i=0, …, len(x0)-1.

    By default it is set to 0.25.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 999.

  • max_time : float, optional

    The maximum runtime in seconds. The value 0 means no runtime limit.

    By default it is set to 0.0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • stop_crit_n_x : int | None, optional

    The minimum number of design vectors to take into account in the stopping criteria.

    By default it is set to None.

  • stopval : float | None, optional

    The objective value at which the optimization will stop. Stop minimizing when an objective value \(\leq\) stopval is found, or stop maximizing when a value \(\geq\) stopval is found. If None, this termination condition will not be active.

    By default it is set to None.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    The additional algorithm-specific options.

NLOPT_NEWUOA

Module: gemseo.algos.opt.lib_nlopt

NEWUOA + bound constraints implemented in the NLOPT library

More details about the algorithm and its options on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#newuoa-bound-constraints.

Optional parameters
  • ctol_abs : float, optional

    The absolute tolerance on the constraints.

    By default it is set to 1e-06.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • init_step : float, optional

    The initial step size for derivative-free algorithms. Increasing init_step will make the initial DOE in COBYLA take wider steps in the design variables. By default, each variable is set to x0 plus a perturbation given by 0.25*(ub_i-x0_i) for i=0, …, len(x0)-1.

    By default it is set to 0.25.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 999.

  • max_time : float, optional

    The maximum runtime in seconds. The value 0 means no runtime limit.

    By default it is set to 0.0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • stop_crit_n_x : int | None, optional

    The minimum number of design vectors to take into account in the stopping criteria.

    By default it is set to None.

  • stopval : float | None, optional

    The objective value at which the optimization will stop. Stop minimizing when an objective value \(\leq\) stopval is found, or stop maximizing when a value \(\geq\) stopval is found. If None, this termination condition will not be active.

    By default it is set to None.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    The additional algorithm-specific options.

NLOPT_SLSQP

Module: gemseo.algos.opt.lib_nlopt

Sequential Least-Squares Quadratic Programming (SLSQP) implemented in the NLOPT library

More details about the algorithm and its options on https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/#slsqp.

Optional parameters
  • ctol_abs : float, optional

    The absolute tolerance on the constraints.

    By default it is set to 1e-06.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • init_step : float, optional

    The initial step size for derivative-free algorithms. Increasing init_step will make the initial DOE in COBYLA take wider steps in the design variables. By default, each variable is set to x0 plus a perturbation given by 0.25*(ub_i-x0_i) for i=0, …, len(x0)-1.

    By default it is set to 0.25.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 999.

  • max_time : float, optional

    The maximum runtime in seconds. The value 0 means no runtime limit.

    By default it is set to 0.0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • stop_crit_n_x : int | None, optional

    The minimum number of design vectors to take into account in the stopping criteria.

    By default it is set to None.

  • stopval : float | None, optional

    The objective value at which the optimization will stop. Stop minimizing when an objective value \(\leq\) stopval is found, or stop maximizing when a value \(\geq\) stopval is found. If None, this termination condition will not be active.

    By default it is set to None.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    The additional algorithm-specific options.

PDFO_BOBYQA

Module: gemseo.algos.opt.lib_pdfo

Bound Optimization By Quadratic Approximation

More details about the algorithm and its options on https://www.pdfo.net/.

Optional parameters
  • chkfunval : bool, optional

    A flag used when debugging. If both options[‘debug’] and options[‘chkfunval’] are True, an extra function/constraint evaluation would be performed to check whether the returned values of the objective function and constraint match the returned x.

    By default it is set to False.

  • classical : bool, optional

    The flag indicating whether to call the classical Powell code or not.

    By default it is set to False.

  • debug : bool, optional

    The debugging flag.

    By default it is set to False.

  • ensure_bounds : bool, optional

    Whether to project the design vector onto the design space before execution.

    By default it is set to True.

  • ftarget : float, optional

    The target value of the objective function. If a feasible iterate achieves an objective function value lower or equal to options[‘ftarget’], the algorithm stops immediately.

    By default it is set to -inf.

  • ftol_abs : float, optional

    A stop criteria, absolute tolerance on the objective function, if abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-12.

  • ftol_rel : float, optional

    A stop criteria, relative tolerance on the objective function, if abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-12.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 500.

  • max_time : float, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design space.

    By default it is set to True.

  • quiet : bool, optional

    The flag of quietness of the interface. If True, the output message will not be printed.

    By default it is set to True.

  • rhobeg : float, optional

    The initial value of the trust region radius.

    By default it is set to 0.5.

  • rhoend : float, 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.

  • scale : bool, optional

    The flag indicating whether to scale the problem according to the bound constraints.

    By default it is set to False.

  • xtol_abs : float, optional

    A stop criteria, absolute tolerance on the design variables, if norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-12.

  • xtol_rel : float, optional

    A stop criteria, relative tolerance on the design variables, if norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-12.

  • **kwargs : OptionType

    The other algorithm’s options.

PDFO_COBYLA

Module: gemseo.algos.opt.lib_pdfo

Constrained Optimization By Linear Approximations

More details about the algorithm and its options on https://www.pdfo.net/.

Optional parameters
  • chkfunval : bool, optional

    A flag used when debugging. If both options[‘debug’] and options[‘chkfunval’] are True, an extra function/constraint evaluation would be performed to check whether the returned values of the objective function and constraint match the returned x.

    By default it is set to False.

  • classical : bool, optional

    The flag indicating whether to call the classical Powell code or not.

    By default it is set to False.

  • debug : bool, optional

    The debugging flag.

    By default it is set to False.

  • ensure_bounds : bool, optional

    Whether to project the design vector onto the design space before execution.

    By default it is set to True.

  • ftarget : float, optional

    The target value of the objective function. If a feasible iterate achieves an objective function value lower or equal to options[‘ftarget’], the algorithm stops immediately.

    By default it is set to -inf.

  • ftol_abs : float, optional

    A stop criteria, absolute tolerance on the objective function, if abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-12.

  • ftol_rel : float, optional

    A stop criteria, relative tolerance on the objective function, if abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-12.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 500.

  • max_time : float, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design space.

    By default it is set to True.

  • quiet : bool, optional

    The flag of quietness of the interface. If True, the output message will not be printed.

    By default it is set to True.

  • rhobeg : float, optional

    The initial value of the trust region radius.

    By default it is set to 0.5.

  • rhoend : float, 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.

  • scale : bool, optional

    The flag indicating whether to scale the problem according to the bound constraints.

    By default it is set to False.

  • xtol_abs : float, optional

    A stop criteria, absolute tolerance on the design variables, if norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-12.

  • xtol_rel : float, optional

    A stop criteria, relative tolerance on the design variables, if norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-12.

  • **kwargs : OptionType

    The other algorithm’s options.

PDFO_NEWUOA

Module: gemseo.algos.opt.lib_pdfo

NEWUOA

More details about the algorithm and its options on https://www.pdfo.net/.

Optional parameters
  • chkfunval : bool, optional

    A flag used when debugging. If both options[‘debug’] and options[‘chkfunval’] are True, an extra function/constraint evaluation would be performed to check whether the returned values of the objective function and constraint match the returned x.

    By default it is set to False.

  • classical : bool, optional

    The flag indicating whether to call the classical Powell code or not.

    By default it is set to False.

  • debug : bool, optional

    The debugging flag.

    By default it is set to False.

  • ensure_bounds : bool, optional

    Whether to project the design vector onto the design space before execution.

    By default it is set to True.

  • ftarget : float, optional

    The target value of the objective function. If a feasible iterate achieves an objective function value lower or equal to options[‘ftarget’], the algorithm stops immediately.

    By default it is set to -inf.

  • ftol_abs : float, optional

    A stop criteria, absolute tolerance on the objective function, if abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-12.

  • ftol_rel : float, optional

    A stop criteria, relative tolerance on the objective function, if abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-12.

  • max_iter : int, optional

    The maximum number of iterations.

    By default it is set to 500.

  • max_time : float, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design space.

    By default it is set to True.

  • quiet : bool, optional

    The flag of quietness of the interface. If True, the output message will not be printed.

    By default it is set to True.

  • rhobeg : float, optional

    The initial value of the trust region radius.

    By default it is set to 0.5.

  • rhoend : float, 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.

  • scale : bool, optional

    The flag indicating whether to scale the problem according to the bound constraints.

    By default it is set to False.

  • xtol_abs : float, optional

    A stop criteria, absolute tolerance on the design variables, if norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-12.

  • xtol_rel : float, optional

    A stop criteria, relative tolerance on the design variables, if norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-12.

  • **kwargs : OptionType

    The other algorithm’s options.

PSEVEN

Module: gemseo.algos.opt.lib_pseven

pSeven’s Generic Tool for Optimization (GTOpt).

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PSEVEN_FD

Module: gemseo.algos.opt.lib_pseven

pSeven’s feasible direction method.

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PSEVEN_MOM

Module: gemseo.algos.opt.lib_pseven

pSeven’s method of multipliers.

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PSEVEN_NCG

Module: gemseo.algos.opt.lib_pseven

pSeven’s nonlinear conjugate gradient method.

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PSEVEN_NLS

Module: gemseo.algos.opt.lib_pseven

pSeven’s nonlinear simplex method.

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PSEVEN_POWELL

Module: gemseo.algos.opt.lib_pseven

pSeven’s Powell conjugate direction method.

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PSEVEN_QP

Module: gemseo.algos.opt.lib_pseven

pSeven’s quadratic programming method.

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PSEVEN_SQ2P

Module: gemseo.algos.opt.lib_pseven

pSeven’s sequential quadratic constrained quadratic programming method.

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PSEVEN_SQP

Module: gemseo.algos.opt.lib_pseven

pSeven’s sequential quadratic programming method.

More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.

Optional parameters
  • constraints_smoothness : str, optional

    The assumed smoothness of the constraints functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • detect_nan_clusters : bool, optional

    Whether to detect and avoid design space areas that yield NaN values (for at least one function). This option has no effect in the absence of “expensive” functions.

    By default it is set to True.

  • deterministic : str | bool, optional

    Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

    By default it is set to Auto.

  • diff_scheme : str, optional

    The order of the differentiation scheme (when the analytic derivatives are unavailable): “FirstOrder”, “SecondOrder”, “Adaptive” or “Auto”.

    By default it is set to Auto.

  • diff_step : float, optional

    The numerical differentiation step size.

    By default it is set to 1.1920929e-06.

  • diff_type : str, optional

    The strategy for differentiation (when the analytic derivatives are unavailable): “Numerical”, “Framed” or “Auto”.

    By default it is set to Auto.

  • ensure_feasibility : bool, optional

    Whether to restrict the evaluations of the objectives to feasible designs only.

    By default it is set to False.

  • eq_tolerance : float, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • evaluation_cost_type : str | Mapping[str, str] | None, optional

    The evaluation cost type of each function of the problem: “Cheap” or “Expensive”. If a string, then the same cost type is set for all the functions. If None, the evaluation cost types are set by pSeven.

    By default it is set to None.

  • expensive_evaluations : Mapping[str, int] | None, optional

    The maximal number of expensive evaluations for each function of the problem. By default, set automatically by pSeven.

    By default it is set to None.

  • ftol_abs : float, optional

    The absolute tolerance on the objective function.

    By default it is set to 1e-14.

  • ftol_rel : float, optional

    The relative tolerance on the objective function.

    By default it is set to 1e-08.

  • global_phase_intensity : str | float, optional

    The configuration of global searching algorithms. This option has different meanings for expensive and non-expensive optimization problems. Refer to the pSeven Core API documentation. Defaults to “Auto”.

    By default it is set to Auto.

  • globalization_method : str | None, optional

    The globalization method: “RL” (random linkages), “PM” (plain multistart), or “MS” (surrogate model-based multistart) If None, set automatically by pSeven depending on the problem.

    By default it is set to None.

  • ineq_tolerance : float, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • local_search : str, optional

    Whether to force the surrogate models to explore the design space locally near the current optimum, or to disable the local search and let the surrogate models explore the whole design space.

    By default it is set to Disabled.

  • log_level : str, optional

    The minimum log level: “Debug”, “Info”, “Warn”, “Error” or “Fatal”.

    By default it is set to Error.

  • log_path : str | None, optional

    The path where to save the pSeven log. If None, the pSeven log will not be saved.

    By default it is set to None.

  • max_batch_size : int, optional

    The maximum number of points in an evaluation batch. Batches of size more than one are evaluated in parallel. The (default) value 0 allows the optimizer to use any batch size. The value 1 implements sequential evaluation.

    By default it is set to 0.

  • max_expensive_func_iter : int, optional

    The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

    By default it is set to 0.

  • max_iter : int, optional

    The maximum number of evaluations.

    By default it is set to 99.

  • max_threads : int, optional

    The maximum number of parallel threads to use when solving.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, normalize the design variables between 0 and 1.

    By default it is set to True.

  • objectives_smoothness : str, optional

    The assumed smoothness of the objective functions: “Smooth”, “Noisy” or “Auto”.

    By default it is set to Auto.

  • responses_scalability : int, optional

    The maximum number of concurrent response evaluations supported by the problem.

    By default it is set to 1.

  • restore_analytic_func : str | bool, optional

    Whether to restore the analytic forms of the linear and quadratic functions. Once the analytic forms are restored the original functions will not be evaluated anymore.

    By default it is set to Auto.

  • sample_c : list[float] | list[ndarray] | None, optional

    The constraints values at the design points of the sample.

    By default it is set to None.

  • sample_f : list[float] | list[ndarray] | None, optional

    The objectives values at the design points of the sample.

    By default it is set to None.

  • sample_x : list[float] | list[ndarray] | None, optional

    A sample of design points (in addition to the problem initial design).

    By default it is set to None.

  • seed : int, optional

    The random seed for deterministic mode.

    By default it is set to 100.

  • stop_crit_n_x : int, optional

    The number of design vectors to take into account in the stopping criteria.

    By default it is set to 3.

  • surrogate_based : bool | None, optional

    Whether to use surrogate models. If None, set automatically depending on the problem.

    By default it is set to None.

  • time_limit : int, optional

    The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

    By default it is set to 0.

  • use_gradient : bool, optional

    Whether to use the functions derivatives.

    By default it is set to True.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the evaluation of the functions.

    By default it is set to False.

  • verbose_log : bool, optional

    Whether to enable verbose logging.

    By default it is set to False.

  • xtol_abs : float, optional

    The absolute tolerance on the design parameters.

    By default it is set to 1e-14.

  • xtol_rel : float, optional

    The relative tolerance on the design parameters.

    By default it is set to 1e-08.

  • **kwargs : Any

    Other driver options.

PYMOO_GA

Note

The plugin gemseo_pymoo is required.

Module: gemseo_pymoo.algos.opt.lib_pymoo

Genetic Algorithm

More details about the algorithm and its options on https://www.pymoo.org/algorithms/soo/nonconvex/ga.html#nb-ga.

Optional parameters
  • crossover : Crossover | EvolutionaryOperatorOptionsType | None, optional

    The crossover operator used to create offsprings. If None, the algorithm’s default is used.

    By default it is set to None.

  • eliminate_duplicates : bool, optional

    If True, eliminate duplicates after merging the parent and the offspring population.

    By default it is set to True.

  • eq_tolerance : float, optional

    The equality tolerance.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    A stop criterion, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criterion, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • hv_tol_abs : float, optional

    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.

  • hv_tol_rel : float, 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.

  • ineq_tolerance : float, optional

    The inequality tolerance.

    By default it is set to 0.0001.

  • max_gen : int, optional

    The maximum number of generations.

    By default it is set to 10000000.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • mu : float, optional

    The scaling of the reference lines used during survival selection. Increasing mu will generate solutions with a larger spread.

    By default it is set to 0.1.

  • mutation : Mutation | EvolutionaryOperatorOptionsType | None, optional

    The mutation operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • n_offsprings : int | None, 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.

  • n_partitions : int, optional

    The number of gaps between two consecutive points along an objective axis.

    By default it is set to 20.

  • n_points : int | None, optional

    The number of points on the unit simplex.

    By default it is set to None.

  • normalize_design_space : bool, optional

    If True, scale the variables to the range [0, 1].

    By default it is set to True.

  • partitions : ndarray | None, optional

    The custom partitions.

    By default it is set to None.

  • pop_per_ref_point : int, optional

    The size of the population used for each reference point.

    By default it is set to 1.

  • pop_size : int, optional

    The population size.

    By default it is set to 100.

  • ref_dirs : ndarray | None, optional

    The reference directions.

    By default it is set to None.

  • ref_points : ndarray | 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.

  • sampling : Sampling | Population | EvolutionaryOperatorOptionsType | 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.

  • scaling_1 : float | None, optional

    The scaling of the first simplex.

    By default it is set to None.

  • scaling_2 : float | None, optional

    The scaling of the second simplex.

    By default it is set to None.

  • seed : int, optional

    The random seed to be used.

    By default it is set to 1.

  • selection : Selection | EvolutionaryOperatorOptionsType | None, optional

    The mating selection operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • stop_crit_n_hv : int, optional

    The number of generations to account for during the criterion check on the hypervolume indicator.

    By default it is set to 5.

  • stop_crit_n_x : int, optional

    The number of design vectors to account for during the criteria check.

    By default it is set to 3.

  • xtol_abs : float, optional

    A stop criterion, absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criterion, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **options : Any

    The other algorithm options.

PYMOO_NSGA2

Note

The plugin gemseo_pymoo is required.

Module: gemseo_pymoo.algos.opt.lib_pymoo

Non-dominated Sorting Genetic Algorithm II

More details about the algorithm and its options on https://www.pymoo.org/algorithms/moo/nsga2.html#nb-nsga2.

Optional parameters
  • crossover : Crossover | EvolutionaryOperatorOptionsType | None, optional

    The crossover operator used to create offsprings. If None, the algorithm’s default is used.

    By default it is set to None.

  • eliminate_duplicates : bool, optional

    If True, eliminate duplicates after merging the parent and the offspring population.

    By default it is set to True.

  • eq_tolerance : float, optional

    The equality tolerance.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    A stop criterion, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criterion, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • hv_tol_abs : float, optional

    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.

  • hv_tol_rel : float, 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.

  • ineq_tolerance : float, optional

    The inequality tolerance.

    By default it is set to 0.0001.

  • max_gen : int, optional

    The maximum number of generations.

    By default it is set to 10000000.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • mu : float, optional

    The scaling of the reference lines used during survival selection. Increasing mu will generate solutions with a larger spread.

    By default it is set to 0.1.

  • mutation : Mutation | EvolutionaryOperatorOptionsType | None, optional

    The mutation operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • n_offsprings : int | None, 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.

  • n_partitions : int, optional

    The number of gaps between two consecutive points along an objective axis.

    By default it is set to 20.

  • n_points : int | None, optional

    The number of points on the unit simplex.

    By default it is set to None.

  • normalize_design_space : bool, optional

    If True, scale the variables to the range [0, 1].

    By default it is set to True.

  • partitions : ndarray | None, optional

    The custom partitions.

    By default it is set to None.

  • pop_per_ref_point : int, optional

    The size of the population used for each reference point.

    By default it is set to 1.

  • pop_size : int, optional

    The population size.

    By default it is set to 100.

  • ref_dirs : ndarray | None, optional

    The reference directions.

    By default it is set to None.

  • ref_points : ndarray | 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.

  • sampling : Sampling | Population | EvolutionaryOperatorOptionsType | 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.

  • scaling_1 : float | None, optional

    The scaling of the first simplex.

    By default it is set to None.

  • scaling_2 : float | None, optional

    The scaling of the second simplex.

    By default it is set to None.

  • seed : int, optional

    The random seed to be used.

    By default it is set to 1.

  • selection : Selection | EvolutionaryOperatorOptionsType | None, optional

    The mating selection operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • stop_crit_n_hv : int, optional

    The number of generations to account for during the criterion check on the hypervolume indicator.

    By default it is set to 5.

  • stop_crit_n_x : int, optional

    The number of design vectors to account for during the criteria check.

    By default it is set to 3.

  • xtol_abs : float, optional

    A stop criterion, absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criterion, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **options : Any

    The other algorithm options.

PYMOO_NSGA3

Note

The plugin gemseo_pymoo is required.

Module: gemseo_pymoo.algos.opt.lib_pymoo

Non-dominated Sorting Genetic Algorithm III

More details about the algorithm and its options on https://www.pymoo.org/algorithms/moo/nsga3.html#nb-nsga3.

Optional parameters
  • crossover : Crossover | EvolutionaryOperatorOptionsType | None, optional

    The crossover operator used to create offsprings. If None, the algorithm’s default is used.

    By default it is set to None.

  • eliminate_duplicates : bool, optional

    If True, eliminate duplicates after merging the parent and the offspring population.

    By default it is set to True.

  • eq_tolerance : float, optional

    The equality tolerance.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    A stop criterion, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criterion, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • hv_tol_abs : float, optional

    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.

  • hv_tol_rel : float, 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.

  • ineq_tolerance : float, optional

    The inequality tolerance.

    By default it is set to 0.0001.

  • max_gen : int, optional

    The maximum number of generations.

    By default it is set to 10000000.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • mu : float, optional

    The scaling of the reference lines used during survival selection. Increasing mu will generate solutions with a larger spread.

    By default it is set to 0.1.

  • mutation : Mutation | EvolutionaryOperatorOptionsType | None, optional

    The mutation operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • n_offsprings : int | None, 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.

  • n_partitions : int, optional

    The number of gaps between two consecutive points along an objective axis.

    By default it is set to 20.

  • n_points : int | None, optional

    The number of points on the unit simplex.

    By default it is set to None.

  • normalize_design_space : bool, optional

    If True, scale the variables to the range [0, 1].

    By default it is set to True.

  • partitions : ndarray | None, optional

    The custom partitions.

    By default it is set to None.

  • pop_per_ref_point : int, optional

    The size of the population used for each reference point.

    By default it is set to 1.

  • pop_size : int, optional

    The population size.

    By default it is set to 100.

  • ref_dirs : ndarray | None, optional

    The reference directions.

    By default it is set to None.

  • ref_points : ndarray | 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.

  • sampling : Sampling | Population | EvolutionaryOperatorOptionsType | 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.

  • scaling_1 : float | None, optional

    The scaling of the first simplex.

    By default it is set to None.

  • scaling_2 : float | None, optional

    The scaling of the second simplex.

    By default it is set to None.

  • seed : int, optional

    The random seed to be used.

    By default it is set to 1.

  • selection : Selection | EvolutionaryOperatorOptionsType | None, optional

    The mating selection operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • stop_crit_n_hv : int, optional

    The number of generations to account for during the criterion check on the hypervolume indicator.

    By default it is set to 5.

  • stop_crit_n_x : int, optional

    The number of design vectors to account for during the criteria check.

    By default it is set to 3.

  • xtol_abs : float, optional

    A stop criterion, absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criterion, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **options : Any

    The other algorithm options.

PYMOO_RNSGA3

Note

The plugin gemseo_pymoo is required.

Module: gemseo_pymoo.algos.opt.lib_pymoo

Reference Point Based NSGA3

More details about the algorithm and its options on https://www.pymoo.org/algorithms/moo/rnsga3.html#nb-rnsga3.

Optional parameters
  • crossover : Crossover | EvolutionaryOperatorOptionsType | None, optional

    The crossover operator used to create offsprings. If None, the algorithm’s default is used.

    By default it is set to None.

  • eliminate_duplicates : bool, optional

    If True, eliminate duplicates after merging the parent and the offspring population.

    By default it is set to True.

  • eq_tolerance : float, optional

    The equality tolerance.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    A stop criterion, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criterion, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • hv_tol_abs : float, optional

    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.

  • hv_tol_rel : float, 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.

  • ineq_tolerance : float, optional

    The inequality tolerance.

    By default it is set to 0.0001.

  • max_gen : int, optional

    The maximum number of generations.

    By default it is set to 10000000.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • mu : float, optional

    The scaling of the reference lines used during survival selection. Increasing mu will generate solutions with a larger spread.

    By default it is set to 0.1.

  • mutation : Mutation | EvolutionaryOperatorOptionsType | None, optional

    The mutation operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • n_offsprings : int | None, 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.

  • n_partitions : int, optional

    The number of gaps between two consecutive points along an objective axis.

    By default it is set to 20.

  • n_points : int | None, optional

    The number of points on the unit simplex.

    By default it is set to None.

  • normalize_design_space : bool, optional

    If True, scale the variables to the range [0, 1].

    By default it is set to True.

  • partitions : ndarray | None, optional

    The custom partitions.

    By default it is set to None.

  • pop_per_ref_point : int, optional

    The size of the population used for each reference point.

    By default it is set to 1.

  • pop_size : int, optional

    The population size.

    By default it is set to 100.

  • ref_dirs : ndarray | None, optional

    The reference directions.

    By default it is set to None.

  • ref_points : ndarray | 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.

  • sampling : Sampling | Population | EvolutionaryOperatorOptionsType | 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.

  • scaling_1 : float | None, optional

    The scaling of the first simplex.

    By default it is set to None.

  • scaling_2 : float | None, optional

    The scaling of the second simplex.

    By default it is set to None.

  • seed : int, optional

    The random seed to be used.

    By default it is set to 1.

  • selection : Selection | EvolutionaryOperatorOptionsType | None, optional

    The mating selection operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • stop_crit_n_hv : int, optional

    The number of generations to account for during the criterion check on the hypervolume indicator.

    By default it is set to 5.

  • stop_crit_n_x : int, optional

    The number of design vectors to account for during the criteria check.

    By default it is set to 3.

  • xtol_abs : float, optional

    A stop criterion, absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criterion, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **options : Any

    The other algorithm options.

PYMOO_UNSGA3

Note

The plugin gemseo_pymoo is required.

Module: gemseo_pymoo.algos.opt.lib_pymoo

Unified NSGA3

More details about the algorithm and its options on https://www.pymoo.org/algorithms/moo/unsga3.html#nb-unsga3.

Optional parameters
  • crossover : Crossover | EvolutionaryOperatorOptionsType | None, optional

    The crossover operator used to create offsprings. If None, the algorithm’s default is used.

    By default it is set to None.

  • eliminate_duplicates : bool, optional

    If True, eliminate duplicates after merging the parent and the offspring population.

    By default it is set to True.

  • eq_tolerance : float, optional

    The equality tolerance.

    By default it is set to 0.01.

  • ftol_abs : float, optional

    A stop criterion, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criterion, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • hv_tol_abs : float, optional

    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.

  • hv_tol_rel : float, 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.

  • ineq_tolerance : float, optional

    The inequality tolerance.

    By default it is set to 0.0001.

  • max_gen : int, optional

    The maximum number of generations.

    By default it is set to 10000000.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • mu : float, optional

    The scaling of the reference lines used during survival selection. Increasing mu will generate solutions with a larger spread.

    By default it is set to 0.1.

  • mutation : Mutation | EvolutionaryOperatorOptionsType | None, optional

    The mutation operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • n_offsprings : int | None, 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.

  • n_partitions : int, optional

    The number of gaps between two consecutive points along an objective axis.

    By default it is set to 20.

  • n_points : int | None, optional

    The number of points on the unit simplex.

    By default it is set to None.

  • normalize_design_space : bool, optional

    If True, scale the variables to the range [0, 1].

    By default it is set to True.

  • partitions : ndarray | None, optional

    The custom partitions.

    By default it is set to None.

  • pop_per_ref_point : int, optional

    The size of the population used for each reference point.

    By default it is set to 1.

  • pop_size : int, optional

    The population size.

    By default it is set to 100.

  • ref_dirs : ndarray | None, optional

    The reference directions.

    By default it is set to None.

  • ref_points : ndarray | 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.

  • sampling : Sampling | Population | EvolutionaryOperatorOptionsType | 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.

  • scaling_1 : float | None, optional

    The scaling of the first simplex.

    By default it is set to None.

  • scaling_2 : float | None, optional

    The scaling of the second simplex.

    By default it is set to None.

  • seed : int, optional

    The random seed to be used.

    By default it is set to 1.

  • selection : Selection | EvolutionaryOperatorOptionsType | None, optional

    The mating selection operator. If None, the algorithm’s default is used.

    By default it is set to None.

  • stop_crit_n_hv : int, optional

    The number of generations to account for during the criterion check on the hypervolume indicator.

    By default it is set to 5.

  • stop_crit_n_x : int, optional

    The number of design vectors to account for during the criteria check.

    By default it is set to 3.

  • xtol_abs : float, optional

    A stop criterion, absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criterion, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **options : Any

    The other algorithm options.

REVISED_SIMPLEX

Module: gemseo.algos.opt.lib_scipy_linprog

Linear programming by a two-phase revised simplex algorithm implemented in the SciPy library

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.linprog-revised_simplex.html.

Optional parameters
  • autoscale : bool, optional

    If True, then the linear problem is scaled. Refer to the SciPy documentation for more details.

    By default it is set to False.

  • callback : Callable[[OptimizeResult], Any] | None, optional

    A function to be called at least once per iteration. Takes a scipy.optimize.OptimizeResult as single argument. If None, no function is called. Refer to the SciPy documentation for more details.

    By default it is set to None.

  • disp : bool, optional

    Whether to print convergence messages.

    By default it is set to False.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to the objective function.

    By default it is set to 999.

  • normalize_design_space : bool, optional

    If True, scales variables in [0, 1].

    By default it is set to True.

  • presolve : bool, optional

    If True, then attempt to detect infeasibility, unboundedness or problem simplifications before solving. Refer to the SciPy documentation for more details.

    By default it is set to True.

  • redundancy_removal : bool, optional

    If True, then linearly dependent equality-constraints are removed.

    By default it is set to True.

  • verbose : bool, optional

    If True, then the convergence messages are printed.

    By default it is set to False.

  • **kwargs : Any

    The other algorithm’s options.

SHGO

Module: gemseo.algos.opt.lib_scipy_global

Simplicial homology global optimization

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.shgo.html.

Optional parameters
  • atol : float, optional

    The absolute tolerance for convergence.

    By default it is set to 0.0.

  • eq_tolerance : float, optional

    The tolerance on equality constraints.

    By default it is set to 1e-06.

  • ftol_abs : float, optional

    A stop criteria, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criteria, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ineq_tolerance : float, optional

    The tolerance on inequality constraints.

    By default it is set to 1e-06.

  • init : str, optional

    Either the type of population initialization to be used or an array specifying the initial population.

    By default it is set to latinhypercube.

  • iters : int, optional

    The number of iterations used in the construction of the simplicial complex.

    By default it is set to 1.

  • local_options : Mapping[str, Any], optional

    The options for the local optimization algorithm, only for shgo, see scipy.optimize doc.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • n : int, optional

    The number of sampling points used in the construction of the simplicial complex.

    By default it is set to 100.

  • niters : int, optional

    The number of iterations used in the construction of the simplicial complex.

    By default it is set to 1.

  • normalize_design_space : bool, optional

    If True, variables are scaled in [0, 1].

    By default it is set to True.

  • polish : bool, optional

    Whether to use the L-BFGS-B algorithm to polish the best population member at the end.

    By default it is set to True.

  • popsize : int, optional

    A multiplier for setting the total population size. The population has popsize * len(x) individuals.

    By default it is set to 15.

  • recombination : float, optional

    The recombination constant.

    By default it is set to 0.7.

  • sampling_method : str, optional

    The method to compute the initial points. Current built in sampling method options are halton, sobol and simplicial.

    By default it is set to simplicial.

  • seed : int, optional

    The seed to be used for repeatable minimizations. If None, the numpy.random.RandomState singleton is used.

    By default it is set to 1.

  • strategy : str, optional

    The differential evolution strategy to use.

    By default it is set to best1bin.

  • tol : float, optional

    The relative tolerance for convergence.

    By default it is set to 0.01.

  • updating : str, optional

    The strategy to update the solution vector. If "immediate", the best solution vector is continuously updated within a single generation. With ‘deferred’, the best solution vector is updated once per generation. Only ‘deferred’ is compatible with parallelization, and the workers keyword can over-ride this option.

    By default it is set to immediate.

  • workers : int, optional

    The number of processes for parallel execution.

    By default it is set to 1.

  • xtol_abs : float, optional

    A stop criteria, the absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criteria, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **kwargs : Any

    The other algorithms options.

SIMPLEX

Module: gemseo.algos.opt.lib_scipy_linprog

Linear programming by the two-phase simplex algorithm implemented in the SciPy library

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.linprog-simplex.html.

Optional parameters
  • autoscale : bool, optional

    If True, then the linear problem is scaled. Refer to the SciPy documentation for more details.

    By default it is set to False.

  • callback : Callable[[OptimizeResult], Any] | None, optional

    A function to be called at least once per iteration. Takes a scipy.optimize.OptimizeResult as single argument. If None, no function is called. Refer to the SciPy documentation for more details.

    By default it is set to None.

  • disp : bool, optional

    Whether to print convergence messages.

    By default it is set to False.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to the objective function.

    By default it is set to 999.

  • normalize_design_space : bool, optional

    If True, scales variables in [0, 1].

    By default it is set to True.

  • presolve : bool, optional

    If True, then attempt to detect infeasibility, unboundedness or problem simplifications before solving. Refer to the SciPy documentation for more details.

    By default it is set to True.

  • redundancy_removal : bool, optional

    If True, then linearly dependent equality-constraints are removed.

    By default it is set to True.

  • verbose : bool, optional

    If True, then the convergence messages are printed.

    By default it is set to False.

  • **kwargs : Any

    The other algorithm’s options.

SLSQP

Module: gemseo.algos.opt.lib_scipy

Sequential Least-Squares Quadratic Programming (SLSQP) implemented in the SciPy library

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-slsqp.html.

Optional parameters
  • disp : int, optional

    The display information flag.

    By default it is set to 0.

  • eq_tolerance : float, optional

    The equality tolerance.

    By default it is set to 0.01.

  • eta : float, optional

    The severity of the line search, specific to the TNC algorithm.

    By default it is set to -1.0.

  • factr : float, optional

    A stop criteria on the projected gradient norm, stop if max_i (grad_i)<eps_mach * factr, where eps_mach is the machine precision.

    By default it is set to 10000000.0.

  • ftol_abs : float, optional

    A stop criteria, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criteria, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ineq_tolerance : float, optional

    The inequality tolerance.

    By default it is set to 0.0001.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_fun_eval : int, optional

    The internal stop criteria on the number of algorithm outer iterations.

    By default it is set to 999.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • max_ls_step_nb : int, optional

    The maximum number of line search steps per iteration.

    By default it is set to 20.

  • max_ls_step_size : float, optional

    The maximum step for the line search.

    By default it is set to 0.0.

  • max_time : float, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.

  • maxCGit : int, optional

    The maximum Conjugate Gradient internal solver iterations.

    By default it is set to -1.

  • maxcor : int, optional

    The maximum BFGS updates.

    By default it is set to 20.

  • minfev : float, optional

    The minimum function value estimate.

    By default it is set to 0.0.

  • normalize_design_space : int, optional

    If True, scales variables to [0, 1].

    By default it is set to True.

  • offset : float | None, optional

    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.

  • pg_tol : float, optional

    A stop criteria on the projected gradient norm.

    By default it is set to 1e-05.

  • rescale : float, optional

    The scaling factor (in log10) used to trigger f value rescaling.

    By default it is set to -1.

  • scale : float | None, optional

    The scaling factor to apply to each variable. If None, the factors are up-low for interval bounded variables and 1+|x| for the others.

    By default it is set to None.

  • stepmx : float, optional

    The maximum step for the line search.

    By default it is set to 0.0.

  • xtol_abs : float, optional

    A stop criteria, absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criteria, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **kwargs : Any

    The other algorithm options.

SNOPTB

Module: gemseo.algos.opt.lib_snopt

Sparse Nonlinear OPTimizer (SNOPT)

More details about the algorithm and its options on https://ccom.ucsd.edu/~optimizers.

Optional parameters
  • ftol_abs : float, optional

    A stop criteria, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criteria, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • max_time : float, optional

    max_time: The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.

  • normalize_design_space : bool, optional

    If True, scales variables to [0, 1].

    By default it is set to True.

  • xtol_abs : float, optional

    A stop criteria, the absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criteria, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **kwargs : OptionType

    The additional options.

TNC

Module: gemseo.algos.opt.lib_scipy

Truncated Newton (TNC) algorithm implemented in SciPy library

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-tnc.html.

Optional parameters
  • disp : int, optional

    The display information flag.

    By default it is set to 0.

  • eq_tolerance : float, optional

    The equality tolerance.

    By default it is set to 0.01.

  • eta : float, optional

    The severity of the line search, specific to the TNC algorithm.

    By default it is set to -1.0.

  • factr : float, optional

    A stop criteria on the projected gradient norm, stop if max_i (grad_i)<eps_mach * factr, where eps_mach is the machine precision.

    By default it is set to 10000000.0.

  • ftol_abs : float, optional

    A stop criteria, the absolute tolerance on the objective function. If abs(f(xk)-f(xk+1))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ftol_rel : float, optional

    A stop criteria, the relative tolerance on the objective function. If abs(f(xk)-f(xk+1))/abs(f(xk))<= ftol_rel: stop.

    By default it is set to 1e-09.

  • ineq_tolerance : float, optional

    The inequality tolerance.

    By default it is set to 0.0001.

  • kkt_tol_abs : float | None, optional

    The absolute tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • kkt_tol_rel : float | None, optional

    The relative tolerance on the KKT residual norm. If None this criterion is not activated.

    By default it is set to None.

  • max_fun_eval : int, optional

    The internal stop criteria on the number of algorithm outer iterations.

    By default it is set to 999.

  • max_iter : int, optional

    The maximum number of iterations, i.e. unique calls to f(x).

    By default it is set to 999.

  • max_ls_step_nb : int, optional

    The maximum number of line search steps per iteration.

    By default it is set to 20.

  • max_ls_step_size : float, optional

    The maximum step for the line search.

    By default it is set to 0.0.

  • max_time : float, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.

  • maxCGit : int, optional

    The maximum Conjugate Gradient internal solver iterations.

    By default it is set to -1.

  • maxcor : int, optional

    The maximum BFGS updates.

    By default it is set to 20.

  • minfev : float, optional

    The minimum function value estimate.

    By default it is set to 0.0.

  • normalize_design_space : int, optional

    If True, scales variables to [0, 1].

    By default it is set to True.

  • offset : float | None, optional

    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.

  • pg_tol : float, optional

    A stop criteria on the projected gradient norm.

    By default it is set to 1e-05.

  • rescale : float, optional

    The scaling factor (in log10) used to trigger f value rescaling.

    By default it is set to -1.

  • scale : float | None, optional

    The scaling factor to apply to each variable. If None, the factors are up-low for interval bounded variables and 1+|x| for the others.

    By default it is set to None.

  • stepmx : float, optional

    The maximum step for the line search.

    By default it is set to 0.0.

  • xtol_abs : float, optional

    A stop criteria, absolute tolerance on the design variables. If norm(xk-xk+1)<= xtol_abs: stop.

    By default it is set to 1e-09.

  • xtol_rel : float, optional

    A stop criteria, the relative tolerance on the design variables. If norm(xk-xk+1)/norm(xk)<= xtol_rel: stop.

    By default it is set to 1e-09.

  • **kwargs : Any

    The other algorithm options.