MDO formulations for a toy example in aerostructure#

from __future__ import annotations

from gemseo import create_discipline
from gemseo import create_scenario
from gemseo import generate_n2_plot
from gemseo.problems.mdo.aerostructure.aerostructure_design_space import (
    AerostructureDesignSpace,
)
from gemseo.settings.mda import MDAChain_Settings
from gemseo.settings.opt import NLOPT_COBYLA_Settings
from gemseo.settings.opt import NLOPT_SLSQP_Settings

# Passed to algo settings
cobyla_settings = NLOPT_COBYLA_Settings(
    max_iter=7,
    xtol_rel=1e-8,
    xtol_abs=1e-8,
    ftol_rel=1e-8,
    ftol_abs=1e-8,
    ineq_tolerance=1e-5,
    eq_tolerance=1e-3,
)

slsqp_settings = NLOPT_SLSQP_Settings(
    max_iter=10,
    xtol_rel=1e-8,
    xtol_abs=1e-8,
    ftol_rel=1e-8,
    ftol_abs=1e-8,
    ineq_tolerance=1e-5,
    eq_tolerance=1e-3,
)

Create discipline#

First, we create disciplines (aero, structure, mission) with dummy formulas using the AnalyticDiscipline class.

aero_formulas = {
    "drag": "0.1*((sweep/360)**2 + 200 + thick_airfoils**2-thick_airfoils -4*displ)",
    "forces": "10*sweep + 0.2*thick_airfoils-0.2*displ",
    "lift": "(sweep + 0.2*thick_airfoils-2.*displ)/3000.",
}
aerodynamics = create_discipline(
    "AnalyticDiscipline", name="Aerodynamics", expressions=aero_formulas
)
struc_formulas = {
    "mass": "4000*(sweep/360)**3 + 200000 + 100*thick_panels +200.0*forces",
    "reserve_fact": "-3*sweep -6*thick_panels+0.1*forces+55",
    "displ": "2*sweep + 3*thick_panels-2.*forces",
}
structure = create_discipline(
    "AnalyticDiscipline", name="Structure", expressions=struc_formulas
)
mission_formulas = {"range": "8e11*lift/(mass*drag)"}
mission = create_discipline(
    "AnalyticDiscipline", name="Mission", expressions=mission_formulas
)

disciplines = [aerodynamics, structure, mission]

We can see that structure and aerodynamics are strongly coupled:

generate_n2_plot(disciplines, save=False, show=True)
plot aerostructure

Create an MDO scenario with MDF formulation#

Then, we create an MDO scenario based on the MDF formulation

