Simulated Annealing
Simulated Annealing evaluates complete alternative portfolio at each step, and compares a very large number of alternative portfolios to identify a good solution. The procedure begins with a random set, and then at each iteration swaps planning units in and out of that set and measures the change in cost. If the change tends to improve the set, the new set is carried forward to the next iteration until the maximum number of iterations is reached. This algorithm is slower than the Greedy heuristic but tends to find better solutions.