# Options for Optimization algorithms¶

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithms options.

**atol**(*float*)The absolute tolerance for convergence.

By default it is set to 0.0.

**eq_tolerance**(*float*)The tolerance on equality constraints.

By default it is set to 1e-06.

**ftol_abs**(*float*)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*)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*)The tolerance on inequality constraints.

By default it is set to 1e-06.

**init**(*str*)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*)The number of iterations used in the construction of the simplicial complex.

By default it is set to 1.

**local_options**(*Mapping[str,*)The options for the local optimization algorithm, only for shgo, see scipy.optimize doc.

By default it is set to None.

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

By default it is set to 999.

**n**(*int*)The number of sampling points used in the construction of the simplicial complex.

By default it is set to 100.

**niters**(*int*)The number of iterations used in the construction of the simplicial complex.

By default it is set to 1.

**normalize_design_space**(*bool*)If True, variables are scaled in [0, 1].

By default it is set to True.

**polish**(*bool*)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*)A multiplier for setting the total population size. The population has popsize * len(x) individuals.

By default it is set to 15.

**recombination**(*float*)The recombination constant.

By default it is set to 0.7.

**sampling_method**(*str*)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*)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*)The differential evolution strategy to use.

By default it is set to best1bin.

**tol**(*float*)The relative tolerance for convergence.

By default it is set to 0.01.

**updating**(*str*)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*)The number of processes for parallel execution.

By default it is set to 1.

**xtol_abs**(*float*)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*)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.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithms options.

**atol**(*float*)The absolute tolerance for convergence.

By default it is set to 0.0.

**eq_tolerance**(*float*)The tolerance on equality constraints.

By default it is set to 1e-06.

**ftol_abs**(*float*)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*)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*)The tolerance on inequality constraints.

By default it is set to 1e-06.

**init**(*str*)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*)The number of iterations used in the construction of the simplicial complex.

By default it is set to 1.

**local_options**(*Mapping[str,*)The options for the local optimization algorithm, only for shgo, see scipy.optimize doc.

By default it is set to None.

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

By default it is set to 999.

**n**(*int*)The number of sampling points used in the construction of the simplicial complex.

By default it is set to 100.

**niters**(*int*)The number of iterations used in the construction of the simplicial complex.

By default it is set to 1.

**normalize_design_space**(*bool*)If True, variables are scaled in [0, 1].

By default it is set to True.

**polish**(*bool*)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*)A multiplier for setting the total population size. The population has popsize * len(x) individuals.

By default it is set to 15.

**recombination**(*float*)The recombination constant.

By default it is set to 0.7.

**sampling_method**(*str*)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*)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*)The differential evolution strategy to use.

By default it is set to best1bin.

**tol**(*float*)The relative tolerance for convergence.

By default it is set to 0.01.

**updating**(*str*)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*)The number of processes for parallel execution.

By default it is set to 1.

**xtol_abs**(*float*)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*)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.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithm options.

**disp**(*int*)The display information flag.

By default it is set to 0.

**eq_tolerance**(*float*)The equality tolerance.

By default it is set to 0.01.

**eta**(*float*)The severity of the line search, specific to the TNC algorithm.

By default it is set to -1.0.

**factr**(*float*)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*)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*)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*)The inequality tolerance.

By default it is set to 0.0001.

**max_fun_eval**(*int*)The internal stop criteria on the number of algorithm outer iterations.

By default it is set to 999.

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

By default it is set to 999.

**max_ls_step_nb**(*int*)The maximum number of line search steps per iteration.

By default it is set to 20.

**max_ls_step_size**(*float*)The maximum step for the line search.

By default it is set to 0.0.

**max_time**(*float*)The maximum runtime in seconds, disabled if 0.

By default it is set to 0.

**maxCGit**(*int*)The maximum Conjugate Gradient internal solver iterations.

By default it is set to -1.

**maxcor**(*int*)The maximum BFGS updates.

By default it is set to 20.

**minfev**(*float*)The minimum function value estimate.

By default it is set to 0.0.

**normalize_design_space**(*int*)If True, scales variables to [0, 1].

