Note
Click here to download the full example code
DOE algorithms¶
In this example, we will discover the different functions of the API related to design of experiments.
from gemseo.api import configure_logger
from gemseo.api import get_algorithm_options_schema
from gemseo.api import get_available_doe_algorithms
configure_logger()
Out:
<RootLogger root (INFO)>
Get available DOE algorithms¶
The get_available_doe_algorithms()
function returns the list
of optimization algorithms available in GEMSEO or in external modules
print(get_available_doe_algorithms())
Out:
['CustomDOE', 'DiagonalDOE', 'OT_SOBOL', 'OT_RANDOM', 'OT_HASELGROVE', 'OT_REVERSE_HALTON', 'OT_HALTON', 'OT_FAURE', 'OT_MONTE_CARLO', 'OT_FACTORIAL', 'OT_COMPOSITE', 'OT_AXIAL', 'OT_OPT_LHS', 'OT_LHS', 'OT_LHSC', 'OT_FULLFACT', 'OT_SOBOL_INDICES', 'fullfact', 'ff2n', 'pbdesign', 'bbdesign', 'ccdesign', 'lhs']
Get options schema¶
For a given optimization algorithm, e.g. "DiagonalDOE"
,
we can get the options; e.g.
print(get_algorithm_options_schema("DiagonalDOE"))
Out:
{'$schema': 'http://json-schema.org/draft-04/schema', 'description': 'Diagonal DOE algorithm', 'additionalProperties': False, 'type': 'object', 'properties': {'eval_jac': {'description': 'Whether to evaluate the Jacobian.', 'type': 'boolean'}, 'n_processes': {'minimum': 1, 'description': 'The maximum simultaneous number of processes used to parallelize the execution.', 'type': 'integer'}, 'wait_time_between_samples': {'minimum': 0, 'description': 'The waiting time between two samples.', 'type': 'number'}, 'n_samples': {'minimum': 2, 'description': 'The number of samples. The number of samples must be greater than or equal to 2.', 'type': 'integer'}, 'max_time': {'minimum': 0.0, 'description': 'The maximum runtime in seconds. If 0, no maximum runtime is set.', 'type': 'number'}, 'reverse': {'anyOf': [{'items': {'type': 'string', 'minItems': 1}, 'type': 'null'}, {'type': 'array', 'items': {'minItems': 1, 'type': 'string'}}]}}}
Total running time of the script: ( 0 minutes 0.003 seconds)