.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/post_process/plot_pareto_front.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_pareto_front.py: Pareto front ============= In this example, we illustrate the use of the :class:`.ParetoFront` 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-94 Post-process scenario --------------------- Lastly, we post-process the scenario by means of the :class:`.ParetoFront` plot which generates a plot or a matrix of plots if there are more than 2 objectives, plots in red the locally non dominated points for the current two objectives, plots in green the globally (all objectives) Pareto optimal points. .. GENERATED FROM PYTHON SOURCE LINES 94-95 .. code-block:: default scenario.post_process("ParetoFront", objectives=["g_3", "-y_4"], save=False, show=True) .. image:: /examples/post_process/images/sphx_glr_plot_pareto_front_001.png :alt: Pareto front :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out Out: .. code-block:: none .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 1.107 seconds) .. _sphx_glr_download_examples_post_process_plot_pareto_front.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_pareto_front.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_pareto_front.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_