Note
Go to the end to download the full example code
Multistart optimization¶
Runs simple optimization problem with multiple starting points
Nests an MDOScenario
in a DOEScenario
using an MDOScenarioAdapter
.
from __future__ import annotations
from gemseo import configure_logger
from gemseo import create_design_space
from gemseo import create_discipline
from gemseo import create_scenario
from gemseo.disciplines.scenario_adapters.mdo_scenario_adapter import MDOScenarioAdapter
configure_logger()
<RootLogger root (INFO)>
Create the disciplines¶
objective = create_discipline("AnalyticDiscipline", expressions={"obj": "x**3-x+1"})
constraint = create_discipline(
"AnalyticDiscipline", expressions={"cstr": "x**2+obj**2-1.5"}
)
Create the design space¶
design_space = create_design_space()
design_space.add_variable("x", l_b=-1.5, u_b=1.5, value=1.5)
Create the MDO scenario¶
scenario = create_scenario(
[objective, constraint],
"DisciplinaryOpt",
"obj",
design_space,
)
scenario.default_inputs = {"algo": "SLSQP", "max_iter": 10}
scenario.add_constraint("cstr", constraint_type="ineq")
Create the scenario adapter¶
dv_names = scenario.formulation.opt_problem.design_space.variable_names
adapter = MDOScenarioAdapter(
scenario, dv_names, ["obj", "cstr"], set_x0_before_opt=True
)
Create the DOE scenario¶
scenario_doe = create_scenario(
adapter,
"DisciplinaryOpt",
"obj",
design_space,
scenario_type="DOE",
)
scenario_doe.add_constraint("cstr", constraint_type="ineq")
run_inputs = {"n_samples": 10, "algo": "fullfact"}
scenario_doe.execute(run_inputs)
INFO - 13:55:03:
INFO - 13:55:03: *** Start DOEScenario execution ***
INFO - 13:55:03: DOEScenario
INFO - 13:55:03: Disciplines: MDOScenario_adapter
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 1.5 | 1.5 | float |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm fullfact:
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -1.5 | 1.5 | float |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 150.74 it/sec, obj=-0.875]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 188.09 it/sec, obj=-0.267]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 250.22 it/sec, obj=-0.809]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 297.14 it/sec, obj=-0.868]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 333.43 it/sec, obj=-0.872]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 344.64 it/sec, obj=-0.265]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 352.38 it/sec, obj=0.136]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 358.32 it/sec, obj=0.579]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 377.98 it/sec, obj=0.289]
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 380.41 it/sec, obj=1.25]
WARNING - 13:55:03: Optimization found no feasible point ! The least infeasible point is selected.
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Maximum number of iterations reached. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 12
INFO - 13:55:03: Solution:
WARNING - 13:55:03: The solution is not feasible.
INFO - 13:55:03: Objective: 0.2888129873625884
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = 0.1513713660745195
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -1.252181466244097 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.040134) ***
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 21.90 it/sec, obj=0.289]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -1.166666666666667 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 1028.77 it/sec, obj=0.579]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 478.28 it/sec, obj=-0.875]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 465.53 it/sec, obj=-0.267]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 504.50 it/sec, obj=-0.809]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 531.36 it/sec, obj=-0.868]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 552.08 it/sec, obj=-0.874]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 525.24 it/sec, obj=-0.266]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 509.16 it/sec, obj=0.135]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 494.26 it/sec, obj=0.577]
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 508.23 it/sec, obj=0.288]
WARNING - 13:55:03: Optimization found no feasible point ! The least infeasible point is selected.
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Maximum number of iterations reached. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 12
INFO - 13:55:03: Solution:
WARNING - 13:55:03: The solution is not feasible.
INFO - 13:55:03: Objective: 0.28811314244670916
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = 0.15144075010172386
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -1.252370379421043 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.032383) ***
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 25.22 it/sec, obj=0.288]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -0.8333333333333334 | 1.5 | float |
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 1047.53 it/sec, obj=1.25]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 483.35 it/sec, obj=-0.875]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 548.94 it/sec, obj=1.01]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 504.65 it/sec, obj=-0.875]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 532.52 it/sec, obj=0.819]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 507.82 it/sec, obj=-0.875]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 520.71 it/sec, obj=0.693]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 502.80 it/sec, obj=-0.875]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 517.70 it/sec, obj=0.584]
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 504.14 it/sec, obj=-0.875]
WARNING - 13:55:03: Optimization found no feasible point ! The least infeasible point is selected.
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Maximum number of iterations reached. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 12
INFO - 13:55:03: Solution:
WARNING - 13:55:03: The solution is not feasible.
INFO - 13:55:03: Objective: 0.5837798748832244
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = 0.19806414473664136
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -1.165017254128868 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.031201) ***
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 26.66 it/sec, obj=0.584]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -0.5 | 1.5 | float |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 1045.18 it/sec, obj=1.38]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 475.28 it/sec, obj=2.88]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 529.49 it/sec, obj=1.23]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 496.59 it/sec, obj=2.87]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 522.55 it/sec, obj=0.848]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 495.39 it/sec, obj=0.658]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 467.82 it/sec, obj=0.643]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 451.53 it/sec, obj=0.616]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 440.52 it/sec, obj=0.615]
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 431.21 it/sec, obj=0.615]
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Maximum number of iterations reached. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 13
INFO - 13:55:03: Solution:
INFO - 13:55:03: The solution is feasible.
INFO - 13:55:03: Objective: 0.6150998219543254
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = -0.788285881879476
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 0.5773788419679762 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.035741) ***
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 26.76 it/sec, obj=0.615]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -0.1666666666666667 | 1.5 | float |
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 1004.62 it/sec, obj=1.16]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 467.83 it/sec, obj=2.87]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 534.06 it/sec, obj=0.785]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 456.03 it/sec, obj=2.88]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 470.58 it/sec, obj=0.644]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 446.97 it/sec, obj=0.624]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 431.62 it/sec, obj=0.615]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 422.74 it/sec, obj=0.615]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 414.94 it/sec, obj=0.615]
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 408.02 it/sec, obj=0.615]
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Maximum number of iterations reached. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 12
INFO - 13:55:03: Solution:
INFO - 13:55:03: The solution is feasible.
INFO - 13:55:03: Objective: 0.6150998205402495
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = -0.7883188793606977
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 0.5773502675245377 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.037513) ***
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 26.57 it/sec, obj=0.615]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 0.1666666666666667 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 1007.52 it/sec, obj=0.838]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 463.46 it/sec, obj=2.88]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 526.44 it/sec, obj=0.656]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 467.45 it/sec, obj=0.639]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 438.67 it/sec, obj=0.616]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 423.33 it/sec, obj=0.615]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 410.07 it/sec, obj=0.615]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 403.32 it/sec, obj=0.615]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 398.21 it/sec, obj=0.615]
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 10
INFO - 13:55:03: Solution:
INFO - 13:55:03: The solution is feasible.
INFO - 13:55:03: Objective: 0.6150998205402508
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = -0.7883189092934597
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 0.5773502416020033 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.033656) ***
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 26.80 it/sec, obj=0.615]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 0.5 | 1.5 | float |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 1037.68 it/sec, obj=0.625]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 437.23 it/sec, obj=2.87]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 504.59 it/sec, obj=0.616]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 459.83 it/sec, obj=0.615]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 434.61 it/sec, obj=0.615]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 420.12 it/sec, obj=0.615]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 412.32 it/sec, obj=0.615]
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 8
INFO - 13:55:03: Solution:
INFO - 13:55:03: The solution is feasible.
INFO - 13:55:03: Objective: 0.6150998205402526
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = -0.7883188285028959
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 0.5773503115686811 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.028097) ***
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 27.57 it/sec, obj=0.615]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 0.8333333333333335 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 1025.00 it/sec, obj=0.745]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 462.67 it/sec, obj=-0.875]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 454.47 it/sec, obj=-0.267]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 470.29 it/sec, obj=-0.809]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 497.75 it/sec, obj=-0.868]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 521.02 it/sec, obj=-0.874]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 500.97 it/sec, obj=-0.266]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 487.39 it/sec, obj=0.135]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 478.80 it/sec, obj=0.577]
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 491.59 it/sec, obj=0.288]
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Maximum number of iterations reached. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 12
INFO - 13:55:03: Solution:
INFO - 13:55:03: The solution is feasible.
INFO - 13:55:03: Objective: 0.7453703703703706
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = -0.2499785665294918
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 0.8333333333333335 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.032941) ***
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 27.70 it/sec, obj=0.745]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+-------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+-------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 1.166666666666667 | 1.5 | float |
INFO - 13:55:03: +------+-------------+-------------------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 864.45 it/sec, obj=1.42]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 435.70 it/sec, obj=-0.875]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 437.44 it/sec, obj=-0.267]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 477.38 it/sec, obj=-0.809]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 508.01 it/sec, obj=-0.868]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 531.05 it/sec, obj=-0.874]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 508.94 it/sec, obj=-0.266]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 451.04 it/sec, obj=0.135]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 445.55 it/sec, obj=0.577]
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 447.65 it/sec, obj=0.288]
WARNING - 13:55:03: Optimization found no feasible point ! The least infeasible point is selected.
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Maximum number of iterations reached. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 12
INFO - 13:55:03: Solution:
WARNING - 13:55:03: The solution is not feasible.
INFO - 13:55:03: Objective: 0.28811314244698893
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = 0.1514407501016959
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -1.252370379420967 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.036005) ***
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 27.60 it/sec, obj=0.288]
INFO - 13:55:03:
INFO - 13:55:03: *** Start MDOScenario execution ***
INFO - 13:55:03: MDOScenario
INFO - 13:55:03: Disciplines: AnalyticDiscipline AnalyticDiscipline
INFO - 13:55:03: MDO formulation: DisciplinaryOpt
INFO - 13:55:03: Optimization problem:
INFO - 13:55:03: minimize obj(x)
INFO - 13:55:03: with respect to x
INFO - 13:55:03: subject to constraints:
INFO - 13:55:03: cstr(x) <= 0.0
INFO - 13:55:03: over the design space:
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | 1.5 | 1.5 | float |
INFO - 13:55:03: +------+-------------+-------+-------------+-------+
INFO - 13:55:03: Solving optimization problem with algorithm SLSQP:
INFO - 13:55:03: 10%|█ | 1/10 [00:00<00:00, 1044.66 it/sec, obj=2.88]
INFO - 13:55:03: 20%|██ | 2/10 [00:00<00:00, 472.25 it/sec, obj=-0.875]
INFO - 13:55:03: 30%|███ | 3/10 [00:00<00:00, 461.86 it/sec, obj=-0.267]
INFO - 13:55:03: 40%|████ | 4/10 [00:00<00:00, 497.71 it/sec, obj=-0.809]
INFO - 13:55:03: 50%|█████ | 5/10 [00:00<00:00, 525.91 it/sec, obj=-0.868]
INFO - 13:55:03: 60%|██████ | 6/10 [00:00<00:00, 543.88 it/sec, obj=-0.874]
INFO - 13:55:03: 70%|███████ | 7/10 [00:00<00:00, 518.19 it/sec, obj=-0.266]
INFO - 13:55:03: 80%|████████ | 8/10 [00:00<00:00, 501.09 it/sec, obj=0.135]
INFO - 13:55:03: 90%|█████████ | 9/10 [00:00<00:00, 490.26 it/sec, obj=0.577]
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 503.34 it/sec, obj=0.288]
WARNING - 13:55:03: Optimization found no feasible point ! The least infeasible point is selected.
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: Maximum number of iterations reached. GEMSEO Stopped the driver
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 12
INFO - 13:55:03: Solution:
WARNING - 13:55:03: The solution is not feasible.
INFO - 13:55:03: Objective: 0.28811314244587316
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = 0.15144075010180735
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -1.252370379421268 | 1.5 | float |
INFO - 13:55:03: +------+-------------+--------------------+-------------+-------+
INFO - 13:55:03: *** End MDOScenario execution (time: 0:00:00.032535) ***
INFO - 13:55:03: 100%|██████████| 10/10 [00:00<00:00, 27.79 it/sec, obj=0.288]
INFO - 13:55:03: Optimization result:
INFO - 13:55:03: Optimizer info:
INFO - 13:55:03: Status: None
INFO - 13:55:03: Message: None
INFO - 13:55:03: Number of calls to the objective function by the optimizer: 10
INFO - 13:55:03: Solution:
INFO - 13:55:03: The solution is feasible.
INFO - 13:55:03: Objective: 0.6150998205402495
INFO - 13:55:03: Standardized constraints:
INFO - 13:55:03: cstr = -0.7883188793606977
INFO - 13:55:03: Design space:
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: | Name | Lower bound | Value | Upper bound | Type |
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: | x | -1.5 | -0.1666666666666667 | 1.5 | float |
INFO - 13:55:03: +------+-------------+---------------------+-------------+-------+
INFO - 13:55:03: *** End DOEScenario execution (time: 0:00:00.372216) ***
{'eval_jac': False, 'n_samples': 10, 'algo': 'fullfact'}
Plot the optimum objective for different x0¶
scenario_doe.post_process("BasicHistory", variable_names=["obj"], save=False, show=True)
<gemseo.post.basic_history.BasicHistory object at 0x7f28da5e4040>
Total running time of the script: (0 minutes 0.577 seconds)