design_space = AerostructureDesignSpace()
scenario = create_scenario(
    disciplines,
    "range",
    design_space,
    maximize_objective=True,
    formulation_name="MDF",
)
scenario.add_constraint("reserve_fact", constraint_type="ineq", value=0.5)
scenario.add_constraint("lift", value=0.5)
scenario.execute(slsqp_settings)
scenario.post_process(post_name="OptHistoryView", save=False, show=True)
  • Evolution of the optimization variables
  • Evolution of the objective value
  • Evolution of the distance to the optimum
  • Evolution of the inequality constraints
  • Evolution of the equality constraints
    INFO - 16:25:06: Variable reserve_fact was removed from the Design Space, it is not an input of any discipline.
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Aerodynamics Mission Structure
    INFO - 16:25:06:    MDO formulation: MDF
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_airfoils, thick_panels, sweep)
    INFO - 16:25:06:    with respect to sweep, thick_airfoils, thick_panels
    INFO - 16:25:06:    under the equality constraints
    INFO - 16:25:06:       lift(thick_airfoils, thick_panels, sweep) = 0.5
    INFO - 16:25:06:    under the inequality constraints
    INFO - 16:25:06:       reserve_fact(thick_airfoils, thick_panels, sweep) <= 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | thick_airfoils |      5      |   15  |      25     | float |
    INFO - 16:25:06:       | thick_panels   |      1      |   3   |      20     | float |
    INFO - 16:25:06:       | sweep          |      10     |   25  |      35     | float |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 48.24 it/sec, feas=False, obj=-4.25e+3]
    INFO - 16:25:06:     20%|██        | 2/10 [00:00<00:00, 64.10 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:06:     30%|███       | 3/10 [00:00<00:00, 72.32 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:06:     40%|████      | 4/10 [00:00<00:00, 76.83 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: None
    INFO - 16:25:06:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 16:25:06:    Solution:
    INFO - 16:25:06:       The solution is feasible.
    INFO - 16:25:06:       Objective: -4509.50544702964
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [lift-0.5] = 2.5761726085704595e-11
    INFO - 16:25:06:          [reserve_fact-0.5] = 1.483013960523749e-07
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +----------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | Name           | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:06:          +----------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | thick_airfoils |      5      |         5         |      25     | float |
    INFO - 16:25:06:          | thick_panels   |      1      |  3.22558920187883 |      20     | float |
    INFO - 16:25:06:          | sweep          |      10     | 24.99326599064601 |      35     | float |
    INFO - 16:25:06:          +----------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***

<gemseo.post.opt_history_view.OptHistoryView object at 0x72a4d94380b0>

Create an MDO scenario with bilevel formulation#

Then, we create an MDO scenario based on the bilevel formulation

design_space_ref = AerostructureDesignSpace()

Create the aeronautics sub-scenario#

For this purpose, we create a first sub-scenario to maximize the range with respect to the thick airfoils, based on the aerodynamics discipline.

aero_scenario = create_scenario(
    [aerodynamics, mission],
    "range",
    design_space_ref.filter(["thick_airfoils"], copy=True),
    maximize_objective=True,
    formulation_name="DisciplinaryOpt",
)
aero_scenario.set_algorithm(slsqp_settings)

Create the structure sub-scenario#

We create a second sub-scenario to maximize the range with respect to the thick panels, based on the structure discipline.

struct_scenario = create_scenario(
    [structure, mission],
    "range",
    design_space_ref.filter(["thick_panels"], copy=True),
    maximize_objective=True,
    formulation_name="DisciplinaryOpt",
)
struct_scenario.set_algorithm(slsqp_settings)

Create the system scenario#

Lastly, we build a system scenario to maximize the range with respect to the sweep, which is a shared variable, based on the previous sub-scenarios.

design_space_system = design_space_ref.filter(["sweep"], copy=True)
system_scenario = create_scenario(
    [aero_scenario, struct_scenario, mission],
    "range",
    design_space_system,
    formulation_name="BiLevel",
    maximize_objective=True,
    main_mda_settings=MDAChain_Settings(inner_mda_name="MDAJacobi", tolerance=1e-8),
)
system_scenario.add_constraint("reserve_fact", constraint_type="ineq", value=0.5)
system_scenario.add_constraint("lift", value=0.5)
system_scenario.execute(cobyla_settings)

system_scenario.post_process(post_name="OptHistoryView", save=False, show=True)
  • Evolution of the optimization variables
  • Evolution of the objective value
  • Evolution of the distance to the optimum
  • Evolution of the inequality constraints
  • Evolution of the equality constraints
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: MDOScenario MDOScenario Mission
    INFO - 16:25:06:    MDO formulation: BiLevel
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(sweep)
    INFO - 16:25:06:    with respect to sweep
    INFO - 16:25:06:    under the equality constraints
    INFO - 16:25:06:       lift(sweep) = 0.5
    INFO - 16:25:06:    under the inequality constraints
    INFO - 16:25:06:       reserve_fact(sweep) <= 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +-------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | Name  | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:       +-------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | sweep |      10     |   25  |      35     | float |
    INFO - 16:25:06:       +-------+-------------+-------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_COBYLA:
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Aerodynamics Mission
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_airfoils)
    INFO - 16:25:06:    with respect to thick_airfoils
    INFO - 16:25:06:    under the equality constraints
    INFO - 16:25:06:       lift(thick_airfoils) = 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | thick_airfoils |      5      |   15  |      25     | float |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 674.22 it/sec, feas=False, obj=-4.27e+3]
 WARNING - 16:25:06: Optimization found no feasible point; the least infeasible point is selected.
    INFO - 16:25:06:     20%|██        | 2/10 [00:00<00:00, 599.83 it/sec, feas=False, obj=-4.51e+3]
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: 5
    INFO - 16:25:06:       Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
    INFO - 16:25:06:    Solution:
 WARNING - 16:25:06:       The solution is not feasible.
    INFO - 16:25:06:       Objective: -4513.429203824652
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [lift-0.5] = 0.008666666666666822
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:          | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:          | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Mission Structure
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_panels)
    INFO - 16:25:06:    with respect to thick_panels
    INFO - 16:25:06:    under the inequality constraints
    INFO - 16:25:06:       reserve_fact(thick_panels) <= 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +--------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | Name         | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:       +--------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | thick_panels |      1      |   3   |      20     | float |
    INFO - 16:25:06:       +--------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 738.30 it/sec, feas=False, obj=-4.51e+3]
   ERROR - 16:25:06: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: None
    INFO - 16:25:06:       Message: GEMSEO stopped the driver.
    INFO - 16:25:06:    Solution:
    INFO - 16:25:06:       The solution is feasible.
    INFO - 16:25:06:       Objective: -4504.955637332531
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [reserve_fact-0.5] = 1.062133492268913e-09
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | thick_panels |      1      | 3.266666666489645 |      20     | float |
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***
    INFO - 16:25:06:     14%|█▍        | 1/7 [00:00<00:00, 63.15 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Aerodynamics Mission
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_airfoils)
    INFO - 16:25:06:    with respect to thick_airfoils
    INFO - 16:25:06:    under the equality constraints
    INFO - 16:25:06:       lift(thick_airfoils) = 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
 WARNING - 16:25:06: Optimization found no feasible point; the least infeasible point is selected.
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 523.31 it/sec, feas=False, obj=-4.27e+3]
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: 5
    INFO - 16:25:06:       Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
    INFO - 16:25:06:    Solution:
 WARNING - 16:25:06:       The solution is not feasible.
    INFO - 16:25:06:       Objective: -4267.910320106269
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [lift-0.5] = 0.12708333333392363
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:          | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:          | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Mission Structure
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_panels)
    INFO - 16:25:06:    with respect to thick_panels
    INFO - 16:25:06:    under the inequality constraints
    INFO - 16:25:06:       reserve_fact(thick_panels) <= 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:       | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:       | thick_panels |      1      | 3.266666666489645 |      20     | float |
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 1045.18 it/sec, feas=True, obj=-4.27e+3]
    INFO - 16:25:06:     20%|██        | 2/10 [00:00<00:00, 1052.92 it/sec, feas=True, obj=-4.27e+3]
    INFO - 16:25:06:     30%|███       | 3/10 [00:00<00:00, 1072.16 it/sec, feas=True, obj=-4.27e+3]
    INFO - 16:25:06:     40%|████      | 4/10 [00:00<00:00, 1115.28 it/sec, feas=True, obj=-4.27e+3]
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: None
    INFO - 16:25:06:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 16:25:06:    Solution:
    INFO - 16:25:06:       The solution is feasible.
    INFO - 16:25:06:       Objective: -4270.047650046897
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [reserve_fact-0.5] = 1.5540514652911952e-08
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | thick_panels |      1      | 1.764999997412866 |      20     | float |
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***
    INFO - 16:25:06:     29%|██▊       | 2/7 [00:00<00:00, 64.57 it/sec, feas=False, obj=-4.27e+3]
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Aerodynamics Mission
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_airfoils)
    INFO - 16:25:06:    with respect to thick_airfoils
    INFO - 16:25:06:    under the equality constraints
    INFO - 16:25:06:       lift(thick_airfoils) = 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 958.26 it/sec, feas=False, obj=-4.53e+3]
    INFO - 16:25:06:     20%|██        | 2/10 [00:00<00:00, 984.58 it/sec, feas=False, obj=-3.83e+3]
    INFO - 16:25:06:     30%|███       | 3/10 [00:00<00:00, 1147.45 it/sec, feas=False, obj=-4.43e+3]
    INFO - 16:25:06:     40%|████      | 4/10 [00:00<00:00, 1232.80 it/sec, feas=False, obj=-4.5e+3]
    INFO - 16:25:06:     50%|█████     | 5/10 [00:00<00:00, 1294.78 it/sec, feas=False, obj=-4.51e+3]
    INFO - 16:25:06:     60%|██████    | 6/10 [00:00<00:00, 1346.92 it/sec, feas=False, obj=-4.52e+3]
    INFO - 16:25:06:     70%|███████   | 7/10 [00:00<00:00, 1383.93 it/sec, feas=False, obj=-4.52e+3]
    INFO - 16:25:06:     80%|████████  | 8/10 [00:00<00:00, 1417.41 it/sec, feas=False, obj=-4.52e+3]
    INFO - 16:25:06:     90%|█████████ | 9/10 [00:00<00:00, 1437.61 it/sec, feas=False, obj=-4.53e+3]
    INFO - 16:25:06:    100%|██████████| 10/10 [00:00<00:00, 1456.41 it/sec, feas=False, obj=-4.53e+3]
 WARNING - 16:25:06: Optimization found no feasible point; the least infeasible point is selected.
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: None
    INFO - 16:25:06:       Message: Maximum number of iterations reached. GEMSEO stopped the driver.
    INFO - 16:25:06:    Solution:
 WARNING - 16:25:06:       The solution is not feasible.
    INFO - 16:25:06:       Objective: -3831.807218275781
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [lift-0.5] = -0.0023374064594913757
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:          | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:          | thick_airfoils |      5      |   25  |      25     | float |
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Mission Structure
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_panels)
    INFO - 16:25:06:    with respect to thick_panels
    INFO - 16:25:06:    under the inequality constraints
    INFO - 16:25:06:       reserve_fact(thick_panels) <= 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:       | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:       | thick_panels |      1      | 1.764999997412866 |      20     | float |
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 950.01 it/sec, feas=False, obj=-3.82e+3]
    INFO - 16:25:06:     20%|██        | 2/10 [00:00<00:00, 1009.22 it/sec, feas=True, obj=-3.82e+3]
   ERROR - 16:25:06: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: None
    INFO - 16:25:06:       Message: GEMSEO stopped the driver.
    INFO - 16:25:06:    Solution:
    INFO - 16:25:06:       The solution is feasible.
    INFO - 16:25:06:       Objective: -3818.5902856031416
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [reserve_fact-0.5] = 2.8144597763457568e-11
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | thick_panels |      1      | 3.414591822896584 |      20     | float |
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***
    INFO - 16:25:06:     43%|████▎     | 3/7 [00:00<00:00, 58.67 it/sec, feas=False, obj=-3.82e+3]
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Aerodynamics Mission
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_airfoils)
    INFO - 16:25:06:    with respect to thick_airfoils
    INFO - 16:25:06:    under the equality constraints
    INFO - 16:25:06:       lift(thick_airfoils) = 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | thick_airfoils |      5      |   25  |      25     | float |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 974.06 it/sec, feas=False, obj=-3.82e+3]
 WARNING - 16:25:06: Optimization found no feasible point; the least infeasible point is selected.
    INFO - 16:25:06:     20%|██        | 2/10 [00:00<00:00, 706.35 it/sec, feas=False, obj=-4.49e+3]
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: 5
    INFO - 16:25:06:       Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
    INFO - 16:25:06:    Solution:
 WARNING - 16:25:06:       The solution is not feasible.
    INFO - 16:25:06:       Objective: -4490.54017449428
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [lift-0.5] = 0.00918103190482844
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:          | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:          | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:06:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Mission Structure
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_panels)
    INFO - 16:25:06:    with respect to thick_panels
    INFO - 16:25:06:    under the inequality constraints
    INFO - 16:25:06:       reserve_fact(thick_panels) <= 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:       | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:       | thick_panels |      1      | 3.414591822896584 |      20     | float |
    INFO - 16:25:06:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 960.23 it/sec, feas=True, obj=-4.5e+3]
   ERROR - 16:25:06: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
    INFO - 16:25:06: Optimization result:
    INFO - 16:25:06:    Optimizer info:
    INFO - 16:25:06:       Status: None
    INFO - 16:25:06:       Message: GEMSEO stopped the driver.
    INFO - 16:25:06:    Solution:
    INFO - 16:25:06:       The solution is feasible.
    INFO - 16:25:06:       Objective: -4503.594576633829
    INFO - 16:25:06:       Standardized constraints:
    INFO - 16:25:06:          [reserve_fact-0.5] = 1.1323209037072957e-10
    INFO - 16:25:06:       Design space:
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06:          | thick_panels |      1      | 3.256301558340416 |      20     | float |
    INFO - 16:25:06:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:06: *** End MDOScenario execution ***
    INFO - 16:25:06:     57%|█████▋    | 4/7 [00:00<00:00, 61.87 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:06: *** Start MDOScenario execution ***
    INFO - 16:25:06: MDOScenario
    INFO - 16:25:06:    Disciplines: Aerodynamics Mission
    INFO - 16:25:06:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:06: Optimization problem:
    INFO - 16:25:06:    minimize -range(thick_airfoils)
    INFO - 16:25:06:    with respect to thick_airfoils
    INFO - 16:25:06:    under the equality constraints
    INFO - 16:25:06:       lift(thick_airfoils) = 0.5
    INFO - 16:25:06:    over the design space:
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06:       | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:06:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:06: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:06:     10%|█         | 1/10 [00:00<00:00, 854.76 it/sec, feas=False, obj=-4.51e+3]
    INFO - 16:25:06:     20%|██        | 2/10 [00:00<00:00, 936.65 it/sec, feas=True, obj=-3.85e+3]
    INFO - 16:25:06:     30%|███       | 3/10 [00:00<00:00, 761.08 it/sec, feas=False, obj=-4.48e+3]
    INFO - 16:25:06:     40%|████      | 4/10 [00:00<00:00, 839.03 it/sec, feas=False, obj=-4.51e+3]
    INFO - 16:25:07:     50%|█████     | 5/10 [00:00<00:00, 838.66 it/sec, feas=False, obj=-4.51e+3]
   ERROR - 16:25:07: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
    INFO - 16:25:07: Optimization result:
    INFO - 16:25:07:    Optimizer info:
    INFO - 16:25:07:       Status: None
    INFO - 16:25:07:       Message: GEMSEO stopped the driver.
    INFO - 16:25:07:    Solution:
    INFO - 16:25:07:       The solution is feasible.
    INFO - 16:25:07:       Objective: -3854.0819929120544
    INFO - 16:25:07:       Standardized constraints:
    INFO - 16:25:07:          [lift-0.5] = 0.0
    INFO - 16:25:07:       Design space:
    INFO - 16:25:07:          +----------------+-------------+------------------+-------------+-------+
    INFO - 16:25:07:          | Name           | Lower bound |      Value       | Upper bound | Type  |
    INFO - 16:25:07:          +----------------+-------------+------------------+-------------+-------+
    INFO - 16:25:07:          | thick_airfoils |      5      | 24.3567703351527 |      25     | float |
    INFO - 16:25:07:          +----------------+-------------+------------------+-------------+-------+
    INFO - 16:25:07: *** End MDOScenario execution ***
    INFO - 16:25:07: *** Start MDOScenario execution ***
    INFO - 16:25:07: MDOScenario
    INFO - 16:25:07:    Disciplines: Mission Structure
    INFO - 16:25:07:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:07: Optimization problem:
    INFO - 16:25:07:    minimize -range(thick_panels)
    INFO - 16:25:07:    with respect to thick_panels
    INFO - 16:25:07:    under the inequality constraints
    INFO - 16:25:07:       reserve_fact(thick_panels) <= 0.5
    INFO - 16:25:07:    over the design space:
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:       | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:       | thick_panels |      1      | 3.256301558340416 |      20     | float |
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:07:     10%|█         | 1/10 [00:00<00:00, 948.51 it/sec, feas=False, obj=-3.84e+3]
   ERROR - 16:25:07: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
    INFO - 16:25:07: Optimization result:
    INFO - 16:25:07:    Optimizer info:
    INFO - 16:25:07:       Status: None
    INFO - 16:25:07:       Message: GEMSEO stopped the driver.
    INFO - 16:25:07:    Solution:
    INFO - 16:25:07:       The solution is feasible.
    INFO - 16:25:07:       Objective: -3843.382025541499
    INFO - 16:25:07:       Standardized constraints:
    INFO - 16:25:07:          [reserve_fact-0.5] = -1.1290524071227992e-10
    INFO - 16:25:07:       Design space:
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:          | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:          | thick_panels |      1      | 3.303233590674794 |      20     | float |
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07: *** End MDOScenario execution ***
    INFO - 16:25:07:     71%|███████▏  | 5/7 [00:00<00:00, 60.07 it/sec, feas=False, obj=-3.85e+3]
    INFO - 16:25:07: *** Start MDOScenario execution ***
    INFO - 16:25:07: MDOScenario
    INFO - 16:25:07:    Disciplines: Aerodynamics Mission
    INFO - 16:25:07:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:07: Optimization problem:
    INFO - 16:25:07:    minimize -range(thick_airfoils)
    INFO - 16:25:07:    with respect to thick_airfoils
    INFO - 16:25:07:    under the equality constraints
    INFO - 16:25:07:       lift(thick_airfoils) = 0.5
    INFO - 16:25:07:    over the design space:
    INFO - 16:25:07:       +----------------+-------------+------------------+-------------+-------+
    INFO - 16:25:07:       | Name           | Lower bound |      Value       | Upper bound | Type  |
    INFO - 16:25:07:       +----------------+-------------+------------------+-------------+-------+
    INFO - 16:25:07:       | thick_airfoils |      5      | 24.3567703351527 |      25     | float |
    INFO - 16:25:07:       +----------------+-------------+------------------+-------------+-------+
    INFO - 16:25:07: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:07:     10%|█         | 1/10 [00:00<00:00, 878.39 it/sec, feas=False, obj=-3.85e+3]
 WARNING - 16:25:07: Optimization found no feasible point; the least infeasible point is selected.
    INFO - 16:25:07:     20%|██        | 2/10 [00:00<00:00, 685.51 it/sec, feas=False, obj=-4.49e+3]
    INFO - 16:25:07: Optimization result:
    INFO - 16:25:07:    Optimizer info:
    INFO - 16:25:07:       Status: 5
    INFO - 16:25:07:       Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
    INFO - 16:25:07:    Solution:
 WARNING - 16:25:07:       The solution is not feasible.
    INFO - 16:25:07:       Objective: -4492.38920700084
    INFO - 16:25:07:       Standardized constraints:
    INFO - 16:25:07:          [lift-0.5] = 0.00858587320790527
    INFO - 16:25:07:       Design space:
    INFO - 16:25:07:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07:          | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:07:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07:          | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:07:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07: *** End MDOScenario execution ***
    INFO - 16:25:07: *** Start MDOScenario execution ***
    INFO - 16:25:07: MDOScenario
    INFO - 16:25:07:    Disciplines: Mission Structure
    INFO - 16:25:07:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:07: Optimization problem:
    INFO - 16:25:07:    minimize -range(thick_panels)
    INFO - 16:25:07:    with respect to thick_panels
    INFO - 16:25:07:    under the inequality constraints
    INFO - 16:25:07:       reserve_fact(thick_panels) <= 0.5
    INFO - 16:25:07:    over the design space:
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:       | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:       | thick_panels |      1      | 3.303233590674794 |      20     | float |
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:07:     10%|█         | 1/10 [00:00<00:00, 953.25 it/sec, feas=True, obj=-4.5e+3]
    INFO - 16:25:07:     20%|██        | 2/10 [00:00<00:00, 1003.78 it/sec, feas=True, obj=-4.5e+3]
    INFO - 16:25:07:     30%|███       | 3/10 [00:00<00:00, 1032.57 it/sec, feas=True, obj=-4.5e+3]
    INFO - 16:25:07:     40%|████      | 4/10 [00:00<00:00, 1070.59 it/sec, feas=True, obj=-4.5e+3]
    INFO - 16:25:07: Optimization result:
    INFO - 16:25:07:    Optimizer info:
    INFO - 16:25:07:       Status: None
    INFO - 16:25:07:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 16:25:07:    Solution:
    INFO - 16:25:07:       The solution is feasible.
    INFO - 16:25:07:       Objective: -4504.850158478924
    INFO - 16:25:07:       Standardized constraints:
    INFO - 16:25:07:          [reserve_fact-0.5] = 5.3804996014150674e-09
    INFO - 16:25:07:       Design space:
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:          | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:          | thick_panels |      1      | 3.264536834765667 |      20     | float |
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07: *** End MDOScenario execution ***
    INFO - 16:25:07:     86%|████████▌ | 6/7 [00:00<00:00, 60.14 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:07: *** Start MDOScenario execution ***
    INFO - 16:25:07: MDOScenario
    INFO - 16:25:07:    Disciplines: Aerodynamics Mission
    INFO - 16:25:07:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:07: Optimization problem:
    INFO - 16:25:07:    minimize -range(thick_airfoils)
    INFO - 16:25:07:    with respect to thick_airfoils
    INFO - 16:25:07:    under the equality constraints
    INFO - 16:25:07:       lift(thick_airfoils) = 0.5
    INFO - 16:25:07:    over the design space:
    INFO - 16:25:07:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07:       | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:07:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07:       | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:07:       +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:07:     10%|█         | 1/10 [00:00<00:00, 972.25 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:07:     20%|██        | 2/10 [00:00<00:00, 982.39 it/sec, feas=True, obj=-4.48e+3]
    INFO - 16:25:07:     30%|███       | 3/10 [00:00<00:00, 1151.96 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:07:     40%|████      | 4/10 [00:00<00:00, 1189.96 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:07:     50%|█████     | 5/10 [00:00<00:00, 1095.18 it/sec, feas=True, obj=-4.51e+3]
   ERROR - 16:25:07: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
    INFO - 16:25:07: Optimization result:
    INFO - 16:25:07:    Optimizer info:
    INFO - 16:25:07:       Status: None
    INFO - 16:25:07:       Message: GEMSEO stopped the driver.
    INFO - 16:25:07:    Solution:
    INFO - 16:25:07:       The solution is feasible.
    INFO - 16:25:07:       Objective: -4509.519641910682
    INFO - 16:25:07:       Standardized constraints:
    INFO - 16:25:07:          [lift-0.5] = -0.0001369125207841826
    INFO - 16:25:07:       Design space:
    INFO - 16:25:07:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07:          | Name           | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:07:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07:          | thick_airfoils |      5      |   5   |      25     | float |
    INFO - 16:25:07:          +----------------+-------------+-------+-------------+-------+
    INFO - 16:25:07: *** End MDOScenario execution ***
    INFO - 16:25:07: *** Start MDOScenario execution ***
    INFO - 16:25:07: MDOScenario
    INFO - 16:25:07:    Disciplines: Mission Structure
    INFO - 16:25:07:    MDO formulation: DisciplinaryOpt
    INFO - 16:25:07: Optimization problem:
    INFO - 16:25:07:    minimize -range(thick_panels)
    INFO - 16:25:07:    with respect to thick_panels
    INFO - 16:25:07:    under the inequality constraints
    INFO - 16:25:07:       reserve_fact(thick_panels) <= 0.5
    INFO - 16:25:07:    over the design space:
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:       | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:       | thick_panels |      1      | 3.264536834765667 |      20     | float |
    INFO - 16:25:07:       +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07: Solving optimization problem with algorithm NLOPT_SLSQP:
    INFO - 16:25:07:     10%|█         | 1/10 [00:00<00:00, 986.90 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:07:     20%|██        | 2/10 [00:00<00:00, 985.74 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:07:     30%|███       | 3/10 [00:00<00:00, 1019.02 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:07:     40%|████      | 4/10 [00:00<00:00, 967.38 it/sec, feas=True, obj=-4.51e+3]
    INFO - 16:25:07: Optimization result:
    INFO - 16:25:07:    Optimizer info:
    INFO - 16:25:07:       Status: None
    INFO - 16:25:07:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 16:25:07:    Solution:
    INFO - 16:25:07:       The solution is feasible.
    INFO - 16:25:07:       Objective: -4509.583287345613
    INFO - 16:25:07:       Standardized constraints:
    INFO - 16:25:07:          [reserve_fact-0.5] = 2.4061108661044273e-10
    INFO - 16:25:07:       Design space:
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:          | Name         | Lower bound |       Value       | Upper bound | Type  |
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07:          | thick_panels |      1      | 3.225021426759095 |      20     | float |
    INFO - 16:25:07:          +--------------+-------------+-------------------+-------------+-------+
    INFO - 16:25:07: *** End MDOScenario execution ***
    INFO - 16:25:07:    100%|██████████| 7/7 [00:00<00:00, 58.48 it/sec, feas=False, obj=-4.51e+3]
    INFO - 16:25:07: Optimization result:
    INFO - 16:25:07:    Optimizer info:
    INFO - 16:25:07:       Status: None
    INFO - 16:25:07:       Message: Maximum number of iterations reached. GEMSEO stopped the driver.
    INFO - 16:25:07:    Solution:
    INFO - 16:25:07:       The solution is feasible.
    INFO - 16:25:07:       Objective: -4509.243708600623
    INFO - 16:25:07:       Standardized constraints:
    INFO - 16:25:07:          [lift-0.5] = 5.903055821931957e-13
    INFO - 16:25:07:          [reserve_fact-0.5] = -0.2599999989201578
    INFO - 16:25:07:       Design space:
    INFO - 16:25:07:          +-------+-------------+-------+-------------+-------+
    INFO - 16:25:07:          | Name  | Lower bound | Value | Upper bound | Type  |
    INFO - 16:25:07:          +-------+-------------+-------+-------------+-------+
    INFO - 16:25:07:          | sweep |      10     |   25  |      35     | float |
    INFO - 16:25:07:          +-------+-------------+-------+-------------+-------+
    INFO - 16:25:07: *** End MDOScenario execution ***

<gemseo.post.opt_history_view.OptHistoryView object at 0x72a4d5c8a360>

Total running time of the script: (0 minutes 1.234 seconds)

Gallery generated by Sphinx-Gallery