Overview¶
GEMSEO stands for Generic Engine for Multi-disciplinary Scenarios, Exploration and Optimization.
Built on top of NumPy, SciPy and Matplotlib libraries, this Python library enables an automatic treatment of design problems, using design of experiments, optimization algorithms and graphic post-processing.
GEMSEO is more particularly specialized in Multidisciplinary Design Optimization (MDO).
What is GEMSEO used for?¶
Let us consider a design problem to be solved over a particular design space and using different simulation software (called disciplines).
From this information, GEMSEO carries out the following steps:
Create a scenario, translating this design problem into a mathematical optimization problem. The user can choose its favorite MDO formulation (or architecture) or test another one, by simply giving the name of the formulation to the scenario. Bi-level MDO formulations allow to use disciplines that are themselves scenarios.
Solve this design problem, using either an optimization algorithm or a DOE.
Plot the results and logs of the optimization problem resolution.
The power of GEMSEO¶
Fully based on the power of object-oriented programming, the scenario automatically generates the process, with corresponding work flow and data flow.
GEMSEO aims at pushing forward the limits of automation in simulation processes development, with a particular focus made on:
the integration of heterogeneous simulation environments in industrial and research contexts,
the integration of state of the art algorithms for optimization, design of experiments, and coupled analyses,
the automation of MDO results analysis,
the development of distributed and multi-level MDO formulations.
Main features¶
Basics of MDO¶
Analyse an MDO problem and generate an N2 chart and an XDSM diagram without wrapping any tool or writing code [Read more]
Use different optimization algorithms [Read more]
Use different sampling methods for design of experiments [Read more]
Use different MDO formulations: MDF, IDF, bilevel and disciplinary optimizer [Read more]
Visualize a MDO formulation as an XDSM diagram [Read more]
Use different Multi Disciplinary Analyses algorithms: fixed-point algorithms (Gauss-Seidel and Jacobi), root finding methods (Newton Raphson and Quasi-Newton) and hybrid techniques [Read more]
Use different surrogate models to substitute a costly discipline within a process: linear regression, RBF model and Gaussian process regression [Read more]
Visualize the optimization results by means of many graphs [Read more]
Record and cache the disciplines inputs and outputs into HDF files [Read more]
Experiment with different GEMSEO ‘s benchmark MDO problems [Read more]
Advanced techniques in MDO¶
Create simple analytic disciplines using symbolic calculation [Read more]
Use a cheap scalable model instead of an costly discipline in order to compare different formulation performances [Read more]
Monitor the execution of a scenario using logs, XDSM diagram or an observer design pattern [Read more]
Development¶
Interface simulation software with GEMSEO using JSON schema based grammars for inputs and output description and a wrapping class for execution [Read more]
Plug-in options¶
Options of the available optimization algorithms [Read more]
Options of the available DOE algorithms [Read more]
Options of the available MDA algorithms [Read more]
Options of the available formulation algorithms [Read more]
Options of the available post-processing algorithms [Read more]
Options of the available machine learning algorithms [Read more]