DOE algorithms#

Warning

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

Warning

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

Note

The algorithm settings can be passed to a function of the form

function(..., settings_model: Base | None = None, **settings: Any)

either one by one:

function(..., setting_name_1=setting_name_1, setting_name_2=setting_name_2, ...)

or using the argument name "settings" and the Pydantic model associated with the algorithm:

settings = AlgorithmSettings(setting_name_1=setting_name_1, setting_name_2=setting_name_2, ...)
function(..., settings_model=settings)

See also

You can find more information about this family of algorithms in the user guide.

CustomDOE#

Module: gemseo.algos.doe.custom_doe.custom_doe

from gemseo.settings.doe import CustomDOE_Settings

This samples are provided either as a file in text or csv format or as a sequence of sequences of numbers.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • comments : typing.Union[str, collections.abc.Sequence[str]], optional

    The (list of) characters used to indicate the start of a comment.

    No comments if empty.

    By default it is set to #.

  • delimiter : <class 'str'>, optional

    The character used to separate values.

    By default it is set to ,.

  • doe_file : typing.Union[str, pathlib.Path]

    The path to the file containing the input samples.

    If empty, use samples.

    By default it is set to .

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • samples : typing.Union[gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]], collections.abc.Mapping[str, gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]]], collections.abc.Sequence[collections.abc.Mapping[str, gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]]]]], optional

    The input samples.

    They must be at least a 2D-array, a dictionary of 2D-arrays or a list of dictionaries of 1D-arrays. If empty, use doe_file.

    By default it is set to {}.

  • skiprows : <class 'int'>, optional

    The number of first lines to skip.

    By default it is set to 0.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

DiagonalDOE#

Module: gemseo.algos.doe.diagonal_doe.diagonal_doe

from gemseo.settings.doe import DiagonalDOE_Settings

Diagonal design of experiments

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • n_samples : <class 'int'>, optional

    The number of samples.

    The number of samples must be greater than or equal than 2.

    By default it is set to 2.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • reverse : list[str], optional

    The dimensions or variables to sample from upper to lower bounds.

    If empty, every dimension will be sampled from lower to upper bounds.

    By default it is set to [].

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

Halton#

Module: gemseo.algos.doe.scipy.scipy_doe

from gemseo.settings.doe import Halton_Settings

Halton sequence

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • optimization : typing.Optional[gemseo.algos.doe.scipy.settings.base_scipy_doe_settings.Optimizer], optional

    The name of an optimization scheme to improve the DOE's quality.

    If None, use the DOE as is. New in SciPy 1.10.0.

    By default it is set to None.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • scramble : <class 'bool'>, optional

    Whether to use scrambling (Owen type).

    Only available with SciPy >= 1.10.0.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

LHS#

Module: gemseo.algos.doe.scipy.scipy_doe

from gemseo.settings.doe import LHS_Settings

Latin hypercube sampling (LHS)

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • centered : <class 'bool'>, optional

    Whether to center the samples within the multi-dimensional grid cells.

    If SciPy >= 1.10.0, this argument is ignored; use scramble instead.

    By default it is set to False.

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • optimization : typing.Optional[gemseo.algos.doe.scipy.settings.base_scipy_doe_settings.Optimizer], optional

    The name of an optimization scheme to improve the DOE's quality.

    If None, use the DOE as is. New in SciPy 1.10.0.

    By default it is set to None.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • scramble : <class 'bool'>, optional

    Whether to use scrambling (Owen type).

    Only available with SciPy >= 1.10.0.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • strength : <enum 'Strength'>, optional

    The strength of the LHS.

    By default it is set to Strength.one.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

MC#

Module: gemseo.algos.doe.scipy.scipy_doe

from gemseo.settings.doe import MC_Settings

Monte Carlo sampling

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

MorrisDOE#

Module: gemseo.algos.doe.morris_doe.morris_doe

from gemseo.settings.doe import MorrisDOE_Settings

The DOE used by the Morris sensitivity analysis.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • doe_algo_name : <class 'str'>, optional

    The name of the DOE algorithm to repeat the OAT DOE.

    By default it is set to PYDOE_LHS.

  • doe_algo_settings : collections.abc.Mapping[str, typing.Any], optional

    The options of the DOE algorithm.

    By default it is set to {}.

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • n_samples : <class 'int'>, optional

    The maximum number of samples required by the user.

    If 0, deduce it from the design space dimension and n_replicates.

    By default it is set to 0.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • step : <class 'float'>, optional

    The relative step of the OAT DOE.

    By default it is set to 0.05.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OATDOE#

Module: gemseo.algos.doe.oat_doe.oat_doe

from gemseo.settings.doe import OATDOE_Settings

