Note
Go to the end to download the full example code.
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)

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)
INFO - 16:24:33: Variable reserve_fact was removed from the Design Space, it is not an input of any discipline.
INFO - 16:24:33: *** Start MDOScenario execution ***
INFO - 16:24:33: MDOScenario
INFO - 16:24:33: Disciplines: Aerodynamics Mission Structure
INFO - 16:24:33: MDO formulation: MDF
INFO - 16:24:33: Optimization problem:
INFO - 16:24:33: minimize -range(thick_airfoils, thick_panels, sweep)
INFO - 16:24:33: with respect to sweep, thick_airfoils, thick_panels
INFO - 16:24:33: under the equality constraints
INFO - 16:24:33: lift(thick_airfoils, thick_panels, sweep) = 0.5
INFO - 16:24:33: under the inequality constraints
INFO - 16:24:33: reserve_fact(thick_airfoils, thick_panels, sweep) <= 0.5
INFO - 16:24:33: over the design space:
INFO - 16:24:33: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:33: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:33: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:33: | thick_airfoils | 5 | 15 | 25 | float |
INFO - 16:24:33: | thick_panels | 1 | 3 | 20 | float |
INFO - 16:24:33: | sweep | 10 | 25 | 35 | float |
INFO - 16:24:33: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:33: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:33: 10%|█ | 1/10 [00:00<00:00, 50.14 it/sec, feas=False, obj=-4.25e+3]
INFO - 16:24:33: 20%|██ | 2/10 [00:00<00:00, 66.20 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:33: 30%|███ | 3/10 [00:00<00:00, 74.30 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:33: 40%|████ | 4/10 [00:00<00:00, 78.73 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:33: Optimization result:
INFO - 16:24:33: Optimizer info:
INFO - 16:24:33: Status: None
INFO - 16:24:33: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:24:33: Solution:
INFO - 16:24:33: The solution is feasible.
INFO - 16:24:33: Objective: -4509.50544702964
INFO - 16:24:33: Standardized constraints:
INFO - 16:24:33: [lift-0.5] = 2.5761726085704595e-11
INFO - 16:24:33: [reserve_fact-0.5] = 1.483013960523749e-07
INFO - 16:24:33: Design space:
INFO - 16:24:33: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:24:33: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:33: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:24:33: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:33: | thick_panels | 1 | 3.22558920187883 | 20 | float |
INFO - 16:24:33: | sweep | 10 | 24.99326599064601 | 35 | float |
INFO - 16:24:33: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:24:33: *** End MDOScenario execution ***
<gemseo.post.opt_history_view.OptHistoryView object at 0x7c2f8f2b0800>
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)
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: MDOScenario MDOScenario Mission
INFO - 16:24:34: MDO formulation: BiLevel
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(sweep)
INFO - 16:24:34: with respect to sweep
INFO - 16:24:34: under the equality constraints
INFO - 16:24:34: lift(sweep) = 0.5
INFO - 16:24:34: under the inequality constraints
INFO - 16:24:34: reserve_fact(sweep) <= 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +-------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +-------+-------------+-------+-------------+-------+
INFO - 16:24:34: | sweep | 10 | 25 | 35 | float |
INFO - 16:24:34: +-------+-------------+-------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_COBYLA:
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Aerodynamics Mission
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_airfoils)
INFO - 16:24:34: with respect to thick_airfoils
INFO - 16:24:34: under the equality constraints
INFO - 16:24:34: lift(thick_airfoils) = 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 15 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 654.85 it/sec, feas=False, obj=-4.27e+3]
WARNING - 16:24:34: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 590.91 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: 5
INFO - 16:24:34: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:24:34: Solution:
WARNING - 16:24:34: The solution is not feasible.
INFO - 16:24:34: Objective: -4513.429203824652
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [lift-0.5] = 0.008666666666666822
INFO - 16:24:34: Design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Mission Structure
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_panels)
INFO - 16:24:34: with respect to thick_panels
INFO - 16:24:34: under the inequality constraints
INFO - 16:24:34: reserve_fact(thick_panels) <= 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +--------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 732.37 it/sec, feas=False, obj=-4.51e+3]
ERROR - 16:24:34: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -4504.955637332531
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [reserve_fact-0.5] = 1.062133492268913e-09
INFO - 16:24:34: Design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.266666666489645 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: 14%|█▍ | 1/7 [00:00<00:00, 63.64 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Aerodynamics Mission
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_airfoils)
INFO - 16:24:34: with respect to thick_airfoils
INFO - 16:24:34: under the equality constraints
INFO - 16:24:34: lift(thick_airfoils) = 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
WARNING - 16:24:34: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 527.98 it/sec, feas=False, obj=-4.27e+3]
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: 5
INFO - 16:24:34: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:24:34: Solution:
WARNING - 16:24:34: The solution is not feasible.
INFO - 16:24:34: Objective: -4267.910320106269
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [lift-0.5] = 0.12708333333392363
INFO - 16:24:34: Design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Mission Structure
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_panels)
INFO - 16:24:34: with respect to thick_panels
INFO - 16:24:34: under the inequality constraints
INFO - 16:24:34: reserve_fact(thick_panels) <= 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.266666666489645 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 1033.33 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 1039.48 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:24:34: 30%|███ | 3/10 [00:00<00:00, 1062.75 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:24:34: 40%|████ | 4/10 [00:00<00:00, 1104.93 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -4270.047650046897
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [reserve_fact-0.5] = 1.5540514652911952e-08
INFO - 16:24:34: Design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 1.764999997412866 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: 29%|██▊ | 2/7 [00:00<00:00, 65.19 it/sec, feas=False, obj=-4.27e+3]
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Aerodynamics Mission
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_airfoils)
INFO - 16:24:34: with respect to thick_airfoils
INFO - 16:24:34: under the equality constraints
INFO - 16:24:34: lift(thick_airfoils) = 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 917.59 it/sec, feas=False, obj=-4.53e+3]
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 980.55 it/sec, feas=False, obj=-3.83e+3]
INFO - 16:24:34: 30%|███ | 3/10 [00:00<00:00, 1167.03 it/sec, feas=False, obj=-4.43e+3]
INFO - 16:24:34: 40%|████ | 4/10 [00:00<00:00, 1270.52 it/sec, feas=False, obj=-4.5e+3]
INFO - 16:24:34: 50%|█████ | 5/10 [00:00<00:00, 1352.83 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:24:34: 60%|██████ | 6/10 [00:00<00:00, 1404.42 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:24:34: 70%|███████ | 7/10 [00:00<00:00, 1448.60 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:24:34: 80%|████████ | 8/10 [00:00<00:00, 1489.92 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:24:34: 90%|█████████ | 9/10 [00:00<00:00, 1515.65 it/sec, feas=False, obj=-4.53e+3]
INFO - 16:24:34: 100%|██████████| 10/10 [00:00<00:00, 1542.48 it/sec, feas=False, obj=-4.53e+3]
WARNING - 16:24:34: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: Maximum number of iterations reached. GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
WARNING - 16:24:34: The solution is not feasible.
INFO - 16:24:34: Objective: -3831.807218275781
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [lift-0.5] = -0.0023374064594913757
INFO - 16:24:34: Design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 25 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Mission Structure
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_panels)
INFO - 16:24:34: with respect to thick_panels
INFO - 16:24:34: under the inequality constraints
INFO - 16:24:34: reserve_fact(thick_panels) <= 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 1.764999997412866 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 924.47 it/sec, feas=False, obj=-3.82e+3]
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 979.63 it/sec, feas=True, obj=-3.82e+3]
ERROR - 16:24:34: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -3818.5902856031416
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [reserve_fact-0.5] = 2.8144597763457568e-11
INFO - 16:24:34: Design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.414591822896584 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: 43%|████▎ | 3/7 [00:00<00:00, 60.05 it/sec, feas=False, obj=-3.82e+3]
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Aerodynamics Mission
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_airfoils)
INFO - 16:24:34: with respect to thick_airfoils
INFO - 16:24:34: under the equality constraints
INFO - 16:24:34: lift(thick_airfoils) = 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 25 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 912.40 it/sec, feas=False, obj=-3.82e+3]
WARNING - 16:24:34: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 692.24 it/sec, feas=False, obj=-4.49e+3]
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: 5
INFO - 16:24:34: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:24:34: Solution:
WARNING - 16:24:34: The solution is not feasible.
INFO - 16:24:34: Objective: -4490.54017449428
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [lift-0.5] = 0.00918103190482844
INFO - 16:24:34: Design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Mission Structure
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_panels)
INFO - 16:24:34: with respect to thick_panels
INFO - 16:24:34: under the inequality constraints
INFO - 16:24:34: reserve_fact(thick_panels) <= 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.414591822896584 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 945.51 it/sec, feas=True, obj=-4.5e+3]
ERROR - 16:24:34: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -4503.594576633829
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [reserve_fact-0.5] = 1.1323209037072957e-10
INFO - 16:24:34: Design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.256301558340416 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: 57%|█████▋ | 4/7 [00:00<00:00, 62.68 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Aerodynamics Mission
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_airfoils)
INFO - 16:24:34: with respect to thick_airfoils
INFO - 16:24:34: under the equality constraints
INFO - 16:24:34: lift(thick_airfoils) = 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 919.20 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 980.21 it/sec, feas=True, obj=-3.85e+3]
INFO - 16:24:34: 30%|███ | 3/10 [00:00<00:00, 770.21 it/sec, feas=False, obj=-4.48e+3]
INFO - 16:24:34: 40%|████ | 4/10 [00:00<00:00, 846.78 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:24:34: 50%|█████ | 5/10 [00:00<00:00, 840.58 it/sec, feas=False, obj=-4.51e+3]
ERROR - 16:24:34: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -3854.0819929120544
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [lift-0.5] = 0.0
INFO - 16:24:34: Design space:
INFO - 16:24:34: +----------------+-------------+------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+------------------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 24.3567703351527 | 25 | float |
INFO - 16:24:34: +----------------+-------------+------------------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Mission Structure
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_panels)
INFO - 16:24:34: with respect to thick_panels
INFO - 16:24:34: under the inequality constraints
INFO - 16:24:34: reserve_fact(thick_panels) <= 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.256301558340416 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 923.65 it/sec, feas=False, obj=-3.84e+3]
ERROR - 16:24:34: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -3843.382025541499
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [reserve_fact-0.5] = -1.1290524071227992e-10
INFO - 16:24:34: Design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.303233590674794 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: 71%|███████▏ | 5/7 [00:00<00:00, 60.84 it/sec, feas=False, obj=-3.85e+3]
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Aerodynamics Mission
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_airfoils)
INFO - 16:24:34: with respect to thick_airfoils
INFO - 16:24:34: under the equality constraints
INFO - 16:24:34: lift(thick_airfoils) = 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +----------------+-------------+------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+------------------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 24.3567703351527 | 25 | float |
INFO - 16:24:34: +----------------+-------------+------------------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 958.70 it/sec, feas=False, obj=-3.85e+3]
WARNING - 16:24:34: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 703.51 it/sec, feas=False, obj=-4.49e+3]
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: 5
INFO - 16:24:34: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:24:34: Solution:
WARNING - 16:24:34: The solution is not feasible.
INFO - 16:24:34: Objective: -4492.38920700084
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [lift-0.5] = 0.00858587320790527
INFO - 16:24:34: Design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Mission Structure
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_panels)
INFO - 16:24:34: with respect to thick_panels
INFO - 16:24:34: under the inequality constraints
INFO - 16:24:34: reserve_fact(thick_panels) <= 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.303233590674794 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 940.43 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 986.31 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:24:34: 30%|███ | 3/10 [00:00<00:00, 1019.44 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:24:34: 40%|████ | 4/10 [00:00<00:00, 1068.54 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -4504.850158478924
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [reserve_fact-0.5] = 5.3804996014150674e-09
INFO - 16:24:34: Design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.264536834765667 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: 86%|████████▌ | 6/7 [00:00<00:00, 60.88 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Aerodynamics Mission
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_airfoils)
INFO - 16:24:34: with respect to thick_airfoils
INFO - 16:24:34: under the equality constraints
INFO - 16:24:34: lift(thick_airfoils) = 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 964.65 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 1030.67 it/sec, feas=True, obj=-4.48e+3]
INFO - 16:24:34: 30%|███ | 3/10 [00:00<00:00, 1210.01 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: 40%|████ | 4/10 [00:00<00:00, 1224.35 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: 50%|█████ | 5/10 [00:00<00:00, 1120.27 it/sec, feas=True, obj=-4.51e+3]
ERROR - 16:24:34: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -4509.519641910682
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [lift-0.5] = -0.0001369125207841826
INFO - 16:24:34: Design space:
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:24:34: +----------------+-------------+-------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: *** Start MDOScenario execution ***
INFO - 16:24:34: MDOScenario
INFO - 16:24:34: Disciplines: Mission Structure
INFO - 16:24:34: MDO formulation: DisciplinaryOpt
INFO - 16:24:34: Optimization problem:
INFO - 16:24:34: minimize -range(thick_panels)
INFO - 16:24:34: with respect to thick_panels
INFO - 16:24:34: under the inequality constraints
INFO - 16:24:34: reserve_fact(thick_panels) <= 0.5
INFO - 16:24:34: over the design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.264536834765667 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:24:34: 10%|█ | 1/10 [00:00<00:00, 969.33 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: 20%|██ | 2/10 [00:00<00:00, 1012.02 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: 30%|███ | 3/10 [00:00<00:00, 1024.75 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: 40%|████ | 4/10 [00:00<00:00, 972.14 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -4509.583287345613
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [reserve_fact-0.5] = 2.4061108661044273e-10
INFO - 16:24:34: Design space:
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: | thick_panels | 1 | 3.225021426759095 | 20 | float |
INFO - 16:24:34: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
INFO - 16:24:34: 100%|██████████| 7/7 [00:00<00:00, 59.16 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:24:34: Optimization result:
INFO - 16:24:34: Optimizer info:
INFO - 16:24:34: Status: None
INFO - 16:24:34: Message: Maximum number of iterations reached. GEMSEO stopped the driver.
INFO - 16:24:34: Solution:
INFO - 16:24:34: The solution is feasible.
INFO - 16:24:34: Objective: -4509.243708600623
INFO - 16:24:34: Standardized constraints:
INFO - 16:24:34: [lift-0.5] = 5.903055821931957e-13
INFO - 16:24:34: [reserve_fact-0.5] = -0.2599999989201578
INFO - 16:24:34: Design space:
INFO - 16:24:34: +-------+-------------+-------+-------------+-------+
INFO - 16:24:34: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:24:34: +-------+-------------+-------+-------------+-------+
INFO - 16:24:34: | sweep | 10 | 25 | 35 | float |
INFO - 16:24:34: +-------+-------------+-------+-------------+-------+
INFO - 16:24:34: *** End MDOScenario execution ***
<gemseo.post.opt_history_view.OptHistoryView object at 0x7c2f71b17680>
Total running time of the script: (0 minutes 1.220 seconds)









