.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/scenario_adapter/plot_multistart_example.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_scenario_adapter_plot_multistart_example.py: Multistart optimization ======================= Runs simple optimization problem with multiple starting points Nests a :class:`.MDOScenario` in a :class:`.DOEScenario` using a :class:`.MDOScenarioAdapter`. .. GENERATED FROM PYTHON SOURCE LINES 29-41 .. code-block:: default from __future__ import annotations from gemseo.api import configure_logger from gemseo.api import create_design_space from gemseo.api import create_discipline from gemseo.api import create_scenario from gemseo.disciplines.scenario_adapter import MDOScenarioAdapter from matplotlib import pyplot as plt configure_logger() .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 42-44 Create the disciplines ---------------------- .. GENERATED FROM PYTHON SOURCE LINES 44-49 .. code-block:: default objective = create_discipline("AnalyticDiscipline", expressions={"obj": "x**3-x+1"}) constraint = create_discipline( "AnalyticDiscipline", expressions={"cstr": "x**2+obj**2-1.5"} ) .. GENERATED FROM PYTHON SOURCE LINES 50-52 Create the design space ----------------------- .. GENERATED FROM PYTHON SOURCE LINES 52-55 .. code-block:: default design_space = create_design_space() design_space.add_variable("x", 1, l_b=-1.5, u_b=1.5, value=1.5) .. GENERATED FROM PYTHON SOURCE LINES 56-58 Create the MDO scenario ----------------------- .. GENERATED FROM PYTHON SOURCE LINES 58-67 .. code-block:: default 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") .. GENERATED FROM PYTHON SOURCE LINES 68-70 Create the scenario adapter --------------------------- .. GENERATED FROM PYTHON SOURCE LINES 70-75 .. code-block:: default dv_names = scenario.formulation.opt_problem.design_space.variables_names adapter = MDOScenarioAdapter( scenario, dv_names, ["obj", "cstr"], set_x0_before_opt=True ) .. GENERATED FROM PYTHON SOURCE LINES 76-78 Create the DOE scenario ----------------------- .. GENERATED FROM PYTHON SOURCE LINES 78-89 .. code-block:: default 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) .. rst-class:: sphx-glr-script-out .. code-block:: none INFO - 14:47:01: INFO - 14:47:01: *** Start DOEScenario execution *** INFO - 14:47:01: DOEScenario INFO - 14:47:01: Disciplines: MDOScenario_adapter INFO - 14:47:01: MDO formulation: DisciplinaryOpt INFO - 14:47:01: Optimization problem: INFO - 14:47:01: minimize obj(x) INFO - 14:47:01: with respect to x INFO - 14:47:01: subject to constraints: INFO - 14:47:01: cstr(x) <= 0.0 INFO - 14:47:01: over the design space: INFO - 14:47:01: +------+-------------+-------+-------------+-------+ INFO - 14:47:01: | name | lower_bound | value | upper_bound | type | INFO - 14:47:01: +------+-------------+-------+-------------+-------+ INFO - 14:47:01: | x | -1.5 | 1.5 | 1.5 | float | INFO - 14:47:01: +------+-------------+-------+-------------+-------+ INFO - 14:47:01: Solving optimization problem with algorithm fullfact: INFO - 14:47:01: ... 0%| | 0/10 [00:00` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_multistart_example.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_