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:

  1. 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.

  2. Solve this design problem, using either an optimization algorithm or a DOE.

  3. 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.


A bi-level MDO formulation on Sobieski’s SSBJ test case.

Main features

Basics of MDO

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]


  • 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]