Added some simulated annealing code that needs to be modified but will probably work ok for this problem.