Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Minor] Docs: fix small typos and broken links #516

Merged
merged 2 commits into from
Mar 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/source/development/softwaredevelopment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Software Design and requirements
The most important piece of AequilibraE's backend is, without a doubt, `numpy <http://numpy.org>`__.

Whenever vectorization is not possible through the use of NumPy functions, compiled code is developed in order to
accelerate computation. All compiled code is written in `Cython <www.cython.org>`_.
accelerate computation. All compiled code is written in `Cython <https://cython.org/>`_.

We have not yet found an ideal source of recommendations for developing AequilibraE, but a good initial take can be
found in `this article. <http://www.plosbiology.org/article/info%3Adoi%2F10.1371%2Fjournal.pbio.1001745>`__
Expand Down
2 changes: 1 addition & 1 deletion docs/source/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ On MacOS one can use brew as per
Hardware requirements
---------------------

AequilibraE's requirements depend heavily of the size of the model you are using
AequilibraE's requirements depend heavily on the size of the model you are using
for computation. The most important
things to keep an eye on are:

Expand Down
14 changes: 7 additions & 7 deletions docs/source/history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ The very early days
It all started when `Pedro <https://www.xl-optim.com/>`_ was a student at `UCI-ITS <https://www.its.uci.edu/>`_ and
needed low level access to outputs of standard algorithms used in transportation modeling (e.g. path files from traffic
assignment) and had that denied by the maker of the commercial software he normally used. There, the
`first scratch of a traffic assignment procedure <www.xl-optim.com/python-traffic-assignment>`_ was born.
`first scratch of a traffic assignment procedure <https://www.xl-optim.com/python-traffic-assignment>`_ was born.
After that, there were a couple of scripts developed to implement synthetic gravity models (calibration and application)
that were develop for a government think-tank in Brazil `IPEA <https://www.ipea.gov.br/>`_.
that were developed for a government think-tank in Brazil `IPEA <https://www.ipea.gov.br/>`_.
Around the same time, another student needed a piece of code that transformed a GIS link layer into a proper graph,
where each link would become the connection between two nodes.
So there were three fundamental pieces that would come to be part of AequilibraE.

The first take on a release software
------------------------------------

Having all those algorithms at hand, it made sense combining them into something more people could use, and by them it
seemed that QGIS was the way to go, so I developed the
Having all those algorithms at hand, it made sense combining them into something more people could use, and by then it
seemed that QGIS was the way to go, so Pedro developed the
`very first version of AequilibraE <http://www.xl-optim.com/introducing_aequilibrae>`_.

It was buggy as hell and there was very little, if any, software engineering built into it, but it put Aequilibrae on
Expand All @@ -30,7 +30,7 @@ The first reasonable version
----------------------------

The first important thing Pedro noticed after releasing AequilibraE was that the code was written in procedural style,
even though it would make a lot more sense doing it in a Object-Oriented fashion, which let me down the path of
even though it would make a lot more sense doing it in an Object-Oriented fashion, which let him down the path of
creating the objects (graph, assignment results, matrix) that the software still relies on and were the foundation
blocks of the proper API that is in the making. That
`version was released in 2016 <http://www.xl-optim.com/new-version-of-aequilibrae>`_
Expand All @@ -43,11 +43,11 @@ A few distinct improvements deserve to be highlighted.
* The separation of the GUI and the Python library in `two repositories <http://www.xl-optim.com/separating-the-women-from-the-girls>`_
* Introduction of Unit Tests and automatic testing using `Travis (replaced with GitHub Actions) <https://travis-ci.org/AequilibraE/aequilibrae>`_
* Development of proper documentation, more software engineering with style-checking (Flake8 and Black)
* Re-development of the the most basic algorithms (path-finding, IPF, etc) with highly parallelized code optimized for the transportation use case
* Re-development of the most basic algorithms (path-finding, IPF, etc) with highly parallelized code optimized for the transportation use case

Release of AequilibraE 1.0
--------------------------

On its 9th anniversary (16/12/2023), AequilibraE saw the release of its landmark
`version 1.0 <https://www.outerloop.io/blog20231216_aequilibrae1.0>`_
`version 1.0 <https://www.outerloop.io/blog/20231216_aequilibrae1.0/>`_
which is the first to include a suite of Public Transport tools, making AequilibraE a fully-featured software.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ workflows to AequilibraE.

Although modeling with AequilibraE should feel somewhat familiar to seasoned modelers, especially
those used to programming, the mechanics of some of AequilibraE procedures might be foreign to
some of users, so this section of the documentation will include discussions of the mechanics
some users, so this section of the documentation will include discussions of the mechanics
of some of these procedures and some light discussion on its motivation.

Further, many AequilibraE users are new to the *craft*, so we have elected to start
Expand Down
6 changes: 3 additions & 3 deletions docs/source/modeling_with_aequilibrae/project.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ projects, such as `SQLite <https://sqlite.org/index.html>`_,
<https://numpy.org/>`_, as well as reasonably new industry standards such as the
`Open-Matrix format <https://github.com/osPlanning/omx>`_.

