My Rust contribution to a competition for students was awarded 2nd place

129 points cbl007

The German Informatics Society (GI), has introduced a railway optimization problem at this year's informatiCup. The goal was to find a timetable for a railway network that would get passengers to their destination with as little waiting time as possible.

I took the opportunity to try out Rust, I had been looking for a project to try out this language for a while. I am incredibly excited about the programming language and how the concepts prevent design mistakes in advance. In addition, it was super easy to make improvements afterwards by simply replacing implementations.

I uploaded the project on GitHub. I would be very happy about feedback from you guys!

For those who are interested: The theoretical approach of my solution is an approximation algorithm that was able to find a solution in desirable time that was not optimal, but good enough to work with, as the main difficulty in solving the task was the exponentially increasing runtime depending on the number of nodes. The algorithms consists of a combination of genetic algorithms and tabu search. Genetic algorithms search a variance of solutions and tabu search tries to search specifically in a direction that looks promising, compensating mistakes in the evaluation of possibilities by forbidding selected moves that do not work for subsequent iterations. A more detailed explanation of the theory behind the solution can be found in the paper on GitHub.