GEMSEO documentation#
Version: 6.0.0
GEMSEO is an open-source Python software to automate multidisciplinary processes, starting with multidisciplinary design optimization (MDO) ones.
Standing for Generic Engine for Multidisciplinary Scenarios, Exploration and Optimization, GEMSEO offers a catalog of MDO formulations to make this automation possible. Built on top of essentials such as NumPy, SciPy and Matplotlib, it also includes a wide range of algorithms for various fields, namely coupling, design of experiments, linear problems, optimization, machine learning, ordinary differential equations, surrogate modeling, uncertainty quantification, visualization, etc.
GEMSEO can be both easily embedded in simulation platforms and used as a standalone software. The disciplines can wrap Python code, Matlab or Scilab, scripts, Excel spreadsheets and a whole set of executables that can be called from Python.
Its GNU LGPL v3.0 open-source license makes it commercially usable (see licences).
Main concepts#
Discipline
Define an input-output discipline to interface a model.
Features: analytic expressions, executable, surrogate model and much more.
Design space
Define a set of parameters, typically design parameters.
Features: deterministic parameter space and uncertain (or mixed) parameter space.
Scenario
Define an evaluation process over a design space for a set of disciplines and a given objective.
Features: DOE scenario and MDO scenario.
Features#
Study analysis
An intuitive tool to discover MDO without writing any code, and define the right MDO problem and process. From an Excel workbook, specify your disciplines, design space, objective and constraints, select an MDO formulation and plot both coupling structure (N2 chart) and MDO process (XDSM), even before wrapping any software.
MDO formulations
Define the way as the disciplinary coupling is formulated and managed by the optimization or DOE algorithm.
MDA
Find the coupled state of a multidisciplinary system using a multi-disciplinary analysis.
Visualization
Generate graphical representations of optimization histories.
Surrogate models
Replace a discipline by a surrogate one relying on a machine learning regression model.
Based on OpenTURNS and scikit-learn.
Scalable models
Use scalable data-driven models to compare MDO formulations and algorithms for different problem dimensions.
Features: scalability, scalable problem, scalable discipline and diagonal-based.
Machine learning
Apply clustering, classification and regression methods from the machine learning community.
Features: clustering, classification, regression, quality measures and data transformation.
Uncertainty
Define, propagate, analyze and manage uncertainties.
Features: distribution, uncertain space, empirical and parametric statistics, distribution fitting and sensitivity analysis.
Based on OpenTURNS.
Ordinary differential equation
Define and solve an ordinary differential equation.
Based on SciPy.