Multistart optimization

Runs simple optimization problem with multiple starting points Nests a MDOScenario in a DOEScenario using a 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],
    formulation="DisciplinaryOpt",
    objective_name="obj",
    design_space=design_space,
)
scenario.default_inputs = {"algo": "SLSQP", "max_iter": 10}
scenario.add_constraint("cstr", "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,
    formulation="DisciplinaryOpt",
    objective_name="obj",
    design_space=design_space,
    scenario_type="DOE",
)
scenario_doe.add_constraint("cstr", "ineq")
run_inputs = {"n_samples": 10, "algo": "fullfact"}
scenario_doe.execute(run_inputs)
    INFO - 16:26:30:
    INFO - 16:26:30: *** Start DOEScenario execution ***
    INFO - 16:26:30: DOEScenario
    INFO - 16:26:30:    Disciplines: MDOScenario_adapter
    INFO - 16:26:30:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:30: Optimization problem:
    INFO - 16:26:30:    minimize obj(x)
    INFO - 16:26:30:    with respect to x
    INFO - 16:26:30:    subject to constraints:
    INFO - 16:26:30:       cstr(x) <= 0.0
    INFO - 16:26:30:    over the design space:
    INFO - 16:26:30:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:30:    | name | lower_bound | value | upper_bound | type  |
    INFO - 16:26:30:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:30:    | x    |     -1.5    |  1.5  |     1.5     | float |
    INFO - 16:26:30:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:30: Solving optimization problem with algorithm fullfact:
    INFO - 16:26:30: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:30:
    INFO - 16:26:30: *** Start MDOScenario execution ***
    INFO - 16:26:30: MDOScenario
    INFO - 16:26:30:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:30:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:30: Optimization problem:
    INFO - 16:26:30:    minimize obj(x)
    INFO - 16:26:30:    with respect to x
    INFO - 16:26:30:    subject to constraints:
    INFO - 16:26:30:       cstr(x) <= 0.0
    INFO - 16:26:30:    over the design space:
    INFO - 16:26:30:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:30:    | name | lower_bound | value | upper_bound | type  |
    INFO - 16:26:30:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:30:    | x    |     -1.5    |  -1.5 |     1.5     | float |
    INFO - 16:26:30:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:30: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:30: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  10%|█         | 1/10 [00:00<00:00, 136.48 it/sec, obj=-.875]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  20%|██        | 2/10 [00:00<00:00, 169.18 it/sec, obj=-.267]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  30%|███       | 3/10 [00:00<00:00, 222.54 it/sec, obj=-.809]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  40%|████      | 4/10 [00:00<00:00, 263.18 it/sec, obj=-.868]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  50%|█████     | 5/10 [00:00<00:00, 294.71 it/sec, obj=-.872]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  60%|██████    | 6/10 [00:00<00:00, 302.99 it/sec, obj=-.265]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  70%|███████   | 7/10 [00:00<00:00, 308.54 it/sec, obj=0.136]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  80%|████████  | 8/10 [00:00<00:00, 313.24 it/sec, obj=0.579]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  90%|█████████ | 9/10 [00:00<00:00, 329.78 it/sec, obj=0.289]
    INFO - 16:26:30:
    INFO - 16:26:30: ... 100%|██████████| 10/10 [00:00<00:00, 331.82 it/sec, obj=1.25]
    INFO - 16:26:30:
 WARNING - 16:26:30: Optimization found no feasible point !  The least infeasible point is selected.
    INFO - 16:26:30:
    INFO - 16:26:30: Optimization result:
    INFO - 16:26:30:    Optimizer info:
    INFO - 16:26:30:       Status: None
    INFO - 16:26:30:       Message: Maximum number of iterations reached. GEMSEO Stopped the driver
    INFO - 16:26:30:       Number of calls to the objective function by the optimizer: 12
    INFO - 16:26:30:    Solution:
 WARNING - 16:26:30:       The solution is not feasible.
    INFO - 16:26:30:       Objective: 0.2888129873625884
    INFO - 16:26:30:       Standardized constraints:
    INFO - 16:26:30:          cstr = 0.1513713660745195
    INFO - 16:26:30:       Design space:
    INFO - 16:26:30:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:30:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:30:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:30:       | x    |     -1.5    | -1.252181466244097 |     1.5     | float |
    INFO - 16:26:30:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:30: *** End MDOScenario execution (time: 0:00:00.041934) ***
    INFO - 16:26:30: ...  10%|█         | 1/10 [00:00<00:00, 20.48 it/sec, obj=0.289]
    INFO - 16:26:30:
    INFO - 16:26:30: *** Start MDOScenario execution ***
    INFO - 16:26:30: MDOScenario
    INFO - 16:26:30:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:30:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:30: Optimization problem:
    INFO - 16:26:30:    minimize obj(x)
    INFO - 16:26:30:    with respect to x
    INFO - 16:26:30:    subject to constraints:
    INFO - 16:26:30:       cstr(x) <= 0.0
    INFO - 16:26:30:    over the design space:
    INFO - 16:26:30:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:30:    | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:30:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:30:    | x    |     -1.5    | -1.166666666666667 |     1.5     | float |
    INFO - 16:26:30:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:30: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:30: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  10%|█         | 1/10 [00:00<00:00, 899.29 it/sec, obj=0.579]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  20%|██        | 2/10 [00:00<00:00, 407.02 it/sec, obj=-.875]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  30%|███       | 3/10 [00:00<00:00, 391.36 it/sec, obj=-.267]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  40%|████      | 4/10 [00:00<00:00, 426.13 it/sec, obj=-.809]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  50%|█████     | 5/10 [00:00<00:00, 448.14 it/sec, obj=-.868]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  60%|██████    | 6/10 [00:00<00:00, 466.22 it/sec, obj=-.874]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  70%|███████   | 7/10 [00:00<00:00, 445.52 it/sec, obj=-.266]
    INFO - 16:26:30:
    INFO - 16:26:30: ...  80%|████████  | 8/10 [00:00<00:00, 431.32 it/sec, obj=0.135]
    INFO - 16:26:30:
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 422.16 it/sec, obj=0.577]
    INFO - 16:26:31:
    INFO - 16:26:31: ... 100%|██████████| 10/10 [00:00<00:00, 433.23 it/sec, obj=0.288]
    INFO - 16:26:31:
 WARNING - 16:26:31: Optimization found no feasible point !  The least infeasible point is selected.
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Maximum number of iterations reached. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 12
    INFO - 16:26:31:    Solution:
 WARNING - 16:26:31:       The solution is not feasible.
    INFO - 16:26:31:       Objective: 0.28811314244670916
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = 0.15144075010172386
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | -1.252370379421043 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.035572) ***
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 23.25 it/sec, obj=0.288]
    INFO - 16:26:31:
    INFO - 16:26:31: *** Start MDOScenario execution ***
    INFO - 16:26:31: MDOScenario
    INFO - 16:26:31:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:31:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:31: Optimization problem:
    INFO - 16:26:31:    minimize obj(x)
    INFO - 16:26:31:    with respect to x
    INFO - 16:26:31:    subject to constraints:
    INFO - 16:26:31:       cstr(x) <= 0.0
    INFO - 16:26:31:    over the design space:
    INFO - 16:26:31:    +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31:    | name | lower_bound |        value        | upper_bound | type  |
    INFO - 16:26:31:    +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31:    | x    |     -1.5    | -0.8333333333333334 |     1.5     | float |
    INFO - 16:26:31:    +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:31: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  10%|█         | 1/10 [00:00<00:00, 871.27 it/sec, obj=1.25]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 406.76 it/sec, obj=-.875]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 462.10 it/sec, obj=1.01]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 428.29 it/sec, obj=-.875]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 452.35 it/sec, obj=0.819]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 431.00 it/sec, obj=-.875]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 447.66 it/sec, obj=0.693]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  80%|████████  | 8/10 [00:00<00:00, 433.04 it/sec, obj=-.875]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 445.24 it/sec, obj=0.584]
    INFO - 16:26:31:
    INFO - 16:26:31: ... 100%|██████████| 10/10 [00:00<00:00, 434.12 it/sec, obj=-.875]
    INFO - 16:26:31:
 WARNING - 16:26:31: Optimization found no feasible point !  The least infeasible point is selected.
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Maximum number of iterations reached. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 12
    INFO - 16:26:31:    Solution:
 WARNING - 16:26:31:       The solution is not feasible.
    INFO - 16:26:31:       Objective: 0.5837798748832244
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = 0.19806414473664136
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | -1.165017254128868 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.034673) ***
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 24.37 it/sec, obj=0.584]
    INFO - 16:26:31:
    INFO - 16:26:31: *** Start MDOScenario execution ***
    INFO - 16:26:31: MDOScenario
    INFO - 16:26:31:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:31:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:31: Optimization problem:
    INFO - 16:26:31:    minimize obj(x)
    INFO - 16:26:31:    with respect to x
    INFO - 16:26:31:    subject to constraints:
    INFO - 16:26:31:       cstr(x) <= 0.0
    INFO - 16:26:31:    over the design space:
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31:    | name | lower_bound | value | upper_bound | type  |
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31:    | x    |     -1.5    |  -0.5 |     1.5     | float |
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:31: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  10%|█         | 1/10 [00:00<00:00, 934.98 it/sec, obj=1.38]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 396.89 it/sec, obj=2.88]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 453.29 it/sec, obj=1.23]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 422.39 it/sec, obj=2.87]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 446.79 it/sec, obj=0.848]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 421.86 it/sec, obj=0.658]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 398.58 it/sec, obj=0.643]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  80%|████████  | 8/10 [00:00<00:00, 384.53 it/sec, obj=0.616]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 374.65 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ... 100%|██████████| 10/10 [00:00<00:00, 367.71 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Maximum number of iterations reached. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 13
    INFO - 16:26:31:    Solution:
    INFO - 16:26:31:       The solution is feasible.
    INFO - 16:26:31:       Objective: 0.6150998219543254
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = -0.788285881879476
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | 0.5773788419679762 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.039767) ***
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 24.33 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: *** Start MDOScenario execution ***
    INFO - 16:26:31: MDOScenario
    INFO - 16:26:31:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:31:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:31: Optimization problem:
    INFO - 16:26:31:    minimize obj(x)
    INFO - 16:26:31:    with respect to x
    INFO - 16:26:31:    subject to constraints:
    INFO - 16:26:31:       cstr(x) <= 0.0
    INFO - 16:26:31:    over the design space:
    INFO - 16:26:31:    +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31:    | name | lower_bound |        value        | upper_bound | type  |
    INFO - 16:26:31:    +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31:    | x    |     -1.5    | -0.1666666666666667 |     1.5     | float |
    INFO - 16:26:31:    +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:31: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  10%|█         | 1/10 [00:00<00:00, 896.41 it/sec, obj=1.16]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 391.61 it/sec, obj=2.87]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 443.92 it/sec, obj=0.785]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 402.09 it/sec, obj=2.88]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 404.22 it/sec, obj=0.644]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 380.40 it/sec, obj=0.624]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 366.24 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  80%|████████  | 8/10 [00:00<00:00, 358.95 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 350.30 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ... 100%|██████████| 10/10 [00:00<00:00, 345.39 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Maximum number of iterations reached. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 12
    INFO - 16:26:31:    Solution:
    INFO - 16:26:31:       The solution is feasible.
    INFO - 16:26:31:       Objective: 0.6150998205402495
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = -0.7883188793606977
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | 0.5773502675245377 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.041790) ***
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 24.06 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: *** Start MDOScenario execution ***
    INFO - 16:26:31: MDOScenario
    INFO - 16:26:31:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:31:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:31: Optimization problem:
    INFO - 16:26:31:    minimize obj(x)
    INFO - 16:26:31:    with respect to x
    INFO - 16:26:31:    subject to constraints:
    INFO - 16:26:31:       cstr(x) <= 0.0
    INFO - 16:26:31:    over the design space:
    INFO - 16:26:31:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:    | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:    | x    |     -1.5    | 0.1666666666666667 |     1.5     | float |
    INFO - 16:26:31:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:31: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  10%|█         | 1/10 [00:00<00:00, 916.19 it/sec, obj=0.838]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 417.51 it/sec, obj=2.88]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 471.25 it/sec, obj=0.656]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 416.31 it/sec, obj=0.639]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 388.32 it/sec, obj=0.616]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 366.30 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 356.48 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  80%|████████  | 8/10 [00:00<00:00, 351.05 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 346.53 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 10
    INFO - 16:26:31:    Solution:
    INFO - 16:26:31:       The solution is feasible.
    INFO - 16:26:31:       Objective: 0.6150998205402508
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = -0.7883189092934597
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | 0.5773502416020033 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.036690) ***
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 24.30 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: *** Start MDOScenario execution ***
    INFO - 16:26:31: MDOScenario
    INFO - 16:26:31:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:31:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:31: Optimization problem:
    INFO - 16:26:31:    minimize obj(x)
    INFO - 16:26:31:    with respect to x
    INFO - 16:26:31:    subject to constraints:
    INFO - 16:26:31:       cstr(x) <= 0.0
    INFO - 16:26:31:    over the design space:
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31:    | name | lower_bound | value | upper_bound | type  |
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31:    | x    |     -1.5    |  0.5  |     1.5     | float |
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:31: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  10%|█         | 1/10 [00:00<00:00, 940.01 it/sec, obj=0.625]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 418.97 it/sec, obj=2.87]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 472.53 it/sec, obj=0.616]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 417.05 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 388.08 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 372.88 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 363.80 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 8
    INFO - 16:26:31:    Solution:
    INFO - 16:26:31:       The solution is feasible.
    INFO - 16:26:31:       Objective: 0.6150998205402526
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = -0.7883188285028959
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | 0.5773503115686811 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.030019) ***
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 25.06 it/sec, obj=0.615]
    INFO - 16:26:31:
    INFO - 16:26:31: *** Start MDOScenario execution ***
    INFO - 16:26:31: MDOScenario
    INFO - 16:26:31:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:31:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:31: Optimization problem:
    INFO - 16:26:31:    minimize obj(x)
    INFO - 16:26:31:    with respect to x
    INFO - 16:26:31:    subject to constraints:
    INFO - 16:26:31:       cstr(x) <= 0.0
    INFO - 16:26:31:    over the design space:
    INFO - 16:26:31:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:    | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:    | x    |     -1.5    | 0.8333333333333335 |     1.5     | float |
    INFO - 16:26:31:    +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:31: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  10%|█         | 1/10 [00:00<00:00, 945.09 it/sec, obj=0.745]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 412.38 it/sec, obj=-.875]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 375.31 it/sec, obj=-.267]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 384.17 it/sec, obj=-.809]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 409.85 it/sec, obj=-.868]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 430.89 it/sec, obj=-.874]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 416.84 it/sec, obj=-.266]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  80%|████████  | 8/10 [00:00<00:00, 409.44 it/sec, obj=0.135]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 402.70 it/sec, obj=0.577]
    INFO - 16:26:31:
    INFO - 16:26:31: ... 100%|██████████| 10/10 [00:00<00:00, 414.69 it/sec, obj=0.288]
    INFO - 16:26:31:
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Maximum number of iterations reached. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 12
    INFO - 16:26:31:    Solution:
    INFO - 16:26:31:       The solution is feasible.
    INFO - 16:26:31:       Objective: 0.7453703703703706
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = -0.2499785665294918
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | 0.8333333333333335 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.036147) ***
    INFO - 16:26:31: ...  80%|████████  | 8/10 [00:00<00:00, 25.16 it/sec, obj=0.745]
    INFO - 16:26:31:
    INFO - 16:26:31: *** Start MDOScenario execution ***
    INFO - 16:26:31: MDOScenario
    INFO - 16:26:31:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:31:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:31: Optimization problem:
    INFO - 16:26:31:    minimize obj(x)
    INFO - 16:26:31:    with respect to x
    INFO - 16:26:31:    subject to constraints:
    INFO - 16:26:31:       cstr(x) <= 0.0
    INFO - 16:26:31:    over the design space:
    INFO - 16:26:31:    +------+-------------+-------------------+-------------+-------+
    INFO - 16:26:31:    | name | lower_bound |       value       | upper_bound | type  |
    INFO - 16:26:31:    +------+-------------+-------------------+-------------+-------+
    INFO - 16:26:31:    | x    |     -1.5    | 1.166666666666667 |     1.5     | float |
    INFO - 16:26:31:    +------+-------------+-------------------+-------------+-------+
    INFO - 16:26:31: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:31: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  10%|█         | 1/10 [00:00<00:00, 933.73 it/sec, obj=1.42]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 421.64 it/sec, obj=-.875]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 404.11 it/sec, obj=-.267]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 437.40 it/sec, obj=-.809]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 459.74 it/sec, obj=-.868]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 477.10 it/sec, obj=-.874]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 454.13 it/sec, obj=-.266]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  80%|████████  | 8/10 [00:00<00:00, 439.12 it/sec, obj=0.135]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 428.75 it/sec, obj=0.577]
    INFO - 16:26:31:
    INFO - 16:26:31: ... 100%|██████████| 10/10 [00:00<00:00, 439.70 it/sec, obj=0.288]
    INFO - 16:26:31:
 WARNING - 16:26:31: Optimization found no feasible point !  The least infeasible point is selected.
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Maximum number of iterations reached. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 12
    INFO - 16:26:31:    Solution:
 WARNING - 16:26:31:       The solution is not feasible.
    INFO - 16:26:31:       Objective: 0.28811314244698893
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = 0.1514407501016959
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | -1.252370379420967 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.035000) ***
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 25.39 it/sec, obj=0.288]
    INFO - 16:26:31:
    INFO - 16:26:31: *** Start MDOScenario execution ***
    INFO - 16:26:31: MDOScenario
    INFO - 16:26:31:    Disciplines: AnalyticDiscipline AnalyticDiscipline
    INFO - 16:26:31:    MDO formulation: DisciplinaryOpt
    INFO - 16:26:31: Optimization problem:
    INFO - 16:26:31:    minimize obj(x)
    INFO - 16:26:31:    with respect to x
    INFO - 16:26:31:    subject to constraints:
    INFO - 16:26:31:       cstr(x) <= 0.0
    INFO - 16:26:31:    over the design space:
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31:    | name | lower_bound | value | upper_bound | type  |
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31:    | x    |     -1.5    |  1.5  |     1.5     | float |
    INFO - 16:26:31:    +------+-------------+-------+-------------+-------+
    INFO - 16:26:31: Solving optimization problem with algorithm SLSQP:
    INFO - 16:26:31: ...   0%|          | 0/10 [00:00<?, ?it]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  10%|█         | 1/10 [00:00<00:00, 943.60 it/sec, obj=2.88]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  20%|██        | 2/10 [00:00<00:00, 422.58 it/sec, obj=-.875]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  30%|███       | 3/10 [00:00<00:00, 404.96 it/sec, obj=-.267]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  40%|████      | 4/10 [00:00<00:00, 437.83 it/sec, obj=-.809]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  50%|█████     | 5/10 [00:00<00:00, 460.30 it/sec, obj=-.868]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  60%|██████    | 6/10 [00:00<00:00, 476.12 it/sec, obj=-.874]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  70%|███████   | 7/10 [00:00<00:00, 453.38 it/sec, obj=-.266]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  80%|████████  | 8/10 [00:00<00:00, 437.82 it/sec, obj=0.135]
    INFO - 16:26:31:
    INFO - 16:26:31: ...  90%|█████████ | 9/10 [00:00<00:00, 426.56 it/sec, obj=0.577]
    INFO - 16:26:31:
    INFO - 16:26:31: ... 100%|██████████| 10/10 [00:00<00:00, 438.07 it/sec, obj=0.288]
    INFO - 16:26:31:
 WARNING - 16:26:31: Optimization found no feasible point !  The least infeasible point is selected.
    INFO - 16:26:31:
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: Maximum number of iterations reached. GEMSEO Stopped the driver
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 12
    INFO - 16:26:31:    Solution:
 WARNING - 16:26:31:       The solution is not feasible.
    INFO - 16:26:31:       Objective: 0.28811314244587316
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = 0.15144075010180735
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |       value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | -1.252370379421268 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+--------------------+-------------+-------+
    INFO - 16:26:31: *** End MDOScenario execution (time: 0:00:00.036404) ***
    INFO - 16:26:31: ... 100%|██████████| 10/10 [00:00<00:00, 25.48 it/sec, obj=0.288]
    INFO - 16:26:31: Optimization result:
    INFO - 16:26:31:    Optimizer info:
    INFO - 16:26:31:       Status: None
    INFO - 16:26:31:       Message: None
    INFO - 16:26:31:       Number of calls to the objective function by the optimizer: 10
    INFO - 16:26:31:    Solution:
    INFO - 16:26:31:       The solution is feasible.
    INFO - 16:26:31:       Objective: 0.6150998205402495
    INFO - 16:26:31:       Standardized constraints:
    INFO - 16:26:31:          cstr = -0.7883188793606977
    INFO - 16:26:31:       Design space:
    INFO - 16:26:31:       +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31:       | name | lower_bound |        value        | upper_bound | type  |
    INFO - 16:26:31:       +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31:       | x    |     -1.5    | -0.1666666666666667 |     1.5     | float |
    INFO - 16:26:31:       +------+-------------+---------------------+-------------+-------+
    INFO - 16:26:31: *** End DOEScenario execution (time: 0:00:00.404009) ***

{'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)
History plot
/home/docs/checkouts/readthedocs.org/user_builds/gemseo/envs/stable/lib/python3.9/site-packages/genson/schema/strategies/base.py:42: UserWarning: Schema incompatible. Keyword 'description' has conflicting values ('The width and height of the figure in inches, e.g. ``(w, h)``.\nIf ``None``, use the :attr:`.OptPostProcessor.DEFAULT_FIG_SIZE`\nof the post-processor.' vs. 'The width and height of the figure in inches, e.g. `(w, h)`.\nIf ``None``, use the :attr:`.OptPostProcessor.DEFAULT_FIG_SIZE`\nof the post-processor.'). Using 'The width and height of the figure in inches, e.g. ``(w, h)``.\nIf ``None``, use the :attr:`.OptPostProcessor.DEFAULT_FIG_SIZE`\nof the post-processor.'
  warn(('Schema incompatible. Keyword {0!r} has conflicting '

<gemseo.post.basic_history.BasicHistory object at 0x7ffaec09dfa0>

Total running time of the script: ( 0 minutes 0.620 seconds)

Gallery generated by Sphinx-Gallery