Part 1: Solving the "Please take me out of here!" with Exhaustive Search

Back to labs page.

The first task requires you to solve the "Please take me out of here!" problem by implementing an algorithm based on exhaustive search or one of its refinements. Plain exhaustive search simply generates all possible subsets of edges, tests for each subset whether it is an hamiltonian path, checks whether it is the best tour seen so far, and finally outputs the best solution. It is clear that some subsets are useless to be tested, so blind exaustive search can be improved a little bit. The only difficulty at this stage is to make sure that no potential solution gets lost: how do you generate all subsets of edges in a systematic way? How can you avoid memory overflow if the number of nodes is rather large? Think carefully about these questions before you start writing code.

As explained in the assignment policy, the submission for this first part will contain exactly two files, one for the report and one for the program. Here we collected the requirements we expect from your files.

PROGRAM REQUIREMENTS

REPORT REQUIREMENTS

For this part your report will be a document written in ENGLISH with the following structure:

Submission

To submit you will use the Fire system.

Deadline for this assignment is 9 Semptember, and the deadline is strict.