The DOE used by a One-factor-at-a-Time sensitivity analysis.

Required settings
  • initial_point : gemseo.utils.pydantic_ndarray._NDArrayPydantic[typing.Any, numpy.dtype[+_ScalarType_co]]

    The initial point of the OAT DOE.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • step : <class 'float'>, optional

    The relative step of the OAT DOE.

    The step in the x direction is step*(max_x-min_x)`` if x+step*(max_x-min_x)<=max_x and -step*(max_x- min_x) otherwise.

    By default it is set to 0.05.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_AXIAL#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_AXIAL_Settings

Axial design

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Axial.html.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • centers : typing.Union[collections.abc.Sequence[float], float], optional

    The center of DOE in the unit hypercube.

    This option is available for the axial, composite and factorial DOE algorithm. If scalar, this value is applied to each direction of the hypercube; the values must be in \(]0,1[\).

    By default it is set to 0.5.

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • levels : typing.Union[float, collections.abc.Sequence[float]], optional

    The levels.

    In the case of axial, composite and factorial DOEs, the positions of the levels relative to the center; the levels will be equispaced and symmetrical relative to the center; e.g. [0.2, 0.8] in dimension 1 will generate the samples [0.15, 0.6, 0.75, 0.8, 0.95, 1] for an axial DOE; the values must be in \(]0,1]\).

    In the case of a full-factorial DOE, the number of levels per input direction; if scalar, this value is applied to each input direction.

    By default it is set to ().

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • n_samples : <class 'int'>, optional

    The number of samples.

    If 0, set from the options.

    By default it is set to 0.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_COMPOSITE#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_COMPOSITE_Settings

Composite design

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Composite.html.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • centers : typing.Union[collections.abc.Sequence[float], float], optional

    The center of DOE in the unit hypercube.

    This option is available for the axial, composite and factorial DOE algorithm. If scalar, this value is applied to each direction of the hypercube; the values must be in \(]0,1[\).

    By default it is set to 0.5.

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • levels : typing.Union[float, collections.abc.Sequence[float]], optional

    The levels.

    In the case of axial, composite and factorial DOEs, the positions of the levels relative to the center; the levels will be equispaced and symmetrical relative to the center; e.g. [0.2, 0.8] in dimension 1 will generate the samples [0.15, 0.6, 0.75, 0.8, 0.95, 1] for an axial DOE; the values must be in \(]0,1]\).

    In the case of a full-factorial DOE, the number of levels per input direction; if scalar, this value is applied to each input direction.

    By default it is set to ().

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • n_samples : <class 'int'>, optional

    The number of samples.

    If 0, set from the options.

    By default it is set to 0.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_FACTORIAL#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_FACTORIAL_Settings

Factorial design

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Factorial.html.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • centers : typing.Union[collections.abc.Sequence[float], float], optional

    The center of DOE in the unit hypercube.

    This option is available for the axial, composite and factorial DOE algorithm. If scalar, this value is applied to each direction of the hypercube; the values must be in \(]0,1[\).

    By default it is set to 0.5.

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • levels : typing.Union[float, collections.abc.Sequence[float]], optional

    The levels.

    In the case of axial, composite and factorial DOEs, the positions of the levels relative to the center; the levels will be equispaced and symmetrical relative to the center; e.g. [0.2, 0.8] in dimension 1 will generate the samples [0.15, 0.6, 0.75, 0.8, 0.95, 1] for an axial DOE; the values must be in \(]0,1]\).

    In the case of a full-factorial DOE, the number of levels per input direction; if scalar, this value is applied to each input direction.

    By default it is set to ().

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • n_samples : <class 'int'>, optional

    The number of samples.

    If 0, set from the options.

    By default it is set to 0.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_FAURE#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_FAURE_Settings

Faure sequence

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.FaureSequence.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_FULLFACT#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_FULLFACT_Settings

Full factorial design

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Box.html.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • levels : typing.Union[typing.Annotated[int, Gt(gt=0)], collections.abc.Sequence[typing.Annotated[int, Gt(gt=0)]]], optional

    The number of levels per input direction.

    If scalar, this value is applied to each input direction.

    By default it is set to ().

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • n_samples : <class 'int'>, optional

    The number of samples.

    If 0, set from the options.

    By default it is set to 0.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_HALTON#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_HALTON_Settings

Halton sequence

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.HaltonSequence.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_HASELGROVE#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_HASELGROVE_Settings

Haselgrove sequence

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.HaselgroveSequence.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_LHS#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_LHS_Settings

Latin Hypercube Sampling

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.LHS.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_LHSC#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_LHSC_Settings

