.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/post_process/plot_opt_hist_view.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_post_process_plot_opt_hist_view.py: Optimization History View ========================= In this example, we illustrate the use of the :class:`.OptHistoryView` plot on the Sobieski's SSBJ problem. .. GENERATED FROM PYTHON SOURCE LINES 30-34 .. code-block:: default from __future__ import absolute_import, division, print_function, unicode_literals from future import standard_library .. GENERATED FROM PYTHON SOURCE LINES 35-39 Import ------ The first step is to import some functions from the API and a method to get the design space. .. GENERATED FROM PYTHON SOURCE LINES 39-46 .. code-block:: default from gemseo.api import configure_logger, create_discipline, create_scenario from gemseo.problems.sobieski.core import SobieskiProblem configure_logger() standard_library.install_aliases() .. GENERATED FROM PYTHON SOURCE LINES 47-51 Create disciplines ------------------ Then, we instantiate the disciplines of the Sobieski's SSBJ problem: Propulsion, Aerodynamics, Structure and Mission .. GENERATED FROM PYTHON SOURCE LINES 51-60 .. code-block:: default disciplines = create_discipline( [ "SobieskiPropulsion", "SobieskiAerodynamics", "SobieskiStructure", "SobieskiMission", ] ) .. GENERATED FROM PYTHON SOURCE LINES 61-64 Create design space ------------------- We also read the design space from the :class:`.SobieskiProblem`. .. GENERATED FROM PYTHON SOURCE LINES 64-66 .. code-block:: default design_space = SobieskiProblem().read_design_space() .. GENERATED FROM PYTHON SOURCE LINES 67-74 Create and execute scenario --------------------------- The next step is to build a MDO scenario in order to maximize the range, encoded 'y_4', with respect to the design parameters, while satisfying the inequality constraints 'g_1', 'g_2' and 'g_3'. We can use the MDF formulation, the SLSQP optimization algorithm and a maximum number of iterations equal to 100. .. GENERATED FROM PYTHON SOURCE LINES 74-86 .. code-block:: default scenario = create_scenario( disciplines, formulation="MDF", objective_name="y_4", maximize_objective=True, design_space=design_space, ) scenario.set_differentiation_method("user") for constraint in ["g_1", "g_2", "g_3"]: scenario.add_constraint(constraint, "ineq") scenario.execute({"algo": "SLSQP", "max_iter": 10}) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none {'algo': 'SLSQP', 'max_iter': 10} .. GENERATED FROM PYTHON SOURCE LINES 87-92 Post-process scenario --------------------- Lastly, we post-process the scenario by means of the :class:`.OptHistoryView` plot which plots the history of optimization for both objective function, constraints, design parameters and distance to the optimum. .. GENERATED FROM PYTHON SOURCE LINES 92-93 .. code-block:: default scenario.post_process("OptHistoryView", save=False, show=True) .. rst-class:: sphx-glr-horizontal * .. image:: /examples/post_process/images/sphx_glr_plot_opt_hist_view_001.png :alt: Evolution of the optimization variables :class: sphx-glr-multi-img * .. image:: /examples/post_process/images/sphx_glr_plot_opt_hist_view_002.png :alt: Evolution of the objective value :class: sphx-glr-multi-img * .. image:: /examples/post_process/images/sphx_glr_plot_opt_hist_view_003.png :alt: Distance to the optimum :class: sphx-glr-multi-img * .. image:: /examples/post_process/images/sphx_glr_plot_opt_hist_view_004.png :alt: Hessian diagonal approximation :class: sphx-glr-multi-img * .. image:: /examples/post_process/images/sphx_glr_plot_opt_hist_view_005.png :alt: Evolution of the inequality constraints :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out Out: .. code-block:: none /home/docs/checkouts/readthedocs.org/user_builds/gemseo/conda/3.0.3/lib/python3.8/site-packages/gemseo/post/opt_history_view.py:312: UserWarning: FixedFormatter should only be used together with FixedLocator ax1.set_yticklabels(y_labels) /home/docs/checkouts/readthedocs.org/user_builds/gemseo/conda/3.0.3/lib/python3.8/site-packages/gemseo/post/opt_history_view.py:716: MatplotlibDeprecationWarning: default base will change from np.e to 10 in 3.4. To suppress this warning specify the base keyword argument. norm=SymLogNorm(linthresh=linthresh, vmin=-vmax, vmax=vmax), /home/docs/checkouts/readthedocs.org/user_builds/gemseo/conda/3.0.3/lib/python3.8/site-packages/gemseo/post/opt_history_view.py:626: MatplotlibDeprecationWarning: default base will change from np.e to 10 in 3.4. To suppress this warning specify the base keyword argument. norm=SymLogNorm(linthresh=1.0, vmin=-vmax, vmax=vmax), /home/docs/checkouts/readthedocs.org/user_builds/gemseo/conda/3.0.3/lib/python3.8/site-packages/gemseo/post/opt_history_view.py:619: MatplotlibDeprecationWarning: Passing parameters norm and vmin/vmax simultaneously is deprecated since 3.3 and will become an error two minor releases later. Please pass vmin/vmax directly to the norm when creating it. im1 = ax1.imshow( .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 1.305 seconds) .. _sphx_glr_download_examples_post_process_plot_opt_hist_view.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_opt_hist_view.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_opt_hist_view.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_