MetroPlanner is an intuitive application to test (shortest) path planning algorithms. It consists of a user interface that can load and display user-defined networks, default is the metro network of Paris, and a pair of predefined planning algorithms which can be run on any loaded network. Both planning algorithms are an implementation of Breadth-First Search, working for both directed and undirected (unweighted) graphs. One planning algorithm minimizes the number stops, whereas the other minimizes the number of transfers.
MetroPlanner is an old (anno 2010) project, from my time studying at TU/e, where my passion for complex algorithms and graph theory started. It was the first project where I combined my learnings about object-oriented programming, writing (Javadoc) documentation, software testing (using JUnit) and algorithms. All of this eventually culminated in my Master Thesis and my first job at NS, where I continued developing planning optimization algorithms. Therefore, this project will always hold a special place in my heart.
If you want to learn more about the codebase, see the Javadoc.
If you just want to see the application in action, download this jar.