Optimization driver chaining a DoE and an optimization scenario

Summary

Add an optimization scenario that chains a Design of Experiments (DoE) with a subsequent optimization run.

Motivation

Finding a feasible/computationable starting point may be interesting to start an optimization process . Manually running a DoE, extracting the best feasible point, and feeding it into an optimization scenario is easy to do with GEMSEO, but there no driver doing it.

This is also something that is done in some projects, or requested by some users: https://gemseo.discourse.group/t/setting-current-design-space-variables-of-sub-scenario-mid-execution-of-outer-scenario/34

Proposal

Introduce an optimization driver that:

  1. Runs a DoE phase to explore the design space and identify a feasible initial solution.
  2. Selects the best feasible point from the DoE results (e.g., lowest objective among feasible samples).
  3. (Optional) Uses the DoE history to automatically scale the functions (objective and constraint functions) to possibly improve the optimizer behavior and converge
  4. Launches an optimization scenario seeded with that initial point.

This would allow users to set up a single, end-to-end workflow instead of orchestrating two separate steps manually. It would also enable at embedding that kind of scenario in other scenarios (Bi-Level, ...)

Edited by Jean-Christophe Giret