By default it is set to True.

**offset**(*Optional[float]*)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*)A stop criteria on the projected gradient norm.

By default it is set to 1e-05.

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

By default it is set to -1.

**scale**(*Optional[float]*)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*)The maximum step for the line search.

By default it is set to 0.0.

**xtol_abs**(*float*)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*)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.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithm’s options.

**autoscale**(*bool*)If True, then the linear problem is scaled. Refer to the SciPy documentation for more details.

By default it is set to False.

**callback**(*Optional[Callable[[OptimizeResult],*)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*)Whether to print convergence messages.

By default it is set to False.

**max_iter**(*int*)The maximum number of iterations, i.e. unique calls to the objective function.

By default it is set to 999.

**normalize_design_space**(*bool*)If True, scales variables in [0, 1].

By default it is set to True.

**presolve**(*bool*)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*)If True, then linearly dependent equality-constraints are removed.

By default it is set to True.

**verbose**(*bool*)If True, then the convergence messages are printed.

By default it is set to False.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The additional algorithm-specific options.

**ctol_abs**(*float*)The absolute tolerance on the constraints.

By default it is set to 1e-06.

**eq_tolerance**(*float*)The tolerance on the equality constraints.

By default it is set to 0.01.

**ftol_abs**(*float*)The absolute tolerance on the objective function.

By default it is set to 1e-14.

**ftol_rel**(*float*)The relative tolerance on the objective function.

By default it is set to 1e-08.

**ineq_tolerance**(*float*)The tolerance on the inequality constraints.

By default it is set to 0.0001.

**init_step**(*float*)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.

**max_iter**(*int*)The maximum number of iterations.

By default it is set to 999.

**max_time**(*float*)The maximum runtime in seconds. The value 0 means no runtime limit.

By default it is set to 0.0.

**normalize_design_space**(*bool*)If True, normalize the design variables between 0 and 1.

By default it is set to True.

**stopval**(*Optional[float]*)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*)The absolute tolerance on the design parameters.

By default it is set to 1e-14.

**xtol_rel**(*float*)The relative tolerance on the design parameters.

By default it is set to 1e-08.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The additional algorithm-specific options.

**ctol_abs**(*float*)The absolute tolerance on the constraints.

By default it is set to 1e-06.

**eq_tolerance**(*float*)The tolerance on the equality constraints.

By default it is set to 0.01.

**ftol_abs**(*float*)The absolute tolerance on the objective function.

By default it is set to 1e-14.

**ftol_rel**(*float*)The relative tolerance on the objective function.

By default it is set to 1e-08.

**ineq_tolerance**(*float*)The tolerance on the inequality constraints.

By default it is set to 0.0001.

**init_step**(*float*)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.

**max_iter**(*int*)The maximum number of iterations.

By default it is set to 999.

**max_time**(*float*)The maximum runtime in seconds. The value 0 means no runtime limit.

By default it is set to 0.0.

**normalize_design_space**(*bool*)If True, normalize the design variables between 0 and 1.

By default it is set to True.

**stopval**(*Optional[float]*)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*)The absolute tolerance on the design parameters.

By default it is set to 1e-14.

**xtol_rel**(*float*)The relative tolerance on the design parameters.

By default it is set to 1e-08.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The additional algorithm-specific options.

**ctol_abs**(*float*)The absolute tolerance on the constraints.

By default it is set to 1e-06.

**eq_tolerance**(*float*)The tolerance on the equality constraints.

By default it is set to 0.01.

**ftol_abs**(*float*)The absolute tolerance on the objective function.

By default it is set to 1e-14.

**ftol_rel**(*float*)The relative tolerance on the objective function.

By default it is set to 1e-08.

**ineq_tolerance**(*float*)The tolerance on the inequality constraints.

By default it is set to 0.0001.

**init_step**(*float*)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.

**max_iter**(*int*)The maximum number of iterations.

By default it is set to 999.

**max_time**(*float*)The maximum runtime in seconds. The value 0 means no runtime limit.

By default it is set to 0.0.

**normalize_design_space**(*bool*)If True, normalize the design variables between 0 and 1.

By default it is set to True.

