The Iterative Improvement algorithm performs a number of local optimizations,
each starting at a random node and repeatedly accepting random downhill moves until a
local minimum is reached. The interested reader is referred to Swami and Gupta (1988)
and Swami (1989). The Two-Phase Optimization algorithm is a hybrid of Simulated
Annealing and Iterative Improvement. In the first phase, Iterative Improvement is used to
perform some local optimizations producing some local minimum. This local minimum is
used as the input to the second phase, which is based on Simulated Annealing with a low
start probability for uphill moves. The interested reader is referred to Ioannidis and Kang
(1990).