Guided random search techniques are based on enumerative techniques but use additional information to guide the search.
Two major subclasses are simulated annealing and evolutionary algorithms.
Enumerative techniques search every point related to the function's domain space (finite or discretized), one point at a time.
They are very simple to implement but usually require significant computation.
Evolution is an astonishing problem solving machine.
It took a soup of primordial organic molecules, and produced from it a complex interrelating web of live beings with an enormous diversity of genetic information.Placement optimization has a strong non-linear behaviour and is too complex for these methods.The set of possible layouts for a circuit can be enormous, which rules out the enumerative techniques.This is simply the notion of "hill climbing", which finds the best local point by climbing the steepest permissible gradient.These techniques can be used only on a restricted set of "well behaved" functions.Genetic Algorithms (GAs) are a good example of this technique.Calculus based techniques are only suitable for a restricted set of well behaved systems.These techniques are not suitable for applications with large domain spaces.Dynamic programming is a good example of this technique.In searching for optimum solutions, optimization techniques are used and can be divided into three broad classes , as shown in figure 5.1.Numerical techniques use a set of necessary and sufficient conditions to be satisfied by the solutions of an optimization problem. Indirect methods search for local extremes by solving the usually non-linear set of equations resulting from setting the gradient of the objective function to zero.