The included source code implements a variation of the Hamiltonian Path problem, called the Travelling Baseball Fan Problem, as described in the included problem description text file. The serial algorithm is a recursive search of all potential paths. The parallelization was done with Intel Threading Building Blocks (TBB). Continuation tasks are set up for each tour day and parallel searches are executed within each new start day for the recursive algorithm to a given task generation depth. If there is no schedule for a day, the task for the next day is begun. A parameterized, random schedule creation application is also included. The code was intended for Windows OS and includes Microsoft Visual Studio solution and project files to build the application.
DISCLAIMER: This code is provided by the author as a submitted contest entry, and is intended for educational use only. The code is not guaranteed to solve all instances of the input data sets and may require modifications to work in your own specific environment.