.. Copyright 2021 IRT Saint-Exupéry, https://www.irt-saintexupery.com This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. .. _gen_formulation_algos: MDO Formulation algorithms ========================== .. warning:: Some algorithms may require the :ref:`installation ` of |g| with :ref:`all its features ` and some others may depend on :ref:`plugins `. .. note:: All the features of the wrapped optimization libraries may not be exposed through |g|. .. raw:: html .. _BiLevel_options: BiLevel ------- Module: :class:`gemseo.formulations.bilevel` .. raw:: html
Required parameters
  • **design_space** : *DesignSpace* The design space. .. raw:: html
  • **disciplines** : *Sequence[MDODiscipline]* The disciplines. .. raw:: html
  • **objective_name** : *str* The name(s) of the discipline output(s) used as objective. If multiple names are passed, the objective will be a vector. .. raw:: html
Optional parameters
  • **apply_cstr_to_system** : *bool, optional* Whether the :meth:`.add_constraint` method adds the constraint to the optimization problem of the system scenario. By default it is set to True. .. raw:: html
  • **apply_cstr_tosub_scenarios** : *bool, optional* Whether the :meth:`.add_constraint` method adds the constraint to the optimization problem of the sub-scenario capable of computing the constraint. By default it is set to True. .. raw:: html
  • **grammar_type** : *str, optional* The type of the input and output grammars, either :attr:`.MDODiscipline.JSON_GRAMMAR_TYPE` or :attr:`.MDODiscipline.SIMPLE_GRAMMAR_TYPE`. By default it is set to JSONGrammar. .. raw:: html
  • **inner_mda_name** : *str, optional* The name of the class used for the inner-MDA of the main MDA, if any; typically when the main MDA is an :class:`.MDAChain`. By default it is set to MDAJacobi. .. raw:: html
  • **main_mda_name** : *str, optional* The name of the class used for the main MDA, typically the :class:`.MDAChain`, but one can force to use :class:`.MDAGaussSeidel` for instance. By default it is set to MDAChain. .. raw:: html
  • **maximize_objective** : *bool, optional* Whether to maximize the objective. By default it is set to False. .. raw:: html
  • **multithread_scenarios** : *bool, optional* If True and parallel_scenarios=True, the sub-scenarios are run in parallel using multi-threading; if False and parallel_scenarios=True, multi-processing is used. By default it is set to True. .. raw:: html
  • **parallel_scenarios** : *bool, optional* Whether to run the sub-scenarios in parallel. By default it is set to False. .. raw:: html
  • **reset_x0_before_opt** : *bool, optional* Whether to restart the sub optimizations from the initial guesses, otherwise warm start them. By default it is set to False. .. raw:: html
  • ****main_mda_options** : *Any* The options of the main MDA, which may include those of the inner-MDA. .. raw:: html
.. _DisciplinaryOpt_options: DisciplinaryOpt --------------- Module: :class:`gemseo.formulations.disciplinary_opt` .. raw:: html
Required parameters
  • **design_space** : *DesignSpace* The design space. .. raw:: html
  • **disciplines** : *Sequence[MDODiscipline]* The disciplines. .. raw:: html
  • **objective_name** : *str* The name(s) of the discipline output(s) used as objective. If multiple names are passed, the objective will be a vector. .. raw:: html
Optional parameters
  • **grammar_type** : *str, optional* The type of the input and output grammars, either :attr:`.MDODiscipline.JSON_GRAMMAR_TYPE` or :attr:`.MDODiscipline.SIMPLE_GRAMMAR_TYPE`. By default it is set to JSONGrammar. .. raw:: html
  • **maximize_objective** : *bool, optional* Whether to maximize the objective. By default it is set to False. .. raw:: html
.. _IDF_options: IDF --- Module: :class:`gemseo.formulations.idf` .. raw:: html
Required parameters
  • **design_space** : *DesignSpace* The design space. .. raw:: html
  • **disciplines** : *Sequence[MDODiscipline]* The disciplines. .. raw:: html
  • **objective_name** : *str* The name(s) of the discipline output(s) used as objective. If multiple names are passed, the objective will be a vector. .. raw:: html
Optional parameters
  • **grammar_type** : *str, optional* The type of the input and output grammars, either :attr:`.MDODiscipline.JSON_GRAMMAR_TYPE` or :attr:`.MDODiscipline.SIMPLE_GRAMMAR_TYPE`. By default it is set to JSONGrammar. .. raw:: html
  • **maximize_objective** : *bool, optional* Whether to maximize the objective. By default it is set to False. .. raw:: html
  • **n_processes** : *int, optional* The maximum simultaneous number of threads, if ``use_threading`` is True, or processes otherwise, used to parallelize the execution. By default it is set to 1. .. raw:: html
  • **normalize_constraints** : *bool, optional* If True, the outputs of the coupling consistency constraints are scaled. By default it is set to True. .. raw:: html
  • **start_at_equilibrium** : *bool, optional* If True, an MDA is used to initialize the coupling variables. By default it is set to False. .. raw:: html
  • **use_threading** : *bool, optional* Whether to use threads instead of processes to parallelize the execution; multiprocessing will copy (serialize) all the disciplines, while threading will share all the memory. This is important to note if you want to execute the same discipline multiple times, you shall use multiprocessing. By default it is set to True. .. raw:: html
.. _MDF_options: MDF --- Module: :class:`gemseo.formulations.mdf` .. raw:: html
Required parameters
  • **design_space** : *DesignSpace* The design space. .. raw:: html
  • **disciplines** : *Sequence[MDODiscipline]* The disciplines. .. raw:: html
  • **objective_name** : *str* The name(s) of the discipline output(s) used as objective. If multiple names are passed, the objective will be a vector. .. raw:: html
Optional parameters
  • **grammar_type** : *str, optional* The type of the input and output grammars, either :attr:`.MDODiscipline.JSON_GRAMMAR_TYPE` or :attr:`.MDODiscipline.SIMPLE_GRAMMAR_TYPE`. By default it is set to JSONGrammar. .. raw:: html
  • **inner_mda_name** : *str, optional* The name of the class used for the inner-MDA of the main MDA, if any; typically when the main MDA is an :class:`.MDAChain`. By default it is set to MDAJacobi. .. raw:: html
  • **main_mda_name** : *str, optional* The name of the class used for the main MDA, typically the :class:`.MDAChain`, but one can force to use :class:`.MDAGaussSeidel` for instance. By default it is set to MDAChain. .. raw:: html
  • **maximize_objective** : *bool, optional* Whether to maximize the objective. By default it is set to False. .. raw:: html
  • ****main_mda_options** : *Any* The options of the main MDA, which may include those of the inner-MDA. .. raw:: html