Next: Empirical Results Up: Simulated Annealing Previous: Input/Output Permutation of

The Cost Function

The cost function is an important part of the simulated annealing process, since it is responsible for recommending whether a particular configuration is better than another.

An obvious cost function is the size of the finished array, . Unfortunately, while this cost function is probably one of the best we could hope for, since it directly optimizes for minimum array size, it is one of the slowest to compute since the entire array must be routed.

A faster, but perhaps less accurate cost function is the sum of the total horizontal distance that wires need to be routed. To this could also be added the number of wires that cross when going between levels. Since permuting large collections of wires is one of the most expensive operations in an origami array, this cost function might provide a good approximation to the final array size. In addition, it is easy to compute, and can be computed without routing the array at all.

We will deal primarily with the array-size cost function, since it is the most accurate, although the compiler supports all three cost functions.



Next: Empirical Results Up: Simulated Annealing Previous: Input/Output Permutation of


Robert French