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

Add optimization-based accessibility metric, by Bittencourt and Giannotti (2023) #47

Open
rafapereirabr opened this issue Dec 6, 2023 · 3 comments

Comments

@rafapereirabr
Copy link
Member

rafapereirabr commented Dec 6, 2023

Reference:

  • Bittencourt, T. A., & Giannotti, M. (2023). Evaluating the accessibility and availability of public services to reduce inequalities in everyday mobility. Transportation research part A: policy and practice, 177, 103833. https://doi.org/10.1016/j.tra.2023.103833

The code is available on the repo created for the paper by @tainabittencourt.

Perhaps the name of the function could be optimum_access() or optimum_access_landscape()

@dhersz
Copy link
Member

dhersz commented Mar 7, 2024

Isn't this measure the same as balancing_cost()?

In the paper, the measure is defined as:

  • "The optimization-based accessibility evaluates, for each location in the city, the minimum travel time needed for them to access a number of opportunities that is greater than or equal to the total number of individuals competing for those opportunities"

@rafapereirabr
Copy link
Member Author

it sounds very similar, indeed. I guess the difference is in that it considers competition, as in "greater than or equal to the *total number of individuals competing for those opportunities". If I remember correctly, the balancing_cost() does not account for competion. But perhaps @tainabittencourt could help us clarify this

@tainabittencourt
Copy link

Hey,

There are fundamental differences between the two metrics.

The objective of the balancing time is to minimize the travel time of each spatial unit so that the number of opportunities reached is equal to the population living in this area. However, as the calculation is made individually for each origin, it ignores that people living in different areas compete for the same opportunities. You can see it in Figure 1
A is the isochrone of hexagon 1, so the number of opportunities inside this isochrone is equal to the number of people living in 1.
B is the isochrone of hexagon 2, so the number of opportunities inside this isochrone is equal to the number of people living in 2.
The opportunities inside the hatched area (intersection between A and B) are counted twice.

The objective of the optimization-based algorithm is to minimize the total travel time spent by all individuals when reaching the opportunities they need. As it is calculated by an optimization function based on the transportation problem, it assigns each individual to a single opportunity and then runs multiple combinations until the minimum total travel time is found. One opportunity cannot be accessed by two individuals at the same time.
The accessibility value of hexagon 1 is then given by the average travel time of individuals living there.

We could compare the difference between the two metrics to the difference between user equilibrium and system optimization in route allocation in transportation engineering, with the difference that in user equilibrium the decision of one individual affects the decision of others, which doesn't apply to the balancing time. At least, that's what we were thinking when we came up with this...

Is it clearer now? Comparing the equations might help.

1 BT
2 Optimization

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants