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:16:20: Variable reserve_fact was removed from the Design Space, it is not an input of any discipline.
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Aerodynamics Mission Structure
INFO - 16:16:20: MDO formulation: MDF
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_airfoils, thick_panels, sweep)
INFO - 16:16:20: with respect to sweep, thick_airfoils, thick_panels
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(thick_airfoils, thick_panels, sweep) = 0.5
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(thick_airfoils, thick_panels, sweep) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 15 | 25 | float |
INFO - 16:16:20: | thick_panels | 1 | 3 | 20 | float |
INFO - 16:16:20: | sweep | 10 | 25 | 35 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 45.64 it/sec, feas=False, obj=-4.25e+3]
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 62.34 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: 30%|███ | 3/10 [00:00<00:00, 71.27 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: 40%|████ | 4/10 [00:00<00:00, 76.54 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -4509.50544702964
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = 2.5761726085704595e-11
INFO - 16:16:20: [reserve_fact-0.5] = 1.483013960523749e-07
INFO - 16:16:20: Design space:
INFO - 16:16:20: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: | thick_panels | 1 | 3.22558920187883 | 20 | float |
INFO - 16:16:20: | sweep | 10 | 24.99326599064601 | 35 | float |
INFO - 16:16:20: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
<gemseo.post.opt_history_view.OptHistoryView object at 0x7c4bb5a4bf50>
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:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: MDOScenario MDOScenario Mission
INFO - 16:16:20: MDO formulation: BiLevel
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(sweep)
INFO - 16:16:20: with respect to sweep
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(sweep) = 0.5
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(sweep) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +-------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +-------+-------------+-------+-------------+-------+
INFO - 16:16:20: | sweep | 10 | 25 | 35 | float |
INFO - 16:16:20: +-------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_COBYLA:
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Aerodynamics Mission
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_airfoils)
INFO - 16:16:20: with respect to thick_airfoils
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(thick_airfoils) = 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 15 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 658.34 it/sec, feas=False, obj=-4.27e+3]
WARNING - 16:16:20: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 603.58 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: 5
INFO - 16:16:20: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:16:20: Solution:
WARNING - 16:16:20: The solution is not feasible.
INFO - 16:16:20: Objective: -4513.429203824652
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = 0.008666666666666822
INFO - 16:16:20: Design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Mission Structure
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_panels)
INFO - 16:16:20: with respect to thick_panels
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(thick_panels) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +--------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 757.50 it/sec, feas=False, obj=-4.51e+3]
ERROR - 16:16:20: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -4504.955637332531
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [reserve_fact-0.5] = 1.062133492268913e-09
INFO - 16:16:20: Design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.266666666489645 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: 14%|█▍ | 1/7 [00:00<00:00, 64.79 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Aerodynamics Mission
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_airfoils)
INFO - 16:16:20: with respect to thick_airfoils
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(thick_airfoils) = 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
WARNING - 16:16:20: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 486.41 it/sec, feas=False, obj=-4.27e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: 5
INFO - 16:16:20: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:16:20: Solution:
WARNING - 16:16:20: The solution is not feasible.
INFO - 16:16:20: Objective: -4267.910320106269
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = 0.12708333333392363
INFO - 16:16:20: Design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Mission Structure
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_panels)
INFO - 16:16:20: with respect to thick_panels
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(thick_panels) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.266666666489645 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 1058.90 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 1065.76 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:16:20: 30%|███ | 3/10 [00:00<00:00, 1089.34 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:16:20: 40%|████ | 4/10 [00:00<00:00, 1138.13 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -4270.047650046897
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [reserve_fact-0.5] = 1.5540514652911952e-08
INFO - 16:16:20: Design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 1.764999997412866 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: 29%|██▊ | 2/7 [00:00<00:00, 65.51 it/sec, feas=False, obj=-4.27e+3]
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Aerodynamics Mission
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_airfoils)
INFO - 16:16:20: with respect to thick_airfoils
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(thick_airfoils) = 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 972.48 it/sec, feas=False, obj=-4.53e+3]
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 1030.79 it/sec, feas=False, obj=-3.83e+3]
INFO - 16:16:20: 30%|███ | 3/10 [00:00<00:00, 1217.27 it/sec, feas=False, obj=-4.43e+3]
INFO - 16:16:20: 40%|████ | 4/10 [00:00<00:00, 1324.69 it/sec, feas=False, obj=-4.5e+3]
INFO - 16:16:20: 50%|█████ | 5/10 [00:00<00:00, 1398.19 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:16:20: 60%|██████ | 6/10 [00:00<00:00, 1459.40 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:16:20: 70%|███████ | 7/10 [00:00<00:00, 1500.19 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:16:20: 80%|████████ | 8/10 [00:00<00:00, 1538.07 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:16:20: 90%|█████████ | 9/10 [00:00<00:00, 1565.49 it/sec, feas=False, obj=-4.53e+3]
INFO - 16:16:20: 100%|██████████| 10/10 [00:00<00:00, 1595.64 it/sec, feas=False, obj=-4.53e+3]
WARNING - 16:16:20: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: Maximum number of iterations reached. GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
WARNING - 16:16:20: The solution is not feasible.
INFO - 16:16:20: Objective: -3831.807218275781
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = -0.0023374064594913757
INFO - 16:16:20: Design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 25 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Mission Structure
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_panels)
INFO - 16:16:20: with respect to thick_panels
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(thick_panels) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 1.764999997412866 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 961.78 it/sec, feas=False, obj=-3.82e+3]
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 1026.13 it/sec, feas=True, obj=-3.82e+3]
ERROR - 16:16:20: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -3818.5902856031416
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [reserve_fact-0.5] = 2.8144597763457568e-11
INFO - 16:16:20: Design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.414591822896584 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: 43%|████▎ | 3/7 [00:00<00:00, 60.80 it/sec, feas=False, obj=-3.82e+3]
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Aerodynamics Mission
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_airfoils)
INFO - 16:16:20: with respect to thick_airfoils
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(thick_airfoils) = 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 25 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 985.04 it/sec, feas=False, obj=-3.82e+3]
WARNING - 16:16:20: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 715.57 it/sec, feas=False, obj=-4.49e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: 5
INFO - 16:16:20: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:16:20: Solution:
WARNING - 16:16:20: The solution is not feasible.
INFO - 16:16:20: Objective: -4490.54017449428
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = 0.00918103190482844
INFO - 16:16:20: Design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Mission Structure
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_panels)
INFO - 16:16:20: with respect to thick_panels
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(thick_panels) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.414591822896584 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 948.51 it/sec, feas=True, obj=-4.5e+3]
ERROR - 16:16:20: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -4503.594576633829
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [reserve_fact-0.5] = 1.1323209037072957e-10
INFO - 16:16:20: Design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.256301558340416 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: 57%|█████▋ | 4/7 [00:00<00:00, 63.06 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Aerodynamics Mission
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_airfoils)
INFO - 16:16:20: with respect to thick_airfoils
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(thick_airfoils) = 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 940.22 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 987.59 it/sec, feas=True, obj=-3.85e+3]
INFO - 16:16:20: 30%|███ | 3/10 [00:00<00:00, 751.85 it/sec, feas=False, obj=-4.48e+3]
INFO - 16:16:20: 40%|████ | 4/10 [00:00<00:00, 836.52 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:16:20: 50%|█████ | 5/10 [00:00<00:00, 833.82 it/sec, feas=False, obj=-4.51e+3]
ERROR - 16:16:20: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -3854.0819929120544
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = 0.0
INFO - 16:16:20: Design space:
INFO - 16:16:20: +----------------+-------------+------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+------------------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 24.3567703351527 | 25 | float |
INFO - 16:16:20: +----------------+-------------+------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Mission Structure
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_panels)
INFO - 16:16:20: with respect to thick_panels
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(thick_panels) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.256301558340416 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 942.75 it/sec, feas=False, obj=-3.84e+3]
ERROR - 16:16:20: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -3843.382025541499
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [reserve_fact-0.5] = -1.1290524071227992e-10
INFO - 16:16:20: Design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.303233590674794 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: 71%|███████▏ | 5/7 [00:00<00:00, 60.64 it/sec, feas=False, obj=-3.85e+3]
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Aerodynamics Mission
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_airfoils)
INFO - 16:16:20: with respect to thick_airfoils
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(thick_airfoils) = 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +----------------+-------------+------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+------------------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 24.3567703351527 | 25 | float |
INFO - 16:16:20: +----------------+-------------+------------------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 959.14 it/sec, feas=False, obj=-3.85e+3]
WARNING - 16:16:20: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 690.31 it/sec, feas=False, obj=-4.49e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: 5
INFO - 16:16:20: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:16:20: Solution:
WARNING - 16:16:20: The solution is not feasible.
INFO - 16:16:20: Objective: -4492.38920700084
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = 0.00858587320790527
INFO - 16:16:20: Design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Mission Structure
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_panels)
INFO - 16:16:20: with respect to thick_panels
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(thick_panels) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.303233590674794 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 972.71 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 1031.56 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:16:20: 30%|███ | 3/10 [00:00<00:00, 1066.71 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:16:20: 40%|████ | 4/10 [00:00<00:00, 1116.25 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -4504.850158478924
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [reserve_fact-0.5] = 5.3804996014150674e-09
INFO - 16:16:20: Design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.264536834765667 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: 86%|████████▌ | 6/7 [00:00<00:00, 60.67 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Aerodynamics Mission
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_airfoils)
INFO - 16:16:20: with respect to thick_airfoils
INFO - 16:16:20: under the equality constraints
INFO - 16:16:20: lift(thick_airfoils) = 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 967.32 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 1044.53 it/sec, feas=True, obj=-4.48e+3]
INFO - 16:16:20: 30%|███ | 3/10 [00:00<00:00, 1229.88 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: 40%|████ | 4/10 [00:00<00:00, 1252.78 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: 50%|█████ | 5/10 [00:00<00:00, 1148.75 it/sec, feas=True, obj=-4.51e+3]
ERROR - 16:16:20: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -4509.519641910682
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = -0.0001369125207841826
INFO - 16:16:20: Design space:
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:16:20: +----------------+-------------+-------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: *** Start MDOScenario execution ***
INFO - 16:16:20: MDOScenario
INFO - 16:16:20: Disciplines: Mission Structure
INFO - 16:16:20: MDO formulation: DisciplinaryOpt
INFO - 16:16:20: Optimization problem:
INFO - 16:16:20: minimize -range(thick_panels)
INFO - 16:16:20: with respect to thick_panels
INFO - 16:16:20: under the inequality constraints
INFO - 16:16:20: reserve_fact(thick_panels) <= 0.5
INFO - 16:16:20: over the design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.264536834765667 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:16:20: 10%|█ | 1/10 [00:00<00:00, 1012.63 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: 20%|██ | 2/10 [00:00<00:00, 1053.98 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: 30%|███ | 3/10 [00:00<00:00, 1078.78 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: 40%|████ | 4/10 [00:00<00:00, 1011.59 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -4509.583287345613
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [reserve_fact-0.5] = 2.4061108661044273e-10
INFO - 16:16:20: Design space:
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: | thick_panels | 1 | 3.225021426759095 | 20 | float |
INFO - 16:16:20: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
INFO - 16:16:20: 100%|██████████| 7/7 [00:00<00:00, 59.23 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:16:20: Optimization result:
INFO - 16:16:20: Optimizer info:
INFO - 16:16:20: Status: None
INFO - 16:16:20: Message: Maximum number of iterations reached. GEMSEO stopped the driver.
INFO - 16:16:20: Solution:
INFO - 16:16:20: The solution is feasible.
INFO - 16:16:20: Objective: -4509.243708600623
INFO - 16:16:20: Standardized constraints:
INFO - 16:16:20: [lift-0.5] = 5.903055821931957e-13
INFO - 16:16:20: [reserve_fact-0.5] = -0.2599999989201578
INFO - 16:16:20: Design space:
INFO - 16:16:20: +-------+-------------+-------+-------------+-------+
INFO - 16:16:20: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:16:20: +-------+-------------+-------+-------------+-------+
INFO - 16:16:20: | sweep | 10 | 25 | 35 | float |
INFO - 16:16:20: +-------+-------------+-------+-------------+-------+
INFO - 16:16:20: *** End MDOScenario execution ***
<gemseo.post.opt_history_view.OptHistoryView object at 0x7c4bb29c3ce0>
Total running time of the script: (0 minutes 1.198 seconds)









