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: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)
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)









