Congratulations to bugman for winning our third problem set. Attached is the winning solution, which utilizes a variety of Intel Tools such as Threading Building Blocks, the Intel C/C++ Compiler, and the Math Kernel Library. The program must be run under Windows x64.
Here's an excerpt from the description of the solution:
"The idea is to partition the space of student answer vectors into a number of clusters,
so that optimization can be done independently within the clusters. This approach relies on the fact that the "disharmony" function is in fact a metric (Manhattan distance). Partitioning is implemented by pre-computing the distance from each student vector to some carefully
selected pivot points. The pivot points are generated via XORs of different shifts
of 15609764721841. It is possible to show that the minimum Manhattan distance between different pivot points is 48. This trick is combined with conventional simulated annealing."
Again, congratulations for a work well done!