idf module¶
The Individual Discipline Feasible formulation¶
-
class
gemseo.formulations.idf.
IDF
(disciplines, objective_name, design_space, maximize_objective=False, normalize_constraints=True, parallel_exec=False, use_threading=True, start_at_equilibrium=False)[source]¶ Bases:
gemseo.core.formulation.MDOFormulation
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.
Constructor, initializes the objective functions and constraints
- Parameters
disciplines (list(MDODiscipline)) – the disciplines list.
objective_name (str) – the objective function data name.
design_space (DesignSpace) – the design space.
maximize_objective (bool) – if True, the objective function is maximized, by default, a minimization is performed.
normalize_constraints (bool) – if True, outputs of the coupling consistency contraints are scaled.
parallel_exec (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.
use_threading (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.
start_at_equilibrium (bool) – if True, an MDA is used to initialize coupling variables.
-
get_expected_dataflow
()[source]¶ Returns the expected data exchange sequence, used for xdsm representation See MDOFormulation.get_expected_dataflow