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:19:23: Variable reserve_fact was removed from the Design Space, it is not an input of any discipline.
INFO - 16:19:23: *** Start MDOScenario execution ***
INFO - 16:19:23: MDOScenario
INFO - 16:19:23: Disciplines: Aerodynamics Mission Structure
INFO - 16:19:23: MDO formulation: MDF
INFO - 16:19:23: Optimization problem:
INFO - 16:19:23: minimize -range(thick_airfoils, thick_panels, sweep)
INFO - 16:19:23: with respect to sweep, thick_airfoils, thick_panels
INFO - 16:19:23: under the equality constraints
INFO - 16:19:23: lift(thick_airfoils, thick_panels, sweep) = 0.5
INFO - 16:19:23: under the inequality constraints
INFO - 16:19:23: reserve_fact(thick_airfoils, thick_panels, sweep) <= 0.5
INFO - 16:19:23: over the design space:
INFO - 16:19:23: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:23: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:23: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:23: | thick_airfoils | 5 | 15 | 25 | float |
INFO - 16:19:23: | thick_panels | 1 | 3 | 20 | float |
INFO - 16:19:23: | sweep | 10 | 25 | 35 | float |
INFO - 16:19:23: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:23: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:23: 10%|█ | 1/10 [00:00<00:00, 37.73 it/sec, feas=False, obj=-4.25e+3]
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 47.57 it/sec, feas=True, obj=-4.51e+3]
ERROR - 16:19:24: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -4509.5054469556535
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = 3.808064974464287e-14
INFO - 16:19:24: [reserve_fact-0.5] = 2.761247230864683e-08
INFO - 16:19:24: Design space:
INFO - 16:19:24: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: | thick_panels | 1 | 3.225589221226312 | 20 | float |
INFO - 16:19:24: | sweep | 10 | 24.99326599255263 | 35 | float |
INFO - 16:19:24: +----------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
<gemseo.post.opt_history_view.OptHistoryView object at 0x7b1d39f27c20>
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:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: MDOScenario MDOScenario Mission
INFO - 16:19:24: MDO formulation: BiLevel
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(sweep)
INFO - 16:19:24: with respect to sweep
INFO - 16:19:24: under the equality constraints
INFO - 16:19:24: lift(sweep) = 0.5
INFO - 16:19:24: under the inequality constraints
INFO - 16:19:24: reserve_fact(sweep) <= 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +-------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +-------+-------------+-------+-------------+-------+
INFO - 16:19:24: | sweep | 10 | 25 | 35 | float |
INFO - 16:19:24: +-------+-------------+-------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_COBYLA:
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Aerodynamics Mission
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_airfoils)
INFO - 16:19:24: with respect to thick_airfoils
INFO - 16:19:24: under the equality constraints
INFO - 16:19:24: lift(thick_airfoils) = 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 15 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 483.66 it/sec, feas=False, obj=-4.27e+3]
WARNING - 16:19:24: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 403.26 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: 5
INFO - 16:19:24: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:19:24: Solution:
WARNING - 16:19:24: The solution is not feasible.
INFO - 16:19:24: Objective: -4513.429203824653
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = 0.008666666666666711
INFO - 16:19:24: Design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Mission Structure
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_panels)
INFO - 16:19:24: with respect to thick_panels
INFO - 16:19:24: under the inequality constraints
INFO - 16:19:24: reserve_fact(thick_panels) <= 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +--------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 532.95 it/sec, feas=False, obj=-4.51e+3]
ERROR - 16:19:24: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -4504.955637332531
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [reserve_fact-0.5] = 1.062133492268913e-09
INFO - 16:19:24: Design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.266666666489645 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: 14%|█▍ | 1/7 [00:00<00:00, 38.90 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Aerodynamics Mission
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_airfoils)
INFO - 16:19:24: with respect to thick_airfoils
INFO - 16:19:24: under the equality constraints
INFO - 16:19:24: lift(thick_airfoils) = 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
WARNING - 16:19:24: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 329.17 it/sec, feas=False, obj=-4.27e+3]
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: 5
INFO - 16:19:24: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:19:24: Solution:
WARNING - 16:19:24: The solution is not feasible.
INFO - 16:19:24: Objective: -4267.910320106269
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = 0.12708333333392363
INFO - 16:19:24: Design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Mission Structure
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_panels)
INFO - 16:19:24: with respect to thick_panels
INFO - 16:19:24: under the inequality constraints
INFO - 16:19:24: reserve_fact(thick_panels) <= 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.266666666489645 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 723.65 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 701.68 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:19:24: 30%|███ | 3/10 [00:00<00:00, 701.70 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:19:24: 40%|████ | 4/10 [00:00<00:00, 722.47 it/sec, feas=True, obj=-4.27e+3]
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -4270.047650046897
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [reserve_fact-0.5] = 1.5540514652911952e-08
INFO - 16:19:24: Design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 1.764999997412866 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: 29%|██▊ | 2/7 [00:00<00:00, 39.40 it/sec, feas=False, obj=-4.27e+3]
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Aerodynamics Mission
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_airfoils)
INFO - 16:19:24: with respect to thick_airfoils
INFO - 16:19:24: under the equality constraints
INFO - 16:19:24: lift(thick_airfoils) = 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 615.36 it/sec, feas=False, obj=-4.53e+3]
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 648.87 it/sec, feas=False, obj=-3.83e+3]
INFO - 16:19:24: 30%|███ | 3/10 [00:00<00:00, 745.92 it/sec, feas=False, obj=-4.43e+3]
INFO - 16:19:24: 40%|████ | 4/10 [00:00<00:00, 798.57 it/sec, feas=False, obj=-4.5e+3]
INFO - 16:19:24: 50%|█████ | 5/10 [00:00<00:00, 831.64 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:19:24: 60%|██████ | 6/10 [00:00<00:00, 852.50 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:19:24: 70%|███████ | 7/10 [00:00<00:00, 869.90 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:19:24: 80%|████████ | 8/10 [00:00<00:00, 884.36 it/sec, feas=False, obj=-4.52e+3]
INFO - 16:19:24: 90%|█████████ | 9/10 [00:00<00:00, 895.96 it/sec, feas=False, obj=-4.53e+3]
INFO - 16:19:24: 100%|██████████| 10/10 [00:00<00:00, 905.53 it/sec, feas=False, obj=-4.53e+3]
WARNING - 16:19:24: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: Maximum number of iterations reached. GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
WARNING - 16:19:24: The solution is not feasible.
INFO - 16:19:24: Objective: -3831.807218275781
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = -0.0023374064594913757
INFO - 16:19:24: Design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 25 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Mission Structure
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_panels)
INFO - 16:19:24: with respect to thick_panels
INFO - 16:19:24: under the inequality constraints
INFO - 16:19:24: reserve_fact(thick_panels) <= 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 1.764999997412866 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 615.54 it/sec, feas=False, obj=-3.82e+3]
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 643.25 it/sec, feas=True, obj=-3.82e+3]
ERROR - 16:19:24: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -3818.5902856031416
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [reserve_fact-0.5] = 2.8144597763457568e-11
INFO - 16:19:24: Design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.414591822896584 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: 43%|████▎ | 3/7 [00:00<00:00, 35.18 it/sec, feas=False, obj=-3.82e+3]
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Aerodynamics Mission
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_airfoils)
INFO - 16:19:24: with respect to thick_airfoils
INFO - 16:19:24: under the equality constraints
INFO - 16:19:24: lift(thick_airfoils) = 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 25 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 596.88 it/sec, feas=False, obj=-3.82e+3]
WARNING - 16:19:24: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 433.39 it/sec, feas=False, obj=-4.49e+3]
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: 5
INFO - 16:19:24: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:19:24: Solution:
WARNING - 16:19:24: The solution is not feasible.
INFO - 16:19:24: Objective: -4490.54017449428
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = 0.00918103190482844
INFO - 16:19:24: Design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Mission Structure
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_panels)
INFO - 16:19:24: with respect to thick_panels
INFO - 16:19:24: under the inequality constraints
INFO - 16:19:24: reserve_fact(thick_panels) <= 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.414591822896584 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 554.22 it/sec, feas=True, obj=-4.5e+3]
ERROR - 16:19:24: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -4503.594576633829
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [reserve_fact-0.5] = 1.1323209037072957e-10
INFO - 16:19:24: Design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.256301558340416 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: 57%|█████▋ | 4/7 [00:00<00:00, 36.34 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Aerodynamics Mission
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_airfoils)
INFO - 16:19:24: with respect to thick_airfoils
INFO - 16:19:24: under the equality constraints
INFO - 16:19:24: lift(thick_airfoils) = 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 542.67 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 538.35 it/sec, feas=True, obj=-3.85e+3]
INFO - 16:19:24: 30%|███ | 3/10 [00:00<00:00, 626.70 it/sec, feas=False, obj=-4.48e+3]
INFO - 16:19:24: 40%|████ | 4/10 [00:00<00:00, 657.08 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:19:24: 50%|█████ | 5/10 [00:00<00:00, 624.19 it/sec, feas=False, obj=-4.51e+3]
ERROR - 16:19:24: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -3854.0819929120544
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = 0.0
INFO - 16:19:24: Design space:
INFO - 16:19:24: +----------------+-------------+------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+------------------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 24.3567703351527 | 25 | float |
INFO - 16:19:24: +----------------+-------------+------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Mission Structure
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_panels)
INFO - 16:19:24: with respect to thick_panels
INFO - 16:19:24: under the inequality constraints
INFO - 16:19:24: reserve_fact(thick_panels) <= 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.256301558340416 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 641.63 it/sec, feas=False, obj=-3.84e+3]
ERROR - 16:19:24: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -3843.382025541499
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [reserve_fact-0.5] = -1.1290524071227992e-10
INFO - 16:19:24: Design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.303233590674794 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: 71%|███████▏ | 5/7 [00:00<00:00, 35.58 it/sec, feas=False, obj=-3.85e+3]
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Aerodynamics Mission
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_airfoils)
INFO - 16:19:24: with respect to thick_airfoils
INFO - 16:19:24: under the equality constraints
INFO - 16:19:24: lift(thick_airfoils) = 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +----------------+-------------+------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+------------------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 24.3567703351527 | 25 | float |
INFO - 16:19:24: +----------------+-------------+------------------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 615.27 it/sec, feas=False, obj=-3.85e+3]
WARNING - 16:19:24: Optimization found no feasible point; the least infeasible point is selected.
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 436.82 it/sec, feas=False, obj=-4.49e+3]
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: 5
INFO - 16:19:24: Message: NLOPT_MAXEVAL_REACHED: Optimization stopped because maxeval (above) was reached
INFO - 16:19:24: Solution:
WARNING - 16:19:24: The solution is not feasible.
INFO - 16:19:24: Objective: -4492.38920700084
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = 0.00858587320790527
INFO - 16:19:24: Design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Mission Structure
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_panels)
INFO - 16:19:24: with respect to thick_panels
INFO - 16:19:24: under the inequality constraints
INFO - 16:19:24: reserve_fact(thick_panels) <= 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.303233590674794 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 647.17 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 657.62 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:19:24: 30%|███ | 3/10 [00:00<00:00, 669.41 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:19:24: 40%|████ | 4/10 [00:00<00:00, 690.48 it/sec, feas=True, obj=-4.5e+3]
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -4504.850158478924
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [reserve_fact-0.5] = 5.3804996014150674e-09
INFO - 16:19:24: Design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.264536834765667 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: 86%|████████▌ | 6/7 [00:00<00:00, 35.37 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Aerodynamics Mission
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_airfoils)
INFO - 16:19:24: with respect to thick_airfoils
INFO - 16:19:24: under the equality constraints
INFO - 16:19:24: lift(thick_airfoils) = 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 622.85 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 637.87 it/sec, feas=True, obj=-4.48e+3]
INFO - 16:19:24: 30%|███ | 3/10 [00:00<00:00, 746.36 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: 40%|████ | 4/10 [00:00<00:00, 761.32 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: 50%|█████ | 5/10 [00:00<00:00, 700.19 it/sec, feas=True, obj=-4.51e+3]
ERROR - 16:19:24: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
nlopt.RoundoffLimited: NLopt roundoff-limited
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -4509.519641910682
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = -0.0001369125207841826
INFO - 16:19:24: Design space:
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: | thick_airfoils | 5 | 5 | 25 | float |
INFO - 16:19:24: +----------------+-------------+-------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: *** Start MDOScenario execution ***
INFO - 16:19:24: MDOScenario
INFO - 16:19:24: Disciplines: Mission Structure
INFO - 16:19:24: MDO formulation: DisciplinaryOpt
INFO - 16:19:24: Optimization problem:
INFO - 16:19:24: minimize -range(thick_panels)
INFO - 16:19:24: with respect to thick_panels
INFO - 16:19:24: under the inequality constraints
INFO - 16:19:24: reserve_fact(thick_panels) <= 0.5
INFO - 16:19:24: over the design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.264536834765667 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: Solving optimization problem with algorithm NLOPT_SLSQP:
INFO - 16:19:24: 10%|█ | 1/10 [00:00<00:00, 649.68 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: 20%|██ | 2/10 [00:00<00:00, 660.16 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: 30%|███ | 3/10 [00:00<00:00, 669.98 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: 40%|████ | 4/10 [00:00<00:00, 631.84 it/sec, feas=True, obj=-4.51e+3]
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -4509.583287345613
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [reserve_fact-0.5] = 2.4061108661044273e-10
INFO - 16:19:24: Design space:
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: | thick_panels | 1 | 3.225021426759095 | 20 | float |
INFO - 16:19:24: +--------------+-------------+-------------------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
INFO - 16:19:24: 100%|██████████| 7/7 [00:00<00:00, 34.03 it/sec, feas=False, obj=-4.51e+3]
INFO - 16:19:24: Optimization result:
INFO - 16:19:24: Optimizer info:
INFO - 16:19:24: Status: None
INFO - 16:19:24: Message: Maximum number of iterations reached. GEMSEO stopped the driver.
INFO - 16:19:24: Solution:
INFO - 16:19:24: The solution is feasible.
INFO - 16:19:24: Objective: -4509.243708600623
INFO - 16:19:24: Standardized constraints:
INFO - 16:19:24: [lift-0.5] = 5.903055821931957e-13
INFO - 16:19:24: [reserve_fact-0.5] = -0.2599999989201578
INFO - 16:19:24: Design space:
INFO - 16:19:24: +-------+-------------+-------+-------------+-------+
INFO - 16:19:24: | Name | Lower bound | Value | Upper bound | Type |
INFO - 16:19:24: +-------+-------------+-------+-------------+-------+
INFO - 16:19:24: | sweep | 10 | 25 | 35 | float |
INFO - 16:19:24: +-------+-------------+-------+-------------+-------+
INFO - 16:19:24: *** End MDOScenario execution ***
<gemseo.post.opt_history_view.OptHistoryView object at 0x7b1d2e8e5400>
Total running time of the script: (0 minutes 1.640 seconds)