Centered Latin Hypercube Sampling

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.LHS.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_MONTE_CARLO#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_MONTE_CARLO_Settings

Monte Carlo sequence

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Uniform.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_OPT_LHS#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_OPT_LHS_Settings

Optimal Latin Hypercube Sampling

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.SimulatedAnnealingLHS.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • annealing : <class 'bool'>, optional

    Whether to use simulated annealing to optimize the LHS.

    If False, the crude Monte Carlo method is used.

    By default it is set to True.

  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • criterion : <enum 'SpaceFillingCriterion'>, optional

    The space-filling criterion.

    By default it is set to C2.

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • n_replicates : <class 'int'>, optional

    The number of Monte Carlo replicates to optimize LHS.

    By default it is set to 1000.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • temperature : <enum 'TemperatureProfile'>, optional

    The temperature profile for simulated annealing.

    Either "Geometric" or "Linear".

    By default it is set to Geometric.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_RANDOM#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_RANDOM_Settings

Random sampling

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Uniform.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_REVERSE_HALTON#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_REVERSE_HALTON_Settings

Reverse Halton

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.ReverseHaltonSequence.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_SOBOL#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_SOBOL_Settings

Sobol sequence

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.SobolSequence.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

OT_SOBOL_INDICES#

Module: gemseo.algos.doe.openturns.openturns

from gemseo.settings.doe import OT_SOBOL_INDICES_Settings

DOE for Sobol indices

More details about the algorithm and its settings on http://openturns.github.io/openturns/latest/user_manual/_generated/openturns.SobolIndicesAlgorithm.html.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • eval_second_order : <class 'bool'>, optional

    Whether to build a DOE to evaluate also the second-order indices.

    If False, the DOE is designed for first and total-order indices only.

    By default it is set to True.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

PYDOE_BBDESIGN#

Module: gemseo.algos.doe.pydoe.pydoe

from gemseo.settings.doe import PYDOE_BBDESIGN_Settings

Box-Behnken design

More details about the algorithm and its settings on https://pythonhosted.org/pyDOE/rsm.html#box-behnken.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • center : typing.Optional[typing.Annotated[int, Gt(gt=0)]], optional

    The number of center points for the Box-Behnken design.

    If None, use a pre-determined number of points.

    By default it is set to None.

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

PYDOE_CCDESIGN#

Module: gemseo.algos.doe.pydoe.pydoe

from gemseo.settings.doe import PYDOE_CCDESIGN_Settings

Central Composite

More details about the algorithm and its settings on https://pythonhosted.org/pyDOE/rsm.html#central-composite.

Optional settings
  • alpha : <enum 'Alpha'>, optional

    A parameter to describe how the variance is distributed.

    Either "orthogonal" or "rotatable".

    By default it is set to orthogonal.

  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • center : tuple[int, int], optional

    The 2-tuple of center points for the central composite design.

    By default it is set to (4, 4).

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • face : <enum 'Face'>, optional

    The relation between the start and corner (factorial) points.

    By default it is set to circumscribed.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

PYDOE_FF2N#

Module: gemseo.algos.doe.pydoe.pydoe

from gemseo.settings.doe import PYDOE_FF2N_Settings

2-Level Full-Factorial

More details about the algorithm and its settings on https://pythonhosted.org/pyDOE/factorial.html#level-full-factorial.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

PYDOE_FULLFACT#

Module: gemseo.algos.doe.pydoe.pydoe

from gemseo.settings.doe import PYDOE_FULLFACT_Settings

Full-Factorial

More details about the algorithm and its settings on https://pythonhosted.org/pyDOE/factorial.html#general-full-factorial.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • levels : typing.Union[collections.abc.Sequence[typing.Annotated[int, Gt(gt=0)]], typing.Annotated[int, Gt(gt=0)]], optional

    The levels.

    One must either specify n_samples or levels. The levels are inferred from the number of samples if the former is specified.

    By default it is set to ().

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • n_samples : <class 'int'>, optional

    The number of samples.

    If 0, set from the settings.

    By default it is set to 0.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

PYDOE_LHS#

Module: gemseo.algos.doe.pydoe.pydoe

from gemseo.settings.doe import PYDOE_LHS_Settings

Latin Hypercube Sampling

More details about the algorithm and its settings on https://pythonhosted.org/pyDOE/randomized.html#latin-hypercube.

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • criterion : typing.Optional[gemseo.algos.doe.pydoe.settings.pydoe_lhs.Criterion], optional

    The criterion to use when sampling the points.

    If None, randomize the points within the intervals.

    By default it is set to None.

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • iterations : <class 'int'>, optional

    The number of iterations in the correlation/maximin algorithms.

    By default it is set to 5.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • random_state : typing.Optional[typing.Annotated[int, Gt(gt=0)]], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