**stopval**(*Optional[float]*)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*)The absolute tolerance on the design parameters.

By default it is set to 1e-14.

**xtol_rel**(*float*)The relative tolerance on the design parameters.

By default it is set to 1e-08.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The additional algorithm-specific options.

**ctol_abs**(*float*)The absolute tolerance on the constraints.

By default it is set to 1e-06.

**eq_tolerance**(*float*)The tolerance on the equality constraints.

By default it is set to 0.01.

**ftol_abs**(*float*)The absolute tolerance on the objective function.

By default it is set to 1e-14.

**ftol_rel**(*float*)The relative tolerance on the objective function.

By default it is set to 1e-08.

**ineq_tolerance**(*float*)The tolerance on the inequality constraints.

By default it is set to 0.0001.

**init_step**(*float*)By default it is set to 0.25.

**max_iter**(*int*)The maximum number of iterations.

By default it is set to 999.

**max_time**(*float*)The maximum runtime in seconds. The value 0 means no runtime limit.

By default it is set to 0.0.

**normalize_design_space**(*bool*)If True, normalize the design variables between 0 and 1.

By default it is set to True.

**stopval**(*Optional[float]*)By default it is set to None.

**xtol_abs**(*float*)The absolute tolerance on the design parameters.

By default it is set to 1e-14.

**xtol_rel**(*float*)The relative tolerance on the design parameters.

By default it is set to 1e-08.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The additional algorithm-specific options.

**ctol_abs**(*float*)The absolute tolerance on the constraints.

By default it is set to 1e-06.

**eq_tolerance**(*float*)The tolerance on the equality constraints.

By default it is set to 0.01.

**ftol_abs**(*float*)The absolute tolerance on the objective function.

By default it is set to 1e-14.

**ftol_rel**(*float*)The relative tolerance on the objective function.

By default it is set to 1e-08.

**ineq_tolerance**(*float*)The tolerance on the inequality constraints.

By default it is set to 0.0001.

**init_step**(*float*)By default it is set to 0.25.

**max_iter**(*int*)The maximum number of iterations.

By default it is set to 999.

**max_time**(*float*)The maximum runtime in seconds. The value 0 means no runtime limit.

By default it is set to 0.0.

**normalize_design_space**(*bool*)If True, normalize the design variables between 0 and 1.

By default it is set to True.

**stopval**(*Optional[float]*)By default it is set to None.

**xtol_abs**(*float*)The absolute tolerance on the design parameters.

By default it is set to 1e-14.

**xtol_rel**(*float*)The relative tolerance on the design parameters.

By default it is set to 1e-08.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The additional algorithm-specific options.

**ctol_abs**(*float*)The absolute tolerance on the constraints.

By default it is set to 1e-06.

**eq_tolerance**(*float*)The tolerance on the equality constraints.

By default it is set to 0.01.

**ftol_abs**(*float*)The absolute tolerance on the objective function.

By default it is set to 1e-14.

**ftol_rel**(*float*)The relative tolerance on the objective function.

By default it is set to 1e-08.

**ineq_tolerance**(*float*)The tolerance on the inequality constraints.

By default it is set to 0.0001.

**init_step**(*float*)By default it is set to 0.25.

**max_iter**(*int*)The maximum number of iterations.

By default it is set to 999.

**max_time**(*float*)The maximum runtime in seconds. The value 0 means no runtime limit.

By default it is set to 0.0.

**normalize_design_space**(*bool*)If True, normalize the design variables between 0 and 1.

By default it is set to True.

**stopval**(*Optional[float]*)By default it is set to None.

**xtol_abs**(*float*)The absolute tolerance on the design parameters.

By default it is set to 1e-14.

**xtol_rel**(*float*)The relative tolerance on the design parameters.

By default it is set to 1e-08.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*OptionType*)The other algorithm’s options.

**chkfunval**(*bool*)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*)The flag indicating whether to call the classical Powell code or not.

By default it is set to False.

**debug**(*bool*)The debugging flag.

By default it is set to False.

**ensure_bounds**(*bool*)Whether to project the design vector onto the design space before execution.

