22.01.2014 Views

download searchable PDF of Circuit Design book - IEEE Global ...

download searchable PDF of Circuit Design book - IEEE Global ...

download searchable PDF of Circuit Design book - IEEE Global ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The Fletcher- Reeves Optimizer 149<br />

times. The trajectory is shown in Figure 5.24. It will not reach the minimum in<br />

the specified loo·iteration limit; inputting GOTOl50 will cause the program<br />

to continue the searches. Delete temporary statement 392 and add 855<br />

GOT0260. This disables the policy <strong>of</strong> resetting to steepest descent after every<br />

N iterations.<br />

5.4.4. SCilling. The new user may construct a problem <strong>of</strong> his own design<br />

only to find that it won't optimize. The difficulty is <strong>of</strong>ten in the scaling <strong>of</strong> the<br />

variables, i.e., sensitivity. This is equivalent to partial derivatives; so the user<br />

should be aware <strong>of</strong> a rule <strong>of</strong> thumb regarding units <strong>of</strong> the variables. In the<br />

context <strong>of</strong> electrical network problems, suppose that the level curves in Figure<br />

5.23 belong to the two variables in one <strong>of</strong> the L-section networks <strong>of</strong> Figure 4.3.<br />

For the frequencies <strong>of</strong> interest, these network Land C design variables make<br />

sense in units <strong>of</strong> nanohenrys and pic<strong>of</strong>arads. A useful rule <strong>of</strong> thumb is: if any<br />

variable is increased by unity, do solutions still make sense? Another symptom<br />

is the gradient vector; the magnitude <strong>of</strong> its elements should be roughly equal<br />

and about unity within a factor <strong>of</strong> lOOO± '. But suppose that the inductance is<br />

specified in microhenrys; then an increase from 0.4 to 1.4 microhenrys is a<br />

much bigger jump than from 400 to 401 nanohenrys. What is at stake is seen<br />

in Figure 5.23; a bad choice <strong>of</strong> variable units can squeeze the curved valleys<br />

into raror-thin slits, so that the optimizer's finite word length search is in<br />

fundamental trouble.<br />

An illustration <strong>of</strong> this effect is easily created using the Rosenbrock example.<br />

One or more initial variable values input at the beginning are rescaled,<br />

e.g., increased by a factor <strong>of</strong> 100. Then, at the beginning <strong>of</strong> subroutine 1000,<br />

these variables are decreased by 100 and then increased again before returning<br />

from that subroutine. Also, the corresponding derivatives must be decreased<br />

by 100 before returning (an application <strong>of</strong> the chain rule from calculus). Upon<br />

trying this, the effect on the gradient is immediately obvious-the number <strong>of</strong><br />

function evaluations is increased by about half again. The reader is urged to<br />

try this on the Rosenbrock function to observe scaling and its effect on search<br />

difficulty.<br />

5.4.5. Summary <strong>of</strong> the Fletcher-Reeves Program. The Fletcher-Reeves<br />

search strategy has been reviewed and BASIC language Program B5·1 has<br />

been described in the context <strong>of</strong> previously discussed topics. The Rosenbrock<br />

two-variable, nonlinear problem was described, and a number <strong>of</strong> enlightening,<br />

temporary program modifications were suggested. Also, the subject <strong>of</strong> scaling<br />

<strong>of</strong> variables was mentioned; it is the foremost pitfall the new user is likely to<br />

encounter when formulating his own objective function.<br />

In addition to scaling, an "awful warning" was issued to be sure that only<br />

smooth functions are modeled for gradient optimization. This is especially true<br />

when the gradient vector is obtained by finite differences. Another warning<br />

about gradients is that evaluation <strong>of</strong> analytical expressions should be checked

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!