impressive performance, portability, self containment and open-source character
Impressive performance, portability, self containment and open-source character
of these pieces of software, along with their large user base and wide
industry support make them solid options to be AequilibraE's data backend.

Expand Down Expand Up @@ -62,7 +62,7 @@ not need to worry about its existence until it is automatically created.

The **demand_database.sqlite** is envisioned to hold all the demand-related
information, and it is not yet structured within the AequilibraE code, as there
is no pre-defined demand model available for use with AequilibraE. This detabase
is no pre-defined demand model available for use with AequilibraE. This database
is not created with the model, but we recommend using this concept on
your demand models.

Expand All @@ -76,7 +76,7 @@ Package components: A conceptual view
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

As all the components of an AequilibraE model based on open-source software and
open-data standards, modeling with AequilibraE is a little different than
open-data standards, modeling with AequilibraE is a little different from
modeling with commercial packages, as the user can read and manipulate model
components outside the software modeling environments (Python and QGIS).

Expand Down
2 changes: 1 addition & 1 deletion docs/source/modeling_with_aequilibrae/public_transport.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ into its database. The Transit module has been updated in version 0.9.0. More de
the **public_transport.sqlite** are discussed on a nearly *per-table* basis below, and
we recommend understanding the role of each table before setting an AequilibraE model
you intend to use. If you don't know much about GTFS, we strongly encourage you to take
a look at the documentation provived by `Google <https://developers.google.com/transit/gtfs>`_.
a look at the documentation provided by `Google <https://developers.google.com/transit/gtfs>`_.

.. toctree::
:maxdepth: 1
Expand Down
2 changes: 1 addition & 1 deletion docs/source/support.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Free support
------------

There are two mechanisms to obtain free support that also allow you to check whether your question was
already asked in the past, with the the first option being the most often used as of December/2023:
already asked in the past, with the first option being the most often used as of December/2023:

1. Joining the `AequilibraE Google Group <https://groups.google.com/forum/#!forum/aequilibrae>`_
and sending your question there.
Expand Down
6 changes: 3 additions & 3 deletions docs/source/validation_benchmarking/ipf_performance.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ IPF Performance
It is quite common to have zones with different growth rates. To improve obtaining
a trip matrix, which satisfies both trip-end constraints, we can use iterative methods,
such as the iterative proportional fitting (IPF). In this section, we compare the
runtime of AquilibraE's current implementation of IPF,
runtime of AequilibraE's current implementation of IPF,
with a general IPF algorithm, available `here <https://github.com/joshchea/python-tdm/blob/master/scripts/CalcDistribution.py>`_.

The figure below compares the :ref:`AequilibraE's IPF runtime` with one core with the benchmark Python
Expand All @@ -19,7 +19,7 @@ core to speed up the fitting process.
:align: center
:alt: AequilibraE's IPF runtime

As IPF is an embarassingly-parallel workload, we have implemented our version in Cython, taking full advantage
As IPF is an embarrassingly-parallel workload, we have implemented our version in Cython, taking full advantage
of parallelization and observing the impact of array orientation in memory. AequilibraE's
IPF allows the user to choose how many cores are used for IPF in order to speed up the fitting process, which
is extremely useful when handling models with lots of traffic zones.
Expand All @@ -31,7 +31,7 @@ speeding up the runtime in barely five times using five cores.
:align: center
:alt: number of cores used in IPF

These tests were ran on a Threadripper 3970x (released in 2019) workstation with 32 cores (64 threads) @ 3.7 GHz
These tests were run on a Threadripper 3970x (released in 2019) workstation with 32 cores (64 threads) @ 3.7 GHz
and 256 Gb of RAM. With 32 cores in use, performing IPF took 0.105s on a 10,000 zones matrix,
and 0.224 seconds on a 15,000 matrix. The code is provided below for convenience

Expand Down
6 changes: 3 additions & 3 deletions docs/source/validation_benchmarking/traffic_assignment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
Traffic Assignment
==================

Similar to other complex algorthms that handle a large amount of data through
Similar to other complex algorithms that handle a large amount of data through
complex computations, traffic assignment procedures can always be subject to at
least one very reasonable question: Are the results right?

For this reason, we have used all equilibrium traffic assignment algorithms
available in AequilibraE to solve standard instances used in academia for
comparing algorithm results, some of which have are available with highly
comparing algorithm results, some of which achieve
converged solutions (~1e-14). Instances can be downloaded `here <https://github.com/bstabler/TransportationNetworks/>`_.

Sioux Falls
Expand Down Expand Up @@ -170,7 +170,7 @@ Regional), as that instance has a comparable size to real-world models.
:alt: Algorithm convergence comparison
|

Not surprinsingly, one can see that Frank-Wolfe far outperforms the Method of
Not surprisingly, one can see that Frank-Wolfe far outperforms the Method of
Successive Averages for a number of iterations larger than 25, and is capable of
reaching 1.0e-04 just after 800 iterations, while MSA is still at 3.5e-4 even
after 1,000 iterations.
Expand Down
Loading