GithubHelp home page GithubHelp logo

bus-route-optimization's Introduction

Bus Routing with Genetic Algorithms for the City of Austin

Objective

Build a Genetic Algorithm modeling class that can be used to optimize bus transit routes for Austin's public transportation system with the purpose of attracting more riders and relieving road congestion.

Background

City governments and researchers have been studying different ways to design efficient and useful transportation networks for over a century. Industry calls it the Transit Network Design Problem and it aims to optimize across many objectives with a large potential solution space. Non-linear problems like this one have seen success using a Genetic Algorithm approach.

In the City of Austin, Capital Metro ridership rates have seen steady declines in their fixed route services. At this moment, the City of Austin is in the final stages of approving a new strategic mobility plan: 2025 Austin Metropolitan Area Transportation Plan. In addition, Capital Metro has their own Connections 2025 which is their answer to building a better connected transit system over the next 5-10 years. The current proposal by the City of Austin and Capital Metro appears well thought out and is excellently presented for public adoption. However, I have not been able to ascertain the scientific or data-driven techniques they used in creating their plan.

The Downtown Alliance also has a good web page for referencing all the major organizations involved in transportation and mobility for the City of Austin.

In researching this problem I found several scientific studies. Below is an example of one methodology used in India.

  • Optimal Route Network Design For Transit Systems Using Genetic Algorithms: In this 2002 paper, the author uses a three step iterative process.
    1. Initial Route Set Generation (IRSG) with a pre-specified number of routes. Each route is determined by first selecting a starting node, then selecting all other nodes sequentially until either (i) the number of nodes reaches a maximum number, or (ii) the route length reaches a maximum.
    2. Evaluation of Route Set: A set of 'route goodness' metrics are determined and a single 'route goodness' score is calculated.
    3. Route Modification: utilizes a genetic algorithm to iterate over the routes in search for a better 'route goodness' score.

This Stanford study uses a linear Regression model, and data from 25 U.S. cities to predict optimal station locations based on estimated ridership.

I also found this Master Thesis from the University of Cape Town that looked into different heuristic algorithms and settled on using a Genetic Algorithm.

Approach

My thesis is that the current bus route network is not convenient or useful enough for a large portion of the population. My goal is to minimize travel time and maximize network reach. The first problem to solve is to answer the question "where do bus stops need to be located?" I will initialize a new set of bus stops using block-level population data from the 2010 census. I will use this to build a weighted k-means algorithm. Then, I will define the regions and choose a good location for each regions transfer terminal. Then, I will implement a RouteFinder class, that uses a genetic algorithm to search for optimal routing within a given region using distance between nodes for a fitness function.

I believe this approach will be successful because other cities have seen success with this method. I used the example from Curitiba, Brazil in designing this strategy, since they are known in the transportation industry as a model city on this topic. My theory is that making a fast and well interconnected network will encourage daily commuters to choose public transit over driving.

Format

Python class stored in a python file and demonstrated in a JupyerNotebook.

Data Sources

Austin Texas 2010 Census TIGER/Line Shapefiles downloaded from the Census Bureau

Next Steps

  • Build the weighted-K-Means Algorithm
  • Use an a-star graph search and weigh the edges (or paths) by average traffic flow speed.
  • evaluate each region
  • Further enrich population data with jobs data

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.