Simulated annealing is a computational algorithm for optimization. It mimics the physical process of thermal annealing in which a metal is heated and then slowly cooled to settle into a highly ordered crystal structure. For common metals, the lowest energy state is already known. But the method is useful for other problems where the best state is not known and exhaustively searching all possible states is impractical. The method is applied by modeling the problem as a physical system with structure, energy, and temperature. This Python module implements simulated annealing so that it can be easily applied to a variety of problems. An example program is include to perform simulated annealing of the traveling salesman problem.
Ahh, the joys of C++
After getting frustrated with all the C-style mess of Gtk+'s object-oriented structure, I decided to give Gtk-- a try. I wasn't expecting it to be very complete or reliable, but it's been pleasantly surprising. Just as I wished, my programs are now more elegant, more intuitive, and type errors are caught at compile-time rather than run-time. The documentation is not too bad (no worse than Gtk+ itself) and it includes very helpful tutorials and examples.