Optimization algorithms¶
Warning
Some capabilities may require the installation of GEMSEO with all its features and some others may depend on plugins.
Note
All the features of the wrapped 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 ▲▼ |
---|---|---|---|---|---|---|---|---|---|
Augmented_Lagrangian_order_0 | Augmented_Lagrangian_order_0 | gemseo | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | |
Augmented_Lagrangian_order_1 | Augmented_Lagrangian_order_1 | gemseo | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | |
Differential evolution | SciPy | DIFFERENTIAL_EVOLUTION | gemseo | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
Dual annealing | SciPy | DUAL_ANNEALING | gemseo | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ |
HiGHS | SciPy | HIGHS | gemseo | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
Dual simplex | SciPy | HIGHS_DUAL_SIMPLEX | gemseo | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
Interior point method | SciPy | HIGHS_INTERIOR_POINT | gemseo | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
L-BFGS-B | SciPy | L-BFGS-B | gemseo | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ |
Linear interior point | SciPy | LINEAR_INTERIOR_POINT | gemseo | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
MMA | MMA | MMA | gemseo_mma | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ |
mNBI | MNBI | MNBI | gemseo | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
NELDER-MEAD | SciPy | NELDER-MEAD | gemseo | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
BFGS | NLopt | NLOPT_BFGS | gemseo | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ |
BOBYQA | NLopt | NLOPT_BOBYQA | gemseo | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
COBYLA | NLopt | NLOPT_COBYLA | gemseo | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
MMA | NLopt | NLOPT_MMA | gemseo | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ |
NEWUOA | NLopt | NLOPT_NEWUOA | gemseo | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
SLSQP | NLopt | NLOPT_SLSQP | gemseo | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |
BOBYQA | PDFO | PDFO_BOBYQA | gemseo_pdfo | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
COBYLA | PDFO | PDFO_COBYLA | gemseo_pdfo | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
NEWUOA | PDFO | PDFO_NEWUOA | gemseo_pdfo | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
PSEVEN | pSeven | PSEVEN | gemseo_pseven | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
Feasible direction | pSeven | PSEVEN_FD | gemseo_pseven | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
MOM | pSeven | PSEVEN_MOM | gemseo_pseven | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
NCG | pSeven | PSEVEN_NCG | gemseo_pseven | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
NLS | pSeven | PSEVEN_NLS | gemseo_pseven | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
POWELL | pSeven | PSEVEN_POWELL | gemseo_pseven | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
QP | pSeven | PSEVEN_QP | gemseo_pseven | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
SQ2P | pSeven | PSEVEN_SQ2P | gemseo_pseven | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
SQP | pSeven | PSEVEN_SQP | gemseo_pseven | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
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 | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |
Branch & Cut algorithm | SciPy | Scipy_MILP | gemseo | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
TNC | SciPy | TNC | gemseo | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ |
Augmented_Lagrangian_order_0¶
Module: gemseo.algos.opt.augmented_lagrangian.order_0
Augmented Lagrangian algorithm for gradient-less functions.
- Required parameters
sub_solver_algorithm : str
The name of the optimization algorithm used to solve each sub-poblem.
- 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.
gamma : float, optional
The increase of the penalty term.
By default it is set to 1.5.
initial_rho : float, optional
The initial value of the penalty.
By default it is set to 10.0.
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_rho : float, optional
The max penalty value.
By default it is set to 10000.
normalize_design_space : bool, optional
Whether to scale the variables into
[0, 1]
.By default it is set to True.
stop_crit_n_x : int, optional
The minimum number of design vectors to take into account in the stopping criteria.
By default it is set to 3.
sub_problem_constraints : Iterable[str], optional
The constraints to keep in the sub-problem. If
empty
all constraints are dealt by the Augmented Lagrange, which means that the sub-problem is unconstrained.By default it is set to ().
sub_problem_options : Mapping[str, Any] | None, optional
The options passed to the sub-problem optimization solver.
By default it is set to None.
tau : float, optional
The threshold for the penalty term increase.
By default it is set to 0.9.
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.
Augmented_Lagrangian_order_1¶
Module: gemseo.algos.opt.augmented_lagrangian.order_1
Augmented Lagrangian algorithm using gradient information.
- Required parameters
sub_solver_algorithm : str
The name of the optimization algorithm used to solve each sub-poblem.
- 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.
gamma : float, optional
The increase of the penalty term.
By default it is set to 1.5.
initial_rho : float, optional
The initial value of the penalty.
By default it is set to 10.0.
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_rho : float, optional
The max penalty value.
By default it is set to 10000.
normalize_design_space : bool, optional
Whether to scale the variables into
[0, 1]
.By default it is set to True.
stop_crit_n_x : int, optional
The minimum number of design vectors to take into account in the stopping criteria.
By default it is set to 3.
sub_problem_constraints : Iterable[str], optional
The constraints to keep in the sub-problem. If
empty
all constraints are dealt by the Augmented Lagrange, which means that the sub-problem is unconstrained.By default it is set to ().
sub_problem_options : Mapping[str, Any] | None, optional
The options passed to the sub-problem optimization solver.
By default it is set to None.
tau : float, optional
The threshold for the penalty term increase.
By default it is set to 0.9.
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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- 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.
max_time : float, optional
The maximum runtime in seconds. The value 0 disables the cap on the runtime.
By default it is set to 0.0.
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.
seed : int, optional
The seed to be used for repeatable minimizations. If
None
, thenumpy.random.RandomState
singleton is used.By default it is set to 0.
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.
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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- 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.
max_time : float, optional
The maximum runtime in seconds. The value 0 disables the cap on the runtime.
By default it is set to 0.0.
normalize_design_space : bool, optional
If
True
, variables are scaled in [0, 1].By default it is set to True.
seed : int, optional
The seed to be used for repeatable minimizations. If
None
, thenumpy.random.RandomState
singleton is used.By default it is set to 0.
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.
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.
HIGHS¶
Module: gemseo.algos.opt.lib_scipy_linprog
Linear programming using the HiGHS solvers. A choice is automatically made between the dual simplex and the interior-point method.
More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.linprog-highs.html.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to the objective function.
- Optional parameters
disp : bool, optional
Whether to print convergence messages.
By default it is set to False.
normalize_design_space : bool, optional
If
True
, scales variables in [0, 1].By default it is set to True.
HIGHS_DUAL_SIMPLEX¶
Module: gemseo.algos.opt.lib_scipy_linprog
Linear programming using the HiGHS dual simplex solver.
More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.linprog-highs-ds.html.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to the objective function.
- Optional parameters
disp : bool, optional
Whether to print convergence messages.
By default it is set to False.
normalize_design_space : bool, optional
If
True
, scales variables in [0, 1].By default it is set to True.
HIGHS_INTERIOR_POINT¶
Module: gemseo.algos.opt.lib_scipy_linprog
Linear programming using the HiGHS interior point solver.
More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.linprog-highs-ipm.html.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to the objective function.
- Optional parameters
disp : bool, optional
Whether to print convergence messages.
By default it is set to False.
normalize_design_space : bool, optional
If
True
, scales variables in [0, 1].By default it is set to True.
L-BFGS-B¶
Module: gemseo.algos.opt.lib_scipy
Limited-memory BFGS algorithm implemented in the SciPy library
More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-lbfgsb.html.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- Optional parameters
disp : bool, optional
The display information flag.
By default it is set to False.
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_ls_step_nb : int, optional
The maximum number of line search steps per iteration.
By default it is set to 20.
max_time : float, optional
The maximum runtime in seconds, disabled if 0.
By default it is set to 0.
maxcor : int, optional
The maximum BFGS updates.
By default it is set to 20.
normalize_design_space : int, optional
If
True
, scales variables to [0, 1].By default it is set to True.
pg_tol : float, optional
A stop criteria on the projected gradient norm.
By default it is set to 1e-05.
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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to the objective function.
- Optional parameters
disp : bool, optional
Whether to print convergence messages.
By default it is set to False.
normalize_design_space : bool, optional
If
True
, scales variables in [0, 1].By default it is set to True.
MMA¶
Note
The plugin gemseo_mma is required.
Module: gemseo_mma.opt.lib_mma
- Required parameters
max_iter : int
The maximum number of iterations.
- Optional parameters
asymptotes_distance_amplification_coefficient : float, optional
The amplification factor for successful iterations.
By default it is set to 1.2.
asymptotes_distance_reduction_coefficient : float, optional
The decremental factor for unsuccessful iterations.
By default it is set to 0.7.
conv_tol : float | None, optional
If provided control all other convergence tolerances.
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.
ineq_tolerance : float, optional
The tolerance on the inequality constraints.
By default it is set to 0.01.
initial_asymptotes_distance : float, optional
The initial asymptotes distance from the current design variable value.
By default it is set to 0.5.
max_asymptote_distance : float, optional
The maximum distance of the asymptotes from the current design variable value.
By default it is set to 10.0.
max_optimization_step : float, optional
The maximum optimization step.
By default it is set to 0.1.
min_asymptote_distance : float, optional
The minimum distance of the asymptotes from the current design variable value.
By default it is set to 0.01.
normalize_design_space : bool, optional
If True, normalize the design variables between 0 and 1.
By default it is set to True.
tol : float, optional
tolerance of convergence used in MMA to be compared with kkt residual.
By default it is set to 0.01.
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.
MNBI¶
Module: gemseo.algos.opt.mnbi
Modified Normal Boundary Intersection (mNBI) method
- Required parameters
max_iter : int
The maximum number of iterations.
n_sub_optim : int
The number of sub optimization in addition to the individual minimums of the objectives. mNBI will generate n_sub_optim points on the Pareto front between the “number of objective” individual minimas. This value must be strictly greater than the number of objectives of the problem.
sub_optim_algo : str
The optimization algorithm used to solve the generated sub optimization problems.
- Optional parameters
debug : bool, optional
Whether to output a database hdf file containing the sub optimization optimas only.
By default it is set to False.
debug_file_path : str | Path, optional
The path to the debug file if debug mode is active.
By default it is set to debug_history.h5.
doe_algo : str, optional
The design of experiments algorithm for the target points on the Pareto front in problems with more than 2 objectives. A
fullfactorial
DOE is used default as these tend to be low dimensions, usually not more than 3 objectives for a given problem.By default it is set to fullfact.
doe_algo_options : Mapping[str, DOELibraryOptionType], optional
The options for the DOE algorithm.
By default it is set to {}.
n_processes : int, optional
The maximum simultaneous number of processes used to parallelize the sub optimizations.
By default it is set to 1.
normalize_design_space : bool, optional
Whether to normalize the design variables between 0 and 1.
By default it is set to False.
skip_betas : bool, optional
The description is missing.
By default it is set to True.
sub_optim_algo_options : Mapping[str, DriverLibOptionType], optional
The options for the optimization algorithm.
By default it is set to {}.
sub_optim_max_iter : int | None, optional
Maximum number of iterations of the sub optimization algorithms. If
None
, themax_iter
value is used.By default it is set to None.
NELDER-MEAD¶
Module: gemseo.algos.opt.lib_scipy
Nelder-Mead algorithm implemented in the SciPy library
More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/optimize.minimize-neldermead.html.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- Optional parameters
adaptive : bool, optional
Whether to adapt the Nelder-Mead algorithm parameters to the dimensionality of the problem. Useful for high-dimensional minimization.
By default it is set to False.
disp : bool, optional
The display information flag.
By default it is set to False.
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.
initial_simplex : Sequence[Sequence[float]] | None, optional
If not
None
, overrides x0 in the Nelder-Mead algorithm.initial_simplex[j,:]
should contain the coordinates of the jth vertex of the N+1 vertices in the simplex, where N is the dimension.By default it is set to None.
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_time : float, optional
The maximum runtime in seconds, disabled if 0.
By default it is set to 0.
normalize_design_space : int, optional
If
True
, scales variables to [0, 1].By default it is set to True.
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.
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.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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 \(r\) for derivative-free algorithms. Increasing the initial step size will make the initial DOE of size \(d+1\) take wider steps in the design variables. In details, given a \(d\)-length design vector initialized to \(x_0\), the first value of the design vector will be the initial one \(x^{(1)}=x_0\), the second one will be \(x^{(2)}=x^{(1)}+(r(\max(x_1)-\min(x_1)),0,\ldots,0)\), …, the \(d+1\)-th one will be \(x^{(d+1)}=x^{d}+(0,\ldots,0,r(\max(x_d)-\min(x_d)))\). Note that in a normalized design space, \(\min(x_i)=0\) and \(\max(x_i)=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_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.
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.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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 \(r\) for derivative-free algorithms. Increasing the initial step size will make the initial DOE of size \(d+1\) take wider steps in the design variables. In details, given a \(d\)-length design vector initialized to \(x_0\), the first value of the design vector will be the initial one \(x^{(1)}=x_0\), the second one will be \(x^{(2)}=x^{(1)}+(r(\max(x_1)-\min(x_1)),0,\ldots,0)\), …, the \(d+1\)-th one will be \(x^{(d+1)}=x^{d}+(0,\ldots,0,r(\max(x_d)-\min(x_d)))\). Note that in a normalized design space, \(\min(x_i)=0\) and \(\max(x_i)=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_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.
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.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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 \(r\) for derivative-free algorithms. Increasing the initial step size will make the initial DOE of size \(d+1\) take wider steps in the design variables. In details, given a \(d\)-length design vector initialized to \(x_0\), the first value of the design vector will be the initial one \(x^{(1)}=x_0\), the second one will be \(x^{(2)}=x^{(1)}+(r(\max(x_1)-\min(x_1)),0,\ldots,0)\), …, the \(d+1\)-th one will be \(x^{(d+1)}=x^{d}+(0,\ldots,0,r(\max(x_d)-\min(x_d)))\). Note that in a normalized design space, \(\min(x_i)=0\) and \(\max(x_i)=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_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.
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.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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 \(r\) for derivative-free algorithms. Increasing the initial step size will make the initial DOE of size \(d+1\) take wider steps in the design variables. In details, given a \(d\)-length design vector initialized to \(x_0\), the first value of the design vector will be the initial one \(x^{(1)}=x_0\), the second one will be \(x^{(2)}=x^{(1)}+(r(\max(x_1)-\min(x_1)),0,\ldots,0)\), …, the \(d+1\)-th one will be \(x^{(d+1)}=x^{d}+(0,\ldots,0,r(\max(x_d)-\min(x_d)))\). Note that in a normalized design space, \(\min(x_i)=0\) and \(\max(x_i)=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_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.
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.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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 \(r\) for derivative-free algorithms. Increasing the initial step size will make the initial DOE of size \(d+1\) take wider steps in the design variables. In details, given a \(d\)-length design vector initialized to \(x_0\), the first value of the design vector will be the initial one \(x^{(1)}=x_0\), the second one will be \(x^{(2)}=x^{(1)}+(r(\max(x_1)-\min(x_1)),0,\ldots,0)\), …, the \(d+1\)-th one will be \(x^{(d+1)}=x^{d}+(0,\ldots,0,r(\max(x_d)-\min(x_d)))\). Note that in a normalized design space, \(\min(x_i)=0\) and \(\max(x_i)=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_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.
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.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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 \(r\) for derivative-free algorithms. Increasing the initial step size will make the initial DOE of size \(d+1\) take wider steps in the design variables. In details, given a \(d\)-length design vector initialized to \(x_0\), the first value of the design vector will be the initial one \(x^{(1)}=x_0\), the second one will be \(x^{(2)}=x^{(1)}+(r(\max(x_1)-\min(x_1)),0,\ldots,0)\), …, the \(d+1\)-th one will be \(x^{(d+1)}=x^{d}+(0,\ldots,0,r(\max(x_d)-\min(x_d)))\). Note that in a normalized design space, \(\min(x_i)=0\) and \(\max(x_i)=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_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.
PDFO_BOBYQA¶
Note
The plugin gemseo_pdfo is required.
Module: gemseo_pdfo.lib_pdfo
Bound Optimization By Quadratic Approximation
More details about the algorithm and its options on https://www.pdfo.net/.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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_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.
PDFO_COBYLA¶
Note
The plugin gemseo_pdfo is required.
Module: gemseo_pdfo.lib_pdfo
Constrained Optimization By Linear Approximations
More details about the algorithm and its options on https://www.pdfo.net/.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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_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.
PDFO_NEWUOA¶
Note
The plugin gemseo_pdfo is required.
Module: gemseo_pdfo.lib_pdfo
NEWUOA
More details about the algorithm and its options on https://www.pdfo.net/.
- Required parameters
max_iter : int
The maximum number of iterations.
- 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_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.
PSEVEN¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.lib_pseven
pSeven’s Generic Tool for Optimization (GTOpt).
More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
PSEVEN_FD¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.lib_pseven
pSeven’s feasible direction method.
More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
PSEVEN_MOM¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.lib_pseven
pSeven’s method of multipliers.
More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
PSEVEN_NCG¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.lib_pseven
pSeven’s nonlinear conjugate gradient method.
More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
PSEVEN_NLS¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.lib_pseven
pSeven’s nonlinear simplex method.
More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
PSEVEN_POWELL¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.lib_pseven
pSeven’s Powell conjugate direction method.
More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
PSEVEN_QP¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.lib_pseven
pSeven’s quadratic programming method.
More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
PSEVEN_SQ2P¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.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/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
PSEVEN_SQP¶
Note
The plugin gemseo_pseven is required.
Module: gemseo_pseven.lib_pseven
pSeven’s sequential quadratic programming method.
More details about the algorithm and its options on https://datadvance.net/product/pseven/manual/.
- Required parameters
max_iter : int
The maximum number of evaluations.
- 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_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.
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/ga.html#GA:-Genetic-Algorithm.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- Optional parameters
crossover : Crossover | 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.
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.
max_gen : int, optional
The maximum number of generations.
By default it is set to 10000000.
mutation : Mutation | 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.
normalize_design_space : bool, optional
If True, scale the variables to the range [0, 1].
By default it is set to True.
pop_size : int, optional
The population size.
By default it is set to 100.
sampling : Sampling | Population | 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.
seed : int, optional
The random seed to be used.
By default it is set to 1.
selection : Selection | 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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- Optional parameters
crossover : Crossover | 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.
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.
max_gen : int, optional
The maximum number of generations.
By default it is set to 10000000.
mutation : Mutation | 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.
normalize_design_space : bool, optional
If True, scale the variables to the range [0, 1].
By default it is set to True.
pop_size : int, optional
The population size.
By default it is set to 100.
sampling : Sampling | Population | 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.
seed : int, optional
The random seed to be used.
By default it is set to 1.
selection : Selection | 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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
ref_dirs_name : **
- Optional parameters
crossover : Crossover | 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.
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.
max_gen : int, optional
The maximum number of generations.
By default it is set to 10000000.
mutation : Mutation | 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_size : int, optional
The population size.
By default it is set to 100.
sampling : Sampling | Population | 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 | 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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
ref_points : ndarray | None
The reference points (Aspiration Points) as a NumPy array where each row represents a point and each column a variable.
- Optional parameters
crossover : Crossover | 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.
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.
max_gen : int, optional
The maximum number of generations.
By default it is set to 10000000.
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 | 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.
normalize_design_space : bool, optional
If True, scale the variables to the range [0, 1].
By default it is set to True.
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.
sampling : Sampling | Population | 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.
seed : int, optional
The random seed to be used.
By default it is set to 1.
selection : Selection | 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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
ref_dirs_name : **
- Optional parameters
crossover : Crossover | 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.
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.
max_gen : int, optional
The maximum number of generations.
By default it is set to 10000000.
mutation : Mutation | 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_size : int, optional
The population size.
By default it is set to 100.
sampling : Sampling | Population | 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 | 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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to the objective function.
- Optional parameters
disp : bool, optional
Whether to print convergence messages.
By default it is set to False.
normalize_design_space : bool, optional
If
True
, scales variables in [0, 1].By default it is set to True.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- Optional parameters
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.
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] | None, optional
The options for the local optimization algorithm, only for shgo, see scipy.optimize doc.
By default it is set to None.
max_time : float, optional
The maximum runtime in seconds. The value 0 disables the cap on the runtime.
By default it is set to 0.0.
n : int, optional
The number of sampling points used in the construction of the simplicial complex.
By default it is set to 100.
normalize_design_space : bool, optional
If
True
, variables are scaled in [0, 1].By default it is set to True.
sampling_method : str, optional
The method to compute the initial points. Current built in sampling method options are
halton
,sobol
andsimplicial
.By default it is set to simplicial.
seed : int, optional
The seed to be used for repeatable minimizations. If
None
, thenumpy.random.RandomState
singleton is used.By default it is set to 0.
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.
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.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to the objective function.
- Optional parameters
disp : bool, optional
Whether to print convergence messages.
By default it is set to False.
normalize_design_space : bool, optional
If
True
, scales variables in [0, 1].By default it is set to True.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- Optional parameters
disp : bool, optional
The display information flag.
By default it is set to False.
eq_tolerance : float, optional
The equality tolerance.
By default it is set to 0.01.
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_time : float, optional
The maximum runtime in seconds, disabled if 0.
By default it is set to 0.
normalize_design_space : int, optional
If
True
, scales variables to [0, 1].By default it is set to True.
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.
Scipy_MILP¶
Module: gemseo.algos.opt.lib_scipy_milp
Mixed-integer linear programming
More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/scipy.optimize.milp.html.
- Optional parameters
disp : bool, optional
Whether indicators of optimization status are to be printed to the console during optimization.
By default it is set to False.
mip_rel_gap : float, optional
The termination criterion for MIP solver: solver will terminate when the gap between the primal objective value and the dual objective bound, scaled by the primal objective value, is <= mip_rel_gap.
By default it is set to 0.0.
node_limit : int, optional
The maximum number of nodes (linear program relaxations) to solve before stopping.
By default it is set to 1000.
presolve : bool, optional
Whether to 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.
time_limit : int | None, optional
The maximum number of seconds allotted to solve the problem. If
None
, there is no time limit.By default it is set to None.
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.
- Required parameters
max_iter : int
The maximum number of iterations, i.e. unique calls to f(x).
- Optional parameters
disp : bool, optional
The display information flag.
By default it is set to False.
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.
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_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.
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.