PYDOE_PBDESIGN#

Module: gemseo.algos.doe.pydoe.pydoe

from gemseo.settings.doe import PYDOE_PBDESIGN_Settings

Plackett-Burman design

More details about the algorithm and its settings on https://pythonhosted.org/pyDOE/factorial.html#plackett-burman.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

PoissonDisk#

Module: gemseo.algos.doe.scipy.scipy_doe

from gemseo.settings.doe import PoissonDisk_Settings

Poisson disk sampling

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • hypersphere : <enum 'Hypersphere'>, optional

    The sampling strategy to generate potential candidates.

    The candidates will be added in the final sample.

    By default it is set to volume.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • ncandidates : <class 'int'>, optional

    The number of candidates to sample per iteration.

    By default it is set to 30.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • optimization : typing.Optional[gemseo.algos.doe.scipy.settings.base_scipy_doe_settings.Optimizer], optional

    The name of an optimization scheme to improve the DOE's quality.

    If None, use the DOE as is. New in SciPy 1.10.0.

    By default it is set to None.

  • radius : <class 'float'>, optional

    The minimal distance to keep between points when sampling new candidates.

    By default it is set to 0.05.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.

Sobol#

Module: gemseo.algos.doe.scipy.scipy_doe

from gemseo.settings.doe import Sobol_Settings

Engine for generating (scrambled) Sobol' sequences

Required settings
  • n_samples : <class 'int'>

    The number of samples.

Optional settings
  • bits : <class 'int'>, optional

    The number of bits of the generator.

    By default it is set to 30.

  • callbacks : collections.abc.Sequence[typing.Annotated[collections.abc.Callable[[int, tuple[dict[str, typing.Union[float, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]], dict[str, numpy.ndarray[typing.Any, numpy.dtype[numpy.floating[typing.Any]]]]]], typing.Any], WithJsonSchema(json_schema={}, mode=None)]], optional

    The functions to be evaluated after each functions evaluation.

    The functions evaluation is done by OptimizationProblem.evaluate_functions() and the callback must be called as callback(index, (output, Jacobian)).

    By default it is set to ().

  • enable_progress_bar : typing.Optional[bool], optional

    Whether to enable the progress bar in the optimization log.

    If None, use the global value of enable_progress_bar (see the configure function to change it globally).

    By default it is set to None.

  • eq_tolerance : <class 'float'>, optional

    The tolerance on the equality constraints.

    By default it is set to 0.01.

  • eval_jac : <class 'bool'>, optional

    Whether to evaluate the Jacobian function.

    By default it is set to False.

  • ineq_tolerance : <class 'float'>, optional

    The tolerance on the inequality constraints.

    By default it is set to 0.0001.

  • log_problem : <class 'bool'>, optional

    Whether to log the definition and result of the problem.

    By default it is set to True.

  • max_time : <class 'float'>, optional

    The maximum runtime in seconds, disabled if 0.

    By default it is set to 0.0.

  • n_processes : <class 'int'>, optional

    The maximum number of processes to parallelize the execution.

    By default it is set to 1.

  • normalize_design_space : <class 'bool'>, optional

    Whether to normalize the design space variables between 0 and 1.

    By default it is set to False.

  • optimization : typing.Optional[gemseo.algos.doe.scipy.settings.base_scipy_doe_settings.Optimizer], optional

    The name of an optimization scheme to improve the DOE's quality.

    If None, use the DOE as is. New in SciPy 1.10.0.

    By default it is set to None.

  • reset_iteration_counters : <class 'bool'>, optional

    Whether to reset the iteration counters before each execution.

    By default it is set to True.

  • round_ints : <class 'bool'>, optional

    Whether to round the integer variables.

    By default it is set to True.

  • scramble : <class 'bool'>, optional

    Whether to use scrambling (Owen type).

    Only available with SciPy >= 1.10.0.

    By default it is set to True.

  • seed : typing.Optional[int], optional

    The seed used for reproducibility reasons.

    If None, use seed.

    By default it is set to None.

  • store_jacobian : <class 'bool'>, optional

    Whether to store the Jacobian matrices in the database.

    This argument is ignored when the use_database option is False. If a gradient-based algorithm is used, this option cannot be set along with kkt options.

    By default it is set to True.

  • use_database : <class 'bool'>, optional

    Whether to wrap the functions in the database.

    By default it is set to True.

  • use_one_line_progress_bar : <class 'bool'>, optional

    Whether to log the progress bar on a single line.

    By default it is set to False.

  • wait_time_between_samples : <class 'float'>, optional

    The time to wait between each sample evaluation, in seconds.

    By default it is set to 0.0.