By default it is set to True.

**ftarget**(*float*)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*)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*)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*)The maximum number of iterations.

By default it is set to 500.

**max_time**(*float*)The maximum runtime in seconds, disabled if 0.

By default it is set to 0.

**normalize_design_space**(*bool*)If True, normalize the design space.

By default it is set to True.

**quiet**(*bool*)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*)The initial value of the trust region radius.

By default it is set to 0.5.

**rhoend**(*float*)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*)The flag indicating whether to scale the problem according to the bound constraints.

By default it is set to False.

**xtol_abs**(*float*)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*)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.

## PDFO_COBYLA¶

Module: `gemseo.algos.opt.lib_pdfo`

Constrained OptimizationBy Linear Approximations

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

Here are the options available in GEMSEO:

- Options
****kwargs**(*OptionType*)The other algorithm’s options.

**chkfunval**(*bool*)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*)The flag indicating whether to call the classical Powell code or not.

By default it is set to False.

**debug**(*bool*)The debugging flag.

By default it is set to False.

**ensure_bounds**(*bool*)Whether to project the design vector onto the design space before execution.

By default it is set to True.

**ftarget**(*float*)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*)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*)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*)The maximum number of iterations.

By default it is set to 500.

**max_time**(*float*)The maximum runtime in seconds, disabled if 0.

By default it is set to 0.

**normalize_design_space**(*bool*)If True, normalize the design space.

By default it is set to True.

**quiet**(*bool*)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*)The initial value of the trust region radius.

By default it is set to 0.5.

**rhoend**(*float*)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*)The flag indicating whether to scale the problem according to the bound constraints.

By default it is set to False.

**xtol_abs**(*float*)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*)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.

## PDFO_NEWUOA¶

Module: `gemseo.algos.opt.lib_pdfo`

NEWUOA

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

Here are the options available in GEMSEO:

- Options
****kwargs**(*OptionType*)The other algorithm’s options.

**chkfunval**(*bool*)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*)The flag indicating whether to call the classical Powell code or not.

By default it is set to False.

**debug**(*bool*)The debugging flag.

By default it is set to False.

**ensure_bounds**(*bool*)Whether to project the design vector onto the design space before execution.

By default it is set to True.

**ftarget**(*float*)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*)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*)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*)The maximum number of iterations.

By default it is set to 500.

**max_time**(*float*)The maximum runtime in seconds, disabled if 0.

By default it is set to 0.

**normalize_design_space**(*bool*)If True, normalize the design space.

By default it is set to True.

**quiet**(*bool*)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*)The initial value of the trust region radius.

By default it is set to 0.5.

**rhoend**(*float*)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*)The flag indicating whether to scale the problem according to the bound constraints.

By default it is set to False.

**xtol_abs**(*float*)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*)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.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)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**(*Optional[bool]*)Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)The evaluation cost type of each function of the problem. If None, the evaluation cost types default to “Cheap”.

By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)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.

**global_phase_intensity**(*Optional[float]*)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 None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)The tolerance on the infinity-norm of the gradient (or optimal descent for constrained and multi-objective problems) at which optimization stops. If ‘gradient_tol_is_abs’ is False then the tolerance is relative to the infinity-norm of the current objectives values; otherwise the tolerance is absolute. The value 0.0 deactivate the gradient-based stopping criterion.

By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)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 False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)The maximum number of points in an evaluation batch. The (default) value 0 allows the optimizer to use any batch size.

By default it is set to 0.

**max_expensive_func_iter**(*int*)The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)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 True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)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**(*Optional[bool]*)Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)The evaluation cost type of each function of the problem. If None, the evaluation cost types default to “Cheap”.

By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)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.

**global_phase_intensity**(*Optional[float]*)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 None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)The tolerance on the infinity-norm of the gradient (or optimal descent for constrained and multi-objective problems) at which optimization stops. If ‘gradient_tol_is_abs’ is False then the tolerance is relative to the infinity-norm of the current objectives values; otherwise the tolerance is absolute. The value 0.0 deactivate the gradient-based stopping criterion.

By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)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 False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)The maximum number of points in an evaluation batch. The (default) value 0 allows the optimizer to use any batch size.

