[SoC] Framework which supports addition of contraction techniques for pgRouting - Final Report

Rohith Reddy rohithreddy2219 at gmail.com
Wed Aug 17 21:42:46 PDT 2016


Hi all,

I am working on the implementation of a framework which supports addition
of contraction techniques for pgRouting for the GsoC 2016. This is my final
report. I would like to thank my mentors, Vicky Vergara and Daniel Kastl
for their constant support and guidance.

*Brief Description*

In big graphs, like the road graphs, or electric networks, graph
contraction can be used to speed up some graph algorithms. Contraction
reduces the size of the graph by removing some of the vertices and edges
and, for example, might add edges that represent a sequence of original
edges decreasing the total time and space used in graph algorithms.

This implementation gives a flexible framework for adding contraction
algorithms in the future, currently, it supports two algorithms:

   - Dead end contraction
   - Linear contraction

Allowing the user to:

   - Forbid contraction on a set of nodes.
   - Decide the order of the contraction algorithms and set the maximum
   number of times they are to be executed.



*State of the project before GSoC*
Previously there is no contraction functionality in the library.


*Addition that my project brought to the software*
I implemented the following during the GSoC program

   - A framework which supports the addition of new contraction algorithms.
   - Implementation of Dead end contraction.
   - Implementation of Linear contraction which was used to refine the
   framework.
   - The user can forbid to contract a particular set of nodes or edges.
   - The user can decide how many times the cycle can be done.
   - The user can decide the order of the operations on a cycle.
   - Proper documentation and tests for the above ­mentioned components.

*Links*

   - Link to the branch working branch and directory:
   https://github.com/pgRouting/pgrouting/tree/gsoc-ch/src/contraction

   - Links to the documentation
   http://docs.pgrouting.org/dev/en/src/contraction/doc/contraction.html
   http://docs.pgrouting.org/dev/en/src/contraction/doc/pgr_
   contractGraph.html

   - Link that shows all of my commits
   https://github.com/pgRouting/pgrouting/commits/gsoc-ch?
   author=sankepallyrohithreddy

   - Link that shows all of my pull requests to the main repository
   https://github.com/pgRouting/pgrouting/pulls?q=is%3Apr+author%
   3Asankepallyrohithreddy+is%3Aclosed4
   <https://github.com/pgRouting/pgrouting/pulls?q=is%3Apr+author%3Asankepallyrohithreddy+is%3Aclosed4>

   - Link to the wiki page
   https://github.com/pgRouting/pgrouting/wiki/GSoc-2016-Contraction



*Slides*https://github.com/pgRouting/pgrouting/files/423339/
pgRouting.Contraction.pdf

I learned a lot from my mentors and it has been a very good learning
experience. I hope this project keeps growing and would like to continue my
contribution.

Regards,
Rohith Reddy
Lab for Spatial Informatics
International Institute of Information Technology
Hyderabad, India.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20160818/96788e44/attachment.html>


More information about the SoC mailing list