..
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 options
=======================
List of available MDO formulation:
:ref:`BiLevel_options` -
:ref:`DisciplinaryOpt_options` -
:ref:`IDF_options` -
:ref:`MDF_options` -
.. _BiLevel_options:
:class:`~gemseo.formulations.bilevel.BiLevel`
---------------------------------------------
Description
~~~~~~~~~~~
A bi-level formulation draws an optimization architecture
that involves multiple optimization problems to be solved to
obtain the solution of the MDO problem.
Here, at each iteration on the global design variables,
the bi-level MDO formulation implementation performs a first
MDA to compute the coupling variables, then disciplinary
optimizations on the local design variables in parallel and then,
a second MDA to update the coupling variables.
Options
~~~~~~~
- **apply_cstr_to_system**, :code:`bool` - if True, the add_constraint method adds the constraint to the optimization problem of the system scenario.
- **apply_cstr_tosub_scenarios**, :code:`bool` - if True, the add_constraint method adds the constraint to the optimization problem of the sub-scenario capable of computing the constraint.
- **maximize_objective**, :code:`bool` - if True, the objective function is maximized, by default, a minimization is performed.
- **mda_name**, :code:`str` - class name of the MDA to be used.
- **multithread_scenarios**, :code:`bool` - 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.
- **parallel_scenarios**, :code:`bool` - if True, the sub scenarios are run in parallel.
- **reset_x0_before_opt**, :code:`bool` - if True, restart the sub optimizations from the initial guesses, otherwise warm start them
.. _DisciplinaryOpt_options:
:class:`~gemseo.formulations.disciplinary_opt.DisciplinaryOpt`
--------------------------------------------------------------
Description
~~~~~~~~~~~
The disciplinary optimization formulation draws the architecture
of a mono disciplinary
optimization process from an ordered list of disciplines,
an objective function and a design space. The objective function
is minimized by default.
Options
~~~~~~~
- **maximize_objective**, :code:`bool` - if True, the objective function is maximized, by default, a minimization is performed.
.. _IDF_options:
:class:`~gemseo.formulations.idf.IDF`
-------------------------------------
Description
~~~~~~~~~~~
The Individual Discipline Feasible formulation.
This formulation draws an optimization architecture where the coupling
variables of strongly coupled disciplines is made consistent by adding
equality constraints on the coupling variables at top level, the
optimization problem w.r.t. local, global design variables and coupling
variables is made at the top level. Disciplinary analysis is made at a each
optimization iteration. Multidisciplinary analysis is made at the optimum.
Options
~~~~~~~
- **maximize_objective**, :code:`bool` - if True, the objective function is maximized, by default, a minimization is performed.
- **normalize_constraints**, :code:`bool` - if True, outputs of the coupling consistency contraints are scaled.
- **parallel_exec**, :code:`bool` - if True, all constraints and objectives are computed in parallel. At every iteration, all disciplines are executed in parallel. Otherwise, a separate constraint is created for each discipline with couplings.
- **start_at_equilibrium**, :code:`bool` - if True, an MDA is used to initialize coupling variables.
- **use_threading**, :code:`bool` - if True and parallel_exec=True, the disciplines are run in parallel using multi-threading, if False and parallel_exec=True, multi-processing is used.
.. _MDF_options:
:class:`~gemseo.formulations.mdf.MDF`
-------------------------------------
Description
~~~~~~~~~~~
The Multidisciplinary Design Feasible formulation draws an
optimization architecture where the coupling of strongly
coupled disciplines is made consistent by means of a
Multidisciplinary Design Analysis (MDA), the optimization
problem w.r.t. local and global design variables is made
at the top level. Multidisciplinary analysis is made at
a each optimization iteration.
Options
~~~~~~~
- **main_mda_class**, :code:`str` - classname of the main MDA, typically the MDAChain, but one can force to use MDAGaussSeidel for instance
- **maximize_objective**, :code:`bool` - if True, the objective function is maximized, by default, a minimization is performed.
- **sub_mda_class**, :code:`str` - the type of MDA to be used, shall be the class name. (default MDAJacobi)