By default it is set to 0.

**max_expensive_func_iter**(*int*)The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)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 True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)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**(*Optional[bool]*)Whether to require optimization process to be reproducible using the passed seed value. Defaults to “Auto”.

By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)The evaluation cost type of each function of the problem. If None, the evaluation cost types default to “Cheap”.

By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)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.

**global_phase_intensity**(*Optional[float]*)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 None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)The tolerance on the infinity-norm of the gradient (or optimal descent for constrained and multi-objective problems) at which optimization stops. If ‘gradient_tol_is_abs’ is False then the tolerance is relative to the infinity-norm of the current objectives values; otherwise the tolerance is absolute. The value 0.0 deactivate the gradient-based stopping criterion.

By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)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 False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)The maximum number of points in an evaluation batch. The (default) value 0 allows the optimizer to use any batch size.

By default it is set to 0.

**max_expensive_func_iter**(*int*)The maximum number of evaluations for each expensive response, excluding the evaluations of initial guesses.

By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)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 True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)By default it is set to True.

**deterministic**(*Optional[bool]*)By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)By default it is set to None.

**global_phase_intensity**(*Optional[float]*)By default it is set to None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)By default it is set to False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)By default it is set to 0.

**max_expensive_func_iter**(*int*)By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)By default it is set to True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)By default it is set to True.

**deterministic**(*Optional[bool]*)By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)By default it is set to None.

**global_phase_intensity**(*Optional[float]*)By default it is set to None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)By default it is set to False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)By default it is set to 0.

**max_expensive_func_iter**(*int*)By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)By default it is set to True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)By default it is set to True.

**deterministic**(*Optional[bool]*)By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)By default it is set to None.

**global_phase_intensity**(*Optional[float]*)By default it is set to None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)By default it is set to False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)By default it is set to 0.

**max_expensive_func_iter**(*int*)By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)By default it is set to True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)By default it is set to True.

**deterministic**(*Optional[bool]*)By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)By default it is set to None.

**global_phase_intensity**(*Optional[float]*)By default it is set to None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)By default it is set to False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)By default it is set to 0.

**max_expensive_func_iter**(*int*)By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)By default it is set to True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)By default it is set to True.

**deterministic**(*Optional[bool]*)By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)By default it is set to None.

**global_phase_intensity**(*Optional[float]*)By default it is set to None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)By default it is set to False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)By default it is set to 0.

**max_expensive_func_iter**(*int*)By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)By default it is set to True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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/.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)Other driver options.

**constraints_smoothness**(*Smoothness*)The assumed smoothness of the constraints functions.

By default it is set to Auto.

**detect_nan_clusters**(*bool*)By default it is set to True.

**deterministic**(*Optional[bool]*)By default it is set to None.

**diff_scheme**(*DiffScheme*)The order of the differentiation scheme (when the analytic derivatives are unavailable).

By default it is set to Auto.

**diff_step**(*float*)The numerical differentiation step size.

By default it is set to 1.1920929e-06.

**diff_type**(*DiffType*)The strategy for differentiation (when the analytic derivatives are unavailable).

By default it is set to Auto.

**ensure_feasibility**(*bool*)Whether to restrict the evaluations of the objectives to feasible designs only.

By default it is set to False.

