The OAM supports the choice of different optimization algorithms in a predefined set; three kinds of algorithm are currently included:
), which works
increasing at each step the size of a single gate, chosen according to the
best possible reduction of the delay along the critical path.
),
which is a particular
form of the conjugate directions algorithm family ([17]):
it does not require the computation of any gradient function
and it converges quadratically to the minimum of the cost function.
):
it chooses the transistor dimensions according to an ``annealing'' scheme,
converging thus to a global minimum, getting rid of local minima.
It is surely much slower than the previous ones, and requires a fine tuning
of the annealing parameters.
For all the chosen methods, the analytical knowledge of the objective
functions and their derivatives is not required, but just numerical
approximations are exploited.
However methods requiring the gradient evaluation (e.g. the
Fletcher-Reeves-Polak-Ribiere version of conjugate directions
algorithm [17]) can be also supported.