Optimizing the transport network of a large metropolitan area to improve citizen accessibility

Participant:
  • Zaika Vladyslav 
Supervisor:
  • Nicolas Nisse
    

Santiago, Chili

Full access to Santiago city data:

 

- transportation system

- education system

- health system

- other metrics

Tasks

Process

raw data

Improve

accessibility

- reduce amounts

- fix errors

- readable view

- propose improvements

- calculate new locations

Challenges

Data analysis:

                    - big amounts of data;

                    - improve computations;

                    - correct the data;

 

Algorithmic:

                    - analyse existing solutions;

                    - propose own way;

630k nodes and 210k edges in raw

Related Work

1. Bus Control Strategy Application: Case Study of Santiago Transit System (Pedro Lizana, Juan Carlos Muñoz, Ricardo Giesen, 2014)


2. More Passengers and Reduced Costs—The Optimization of the Berlin Public Transport Network  (Tom Reinhold, A. T. Kearney GmbH, 2008)


3. Evaluation and optimization of urban public transportation networks (Christoph E. Mandl, 2003)


4. Optimization of Bus Route Planning in Urban Commuter Networks (Steven I-Jy Chien, Branislav V. Dimitrijevic, 2003)

Assigned Tasks

1. Formalize raw data. 

2. Crate good structures.

3. Fix errors in data.

4. Test them on map.

5. Make research on topic.

6. Check existing solutions.

7. Propose improvements.

8. Test results.

OLD Structures

EDGES

POINTS

- access complexity

- wrong data format

- no direct relations

NEW Structures

Point representation:

class Point(object):

    def __init__(self, id=0, x=0, y=0, edge_id=0, cell=0):
        self.id = id
        self.x = int(x)
        self.y = int(y)
        self.edge_id = int(edge_id)
        self.cell = int(cell)

    def __hash__(self):
        return hash((self.x,self.y))

Edge representation:

<Point, Point>

 hash maps for points and edges

 clean data representations

 easy to access

 easy to update

Data Errors

Near points errors

Intersection errors

Near segment errors

Map Segmentation

We divide map into sectors

Near Points Error

- Wrong GPS coords

- Human factor

- Bug in program

Creates multiple points in places, where it should be only one

Near Points Error

For each segment in our map:

- select all the neighbor segments;

- create possible pairs of nodes;

- check relation(same hierarchy and street);

- calculate euclidean distance;

We fix 213,012 near points errors!

Reduce total number of nodes.

Intersections Error

- Wrong GPS coords

- Human factor

- Bug in program

Forgot to create node in crossroads

Intersections Error

For each segment in our map:

- select all the neighbor segments;

- create all possible edge combinations;

- check relation(same hierarchy);

- check intersection presence;

We fix near 2k intersections.

Intersections error fix makes our map more clean

Near Segments Error

- Wrong GPS coords

- Human factor

- Bug in program

Forgot to connect two streets

Near Segments Error

For each segment in our map:

- select all the neighbor segments;

- create pairs edge - point;

- check relation(same hierarchy);

- check if point is close enough to the edge;

Fix only 27 error situations!

Finalize data relations.

Results

    - has clean structures;

    - 1/3 of reduced data;

    - has straight object connections;

From 628,342 nodes in raw data:

   - we fix >200k near point errors;

   - we fix ~2k of intersections errors;

   - we fix ~ 30 near segments errors;

Finally we get a graph on 415,321 nodes, that:

SAGE in Game

Big graph = big problems

SAGEMath packet is a solution!

 

        - variety of graph functions 

        - easy to integrate

        - strong algorithms implementation

Integrate Santiago Graph -> SageMath

What We Want to Do

1. Finish SAGE tests.

2. Test "static" shortest path algorithms on graph.

3. Propose algorithm improvements.

4. Develop "dynamic" algorithm( taking into account transport, education, health systems).

5. Test new code on Santiago graph.

6. Make conclusions.

 

Conclusion

1. Learn how other people solve this problem

2. Clean and formalize graph data

3. Integrate SAGE package with Santiago Graph

 

Thank you

vlad@nowinfinity.com.au

Internship presentation

By Vladyslav Zaika

Internship presentation

Optimizing the transport network of a large metropolitan area to improve citizen accessibility

  • 329