.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "_auto_examples/trip_distribution/plot_ipf_without_model.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr__auto_examples_trip_distribution_plot_ipf_without_model.py: .. _plot_ipf_without_model: Running IPF without an AequilibraE model ======================================== In this example, we show you how to use AequilibraE's IPF function without a model. This is a compliment to the application in :ref:`Trip Distribution `. Let's consider that you have an OD-matrix, the future production and future attraction values. *How would your trip distribution matrix using IPF look like?* The data used in this example comes from Table 5.6 in Ortúzar & Willumsen (2011). .. GENERATED FROM PYTHON SOURCE LINES 17-26 .. code-block:: Python # Imports import numpy as np from aequilibrae.distribution import Ipf from os.path import join from tempfile import gettempdir from aequilibrae.matrix import AequilibraeMatrix, AequilibraeData .. GENERATED FROM PYTHON SOURCE LINES 28-30 .. code-block:: Python folder = gettempdir() .. GENERATED FROM PYTHON SOURCE LINES 31-38 .. code-block:: Python matrix = np.array([[5, 50, 100, 200], [50, 5, 100, 300], [50, 100, 5, 100], [100, 200, 250, 20]], dtype="float64") future_prod = np.array([400, 460, 400, 702], dtype="float64") future_attr = np.array([260, 400, 500, 802], dtype="float64") num_zones = matrix.shape[0] .. GENERATED FROM PYTHON SOURCE LINES 39-45 .. code-block:: Python mtx = AequilibraeMatrix() mtx.create_empty(file_name=join(folder, "matrix.aem"), zones=num_zones) mtx.index[:] = np.arange(1, num_zones + 1)[:] mtx.matrices[:, :, 0] = matrix[:] mtx.computational_view() .. GENERATED FROM PYTHON SOURCE LINES 46-61 .. code-block:: Python args = { "entries": mtx.index.shape[0], "field_names": ["productions", "attractions"], "data_types": [np.float64, np.float64], "file_path": join(folder, "vectors.aem"), } vectors = AequilibraeData() vectors.create_empty(**args) vectors.productions[:] = future_prod[:] vectors.attractions[:] = future_attr[:] vectors.index[:] = mtx.index[:] .. GENERATED FROM PYTHON SOURCE LINES 62-73 .. code-block:: Python args = { "matrix": mtx, "rows": vectors, "row_field": "productions", "columns": vectors, "column_field": "attractions", "nan_as_zero": True, } fratar = Ipf(**args) fratar.fit() .. GENERATED FROM PYTHON SOURCE LINES 74-76 .. code-block:: Python fratar.output.matrix_view .. rst-class:: sphx-glr-script-out .. code-block:: none array([[ 5.19523253, 43.60117896, 97.1907419 , 254.02026689], [ 44.70942645, 3.75225496, 83.64095928, 327.90930057], [ 76.67583276, 128.70094592, 7.17213428, 187.45277887], [133.41950826, 223.94562016, 311.99616454, 32.61765367]]) .. GENERATED FROM PYTHON SOURCE LINES 77-80 .. code-block:: Python for line in fratar.report: print(line) .. rst-class:: sphx-glr-script-out .. code-block:: none ##### IPF computation ##### Target convergence criteria: 0.0001 Maximum iterations: 5000 Rows:4 Columns: 4 Total of seed matrix: 1,635.0000 Total of target vectors: 1,962.0000 Iteration, Convergence 7 , 0.0000902085 Running time: 0.002s .. GENERATED FROM PYTHON SOURCE LINES 81-84 Reference ~~~~~~~~~ ORTÚZAR, J.D., WILLUMSEN, L.G. (2011) *Modelling Transport* (4th ed.). Wiley-Blackwell. .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.039 seconds) .. _sphx_glr_download__auto_examples_trip_distribution_plot_ipf_without_model.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_ipf_without_model.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_ipf_without_model.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_ipf_without_model.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_