**evaluation_cost_type**(*Optional[Mapping[str,*)By default it is set to None.

**expensive_evaluations**(*Optional[Mapping[str,*)By default it is set to None.

**global_phase_intensity**(*Optional[float]*)By default it is set to None.

**globalization_method**(*Optional[GlobalMethod]*)The globalization method. If None, set automatically depending on the problem.

By default it is set to None.

**grad_tol**(*float*)By default it is set to 1e-05.

**grad_tol_is_abs**(*bool*)Whether ‘grad_tol’ should be regarded as an absolute tolerance. See ‘grad_tol’ for details.

By default it is set to False.

**local_search**(*bool*)By default it is set to False.

**log_level**(*LogLevel*)The minimum log level.

By default it is set to Info.

**max_batch_size**(*int*)By default it is set to 0.

**max_expensive_func_iter**(*int*)By default it is set to 0.

**max_func_iter**(*int*)The maximum number of evaluations for any response, including the evaluations of initial guesses.

By default it is set to 0.

**max_iter**(*int*)The maximum number of evaluations.

By default it is set to 99.

**max_threads**(*int*)The maximum number of parallel threads to use when solving.

By default it is set to 0.

**objectives_smoothness**(*Smoothness*)The assumed smoothness of the objective functions.

By default it is set to Auto.

**restore_analytic_func**(*bool*)By default it is set to True.

**sample_c**(*Optional[Union[List[float],List[ndarray]]]*)The constraints values at the design points of the sample.

By default it is set to None.

**sample_f**(*Optional[Union[List[float],List[ndarray]]]*)The objectives values at the design points of the sample.

By default it is set to None.

**sample_x**(*Optional[Union[List[float],List[ndarray]]]*)A sample of design points (in addition to the problem initial design).

By default it is set to None.

**seed**(*int*)The random seed for deterministic mode.

By default it is set to 100.

**surrogate_based**(*Optional[bool]*)Whether to use surrogate models. If None, set automatically depending on the problem.

By default it is set to None.

**time_limit**(*int*)The maximum allowed time to solve a problem in seconds. Defaults to 0, unlimited.

By default it is set to 0.

**verbose_log**(*bool*)Whether to enable verbose logging.

By default it is set to False.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithm’s options.

**autoscale**(*bool*)If True, then the linear problem is scaled. Refer to the SciPy documentation for more details.

By default it is set to False.

**callback**(*Optional[Callable[[OptimizeResult],*)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*)Whether to print convergence messages.

By default it is set to False.

**max_iter**(*int*)The maximum number of iterations, i.e. unique calls to the objective function.

By default it is set to 999.

**normalize_design_space**(*bool*)If True, scales variables in [0, 1].

By default it is set to True.

**presolve**(*bool*)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*)If True, then linearly dependent equality-constraints are removed.

By default it is set to True.

**verbose**(*bool*)If True, then the convergence messages are printed.

By default it is set to False.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithms options.

**atol**(*float*)The absolute tolerance for convergence.

By default it is set to 0.0.

**eq_tolerance**(*float*)The tolerance on equality constraints.

By default it is set to 1e-06.

**ftol_abs**(*float*)By default it is set to 1e-09.

**ftol_rel**(*float*)By default it is set to 1e-09.

**ineq_tolerance**(*float*)The tolerance on inequality constraints.

By default it is set to 1e-06.

**init**(*str*)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*)The number of iterations used in the construction of the simplicial complex.

By default it is set to 1.

**local_options**(*Mapping[str,*)The options for the local optimization algorithm, only for shgo, see scipy.optimize doc.

By default it is set to None.

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

By default it is set to 999.

**n**(*int*)The number of sampling points used in the construction of the simplicial complex.

By default it is set to 100.

**niters**(*int*)The number of iterations used in the construction of the simplicial complex.

By default it is set to 1.

**normalize_design_space**(*bool*)If True, variables are scaled in [0, 1].

By default it is set to True.

**polish**(*bool*)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*)A multiplier for setting the total population size. The population has popsize * len(x) individuals.

By default it is set to 15.

**recombination**(*float*)The recombination constant.

By default it is set to 0.7.

**sampling_method**(*str*)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*)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*)The differential evolution strategy to use.

By default it is set to best1bin.

**tol**(*float*)The relative tolerance for convergence.

By default it is set to 0.01.

**updating**(*str*)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*)The number of processes for parallel execution.

By default it is set to 1.

**xtol_abs**(*float*)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*)By default it is set to 1e-09.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithm’s options.

**autoscale**(*bool*)If True, then the linear problem is scaled. Refer to the SciPy documentation for more details.

By default it is set to False.

**callback**(*Optional[Callable[[OptimizeResult],*)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*)Whether to print convergence messages.

By default it is set to False.

**max_iter**(*int*)The maximum number of iterations, i.e. unique calls to the objective function.

By default it is set to 999.

**normalize_design_space**(*bool*)If True, scales variables in [0, 1].

By default it is set to True.

**presolve**(*bool*)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*)If True, then linearly dependent equality-constraints are removed.

