.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/post_process/plot_som.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_som.py: Self-Organizing Map =================== In this example, we illustrate the use of the :class:`~gemseo.post.som.SOM` 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-73 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 Monte Carlo DOE algorithm and 30 samples. .. GENERATED FROM PYTHON SOURCE LINES 73-86 .. code-block:: default scenario = create_scenario( disciplines, formulation="MDF", objective_name="y_4", maximize_objective=True, design_space=design_space, scenario_type="DOE", ) scenario.set_differentiation_method("user") for constraint in ["g_1", "g_2", "g_3"]: scenario.add_constraint(constraint, "ineq") scenario.execute({"algo": "OT_MONTE_CARLO", "n_samples": 30}) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none {'eval_jac': False, 'algo': 'OT_MONTE_CARLO', 'n_samples': 30} .. GENERATED FROM PYTHON SOURCE LINES 87-92 Post-process scenario --------------------- Lastly, we post-process the scenario by means of the :class:`~gemseo.post.som.SOM` plot which performs a self organizing map clustering on optimization history. .. GENERATED FROM PYTHON SOURCE LINES 92-93 .. code-block:: default scenario.post_process("SOM", save=False, show=True) .. image:: /examples/post_process/images/sphx_glr_plot_som_001.png :alt: Self Organizing Maps of the design space, -y_4, g_1_0, g_1_1, g_1_2, g_1_3, g_1_4, g_1_5, g_1_6, g_2, g_3_0, g_3_1, g_3_2, g_3_3 :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 2.432 seconds) .. _sphx_glr_download_examples_post_process_plot_som.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_som.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_som.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_