.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/post_process/plot_constraints_history.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_constraints_history.py: Constraints history =================== In this example, we illustrate the use of the :class:`.ConstraintsHistory` 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-87 .. 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") all_constraints = ["g_1", "g_2", "g_3"] for constraint in all_constraints: 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 88-96 Post-process scenario --------------------- Lastly, we post-process the scenario by means of the :class:`.ConstraintsHistory` plot which plots the history of constraints passed as argument by the user. Each constraint history is represented by a subplot where the value of the constraints is drawn by a line. Moreover, the background color represents a qualitative view of these values: active areas are white, violated ones are red and satisfied ones are green. .. GENERATED FROM PYTHON SOURCE LINES 96-99 .. code-block:: default scenario.post_process( "ConstraintsHistory", constraints_list=all_constraints, save=False, show=True ) .. image:: /examples/post_process/images/sphx_glr_plot_constraints_history_001.png :alt: Evolution of the constraints w.r.t. iterations, g_1_1, g_1_2, g_1_3, g_1_4, g_1_5, g_1_6, g_1_7, g_2, g_3_1, g_3_2, g_3_3, g_3_4 :class: sphx-glr-single-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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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/constraints_history.py:152: 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), .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 1.212 seconds) .. _sphx_glr_download_examples_post_process_plot_constraints_history.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_constraints_history.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_constraints_history.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_