By default it is set to True.

**verbose**(*bool*)If True, then the convergence messages are printed.

By default it is set to False.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithm options.

**disp**(*int*)The display information flag.

By default it is set to 0.

**eq_tolerance**(*float*)The equality tolerance.

By default it is set to 0.01.

**eta**(*float*)The severity of the line search, specific to the TNC algorithm.

By default it is set to -1.0.

**factr**(*float*)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*)By default it is set to 1e-09.

**ftol_rel**(*float*)By default it is set to 1e-09.

**ineq_tolerance**(*float*)The inequality tolerance.

By default it is set to 0.0001.

**max_fun_eval**(*int*)The internal stop criteria on the number of algorithm outer iterations.

By default it is set to 999.

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

By default it is set to 999.

**max_ls_step_nb**(*int*)The maximum number of line search steps per iteration.

By default it is set to 20.

**max_ls_step_size**(*float*)The maximum step for the line search.

By default it is set to 0.0.

**max_time**(*float*)The maximum runtime in seconds, disabled if 0.

By default it is set to 0.

**maxCGit**(*int*)The maximum Conjugate Gradient internal solver iterations.

By default it is set to -1.

**maxcor**(*int*)The maximum BFGS updates.

By default it is set to 20.

**minfev**(*float*)The minimum function value estimate.

By default it is set to 0.0.

**normalize_design_space**(*int*)If True, scales variables to [0, 1].

By default it is set to True.

**offset**(*Optional[float]*)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*)A stop criteria on the projected gradient norm.

By default it is set to 1e-05.

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

By default it is set to -1.

**scale**(*Optional[float]*)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*)The maximum step for the line search.

By default it is set to 0.0.

**xtol_abs**(*float*)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*)By default it is set to 1e-09.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*OptionType*)The additional options.

**ftol_abs**(*float*)By default it is set to 1e-09.

**ftol_rel**(*float*)By default it is set to 1e-09.

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

By default it is set to 999.

**max_time**(*float*)max_time: The maximum runtime in seconds, disabled if 0.

By default it is set to 0.

**normalize_design_space**(*bool*)If True, scales variables to [0, 1].

By default it is set to True.

**xtol_abs**(*float*)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*)By default it is set to 1e-09.

## 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.

Here are the options available in GEMSEO:

- Options
****kwargs**(*Any*)The other algorithm options.

**disp**(*int*)The display information flag.

By default it is set to 0.

**eq_tolerance**(*float*)The equality tolerance.

By default it is set to 0.01.

**eta**(*float*)The severity of the line search, specific to the TNC algorithm.

By default it is set to -1.0.

**factr**(*float*)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*)By default it is set to 1e-09.

**ftol_rel**(*float*)By default it is set to 1e-09.

**ineq_tolerance**(*float*)The inequality tolerance.

By default it is set to 0.0001.

**max_fun_eval**(*int*)The internal stop criteria on the number of algorithm outer iterations.

By default it is set to 999.

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

By default it is set to 999.

**max_ls_step_nb**(*int*)The maximum number of line search steps per iteration.

By default it is set to 20.

**max_ls_step_size**(*float*)The maximum step for the line search.

By default it is set to 0.0.

**max_time**(*float*)The maximum runtime in seconds, disabled if 0.

By default it is set to 0.

**maxCGit**(*int*)The maximum Conjugate Gradient internal solver iterations.

By default it is set to -1.

**maxcor**(*int*)The maximum BFGS updates.

By default it is set to 20.

**minfev**(*float*)The minimum function value estimate.

By default it is set to 0.0.

**normalize_design_space**(*int*)If True, scales variables to [0, 1].

By default it is set to True.

**offset**(*Optional[float]*)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*)A stop criteria on the projected gradient norm.

By default it is set to 1e-05.

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

By default it is set to -1.

**scale**(*Optional[float]*)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*)The maximum step for the line search.

By default it is set to 0.0.

**xtol_abs**(*float*)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*)By default it is set to 1e-09.