Simplex: A Manual for Easy Nonlinear and Interpretation Anthony Mittertreiner and Software Package Parameter Estimation In Fishery Research and Jon Schnute Department of Fisheries and Oceans Fisheries Research Branch Pacific Biological Station Nanaimo, British Columbia V9R SK6 July 1985 Canadian Fisheries No.1384 Technical Repo'rt 'of and Aquatic 'Sciences Canadian Technical and Report Aquatic Sciences July SIMPLEX: A MANUAL NONLINEAR AND PARAMETER IN of Fisheries No.1384 1985 SOFTWARE ESTIMATION FISHERY PACK~GE AND FOR INTERPRETATION RESEARCH by Anthony Mittertreiner Department of Fisheries f1sher1es Pacif1c Nanaimo. * Send reprint requests to this and Research Biological British author. Columbia EASY Jon Schnute* and Oceans Branch Station V9R 5K6 (c)Minister Correct fishery and Services for this C. easy and J. Schnute. 1985. SIMPLEX: nonlinear parameter estimation research. 97-6/1384E Canada No. A. for Fs Supply Cat. citation Mittertreiner, package of JSSN 1985 0706-6457 publication: Can. Tech. Rep. Fish. p'Juat. A manual and and interpretation Sc1. 1384: 90 software in p. -111 - TABLE OF CO~ITENTS LIST LIST OF TABLES. OF FIGURES. LIST OF COMPUTER Page v v1 LISTINGS. v11 ABSTRACT. RESUME. FOREWDRD v111 BY JD~ 1x x SCHNUTE , 7.6. 5. 4. 3. 2. 1. 7.2. PLOTTING 7.1. PLOTTING 6.1. 5.1. 5.2. PLOTTING 4.3. 4.2. 4.1. SIMPLEX 3.4. 3.5. 3.3. 3.2. 3.1. PREPARATIONS. 2.5. 2.4. 2.2. 2.3. THE 2.1. INTRODUCTION. Profiling Profiler MINSUM Plotter C. Plot A. B. Minimization. Menu System SIMPLEX MINFUN Preparations Linking A. B. MINSUM Two Algorithm Convergence. Final Simplex Background. Minimum Control Interpreting OPERATION: PROFILES OBSERVATIONS, CreatIng Preparing FACILITIES. types. methods: options. plotter axial initialization. and hardware and METHOD. description. SIMPLEX. instructions. iteratIon. Cfound. data.UFUN TEMPLATE. ANDa (AC) search. summary. the MINSUM MINIMIZING. options. module the SECTIONS requirements. ETC. data output. and from (MINSUM file. MINFUN(MINSUM TEMPLATE. ONLY) AND MINFUN) 1 12 12 12 18 18 19 21 21 21 21 24 24 26 28 29 29 29 31 31 32 32 33 33 38 39 39 41 41 46 -iv TABLE - OF CONTENTS Page APPENDIX ACKNOWLEDGEMENTS. REFERENCES. 12. 11. 10. 9. 8. TROUBLE 9.2. 9.3. 9.1. CALCULATING B.l. R.2. WORKED VARIATIONS 11.3. 11.1. 11.2. ADDITIONAL 10.3. 10.4. 10.2. 10.1. '.'u Overfll>ws Slow Theory. Software A. B. C. Multiple Mult1-po1nt Adjustable Eliminating Chi-square Holrfing Imposing 1 EXAMPLE tip SHOOTING CHOICES GLOSSARY SIMPLEX convergence. le OFPOSSIBILITIES. COVARIANCES mioperation. THE some extens1ons constraints. ni FOR ITERATION. THE OF action and ma reflect1on', SIMPLEX linear parameters MINSUM TERMS. SIMPLEX weighted coeff1c1ents parameters. SEARCH.PLOTTING. SEARCH. f1xed least squares. 47 47 49 51 51 51 52 53 53 53 54 54 55 !)5 55 55 57 81 82 83 86 89 -v LIST - OF TABLES Table 2.1 Page Values for for various editing distribution and standard algorithm function deviation example values. data. 13 4.1 Codes 5.1 Options for high and low resolution 5.2 Options for high resolution plot characters. 34 5.3 Options for high resolution line types. 34 5.4 Options for high resolution (flatbed) patterns for normal REan 30 plot types. panel. 34 34 -vi LIST - OF FIGURES Figure 1.1 Page Two predicted mussel curves length 1.2 Normalized 1.3 Profile (plotting data and observed {plotting residuals for andexample) section along example) ~Jssel y- length data (profile example) 8 1.4 Profile and section along K 1.5 Prof1le and section along to 1.6 Opt1mal K V5. 2.1 Contour plot Y. of (prof1le (profile example) (prof1le 10 exarnple) example) l1kelihood 11 surface for normal distribut1on 14 2.2 Simplex search 5.1 Histogram mussels show1ng (plott1ng 7.1 Contour plot 7.2 Prof1le and the 7.3 Profile the response and response act1ons of 15 age-frequency example) hatch sect1on surface section surface fa1lure along of along of distr1but1on 36 rate xI F1g. x2 Fig. for response (sal1n1ty) surface. for 7.1 (temperature) 7.1 43 44 for 45 -v11 LIST - OF COMPUTER LISTINGS L1st1ng Page 1.1 Low resolution length 1.2 at Low (P1ottingresolution data plot age for of example) plot (Plotting from observed freshwater Jf and predicted mussels. residuals for mussel matrix calculation 3 example) 3 1.3 Output covariance 3.1 TEMPLATE (Covariance (withexample) example 3.2 UFUN (skeletal l1st1ng) 3.3 UFUN (complete example) 3.4 GOMINSUM.COM 27 3.5 GOMINFUN.COM 28 5.1 4.1 Histogram SIMPLEX 5.2 Low resolut1on plot example (1ncorrect) 5.3 Low resolut1on plot example (corrected) 6.1 Plotter code) 6 22 menu examples. iten5 25 25-26 high and low resolution. ... 29 35 menu {create. store. recall. 37 37 etc) 39 -ix , , RESUME Mittertreiner, A. C. package for fishery research. Le pr~sent dans lequel mod~les d'interpr~ter mod~les. le and easy les r~sultats donne de similaires. A manual Rep. Fish. and AI1uat. l'analyse a fin des sur et de calculer commode quand la la covariance des fonction ~conomique c'est le etre cas. fa~on exprim~ par sous exemple. forme avec plus g~n~rale. ou la fonction Le pr~sente guide l'1nterpr~tat1on donne ~galement son utilisation. minimalisation non toute de l'appliquer ! des qui notamment .(2) l'utilit~ l'ajustement des de la d~viation suggestions pour de th~orie mod~les standard utiliser situations des (2) desdits SIMPLEX. estimation pr~diction param~tres. (c.-A-d. d'une et par de SIMPLEX crit~re le somme l'ajustement outil de termes la ~thode SIMPLEX peut ~galement etre ~conomique est analytique.~ent n'a ~ fournir d~sir~: cela sur-le-champ qu'une fait. pour mod~les. seulement la On y d~crit des fonctions l'~valuation covariance. donne des des in p. validit~ logiciel d'obtenir la meill~ure divers diagrammes de peut software 90 d'ajuster et la le l'ut1l1sateur de produire carr~s. De cas d'utilisation et 1384: (I) lin~aires d'~valuer d~tails and interpretatio" Sci. une m~thode permettant des param~tre~ non de ~ SIMPLEX: estililation complexe. De fa~on caract~ristique. l'utilisateur section du code FORTRAN pour d~crire le mod~le les caract~ristiques du SIMPLEX sont disponibles l'ajustement pour Tech. ~galement mod~les) comme des moindres adapt~ S des plus courte toutes mod~les. 1985. parameter guide d~crit on introduit qui permet facilement possible des param~tres. d'ajustement Schnute. Can. guide probab1lit~ de est particuli~rement J. nonlinear d~tails sur le a de base servi (I) S son SIMPLEX. mais ~laboration et la m~thode de recherch~ SIMPLEX de divers diagrammes dans et et de la efficacement sp~ciales. logiciel (3) le calcul corr~lation l'algorithme num~rique des de param~tres. de recherche ! de la On et -x - FOREWORD By Jon Schnute -xi complete w1th 1tself. At fresh th1s 1ns1ghts p01nt. 1nto 1 became (and project myself and wrote extens1ve the ent1re manuscr1pt. Both Tony everyth1ng in the effort viewp01nt: worthwhile he thought jaded to here. which tine 1mag1ne. perhaps for h1s departure only readers a at w111 Jon the 1 was things student about) engaged 1n rev1s10ns: and 1 burned partly becausa of describing 1 hope quest10ns deeply end of Nana1mo, from bring to B1olog1cal B.C. V9R Canada SeptenDer. s1mplex 19B4. by which Tony's 1 had the a 1984 part1cular problam. Stat1on 5K6 method phases August. fasc1nated 1n a way Schnute Pac1f1c the f1nal 1ndeed. 1 essent1ally the m1dn1ght 011 to prof1t can the of the rewrote complete 1 cons1dered fresh become too parspect1ve 1. INTRODI.JCTION Readers parameter nonl1near of surface analys1s, an ab1l1ty to find mathemat1cal est1mat1on. and s1ze-frequency analys1s, estimates of parameters in Unfortunately, computer derivative calculations, the der1vative of the Because l1near turn of the provided by the 1s to free t1me 1nvolved, many which mayor thus l1mit1ng package has S1nce SIMPLEX Because the experiment capab1~1t1es. opt1on. non11near or models, programs, SIMPLEX above. calcuated. a f , rely equ~t1ons. practit1oners may not themselves prove to to heavily code task. resort on for to adequate; or users models and features may package. This out11ned need be to name nonlinear algorithms for th1s purpose typically 1nvolve wh1ch may mean that the user has to prov1de funct1on be1ng considered --often a nontr1vial diff1culty or quadrat1c to Mcanned" b1ology may not requ1re an 1ntroduct1on Top1cs such as growth model1ng, response a with des1gned var1ations. calculat1on Hopefully parameter been to circumvent the 1nvolves a d1rect search method. user specif1es the funct1on or of these features est1mat1on The parameter package also covariances. g1ve the user can be performed offers and enough almost problems no der1vativcs model. he or she plotting an 1n1t1al flex1b1l1ty as eas1ly search that as l1near regress1on. SIMPLEX 1s wr1tten transportab1l1ty. The 11-780; 1t 1s enhanced procedure. and the high 10 for a TEK 4105 color 1nterested Pac1f1c 1n a copy B1ological 1n ANSI standard FORTRAN 77. 1n the 1nterest of version descr1bed here 1s wr1tten for the VAX/VMS with some system ser~ices to aid 1n the min1m1zat1on resolut1on software 1s written w1th Tektron1x IGL Plot graph1cs term1ndl and a 4662 flatbed plotter. Readers of the Stat1on. software should contact Nana1mo. B. V9R C.. the 5K6. Computer for Centre. 1nformat1on. To illustrate briefly the capabilities of this package. consider some data* for freshwater mussels (Anodonta kennerylii ). consisting of mean lengths (mm) at ages one to sixteen years as follows: 7.36. 14.3. 21.8. 27.6. 31.5. 35.3, 39.0. 41.1. 43.8.45.1. 47.4. 48.9. 50.1. 51.7. 51.7. and 54.1. Suppose that one wished to fit these data to the von Bertalanffy curve (Ricker 1975. p. 221): (1.1) where y(t) y(t) is .y the - [1- e length at -K(t-tO)] age t and (y ,K,t is these data, -0 a vector of three *.**~~***********************************.*********************** *For deta1ls Enr1chment Canada. on Project, In th1s appl1cat1ons, acknowledgements. the acqu1s1t1on Pac1fic manual, w1thout the regard of B1olog1cal data to are Stat1on, used underly1ng only see Nana1mo, to spec1es 1llustrate b1ology. Dr.K1m B.C. Hyatt, V9R Lake SK6, software See also the -2 parameters. fit, If this the model additional lines (A) N .3 (8) PRED (C) RES. (D) TERM. Here w1th Sum could of be of squares of residuals incorporated FORTRAN - into .PA~S(l)*(l (8) and to -EXP(-PARS(Z)*(XO(l) suppl1ed by best only fnur -PARS(3)))) (YO -YP)**2 .y.. (1.1) PARS(2) define the .K. same parameters. PARS(3) model, These .K.t .0 the .(50.0. user. 1.00. SIMPLEX are assoc1ated .to. where length y(t)) to the variable XO(l) because SIMPLEX allows predictions (y the with '.~ YP (i.e., to is the the depend variable. Line (C) defines the residual as the difference (YO) and predicted (YP) responses, and finally (0) defines the objective function as the square of a resIdual. (1.2) determine package YO -YP PARS(l) (1. e., the XO is lndexed used SIMPLEX code: l1ne (A) def1nes the number of m~del the vector PARS 1n (8) as follows: Thus, is the predicted age on response t). The variable more than one between a single observed term in 1.00) takes a few seconds to arr1ve at the opt1mum est1mate (1.3) The (y .K.t .o complete resolution analysis SIMPLEX plots resolution plot for and Fig. the residuals residuals. at or resolution. level 1.2 0.15). problem is the user to model fit. and along with residuals example plots shows normalized each this observations plot, Model resolution) 0.16, also allows depicting the of high resolution estimate (1.2). (low ) .(57.3. (high in a later section. construct both low For example, Listing predictions: a graph can also themselves, In fact, given or be Fig. the curve plotted, resolution). while the either choice Note high of 1.1 gives defined as shown that and high 1.1 shows the rf$olution residuals a by in more a the initial Listing 1.2 low low precise resolution Fig. 1.2 is available -3 Listing 1.1. age for estimate freshwater (1.3) of Low resolution plot of - OOservt!d mussels. Predictions the parameter vector. are (0) on predicted the (P) optlhlal length 1 60+ 1 POPPOPPPOPPOPPPOPP l N POPPOPPPOP 40 POPPOPP + M M PPOPP i PPPo 20 PPO + I PPO poP P-+---+--+---+--+---+--+---+--+---+--+--+---+--+---+-S 10 AGE 1.2. These predictions parameter Low resolut1on are computed based estimate on the (1.3). as plot th~ van of residuals difference Bertalanffy IN IS YEARS for between model the mussel observations length and with optimal (1.1) the 2.0+ 1 R E s I D U A L S at least-squares + 80+ L E N G T H L1st1ng data. and based 1.01 1 .01 1 -1.01 1 -2.0! + + 10 + + 20 + + 30 PREDICTED LENGTH (MM) + +-40 50 at age 00, ~, .-, ... " " . ..-, .,.. f ,/V .. ... . . .e. I\ . . . . . . . . ~, r r v . I . . . t~ . . . . . . ~1 z 1&1 .J . . 19. . . . . -t-.-,-. s ..~18'-,-,- Kf.~ Fig. 1.1. High resolution plot of observed data (0). and two von Bertalanffy curves (1.1) for freshwater mussel data. The dotted (upper) curve corresponds to the first estimate of (y~.K,tQ) = (50.0, 1.00, 1.00), while the solid (lower) curve represents the final estimate (y~,K,to) 8 (57.3, 0.16, 0.15), optimal for the sum of squares criterion. ~ -5 - 3.81 I; II t i' 2.8 If I c.'1 .i t . 1 .a. t ! . 1 .. ..t .8. U) -t ( .1 a 11 U) 1&1 a. .. .. t ..t : t : c . ..t .. -f -I .81 . -2.9- -.1.8.J -I ia I ~ .~ .:e I ~~ fRDLflt1H Fig. 1.2. Normalized residuals were and predictions estimate (1.3). residuals calculated based on for mussle as the difference model (1.1) with length at between the optimal age data. observations parameter These -6 SIMPLEX asymptot1c der1vat1ves option output 1n also from L1sting The S1nce est1mates gr1ds L1st1ng ~ssel prov1des the 1n method these are 1nvolves GRID' SCALE FACTOR: from the 1 2 3 PARI. 18.13788632 14.82079593 0.81711814 PARI -0.92494678 -0.56895712 0.76523097 1.2 1. 3 2.3 PARI. for calculat1ng and correlations. mussel example the estimates sens1t1ve result. based of to on 1.3 2.2 3 COY MATRIX: COR MATRIX: the of second m1ni~m po1nt. covar1ance matr1x calculat1on second applied 3) 0.15506405 3) 0.30000001 * 0.5 * SIGMA**-2 2 .lOOE-Ol 3 .lOOE-O2 FUNCTION VALUES 4.121189160 0.1479410426 0.35897659E-01 3.981329099 0.1660836190E-02 0.41715622E-03 STANDARD DEVIATIONS 0.6521245397 0.5801261418E-02 0.6949696734E-01 0.6524315524 0.5804290173E-02 0.6951788838E-01 CORRELATIONS -0.93158925 -0.59740172 0.77986622 Th1s F1nal is shown the choic.e of scale. three 1nc.reas1ngly -0.93165596 -0.59769399 0.78001727 0.3889559619 -.3184103008E-02 -.2397742590E-01 0.3046774398E-04 0.2854207191E-03 0.4566102042E-02 COVARIANCES 0.4252664153 -.3524337152E-02 -.2707465094E-01 0.3365463404E-04 0.3144187211E-03 0.4829828469E-02 0.4256669306 -.3528089866E-02 -.2710880770E-01 0.3368978441E-04 0.3147385262E-03 0.4832736805E-02 0.9569502553E-08 0.17684917 DETERMINANTS O.1057089487E-07 0.15292345 0.1058193995E-07 0.15268768 PARI 1 1.2 2.3 3. option COEFF ICIENTS OF VARIAT ION 0. 11388000E-01 0.11382641E-01 0.10885859E-01 0.33572087E-01 0.35302650E-01 0.35284228E-0I. 0.44831725 0.44818233 0.43577437 PAR6 1. 1 .IDO 0.6236633402 O.5519759413E-02 O.6757293868E-O] 3 an space. POINT 1) 57.291145 2) 0.16441514 STEP FOR DIFFERENCING 1) 1O.0OO0OO 2) 0.1OOOOOOO COVARIANCE CONSTANT 1.0OOOOOOOO PARI 1 2 w1th numer1cal can be numerically given for eac.h parameter 1.3. Output example. AVERAGE F: STD DEV F: COF VAR F: user matr1x. based on the matr1x the OOject1ve funct1on at the tabulates parameter standard dev1at1ons the covar1ance calculator app11ed to 1.3. der1vat1ves. three suc.h smaller also parameter covar1ance (the Hess1an) of - to the -7 F1nally, the object1ve by the lett1ng surface sl1c1ng SIMPLEX funct1on. w1th a kn1fe s1multaneously prof1le represent various values direct1on and elevat'ion, curvature prof1le 1s scann1ng to vary funct1on (1.3). The var1at1on K final Y. of -0.93 and respect feature stored plots both of as the showing 1.5 each for the 1s of indicates that increases. the (gr1~ 13) The above to the best between Show a hor1zon vary of obta1ned example, seen by Mprof11eM 1s a 1f more and Thus points function for minimum with on the always represents (We ignore Statistically, the perspect1ve a model statist1cal theory of theor1es relative prof1le K and estimates prof11e parameter for 1.2 have that values Fig. the lowest and 1.3 for K and Y. sum 1s sect1on values poss1ble represent in non-profile shows each are the one Indeed. Listing the user parameter optimal value of negatively K decreases. 2 of Consequently. value of 1.6 vary) 1 and the Y. respect1vely. performed. in the optimal to of represents a the1r opt1mum F1gs. to. example. of parameters and The represent1ng is is allowed estimate sect1on example. narrower curve held f1xed at profiler For a Y.. value The correlated: the correlation 1.3 corroborates features available this observation. the user profiler. in complete adventurous) examples of SIMPLEX: a The remainder detail task and of illustrate the minimizer, of this plotter, report is offering suggestions building models for four main covariance devoted to for fisheries calculator, describing their use data. a Of a profile: 1n a given overall whole the S1m1larly. analysis variation are A parameter 1llustrates mussel yto changes. K and For be prof11es (1971). curve w1th f1xed. could with an example range. Looking Indeed, example, The h1gher. K and to are value funct1on parameters. the objective the idea of the it and the d1stance away. th1s analogy.) because each parameter (where figure 1.4. rema1n sect1on one r1ght. to the stating Kalbfleish broader for are obtain to of cross-sect1on. lett1ng parameter. See, for funct1on lower. funct1on another left sect1ons graph a provides us a mountain of regard earth 1n 1n F1g. 1.3. along wh1ch value as by 1.3. funct1on A the by 1nteresting. object1ve allowed of the parameters can also from w1thout of the F1gs. squares exam1ne a m1n1m1z1ng with respect to other the lowest possible value of of one parameter. If we replace descr1bed of at obta1ned to a part1cular around profiles. l1kel1hood to 1s wh1le the others by a clay model, look1ng 1s extremely sens1t1vity been dev1sed as It user Msect1onM then everyday exper1ence formed by the horizon highest and the of and object. the a one parameter vary were represented compl1cated max1mum. the curve allows Here, - in and these the (rather to features -12 2. 2.1. The the method s1mplex to had m1n1m1z1ng METHOD a search and potent1al are and a d1fferences 2.2. funct1on This search user to package. take The of section m is any (See Schnute of parentheses a F. standard 52 1n and algor1thm a Hext. max1m1z1ng su1table for Schnute (1982). As b1olog1cal model such pred1cted as the wh1ch 1s sum SIMPLEX prof1ler. g1ve~ Schnute a expla~ns. typ1cally of that or computers FORTRAN program. The the min1m1zer. ed1tor. by and des1gned to (1965) not1ced for m1crocomputers. parameters. intended to A good the solved squares by of values. acquaint the understanding following funct1on exp{[(4-m)2 number + and s>o. of the likelihood normal distribution p. 17. Schnute's should (4 of user the with the iterative method will allow and tools example. so available that the the within this main ideas + 20)/2. at the two var1ables (20-m)2]/2s2} It m and s: . turns function with although equation occur of out that F(m.s) is for a sample of mean m and standard note a (3.2).) typographical The maximum sample mean proportional two values. deviation error in likelihood. the 4 and s. position that is. 12 deviation s. and .s2 real m. 2. is the 1982. in minimum in report w1th Spendley. concretely. to the reciprocal 20. drawn from s an a by exper1ments and Mead techn1que full advantage of the information explanation here is based on an F(m.s) for the the procedure. Consider where conce1ved numer1cal descr1bed use observed illustrated (2.1) f1rst iteration simplex be a parameters between Simplex can for est1mat1ng as they from of was forma11zed 1nto manual. 1nclud1ng SIMPLEX of m1n1m1z1ng later th1s adapted vers1on problem value funct1on. plotter. BASIC method opt1m1ze control var1ables 1n for an opt1mum response. Nelder wh1ch O'Ne1l (1971) package outl1ned 1n and SIMPLEX Background H1msworth (1962) locate cond1t1ons the THE - {[(4-12)2 Incidentally. this case should is be + it biased corrected (20-12)2]/2}1/2.8. is well known that for small samples. by the factor the maximum Here the 21(2-1). (The likelihood sample size reader may estimate is only be -13 familiar with Thus. ignore the strictly in values relief which map. the The represented the lowe,.t for general correction an unbiased estimate this limitation of n/(n-l). for s maximum problem of in of s near above). m-20; These as a first considerations bottom based situated near on an expanded m: s: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 guess. 0. it By is 8 times here. m and s. We can visualize the horizontal of the function inspection apparent the Indeed. table then. boils F(m.s) coordinates map. is of that suppose that the suggest a map shaped the origin. version of n is the sample the square since our size.) root of interest 2. We is (2.1). estimating by the vertical height point on the map. Our cited where would be likelihood defined minimize F(m.s). where m and s are values answer function - The large Fin the (2.1) 4 8 12 16 20 + + + + + 1 4E55 1 6E34 1 6E27 1 6E34 1 4E55 1 3E14 1 2E9 1 4E7 1 2E9 1 3E14 1 1E6 165259 111030 165259 1 1E6 147695 1 2375 1 874 1 2375 147695 1 4183 1 613 1 323 1 613 1 4183 1 1260 1 332 1 213 1 332 I 1260 1 668 1 251 1 181 1 251 1 668 1 473 I 223 1 174 1 223 I 473 1 393 1 217 1 178 1 217 1 393 1 360 1 223 1 190 1 223 1 360 1 349 1 234 1 205 1 234 1 349 1 350 1 251 1 225 1 251 1 350 1 360 1 271 1 24.' 1 271 1 360 1 377 1 295 1 272 1 2J5 1 377 1 397 1 321 1 299 1 .~,1 1 397 the between of with shows listed finding F(m.s) values (ignoring occurs value a bowl Fig. 2.1 of values to a three dimensional and F(m.s) is minimum of for large minimum desired like down as s a would be of sand known ma4 is close to steep sides. contour below: map and 1. the for F + 1 I 1 1 1 1 1 I 1 I I 1 1 1 1 Clearly our initial guess of s-l is poor. but for the sake of our example we will start off at (m.s)-(4.1) to illustrate the simplex search method. We continue as if we did not knC7lf the actual minimum location. which from the above table occurs at the point (12.8). as theory suggests. The simplex search method begins with three arbitrary points on the map: an initial point and two others nearby. As a wild guess. try (m.s) equal to (8.1) and (4.2). in addition to the starting point (4.1). Evaluating our function at these points. we find that F(~.l) > F(8.1) > F(4.2); that is. (4.2) is the best (lC7lfest) point. and (4.1) is the worst (highest) point. It is reasonable to look for a lower point far from (4.1) but close to (8.1) and (4.2). The method chooses the point (8.2). which is found by stepping from the highest point (4.1) to the centroid (average) of the other two points. and then taking another step of the same size in the same direction to get to the new point. This process is called the reflection of (4.1) across the two lC7lfer points. See Fig. 2.2A. where the labelled points for our example are listed below: -14 400 33 250 15 le 6 6 8 STANDARD 10 12 14 DEVIATION F1g.2.1. Contour plot of the surface (2.1). Th1s funct1on essent1ally 1s the rec1procal of the l1ke11hood funct1on for two samples, 4 and 20, drawn from a normal d1str1but1on w1th mean m and standard deviat1on s. Note the m1n1mum value found at m .12 and s ~ 8, the sample mean and standard dev1ation, respect1vely. -16 Label A. B. map. traded C (4.1) the (8.1) (4.2) an the D C' (6.3) (8.2) the the value points. we The method requires funct1on evaluations a simp11ficat1on Successful in To genera11zed chosen for eventually about to what of finding the begin this to 1nclude po1nts in figure search that N+1 The from 1n previous to As labeled A. one the min1mum the B. F(C) example and C > F(B) find the 1terations the centroid relection bottom (i.e.. po1nts. The search algorithm. let many N-dimensional determined when is. a a way point of A and R of C through value of direction. m1n1mum happens. rJf point F than up on the s1de of one. By Successive N 1s 3 triangular points 1s called key idea 1s to such highest intermediate lowest point a lower the right points lower description. functions N-space determined by the method its name. the a locate actually of S1milarly. a by 4 points. converge 30 lower uses N+l 2-dimensional tr1angle. determined C' gives mov1ng in point descr1ption parameters 2. and a Significance B A have initially the highest complete (m.s) The new point C. so we are and we Point - that of the 30 the initial Referring to the bowl movements bowl at different with reasonable because reflections following us see variables. by D prec1sion. are simp11ces ~ more above. a 3-dimensional In general. a NsimplexN. the term 1terate by constructing successive 60 can be with N In the example 1s. of Course. involves a pyramid. and This 1s always not provide the method The search space. 3 points and then from high (m.s) .(12.8). triangles) paragr3phs how guesses our relief N 15 f1gure a figure which a new 1n gives simplex gradually point. above where > F(A). shows. when N-2 the three simplex po1nts can be -17 With precisely simplex however, necessarily 1n the that problem, is, Call value this of Because per 2: The by mov1ng each than to one us C the course of To action C' is and B the other find out near a is the s1de how simplex MaN+l, point A onto original cons1der: new with up itself. in begins with Notice, C than A or B does not our steep sided valley s1de, take points the a h1gher Mal, than of good determ1ned MaO, lower case, we s1gn1f1cant 1mprovement, another step step, 1llustrated 1n the in eliminate C from the we all C' than by and the l<M<N+l. points attempt d1rection Fig. 2.2B, be mov1ng toward the m1nimum. new simplex point, otherwise In th1s that case 1s, step has actua"y past the from C halfway to the new 1t been If we s1mplex. po1nt C' 1s in from is an C to based C' on for the F(C") take is less than C' as the new Dnly one h1gher 1nvolves the 1nter1or D. the the half of the Such extens1on than all 1s po1nts descr1bed earl1er, determ1ne a a step step (F1g. of 1n towards rarely, the 1s h1gher that C' 1mproves 1s CM called the lower replace we are s1mplex 1t C w1th forced to by mov1ng lowest all po1nt 2.2C) rema1n1ng 1s, we because we new contract1ng the that 1mprove C, the ent1re distance s1mplex) as we of not of happens the case cC!ntro1d contract1on, 1s, CM does or reduct1on s1tutat1on po1nt th1s conservat1ve toward accept po1nts Th1s In centro1d ~ F(C), that contract1on, 2.2£. detr1mental; m1n1mum. the the s1mplex < F(C) we N h1ghest F1g. po1nt, occurs as only vertices of the s1mplex. Case only. for to gone CM (an current higher subsequent h3ve the 1n when a case F(CM) a general of shown on describe > F(C). point of If F(CM) CM. In perform led still CM as because h1ghest po1nts. up to always determined. furt.her from Remembering to cases which 1nvolves to DC'. This M-O. simplex, contract1on C' is point. of possible 1terat1on. reflect1on to Our four has F(C') appear point now The process C' is then likely In this case that is. e1ther Case current is < F(A). to CM, equal In is rumber M. M-N+l. simplex. that we will we accept po1nt. a are reflect1on attempted it C h1gh C' the There 1: extens1on a distance the to count F(C') hope F(C'), picture number M. Case current the we mind, fact that is a good to poss1bly actually in of simplex iteration. the reflected point A reflection valley, C'. concepts the simple mean that C' sample miniRkJm. the these the process ABC from which - 3: M-l. Here We might be the next po1nt Instead 1mproves Otherw1se, process reflected we C' of try we CM, the tempted would the accept po1nt 1t, we are forced reflect1on-reduct1on vers1ons of reflected to then the reduce us by a contract1ng h1ghest po1nt, where from reflect1on-contract1on the entire (F1g. 2.2F). correspond1ng the C' as our new h1gh us r1ght back to C, obta1ned g1v1ng to po1nt accept br1ng C' po1nt but the we started. to D. (F1g. s1mplex towards the Both these operations operat1ons performed when If C search C" 2.2D). low point, are just M-O. a -18 Case not at 4: l<M<N+l. improve least the one This lowest other point shown in Fig. 2.2A by is not the new highest proceed in simplex iteration, another as simplest On the well. removing point. case. other In this C and so that The hand. case. we adding C' ,eflection to reflected C' point improves accept C' not the does only C. but reflection the simplex. for the next Note iteration that C' will B gives a compact beginning with algorithmic one description simplex and proceeding of the process to the next. of Convergence The simplex contracting, and algorithm reducing SIMPLEX package here and lowest function by the A. direction. Appendix 2.3 is point - the user. simplex When points To consider m1nimum. While the shr1nk unt1l small. (2) near a lowest extentions. of point is near The a lies outs1de which m1nimum. do the reductions cond1t1ons be highest specified that all cond1tion toward most only (1) actions (3) reasonable to test ideal s1mplex not s1mplex and rather the does the taken The when close. distracted by are discussed for a size. typ1cally that are this simplex s1mplex 1s The between a limit proceeds simplex. and 1t satisfied. course, of it decrease describes algorithm may These difficulties of not values so paragraph as the The equ1valent. preceding the algorithm extending, is together. significance the funct1on often however. minima. and reflecting, difference less than implies, close con~equently. corresponding are this of condition that the must be contract1ons po1nt; process fairly validity action performs 1t the smal', values and the convergence criterion the simplex is the m1nimum m1n1mum problems. and nultiple limit the normally encloses some the on function the reflections algorithm the understand stopping. are uses values have repeats until the (2) conditions. is s1mplex 1s only. In some narrow canyons. ridges. in greater detail later. 2.4. F1nal axidl When convergence At this search the algorithm criterion. stage convergence. small distance an The the axial search search tests (both positive determines low point is the and a is used to proposed negative) simplex taken trap found by the axial search. which an passes estimate conditions minimum along 2N test points; however. the axial search is at any such point. When this happens. it is converged prematurely. and the entire process minimum as by each of the above minimum. premature stepping axis. stopped if a assumed that is restarted the of away from This gives it up a to lower value is found the algorithm has from the new -19 2.5. Algor1thm data Before the operating parameters. performance, criteria, and ca"ed SIMPLEX package These such as the instructions algorithm data, initial for and user needn't program so is far. spend running, On All spec1f1ed explained Obviously, the (2) then In1t1al mutually perpen~1cular r1ght step a our (3) low be be the Here less l1m1ts, however, caus1ng zero-d1v1de (4) fu~~t1on convr:rge opt:ton of on of so the point point (4,1), ed1ts on vector (8,1), As each the found vector. 1.0 1f not s1mplex. value 1n If typ1cal of h1gh value. some the 1n1t1al 1n1t1al requ1res po1nt II rema1n1ng s1nce 1ts po1nt 1n also are (Th1nk should and the value. (2.1) w1th taken II s1des po1nt. coord1nate earl1er, to the e1ther d1fference user an has no s1tuat1on), the be 1n1t1al (4,1), g1v1ng and low values, user must the s1mplex l1m1t absolute between or the pr1or the The 1nstances the simplex po1nt as (4,2). the (a w1th the the correspond1ng 1n1t1al po1nt size, F(m,s) and expla1ned the 1n1t1al 1s the obta1n step 1n the used s1mplexM, by The user can select looks only at the the 1s S1nce 1n1t1al to Mr1ght of based spec1f1ed low knowledge relat1ve d1v1ded be value 1s of l1mit by careful the w1th m1ght used relat1ve h1gh and be the may low, relat1ve zero, errors. default value for Max1mum funct1o~~~. calls perforlr.ed 1n qu1tt1ng s1ze user d1fference the a uncerta1nty to IO~ of step l1m1t. the of problem, because poorly. of a bit of robust, lowest value vector determ1ned The the funct1on than The search is to Once initial default step vertex 1n1t1al po1nts values useful. must of example S1mplex of a 2.2), the estimate choice. the the the search. by tak1ng the called Na2.) convergence. absolute method funct1on magn1tude in 1nd1v1dually be the t1me the SIMPLEX for The to 1n1t1al magn1tude s1ze defaults ~ (m,s)-(4,1), to test l1m1t. contains various paragraphs. this the up size, convergence parameters are converge, so is remarkably over lies set coord1nates m1ght when the step altered 1n1t1al are The at tr1angle In po1nt step s1mplex roughly, The 1s step. the Such a vector the first s1mplex for can be def1ned s1mply add1ng reflect, parameter. point s~t algorithm following (section closer will algorithm answer est1mates the earlier the agonizing must of simplex these in time the user user. po1nts. of described the algorithm however, the initial the aspects the initial Collectively, As point. then, 1n1t1al by po1nt to define N+1 po1nts, 1t and the point, output. much run, example, are too completion, be for they the actual minimum, the faster thought here is recommended; the can affect, (1) Initial point. needs a starting algorithm - When or th1s the a number cont1nu1ng. s1mplex run. of The Th1s as a calls default l1m1t 1s sets dev1ce 1s 0.1E-05 relat1ve. an upper l1m1t for stopp1ng reached. value the 1s N*lOO on runs user 1s + 100. the number wh1ch g1ven the (5) often Terminal summary informed only the receives user If T>l. is T output information when the I. 2. 3. number number current 4. current items an frequency. is output error condition following output of function calls, of values improved mi ni mum poi nt , maximum 1.3, and 4 File output This to number, the terminal. exists or every minimum value. are printed every T, controls If T-O, a minimum is the how user is located. If T-l, iteration: iterations, and action and say restarts, taken, T th The iteration. default value .1. (6) terminal output default frequency. frequency, value is This except O (so no file that has an effect information is opened), reduction s1zes Dy fraction. multlplylng is and the similar output to to a the file. default file name When SIMPLEX each initial does step an axial value The is SIMPOUT.DAT. it step size specify a (7) Step t~eax1ai finds step size step reduction this may fraction. parameter pass points other hand, too small algorithm frustratingly discussion of this The with at some which a step slow point. can and default care, the value because algorithm cause multiple inefficient. is an should 0.01. axial The search be restarts, See section restarted. which 9.3 user with by search the should too On large the make the for further -21 3. 3.1. Two methods: MINSUM Early in the arose for 1ncorporat1ng to keep the user's work wh1ch can eas1ly pract1cal enough to be completed made cover wh1ch general can be sum the of sim1lar composite the names users entered 3.2A. called dur1ng final part least they least squares 1dea. funct1on be of we can used. the user thought to SUM FUN w1th example example. worked length then. must is be in be not the versat1le m1n1m1zer: MINFUN. wh1ch Essent1ally. expressed Thus. SIMPLEX 1s 1nvolved ourselves. as a refers to only with was that SIMPLEX. the the introduction response incorporated relat1onships. the objective in conta1ns from the to into such as function. represents the the factor MINSUM. predicting Second. the the funct1on 1s to various age. a Several First. there funct1on data must and be the TEMPLATE is shown 1n the paragraphs RES, used, may run. needed and of three var1ous funct1on (wh1ch minimization not object1ve have was vers1ons calculat1on. TERM PRED, are two which MINSUM can be applied. The objective predicted and observed values of a response for operat1ons TEMPLATE fully 1n to Unfortunately. template TEMPLATE a module funct1on a able TEMPLATE cons1sts MINSUM to 1n1t1al1ze by second The be the code. TEMPLATE. and (2) wr1tten by the user. The the Creat1ng a pre-def1ned rout1ne UFUN to MINFUN. and funct1onal each term 1nto led MINFUN must but 1n pract1ce 1nformat1on. are var1ous nature of Th1s of a s1mple whenever Here. of l1nes Otherw1se and (2). situat1on in terms involv1ng factors. items 1ncorporates funct1on few that terms. of (I) and The typical sum of a clear s1tuat1o!1. always MINSUM w1th 1t app11ed MINSUM should 3.2. every MINFUN development of this project. two d1st1nct ph1losoph1es the user's object1ve funct1on 1nto SIMPLEX. A des1re to a m1n1mum 1nsp1red the concept of a "template". app11cat1ons (I) MINSUM. uses a more MINSUM and PREPARATIONS evaluat1on depend The by the on third user, TERM. INITM skeleton rout1nes PRED and such List1ng 3.1. follow1ng. the1r d1stinct sections. operat1ng variables, and f1nal as SUMMAR are forms must PRED, 1s be f1rst 1s INITM, 1f necessary. The RES, called section, summary Its subrout1nes The user 1s and RES) The and many SUMMAR, calculations left however, with1n performs and and funct1ons respons1ble for optional; TERM. t1mes any output. are descr1bed complet1ng at even TEMPLATE. 1f -22 L1st1ng 3.1. The 1nit1alization final summary code for t~e module section section model TEMPLATE (INITM). (SUMMAR). of mussel for MINSUM. an evaluation Underlined growth It includes section comments discussed 1n a model (PHED. RES. show the four the TERM). lines 1ntroduction. C******************************************************************* SUBROUTINE INITM DOUBLE PRECISION (N.AUX.NAUX.X.YOBS.NVAR.NDAT) X(2O.50OO) !INDEPENDENT DOUBLE PRECISION YOBS(5O00) !DEPENOENT DOUBLE PRECISION AUX(50) INAUX C Subroutine C 1n1t1alize C (if INITM is the vector necessary). used of and to set auxilary perform the any AUXILARY number parameters. other VARIABLES(NVAR.NDAT) VARIABLE of VALUES (NDAT) PARAMETERS parameters define the 1nitializations N. model needed C by the user. C EXAMPLE: N-3 RETURN END C******************************************************************* FUNCTION PRED (XO. DOUBLE DOUBLE PRECISION PRECISION DOUBLE PRECISION NVAR. PAR~. N. XO(2O) AUX(5O) PARS(5O) DOUBLE PRECISION C PRED calculates the C EXAMPLE: PRED .PARS AUX. NAUX. ICASE. NDAT) IOBSERVED POINT(NVAR) !AS DEFINED ABOVE PRED predicted 1 * I PARAMETERS( 1- N) JPREDICTED VALUE OF Y of the passed data point. -PARS 2 * XO 1 -PARS 3 value EXP I END C FUNCTION C TERM C to TERM (YO. YP. XO. NVAR. PARS. N. DOUBLE PRECISION AUX(5O).XO(2O).YO.YP.PARS(5OJ DOUBLE PRECISION TERM INTEGER calculates the ICASE the passed term data C EXAM~~~6K~ERM !TERM OF NAUX. IAS OBJECTIVE IDATA POINT the object1ve of AUXt ICASE. NDAT) ABOVE FUN~TION COUNTEH function corresponding point. .(YO-YP)**2 END C C RES FUNCTION RES (YO. YP. XO. NVAR. PARS. DOUBLE PRECISION AUX(5O).XO(2O).PARS(5O) DOUBLE DOUBLE PRECISION PRECISION YO. RES calculates the C EXAMPLE: RES. KtlUKN model YP N. AUX. NAUX. ! I OBSERVED J RESIDUAL residual at the passed Y. ICASE. AS ABOVE PREOICTED data point. YO-YP END C******************************************************************* SUBROUTINE SUMMAR (AUX.NAUX.X.YOBS.NDAT.NVAR.PARS.N.YPRED. .TERM. OOUBLE DOUBLE C SUMMAR allows the C function evaluation RETURN END RESIO. F. NF. HI. NR) AUX(5O).X(2O.5OOO).YOBS(5OOO).PARS(5O) YPRED(5OOO).TERM(5O0O).RESID(5O0O). PRECISION PRECISION user at to the wr1te current information parameter associated vector NDAT) F with PARS. Y and of a -23 parameters the user. user will or SUBROUTINE INITM. (described and to set below). to perform any the number of parameters be file has determine to supply already been any required maxima of parametersM. are not to utilized the observed several PRED X of values for data NDAT response YO to Such For of and a NVAR in any response. and the maximum based on the observation auxiliary parameter vector value of N is 50. FUNCTION runct1on, object1ve correspond1ng the number TERM. based Usually, least squares parameter th1s report can be RES. from MINSUM SUMMAR) rout1nes, vector NI number m1n1m1zat1on -the number NR -the number SUMMAR can automat1cally dev1ces, as calculates data very s1mple funct1on a 20. the an observed NVAR. The maximum predicted value value of the model parameter vector dimension N. where the funct1on, of at term and of the PARS. the parameters, for the such (wh1ch as has been of 1terat1ons of a restarts be used, l1sted for by a means of values vector funct1on at the 1n and (YO-YP)**2 1n performed; 1n the record1ng the most most access the to current the s1mple. current the user. Typ1cally, m1n1m1zat1on, but 1t evaluat1on all PRED) current vector recent recent recent on on the usually funct1on var1ables 1n a used funct1on parameter parameter vector PARS; m1n1m1zat1on, m1n1m1zat1on, m1n1m1zat1on, to l1st any pert1nant SUMMAR can also wr1te data at 1s PARS; calculat1on; w1th most a (from current the report does parameter current calls example, MINSUM. of a des1red by a successful SUMMAR has the following: assoc1ated 1n when 1s response value funct1on called res1dual the funct1on 1s just YO-YP. automat1cally any t1me. as well as res1duals funct1on of 1s the Aga1n, RES quant1t1es at the end pred1cted of calculates TERM. errors, Th1s at the current of TERMs 1n vector the Th1s SUMMAR. and be PARS; F -the object1ve NF- a same data as of add1t1ve associated requested -the the XO. the PARS has and Maximum dimension where be to available. as aux1l1ary ava1l~ble 1s several and YP. The model parameters, current data po1nt are also TERM the case calculat1on -the vector RESID 50DO NAUX. flags responses a typ1cal (XO,YO) SUBROUTINE the has po1nt vector would cal11ng prev1ous YPREDTERM on 1n called before 1n the Th1s funct1on on the current user as variables. calculates vector AUX. used observation dimension function "auxiliary be XO of used to minima. model parameters. parameters can also are data can be deviations. observed particular vector the by case. FUNCTION po1nt, based For example, has This pred1ct1on ICASE of the calculat1on. the AUX PRED. NDAT auxiliary desired here. the set called explanatory of called. unlike Auxiliary the Y of NVAR explanatory v~ctor are if is themselves standard but. implementation parameter is 50. INITM might use. of auxiliary of NAUX FUNCTION to treats observed When they vector initializations If N is not quantities vector this software the other N. run time. minimization. model vectors initialize the data as means. example. which consist the to time. at observed The run variables. ways. NDAT respectively. N at used determined by function function The matrix is read. Consequently. quantities. such They are be estimated in tell asked This - values or or or 1f no 0; 0. 1nformat1on to external of a spec1al not f1les and 1nterest. -24 3.28. Preparing the The data f11e of file. observed data read by MINSUM must have the follow1ng format: L1ne 1: Number L1ne 2: FORTRAN format;-ablank can each the MINSUM po1nt MINFUN la_st: sun1l1ary Data. 1n to on the TEMPLATE section. Listing on the basis (maximum (4). MINFUN. run of which 50). and here labelled UFUN itself is started. to the initialization are declared in this During minimization. simply evaluate NF--l; MINFUN in this case UFUN saves the parameters use order descr1bed the these function. values prove 3.2 parameters can data read can be read free as above. (the max1mum value funct1on evaluat1on. be precision) UFUN the are YO the method UFUN must initialization UFUN references be returned. (2) branch later here. If l1nes of NDAT) data the amount po1nts. of data speed. that to Item data. Data 5000 every Notice value called by minimization the UFUN Should final g1ven. program more general subroutine distinct sections: an UFUN. function for be XO(NVAR). affect and var1ables format should can read up 1s accessed substant1ally 3.3. explanatory XO(2). ,~o Lines of read l1ne XO(I). S1nce NVAR (4) inadequate written. section. shows four the the the function number NF. should MINFUN section. section. MINFUN tamper NF-O; If then keeps (without branch function to the user's structure (1) vector is of determines not sets needs. calculated. function of the value recalculation) of (3) calls which with UFUN. a section NF. when the so typical of Before called. UFUN the should available be included should MINFUN final is a must be should and UFUN a minimization. number far. final summary section. associated with the in a has three and a the double precision (also double variables that a SAVE statement track of NF>O. On completion should and skeletal variables: parameter the for Like TEMPLATE. UFUN a function evaluator. sets Since minimum. section. of -25 listing example estimating based allowing (2.1) on two user function sample Input (2.1) (3.1) As 3.3 the for Section small s. values: of the is 2 .s 2. we complete sample depending the again (a SUBROUTINE 2 + 2 (b-m) interested factor of subroutine of 2 ) 2 ]/2s in } UFUN(F. PARS. N. DOUBLE PRECISION PARS(*) 1 Parameter three the function by and we ignore estimate subroutine which are depends referenced on value vector N 1 Number of parameters NF 1 Number of function ca11s So far THEN 1: In1t1al1zat1on when (NF.GT.O) THEN 2: runct1on evaluat1on ELSE Sect1on END IF F. likelihood UFUN. The sections INTEGER c function maximum INTEGER ELSE IF Sect1on idea the NF) 1 Returned (NF.EQ.O) this Thus b. NF. F Sect1on the . in the a typical It has PRECISION IF with concerned with normal distribution. 3.3 generalizes called a and only 1/2 DOUBLE c associated we were s for a 10. listing values. here 1isting for as shown. value UFUN 2. There. deviation by exp{[(a-m) bias A skeleta1 declared on here are L1st1ng 3.2. four variables. c a 4 a~d sample replaced F(m.s) in shows discussed in Section the mean m and standard - 3: F1nal summary when NF-O; may when NF>O. 1nclude a SAVE. NF<O. RETURN END Listing 3.3. A complete sample and standard deviation s values, a and b. Maximum in This can be are used to estimate based equivalent on UFUN (F, DOUBLE PRECISION INTEGER N, NF IF (NF.EQ.O) N .2 PRINT PRINT *. *. READ (5. PRINT *. PARS, F, THEN I Please I A: I 10) A I B: ' READ (5. 10) B FORMAT (F18.0) SAVE N, PARS(*), NF) A, B, EXPTRM 1 Inftfalfzatfon fnput sectfon ***** 1 Two parameters: m and s values for A and B.' 1 Get a I Get the mean two sample to minimizing (3.1). SUBROUTINE 10 UFUN. for a normal distribution, likelihood estimates b m F -26 ELSE IF (NF.GT.O) EXPTRM. F .PARS(2) 20 END IF RETURN END THEN I .5 * (PARS(2) ** « A -PARS(1»**2 ** 2 * EXP ( - Evaluat1on (-2» sect1on * + (B -PARS(1»**2) EXPTRM ) ********* -27 .MINSUM CALLS > - .TEMPLATE . ..I. . I 1-- CALLS ) ...IMSL . .COMMON .--CALLS --) .AND . ...IGL 1-- ..I. . CALLS > The linking procedure can GOMINSUM.COM and GOMINFUN.COM. files object resulting Typical . ) I .MINFUN an CALLS file will result executable calls image would $ @ SIMPlEX:GOMINFUN in that being .UFUN . be simplified Calling these file given being the same somewhat programs linked name into as with with the the the command the name of package, object and the file. be: UFUN or $ , SIMPLEX:GOMINSUM TEMPLATE Note that the .OBJ extens1ons must not be added. The f1le names TEMPLATE and UFUN are not sacred here, as long as the spec1f1ed files conta1n the requ1red funct1ons and subrout1nes w1th the standard names. L1st1ngs 3.4 and 3.5 show the command f1les GOMINSUM and GOMINFUN. List1ng 3.4. The command file S SI SET VERIFY GOMINSUM.COM. ******. SI USEO TO LINK USER'S TEMPLATE ROUTINE INTO SIMPLEX PACKAGE WITH SI MIHSUM. TO USE ENTER: SI S' GOMINSUM file SI WHERE file IS THE NAME OF THE USER ROUTINE. $1*****..*.***.*.*.*..*.*.**.********.**********.*...**** **. S LINK/NOMAP 'P1, SIMPLEX:COMMOH, MINSUM, S $ SYS$SHARE:IMSLIBD/LIB, SET NOVERIFY EXIT PBS$IGLOPT:/OPT -28 L1sting 3.5. $ SET $1 USED $1 TO USE command LINK USER'S f11e IS LINK/NOMAP $ $ SET f~TT 'PI, user Steps USER ROUTINE. SIMPLEX:MINFUN, 1. has the option required Prepare for COMMON, - PBS$IGLOPT:IOPT a file of the of using first MINSUM option observed INITM. As data PRED. Rname.FORR. described TERM. Step 3. FORTRAN compile and are in TEMPLATE listed the or else MINFUN below: format Step 4. Execute the will SIMPlEX result in options The similar. steps A data -name.FOR- described above in 4 rather still apply. than file chosen will by the contain SUMMAR. to obtain GOMINSUM Rname.EXER, in contain and a prefix this file Rname.OBJR. by entering: name file as RES. command this requirf!d file. should 3 and GOMINFUN. a described where RnameR is in Section 3.2A. Rname.FORR $ 'SIMPLEX:GOMINSUM Steps MINFUN. 3.28. routines This WITH f11e NAME OF THE Step 2. Create a file based on TEMPLATE. user. PACKAGE summary UFUN. Step the THE Preparations Section SIMPLEX SYS$SHARE:IMSLIBD/LIB, NOVERIFY The and INTO ENTER: $ $1 3.5. GOMINFUN.COM. ROUTINE $ @ GOMINFUN WHERE file VERIFY TD $1 $1 The - in for the Step 1. the second mayor subroutine except GOMINSUM. which can be RUN to obtain all the report. that option may UFUN. the not as command with be MINFUN described f11e and necessary. in in Step UFUN In Section 4 are Step should 2 3.3. be -29 4. 4.1. System SIMPLEX - OPERATION: MINIMIZING 1n1t1al1zat1on To 1n1t1ate SIMPLEX operat1on, the user enters S RUN f11ena~ where Mf1lenameM 1n Sect1on MINSUM or The user file. or f1le 1s then data Listing 1) la) Ib) 2) 3) 4) 5) 6) 7) 8) 9) l° l SIMPLEX checks matches main .EXE name of data to the a ensure that the the name value of from described algorithm of an or 4.1 shows section. data algor1thm N fronl TEMPLATE L1st1ng following as INITM from init1alizations. created If obta1ned d1splayed. 1n the created either user's previously values. value file, calls the the UFUN. the At menu th1s 1tems. menu items. Options 1. RE-INITIALIZE. is called from MINFUN in data only, 2. the algorithm Simplex appropr1ate COMPUTE COVARIANCE MATRIX SEARCH GLOB~LLY FOR MINIMUM EXIT Menu reading E\lIT new part1cular p~rticular f1elds algor1thm With ALGORITHM data,~ the e1ther default f1le an SIMPLEX immediately from MINFUN to perform RE-INITIALIZE COMPLETELY RE-INITIALIZE DATA (MINSUM ONLY) RE-INITIALIZE MODEL (MINSUM ONLY) EOIT ALGORITHM DATA LOAD NEW ALGORITHM DATA SAVE ALGORITHM DATA MINIMIZE REPORT ON MINIMUM FUNCTION CALL AT CURRENT POINT PLOT PREDICTIONS AND RESIDUALS (MINSUM ONLY) PLOT PROFILE II 12 UFUH of ma1n SIMPLEX menu 1s covered 1n more deta1l 4.1. 4.2. name started, NF-O) provides entered. the are the Once (with accepts algor1thm point These 1s 3.4. UFUN data this option, with (18) DATA. The these is user or, INITM ~y in variables. presented. INITM MINSUM calling var1ables, of either NF-O. only, choose the When A menu users allows case the is called have or the (I) to edit of POINT editor selection MINSUM of or (lA) both. all 1s from choice the and algorithm STEP, sunmoned, of the only a various l1st of -30 - editing alternatives. as itemized in the top of Table 4.1. Algorithm data types are listcd in the lower portion of Table 4.1. along with command codes for the editing functions. A value selected for editing is displayed before the user <CR>. changes it; Ordinarily. the when however. field. there is one the corresponding value. evell Table 4.1. if the Codes FUNCTIONS Edit all Edit particular value value is exception field user for EDIT current a can to this in STEP accepts ed1t1ng be changed. the retained this has no rule. Whenever is automatically default algor1thm POINT simply by pressing effect on other the user changed values; edits a POINT to the derau1t field. data. ENTER: values Al value(s) Edit code. as below H Help Review current values Return Exit ( <CR> ) Q VARIABLE TO EOIT EDIT CDDE IP IPn IS ISn SL MF FREQUENCY OF TERMINAL OUTPUT FREQUENCY OF FILE OUTPUT OUTPUT FILE (ACCESSED IF STEP 3. REDUCTION lOAD FRACTION 4. spec1t1ea SAVE by 5. MINIMIZE. m1n1m1zat1on of cond1t1ons are out11ned 1s the user OATA. wh1ch along ON MINIMUM. user has an pred1cted. and norma11zed res1duals. FN RESTART SR The can The new request current data may automatic algor1thm res1dual must w1th be resolved suggest1ons SIMPlEX add1t1onal values. calls along the opt1on w1th by for be read user user an which 15 wr1tten 1n1t1ated 1terates. to 1nput. act1on. user summary of d1splay1ng standard from ~efaults. data The s1mplex search algor1thm -15 user funct1on. As the algor1thm may ar1se later. 6. REPORT act1ve. the > 0) DATA. the AlGORITHM the user. FF FF FOR NEW AlGORITHM file. Alternatively. be edited. TF can to attempt var1ous These cond1t1ons rout1ne. If the OOserved. dev1at1ons a of the MINSUM -31 7. EVALUATE its function can plot 8. PLOT PREOICTIONS. observed values. and Sections and 6 PROFILE. parameters can be sent Detailed information point. 11. is output, along with MATRIX. SEARCH. function (1) value at being points optionally printed the hard res) both parameters deciding As in terminal, in the previous plotter. MINFUN. It from option. or file. 7. of numerical and discusses the and are varied how well the properties obtain correlations. MINSUM Section Theoretical to (high display. detail. with given user (low plotter later when in is The response terminal copy for values very useful here below on a in by the data. resolution exploited 8 displayed only. predicted available function can be COVARIANCE MINSUM versus the log estimates covariances underlying at theory of the current and the available. values which is with res). or (low/high options plots Section available: search. distributed option of available be various deviations. GLOBAL calculates calculate can profile are options option point observed (high to a file determined low or high on standard software a grid over an uses uniformly each Given a set of values over point a search. which evenly is and the ranges. range. the parameter number space. calculated as employs spaced pseudo-random in parameter retained to a file. parameter the search IMSL grid. generator In either displayed. current point. the global Two types routine and ZSRCH (2) a to calculate (1) or (2). with the The user to random random points the function minimum can search of search point also have found the M1n1m1zat1on 4.3A. Interpreting As consistent descr1bed the SIMPLEX w1th the 1n Sect1on 1nformat1on, 1t 1nput. The occurs when two (1) the This function parameter plots the are to a CALCULATE likelihood 4.3. describe is curves. terminal written to obt~~n plots point. Such plots model's plots are These graphics also be PLOT minimum minimum option predicted a can be used minimum 10. current This data. residuals. 5 9. The value. resolution). res). They can the FUNCTION. - algor1thm saved, mak1ng data. counter Should (NF) the may output 1terates term1nal 2.5 on also pr1nt poss1b1l1t1es "MAXIMUM number data. th1s the user 1s reset the user opportune elect to 1, a to to stop produces output 1nd1cate problems as requ1r1ng user belQw. REACHED, CONTINUE? evaluat1ons has elects 1t and f1le output frequency, Bes1des this 1terative wh1ch d1scussed t1me to and m1n1m1zat1on, frequency data. messages are FUNCTIONS of funct1on If an through output alg~r1thm qu1t, and continue w1thout m1n1m1zat1on 1s the «Y>,N)". reached ent1re perhaps rev1s1ons, resumed. the Th1s message max1mum set current rev1se the s1mplex the algor1thm funct1on 1n 1s -32 (2j MCONSECUTIVE 1nformat1onal or a only. large problems. opt1on of Control pause (AC). 1n some no changes) ma1n. the current and the the numbers returned to Th1s message consecut1ve 1nd1cat1ve of be halted rev1sed. w1th Sect1on the may be user 1s On the po1nt 1nterrupt the s1gnal. to 1s saved. Then. values. the algor1thm tun1ng control d1scusses 9 1s restarts. C ("C) the the 1nterrupt comp1etes s1mplex. and the menu. kept 1f ma1n as the the new user procedure offers If the current opt1on the returns 1s the 1n1t1a1 resumes 1mplemented s1gnal to user to 1terat1on. of cont1nu1ng returns to po1nt. and the m1n1m1zer exactly where a1low a control-C the 1t the ent1re w1thout 1eft off. found funct1on the opt1on VAX SIMPLEX current When SIMPLEX f1nds a point ax1al search test. 1t d1splays of PROBLEMSM. more 1s return1ng low po1nt M1n1mum a th1s of or s1mplex 4.3C. or should should be execut1on. status (w1th chang1ng two further. systems. rece1v1ng the TUNING hav1ng restarts. algor1thm data convergence program After outputs current of INDICATE of C (AC) On a number slow RESTARTS cond1t1on Usually. the and the algor1thm problem 4.38. total A - calls. main menu. 1terat1ons w1th the wh1ch the and final passes po1nt. restarts po1nt both its the s1mplex l1m1t test funct1on value. and the requ1red. retained Control as the current is po1nt. -33 5. 5.1. Plot types PLOTTING - FACILITIES -34 Table 5.1. Low Options for low and high resolution o 1- Scatter Plot 2- Step Function Histogram 3- Open Solirl 5- Vertical 6- Sequential Table 5.2. Histogram Bar Histogram Counting Options 0- small 1- medium open 2- ~dium 3- medium 4- ~dium + 5- small open 6- ~dium X 7- medium open Table 5.3. Options plot High Resolut1on 4- - Plot for solid high Resolution -Scatter Plot 1- Connected 2- Step Function Histogram 3- Open 4- Solid 5- Vertical 6- Sequential resolution types. Points Plot Histogram Bar Histogram Counting markers (plot Plot type a square 8- ~dium X in open octagon square 9- medium + in open square open octagon A -~dium inverted open triangle B -medium open C -~dium diamond D -large sign sign in open square in for high square E -up X F -down sign resolution only). triangle star asterisk. X arrow arrow line types (plot types I. 2. and 3 only). O -solid line 1- closely 2- single 3- small 4- nedium Table (plot the 5.4. types video dotted line dotted close dashed line dashed line spaced dashed Options 4 and for cross-hatching 5 only). These screen may line be somewhat O -close lines. 12- close close lines. lines. O degrees 90 -45 degrees(vertical) degrees 34- close close lines. lines. 45 -30 degrees degrees 5- close lines. 30 degrees 6- close lines. 7- close lines. -60 60 degrees degrees 5- large dashed 6- large small 7- small 8- very 9- nedium apply dashed large high to d>l. dash d>l. dashed spaced dotted dotted line l1ne dotted resolution the flatbed line line line histogram plotter. different. (horizontal) 8.9.A-F -like G-N 0-7 but medium spaced -like 0-7 but wide O -solid spaced filled panel patterns Results on -35 L1st1ng 5.1 functions available For example. F1g. L1stings 5.2 included to Listing 5.1. and 1llustrates 1n 5.1 5.3. 1llustrate resolut1on. a high also created one Histogram the low shows of the - var1ous types High resolution with resolution open the trick1er of versions histogram. SIMPLEX aspects plotting of VERTICAL **** * ****** * * * * * * * * * * SOLID HISTOGRAM: I I I I I ****** I**** I * I * I * resolution * * * * * * * I OPEN software. low BAR HISTOGRAM: I ***** * ********* and ****** * * * * * **** * ******* * **** * * *** * * step are similar. Finally. examples. STEP FUNCTION: I I I I I****** I histograms HISTOGRAM: * * * are plott1ng. -36 - 15 1 >u z w :J o w !l I&. IS All: Fig. 5.1. of 76 fish. capabilities, observations 6, 3, 4, 6, Histogram showing the age-frequency The figure was created with the using the open histogram option. for ages 3 to 16 are, respectively: 2, and 5. distribution high resolution for a sample plotting The frequencies 7, 6, 4, 3, 9, of 12, 6, -37 l e n 9 t h - 1 80+ 1 60+ 1 n 0 PPPPPPPPPPPPPPPPPPP 1 40 m m PPPPPPPPPP PPPPPP + PPPPP 1 PPPP 20 PPP + PPP I PPP P-+---+--+---+--+--+---+--+--+---+--+---+--+--+---+--+ 5 AGE L e n 9 t h in 10 Years 1 80+ 1 60+ 0 POPPPOPPOPPOPPPOPPP 1 n 40 1 OPPPOP + m m 15 POPPOPPPOP PPOPP 1 PPPO 20 PPO + I PPO POP P-+---+--+---+--+--+---+--+--+---+--+---+--+--+-5 AGE in 10 Years -38 5.2. Plotter requ1re the and a Tek terminal. higher 4662 With onto and Flatbed a small the VT100, our w1th $ term1nal term1nal. rate should BAUD 1200 that wh1le the on th1s w1ll plott1ng features 4105 allow the and on user 4105 of turn the term1nal yourself) have to w11l refuse 1s logged 1n the the SIMPLEX, and load beg1n have to CRT w1th the the the user 4662 need w1th plott1ng been left respond onto w1th or If at Computer and rate SETUP an Next key baud leave mode problems command. SETUP If To setup OWNER-NONE. the 1200. command. s1multaneously. a member of the however, press1ng be FACTORY plotting regular VT100 or VT125 the 4105 can be replaced in a state the at all, 4105. f1rst Th1s can ensure easily be TK: should by If the the package Term1nal command: SHOW TERMINAL The use a of the SIMPLEX Color Graphics purpose. (1nclud1ng the along with modification turn Somet1mes, for Should done To Normally 1mmediately. unsuitable no-one Plotter, software 4006. paper. that requirements The high resolution plotting capab1l1t1es user to have access to a Tektronix 4105 resolut1on onlylog pen hardware - aster1sk the leave 1s mode (*) plotter SETUP th1s po1nt Center. the check press appears press term1nal baud 5iATUS 1ncorrect. pers1st. and the enter1ng rate BAUD reset the 1t SETUP as st1ll key the return SHIFT on us1ng aga1n. prompt to and w1ll the <CR>. The baud the SET Not1ce symbol. SETUP mode and try CANCEL not respond. contact -39 6. The plotting assessing observations, resolut1on part1cularly and for work, software h~ well the predictions, plots, which but the and how Sect1on the var1ous provides accuracy makes of 12 MINStX-I the can plotter 1s plots more also be the be a convenient tool and 1nvolve su1table for for 1nvolves a reader may of to study w1sh a the the fa1r to data b1t MINSUM 1nput. by step procedure ahead growth set of step plott1ng sk1p s1mple pred1ct1ons, a b1t more study1ng when sl1ghtly d1fferently. C. However. the analys1s used observat1ons plots 1mportant generally the can them prepared as Append1x and out11n1ng (MINSUM ONLY) fits the data. Plots can involve var1ables, and res1duals. Low on a regular CRT screen, are qu1ck plots of H1gh resolution stra1ghtforward. 1n shows use ETC. creat1ng patterns. each type of plot have been 1ncluded reasonably in High resolution points. Because and because 1nstruct1ons examp)e included 1ncreased curves. many data OBSERVATIONS. proposed model explanatory are displayed useful for study1ng res1dual predicted 1ncludes 1s PLOTTING - to curve. results the Th1s qu1ckly eff1c1ently. 6.1. MINSUM plotter options Options 6.1. Of simply .display these. act as while from option toggles. feature off. available available only the MINSUM 3 merits reversing is especially creating high lengthy the status needed resolution the most recently created plot being while option 5 allows that same plot for a file name for the stored plot. plots; setting again does resolution Listing the not plots 6.1. 1) 2) 3) 4) 5) 6) 7) following user affect are will the always have to operation stored The MINStJ1 plotter plotter are displayed description. of the when no plots. Options and main a file options displayed Selecting name. The 4 through at listing and option that current 6; i.e. 4 results option list of 3, available "Create plots: plot", resolution high or resolution. menu. is chosen, MINSUM displays The is in device. be prompted recall saved Set to high or low resolution. Set display on or off. Create plot. Display current picture. Save current picture on file. Load and display saved picture. Exit. When 2 display or resolution. high resolution terminal displayed on the appropriate to be stored. The user will Option 6 allows the user to supply of in 1 the low -40 1) 2) 3) 4) 5) For t1tle, each y vs. X y vs. y X vs. X RESIDUALS RESIDUALS vs. vs. of these plots, and the codes for y X the user 1s asked to marker and l1ne types, supply as ax1s 11sted ranges and labels, 1n Tables 5.1 to a 5.3. The allows more explanatory user Y versus than var1able chooses repeated to plot unt1l whether values X plots one an plot on X to use are (1f Y-observed. ex1t 1s probably each the set of the model selected. For the more nunber of po1nts to than one X 1s used). spec1f1es a type and MINSUM plot also pred1cted (F1g. 1.1) character allows curves 1n Creat1on the of or the can user be a user (observed user may or also pred1cted) request and the ranges that a 45-degree are 1n X plots F1nally. elect to have hor1zontal resolut1on user may l1ghtly prepared we to the be hor1zontal each l1ne. the res1dual l1ne code. ed1t the us1ng way. of res1dual plott1ng. Y-pred1cted. po1nt at dec1des connected 1s the so that h1gh resolut1on somewhat hor1zontal ax1s For h1gh resolut1on through the plot. plots. and or res1dual Xthe opt1on. plot for same l1ne the 1s user po1nt. th1s Y-pred1cted before X). values for the case. the user also The of the axes. l1ne be drawn the one cho1ce the current var1able creat1on Y-observed. the have vert1cal much norma11zed plots. opt1onally dotted cover res1duals var1able h1gh spec1fy MINSUM po1nts or to generate second opt1on means that and set e1ther created versus The than plots. that wh1ch Th1s s1multaneously. was Y-observed only a to s1mpler. versus need plot In plotted 1ntroduct1on more ex1t. Y-pred1cted spec1fy Xs (1f d1fferent or 1n select1ng 1nvolves 1n the plotted Choos1ng the user must rema1n1ng plot complex. After Y-pred1cted. to use the observed X-values evenly across the range of X. most axes. a The may user choose part1cular zero to 1s th1s the The may the X. drawn. l1ne For and w1th the a X -41 7.1 Prof11er (7.1) white (7.2) descr1pt1on PJ. the step P2 + (P2 -PI). is STEP. set equat P2 -PI. to the difference: - -42 (7.3) t~~ - -46 7.2. Profiling instructions - -47 8. 8.1. to It reader. the may be Don't Suppose COVARIANCES the (xl.XZ parameter 11ke11hood descr1bes the (8.1) F(X) c 1s vector to for est1mated. Suppose parameters. of .-109 then The be the probab111ty the L(X) a constant F. previous paragraph contains The practical 1mplications terminology can be stated unknown quite xN) funct10n parameters). m1n1m1zes that the despair. that X. where CALCULATING Theory simply. 1s - + (POSS1bly (Th1s observed C also 1s data. that L(X) 1s just the funct10n g1ven X.) If the that . dependent the max1mum 11kel1hood so.called Hess1an for on the est1mate F 1s the d~ta. but not on the X for X 1s the vector that NxN matr1x of second part1al der1vat1ves (8.2) H. evaluated at asymptotic inverse (8.3) ((32 ~. (that of H. V. F(X)/(3X1 where is. that H-I. i valid is. 3Xj)]] and j for range large from samples) i to N. According covariance to matrix the theory. V for X the is the -48 (8.4} Fab .F(xl+adl,x2+bd2) where a and b -.0. and on values + of - can take the F shown the left values side -I. of 0. and (8.4)). diagramatically +1 (with We are on the corresponding particularly xlx2-grid subscripts interested in the below: * F-- In terms of IFO- these values. numer1cal approx1mat1ons to the second der1vat1ves are (8.5a) a2F/ax12. (8.5b) a2F/(ax1ax2) (8.5c) a2F/ax22. S1nce (x1 each and element Xj). F(X) of ~ as descr1bed at a (Fo+ the formulas -2Foo F_o)/d12 . 2Foo-F-o-Fo-+F__)/(2d1d2) + Hess1an (8.5) Schnute (1983) negat1ve 109 the essent1allyequal bu11d general S(X). + Fo-)/d22 p»tr1x have . . (8.2) natural 1nvolves only extens1ons to two the der1vat1ves general case. be constant -2Foo .(F++-F+o-Fo++ of the N-d1mens10nal (F+o sum above. Schnute to tw1ce software-wnrch run of t1me. squares 1nvest1gates 11ke11hood the and res1duals. 1n pract1cal comput1ng Fourn1er negat1ve allows the Furthermore. of a and log user some In f1sher1es X and the (1980) s1m11arly 11ke11hood. to 1nclude problems part1cular. problem covar1ance use by a lett1ng p»tr1x funct10n so 1t 1s conven1ent a mult1p11cat1ve the objective function the object1ve funct10n to 1s -49 takes this where 0 case, the form is an n is sample L(X) the bias, residuals log -log where the parameter negative (8.6) .n of regard (8.8) this F(X) represents from (8.8) .(n-N) the that of in and because the 8.2. estimate the point the to has 02, X. In th1s of 02, adjusted for small may in (8.6). happen but a (1984. p. 946. of (8.7) for the 02 is to 02. then $. 5.4; by the eq. function have and will be not the the objective also will $(X) affected computing is The see objective this (8.8) in function of eq. on be used user multiple between based actual function 5.5) provides should no effect $(~). be on Consequently. correct in multiplicative any case. constant. operation The To previous cancel been the of will that is then. the $; however. calculation with the relationships includes value 5(~)] In accordance investiqate in correct it constant matrix Software used be the Hessian of 5(X) parameter estimates. McKinnell expression matrix V coefficients the var1ance vector S(X)/(2o2} An example. Technically. by a constant to obtain covariance Only to if the required $chnute (8.8) grids with parameter negative log likelihood. except for a constant. It follows the sum of squares function 5(X) must be adjusted by the squares a practical multiplied be normal the be 5(X)![2 Incidentally. the + observations. to estimate factor (n-N)![2 5(~)] covariance matrix of A to is log(2wo) out presumed addit1on ~2 .S(X)/(n-N) we sum are 1n l1kel1hood number turns (8.7) If when extra - foutld. (8.3) of and. variation. by correlation set varying up section. calculator the begins covariance covariance on The theory. the among parameter the usual formulas. and correlations and sizes. above which base by matrix grid Hessian is computing calculator after the a can minimum covariance computes standard of the estimates. deviations. Output also determinants. calculation. the covariance estimates the is specified user must calculated. using supply as the three described current point in and -50 step ((X1,X2) three user gr1ds for and (d1,d2), spec1f1ed actual respect1vely, factors use. The user values, 0.010, and 1s then asked to and 0.001, 1f needed. values unless select constant. an a For the user 1) 2) previous will 1s explained factor with receive the (8.4)). to Th1s (a,b) allowed revise The analys1s reasons adjustment If MINFUN 1n (analogous to 1n gr1d 1s to obta1n (8.4)) ed1t both the scaled po1nt and the default sca11ng factors user w1ll probably not want to w1th the defaults results. the end of at gave section poor 8.1, for the a IJFUN is objective function, being used to define following choices: of the called the by three step 0.10, change user these may the user's also covariance function, Constant. I User chosen constant The user should enter whatever constant would be needed to make the object1ve funct1on be the negat1ve log l1ke11hood. The default value 1n th1s case 1s cho1ce 1. If MINSUM w1th a TEMPLATE 1s used the user w11l also rece1ve the cho1ces: 3) 4) In Constant. Constant 0.5 .user accordance of the calculated the objective squares. the estimate to to have the run the before SIGMA ** (-2) chosen constant (8.7)-(8.8), automat1cally that * for explained of 02 may in 0.5 default the function As * is actually 4 be last (-2) choice Choice 3; allows of times and user if all the can assume because of the scale; the main (statistical minimum only SIMPLEX a scale 8.1, required this are completed, the or a file. The user for TEMPLATE or NF--l menu. of the grids ~ give we use based three can arise encompassed. numerical estimate determine the of sum effects true more (8.5) minimum.) same results. sensitive remedy then the can occur to the choice deviations so small that the "minimimum apply vo.l\A.~.elT than one. results standard To or may elect also elect UFUN) cc~('e-\0..~V\~ the are Negative precisely ~I( and ess Conflicting on grids. user may for a~~.0\IA."\;.L ately when the grid is (Remenber that the minimum approxi are positive successful. calculations why nonsense) is not the actual found" is this slightly situation. larger grid factors. The of two standard deviations the analysts was is point either least difference this 1s possib1lity the section ~ at constant the only. to If the for a constant paragraph When the covariance calculations results printed to the screen final summary routine (SUMMAR returning SIGMA ** here user. the * a subset of calculator also the parameters. prescr1bed values. remain1ng parameters calculator matr1x. 1s standard w1th the would entered at dev1at1ons. supports Th1s 1nvest1gat1on would beg1n corresponding then this be po1nt. etc.. 1nitial est1mated 1t only by w1ll on by of the f1x1ng steps to m1f1;mizat1on. automat1cally the set covar1ance matr1x some parmeters at par.lmeters zero. If report allowed The the a to covariance vary. ~ ~i -51 9. Hopefully. parameteric TROUBLE this models ease PROMISED to THE package relative WE NEVER Although we've tr1ed have some understand1ng SHOOTING SIMPLEX with - YOu will and A SIMPLEX SEARCH enable users confidence. ROSE fact 1s that We hope expla1ns software frustrat1on. th1ngs clearly enough to allow you. dear reader. knowledgeably. and thus avo1d a certa1n amount This sect1on deals w1th some of the hazards 1nvolved 1n 9.1. Mult1ple because the exist The of the the plot should this sort search user should feature the of the inappropriate model. why this the ambiguity any remaining minima exists. minima and attempt the model. and residuals. should manual If a by regard; pattern (as some trying the some plotting proposed minimum. predicted to a line uniform random fit in understand parameter by searches "pockets" incorrect values. or the minima and the an model biologically estimates, Then applying with multiple at the model the the ambiguity to best parameter Again, an final other the of indicate eliminate and that opposed indicative from problems hard look initial accepting this determine in model building, global minimum. The the first look at the knowledge outside persist, data, with it features can be crashes. perhaps an useful may be eye for Overflows common is crash long minima benefit to towards studying a is unrealistic model. and take revising the data any plot To with of the mathematical time to sit down 9.2. user th1s to apply the gr1ef and and p1tfalls of indicate before in and often reduced searches them data, can be the useful I!IJltiple user eliminate can quite residual Essentia"y, and an obvious difficulty minimum point as If investigate also observed in error option. is distribution) itself, the that est1mat1on. minima represent may accept a local wide fit nonlinear remember: mi n1ma Multiple user occurrence using build please GARDEN! keep th1ngs s1mple. the of the processes 1nvolved. non-l1near to but Of all an overflow can search the problems be particularly or profile in the leading math frustrating calculation. to program library during if the a user function has the nDst evaluation. just waded Such through a -52 9.3. Slow convergence .i?';~~, -53 10. 10.1. Chi-square and An limited to discussed in least feature sum the ADDITIONAL weighted important the of - squares of squares POSSIBILITIES the TEMPLATE objective introduction. For concept function,2used example, the X is that in the it is not example statistic can be used by letting TERM. (10.1) where YO and respectively. predicted YP are Thus, and (10.2) obtain the the values parameters least on the parameter one might vector PARS. observed and frequencies, PRED would be Similarly, following a let , log likelihood function TERM YO and AUX. and squares. (10.3) one of weight1ng parameter used. 1ncluded 1n 10.2. the one select for the Holding It predicted frequencies set simplex parameters is easily. the and * observed data. parameters. of INITM by MINSUM the data observed the can is object1ve particular and auxiliary also handle actua"y could used function. explanatory weight1ng AUX(l) The schemes. 1nclude sett1ng 1nterest to values. in1tial simplices The f1nal the on XOs. weighted code as a aux1liary variable both is could allowing the f1xed study SIMPLEX user accord1ngly. the prescr1bed steps to to lie minimum values of the model allows values zero. Th1s w1th the 1n the rema1ning to do th1s 1n1t1al forces 1n a hyperplane reflects opt1mal the certa1n user the ones. po1nt. in1t1al w1th the values so be fixed include subsequent constant. in possible and great S1mply only . squares which two prescr1bed g1ven PARS. -YP)**2 scheme correspond1ng all held (YO parameters at observed var1ables cons1der often not the definition we1ghting f1xed depend on parameters the to some parameters model explanatory wished can also with1n a sum of 1s used to select either extremely the .XO(AUX(l» factor AUX(l) If YP but Consider TERM Here. free observed and expected the TEMPLATE function LOG(YO/YP) negative Since and as case, (1980), YO * YP YP. predicted to I based Fournier TERM. YO and -YP)**2 interpreted in this frequency Schnute to (YO preset for the -54 10.3. Impos1ng that constra1nts At t1mes the s1mplex search make b1olog1cal sense -l1ke don't we1gh1ng s1xteen the s1mplex to case, the pounds. Normally avo1d unreasonable user example, can UFUN IF eas1ly m1ght The (PARS(l).GT.LIMIT) F .F + LARGE important thing here added penalty goes not be d1fferentiable. gives the user objective 10.4. opt1on function the is zero In of has this that ffsherfes add1ng * a penalty (PARS(l)-LIMIT) objective the funct1on approaches parameter penalty when research, w1ll cause 1s not the funct1on. For only once, ** 2 F 1s continuous the l1m1t), 1n the TERM at the end (the but it rout1ne of need the ICASE-NDAT. one and can parameters, be often encounters estfmated The earlfer by models lfnear example fn which some regressfon, gfven (7.3), repeated here convenfence: a (100-y) .a+ feature. Here. bx1 if a. B S. and than the full this technique Y, rather d1SCUSS show estimates. that it leads 2a + cx2 S. and (1984) and by parameter the ICASE by linear regression. simplex search needs parameter :1=. the can be estimated UFUH. then the models. ~ ~. THEN CONSTANT as the MINSUM, y (10.4) 1ssue topology 1f th1s parameters enter lfne~rly the remafnfng reader's to avo1d par~meter values age or a salmon smolt code add1ng l1near In - calculat1on El1m1nat1ng parameters values of for to the the ENDIF be told negat1ve the object1ve funct1on parameter values, but, force 1nclude must a set fully to + dx1 yare to 2B + ex2 given. then If the regression deal with only a + fx1 a. the B x2 b. c. itself three of nine parameters. Schnute for (lU.4) and a more general efficient and robust searches . d. e, and is included parameters and McKinnell class of for optimal f in a. -55 11. VARIATIONS Mead's Numerous articles and (1965) paper. suggesting of s1mplex the 1nterested improve not search in algorithm provided tried. no The 1n th1s alterations. 11.1. Adjustable the Nelder control the SIMPLEX package coeff1c1ent Mead of the uses BETA. suggested by the1r for a Nelder extens1on and Mead(1965) each 11.2 Multiple gives problem but be can were becau$e they 1n the cases we themselves to 1. a Nash(1979). cho1ce the of 2. These Walmsley a start1ng and was he one quarter the for th1s package. po1nt d1fference values (1981). contract1on. po1nt would move only l1m1ted test1ng done the Th1s contract1on GAMMA. drast1c to contract1ons. ALPHA. too overall greatly affected 1ns1gn1f1cant. so we extensions Walmsley also advocates cont1nu1ng funct1on values are obta1ned. not accepted, result1ng 1n a accepted, the updated several 1terat1ons to from th1s mod1f1cat1on. Mult1-po1nt Evans by s1mplex reshape the extens1on Unfortunately, wasted funct1on 1s d1storted 1tself. (long We found process the second evaluat1on. and no narrow) benef1t, as extens1on Also, and and long as 1s when 1t requ1res some loss, reflect1ons and modified Nelder-Mead are reflected through 1dentif1ed tney coeff1c1ents and coeff1cient and that BETA was super1or. BETA at 0.5. adjustable coeff1c1ent an we greatest m1ght 1f suggest1ons usually expans1ons. and BETA-0.5 which kept 11.3 see These reasons. contemplated reflect1on 0.5. that (1965) BETA-O.75. so the contracted towards the centro1d. In the 1s app11cat1on. reflections. suggests lower often exper1ence to (or even h1ndered progress) that certa1n problems lend proposes distance for programm1ng suggest1ons var1ous however. found w1th follow1ng 1n SEARCH coeff1cients and s1zes SIMPLEX have been wr1tten since Nelder and methods for 1mprov1ng the performance Users of package action THE reports various cons1stent improvement user. however. may f1nd these are some performance implemented OF algor1thm. try1ng - Craig determ1n1ng d1fference (1978) pub1ished algorithm in the centroid in wh1ch mean an interesting which all the of the "best" group1ng funct1on of values. h1gh In paper "worst" po1nts. and our low points The po1nts exper1ence. proposing of two a the simplex groups are g1ves th1s the method -56 f1nds the min1mum with nuch fewer but w1th about the sane number of algor1thm can Users qu1te fasc1n~~1ng; be found are 1n warned don't 1terat1ons funct1on COMMO2.FOR. that lose wh1ch f1ddl1ng s1ght than does evaluat1ons. of can w1th the s1mply the or1g1nal the Nelder-Mead The code for replace s1mplex problem! nethod. th1s COMMON.FOR. algor1thm can become -57 12. $ ~SIMPLEX:GOMINSUM would all result MINSUM squares (F4.0.T7.FlO.0) 1 7.36 2 14.33 21.86 4 27.61 5 31.59 6 35.38 7 39.02 8 41.19 9 10 43.89 45.08 11 47.41 12 48.95 13 50.14 J4 51.79 15 lli 51.77 !\41~ EXAMPLE VONB the functions objective 1 3 in WORKED executable applied function. file to the VONB.EXE. von which Bertalanffy is curve capable (1.1) of performing and a Sum of -58 Both section progr~s consists responses in column and of appear one. COMPUTER an data are annotated in thc left column. Notes and comments INPUT AND now ex~ple with appear ready to run. The go. The renalnder of this program prompts and user user responses in t~e right OUTPUT denoted by hand column. COMMENTS S RUN VONB FUNCTION N,A1'1E OF DATA MINIMIZER FILE? Entel' IMUSSELS.DAT ALGORITHM DATA run First run accept DATA SET TO DEFAUlT SIMPLEX for so defaults VAlUES. MENU Main menu for SIMPLEX Re-1nft1a11ze la) New Ib 2 this data TO I<CR> AlGORITHM of prepared FILE? ENTER FILE NAME OR <CR> ACCEPT DEFAULTS. I) n~e file ! data Edft, Model 5 MINIMIZE. 7 Functfon 8) Predfctfon Load, parameters 4) 6) Covarfance II) Search 12) Quft. Save User call 10) ENTER only 3) and or only. Alg data. summary. at current low. 9) Proffle plots. matrfx. Globally. CODE: Try a global search to get an idea of the III GLOBAL SEARCH par~eter SET SEARCH BOUNDS: Search within values is done this range CHOOSE: 1) 2) 3) Review Set Take current bounds. bounds. default bounds of POINT +- STEP. I Displays I for I Allows I specify I Gives I val max all user max default ues and mln par~s to & min bound a I symbol -59 4) Edit ENTER 12 Enter POINT COOE: ,nd ( STEP with 1- 4 or - editor. <CR> if I Allows ! defaults value for range of to reset finish~d.)1 I low user parCJneter 1 140 I Set mln Enter and max values I Enter high value for range of parCJneter 11 160 I Enter low value for range of parCJneter 2 #.1 I I Enter high value for range of parCJneter 21 11 ! Enter low value for range of parCJneter 3 10 ! ! Enter high value for range of parCJneter 31 #.5 I CHOOSE: 1) 2) 3) 4) Review current bounds. Set bounds. Take default bounds of POINT +Edit POINT and STEP with editor. STEP. i ! I I I ENTER CODE: ( 1 -4 or I<CR> Enter Q. the ;1il6nber of Default of Q = 10 * N. 164 Enter Enter I<CR> Select Enter #6 file narle to write <CR> if no output Random R or G or Grid <CR> points to. file If flnished.)1 to Is search: search: desired. I I I I I I I I I I Bounds are 4x4x4=64 grid No 451.86045 906.05667 2311.9458 4212.6078 228.90367 1496.4592 3565.6761 1423.8246 361.64637 2504.2889 1135.2687 1896.5065 850.0885'~ 733.08140 POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: 44.000000 48.000000 52.000000 56.000000 48.000000 52.000000 56.000000 44.000000 52.000000 56.000000 44.000000 48.000000 56.000000 44.000000 gives nice values output file desired Request I I output VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: set 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 a grid looks search like: 0.10000000 0.20000000 0.30000000 0.40000000 0.l0000000 0.20000000 0.30000000 0.40000000 0.l0000000 0.200JOO00 0.30000000 0.40000000 0.10000000 0.20000000 60 VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: VAL: 1501.8100 2826.1009 443.75653 825.54508 2172.9144 4804.7660 201.33166 1388.4657 3393.2262 1732.6273 311.48438 2365.6177 1053.3355 2290.2783 774.21468 676.85592 1392.9508 3314.3245 440.00958 749.95912 2598.8948 4608.6269 178.43574 1285.6173 3918.8406 1628.9343 266.30477 2232.2817 1308.7050 2158.8255 703.61666 625.30724 1728.8496 3152.0564 441.00752 990.54082 2454.4983 4410.4264 160.66312 1608.5078 3741.5148 1525.4549 226.61803 2647.0595 1220.8147 2026.9390 638.87225 793.15865 1614.2649 2988.5962 POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: POINT: VALUE ON ENTRY OF: FOUND AT POINT: 1.00000 1.00000 48.000000 52.000000 44.000000 48.000000 52.000000 56.000000 48.000000 52.000000 56.000000 44.000000 52.000000 56.000000 44.000000 48.000000 56.000000 44.000000 48.000000 52.000000 44.000000 48.000000 52.000000 56.000000 48.000000 52.000000 56.000000 44.000000 52.000000 56.000000 44.000000 48.000000 56.000000 44.000000 48.000000 52.000000 44.000000 48.000000 52.000000 56.000000 48.000000 52.000000 56.000000 44.000000 52.000000 56.000000 44.000000 48.000000 56.000000 44.000000 48.000000 52.000000 25207.363 1.00000 0.64000000 0.82000000 0.2800')000 0.460~O000 0.640~0000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.2bQ00000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64(100000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64000000 0.82000000 0.28000000 0.46000000 0.64000000 0.R2000000 0.28000000 0.46000000 0.64000000 0.82000000 I SOS I SIMPLEX I values 0.30000000 0.40000000 0.20000000 0.30000000 0.40000000 0.10000000 0.20000000 0.30000000 0.40000000 0.l0000000 0.20000000 0.30000000 0.40000000 0.10000000 0.20000000 0.30000000 0.40000000 0.10000000 0.30000000 0.40000000 0.l0000000 0.20000000 0.30000000 0.40000000 0.l0000000 0.20000000 0.30000000 0.40000000 0.10000000 0.20000000 0.30000000 0.40000000 0.10000000 0.20000000 0.40000000 0.l0000000 0.20000000 0.30000000 0.40000000 0.10000000 0.20000000 0.30000000 0.40000000 0.la0000aa 0.20000000 0.30000000 0.40000000 0.l0000000 0.20000000 0.30000000 mlnlmun using default -61 WHILE SEARCH GIVES AT POINT: 48.0000 0.28000 VALUE OF: - 160.663 0.40000 Note improvement- this gives a starting ACCEPT NEW POINT FROM SEARCH? «V>, N) Point IV found search point Repeat IN with same bounds1 Is SIMPLEX In Choose al gorl POINT: INITIAL 1) 0.280000 3) 2) O.100000 3) 0.400000 REQUIRED SIMPLEX 0.l00000 OF TF) TERMINAL FF) FILE WRITE SR) STEP REDUCTION lists the the data ! LIMIT. I REL. MAX. edit data ! 0.10000000E-05 MF) menu I STEP: 0.l00000 SL) 2) to ttJn algorithm I 48.00000 majn Editor . 1) main above 3 VARIABLE(S) IS) SIMPLEX MENU ENTER CODE: '2 INITIAL global CURRENT SIMPLEX to SIMPLEX IP) In new (V/<N»: Return as likely ~Int 400 I FUNCTION CALLS I I DISPLAY FREQUENCY: 1 I I FREQUENCY: 0 I I FRACTION: 0.10000000 PARTICULAR FIELD, I I ENTER CODE TO "AL" TO EDIT <CR> TO SEE OR "Q" TO EDIT ALL FIELDS, CURRENT EXIT "H" FOR I HELP, I VALUES, I EDITOR I IIS F1rst I <CR> TO ACCEPT CURRENT OR DEFAULT CURRENT VALUE OF STEP' NEW VALUE? '10 CURRENT VALUE OF 1 : VALUE. 0.10000000 fnitfal ! ! ! STEP' 2 : O.lO00OO00 Gives 50 +1- 10 for ! YINF 1 1 I<CR> 1.3 reasonable steps. is okay ! r~EW VALUE? CURRENT VALUE NEW VALUE? set .fnitfal ! pofnt 1 OF STEP 1 3 : Accept +/0.1 default for K 0. 10000000 I Gives 1+/- TZERO 0.3 .0.25 of 0.25 ., {~ -62 ENTER CODE TO "AL" TO EDIT <CR> TO SEE OR ISL "Q" <CR> TO TO EDIT ALL CURRENT EXIT FOR HELP, VALUES, CURRENT SIMPLE NEW TYPE? I<CR> FIELD, "H" EDITOR ACCEPT CURRENT PARTICULAR FIELDS, - LIMIT (RLL or CURRENT SIMPLEX NEW VALUE? 1.001 00 OCFAULT TYPE IS 1 Now 1 limit I Accept I relatIve reset SIMPLEX VALUE. RELATIVE . ABS): LIMIT: 0. 10000000E-05 default of I ENTER CODE TO EDIT PARTICULAR FIELD, "AL" TO EDIT ALL FIELDS, "H" FOR HELP, <CR> TO SEE CURRENT VALUES, OR "Q" TO EXIT EDITOR I<CR> I Set I lE-3 SIMPLEX limit at I I I I Review current values 3 VARIABLE(S) IP } INITIAL 1 IS 1) SL) POINT: 48.00000 2) 0.280000 INITIAL STEP: l0.00000 2) 0.100000 REQUIRED SIMPLEX LIMIT 0.10000000E-02 ABS. 3) 0.400000 3) 0.300000 . I I . 1 MF) MAX. OF 400 FUNCTION CALLS I TF) TERMINAL DISPLAY FREQUENCY: 1 FF) FILE WRITE FREQUENCY: 0 SR) STEP REDUCTION FRACTION: 0.10000000 PARTICULAR FIELD. 1 1 1 ENTER CODE "ALM TO <CR> TO OR "QM #Q TO EDIT SEE TO EDIT ALL FIELDS. CURRENT EXIT "H" FOR HELP. VALUES. 1 EDITOR SIMPLEX 1 1 1 1 Values are 1 return to okay main -menu MENU SIMPLEX main menu 1 Attempt m1n1m1zat1on 1 Initial IX>lnt as above ENTER CODE: 15 I'tITIAL POINT: 48.000000 1 0.28000000 0.400000001 In I global search as found , -63 INITIAL FUNCTION INITIAL HIGH: INITIAL VAL: - 160.66312 FunctIon InItIal 974.86160 Worst value poInt value In constructed LOW: 143.03085 Best SIMPLEX value In constructed First 6 0 CALLS, VALUES CURRENT 1 ITERS, IMPROVED. MINIMUM 0 RESTARTS. ACTION ACCEPTED: FOUND 48.000000 CURRENT MINIMUM: CALLS. 0.28000000 143.03086 2 ITERS. RESTARTS. 2 VALUES IMPROVED. ACTION CURRENT MINIMUM FOUND AT: ACCEPTED: 48.000000 CONTRACTION 143.03086 Second 9 CALLS. VALUES CURRENT 3 MINIMUM 51.055556 CURRENT ITERS. IMPROVED. FOUND 0 RESTARTS. ACTION MAXIMUM: ACCEPTED: 375.89989 Iteration CONTRACTION AT: 0.27351852 MINIMUM: iteration: 0.70000001 CURRENT Third 0 441.70366 REFLECTION 0.28000000 MINIMUM: iteration: 0.70000001 CURRENT MAXIMUM: 0 CURRENT SIMPLEX AT: I 7 126.60105 0.51388889 CURRENT MAXIMUM: 182.53134 ~ 0 81 CALLS, 42 ITERS, 0 VALUES IMPROVED. ACTION CURRENT MINIMUM 57.291145 CURRENT MINIMUM: FOUND at RESTARTS. ACCEPTED: I Max I close, I be and min so near are we the very should minimum CONTRACTION AT: 0.16441514 3.9799164 0.15506405 CURRENT MAXIMUM: 3.9807709 -65 J) RESET HIGH - OR LOW RE5ULUTION CURRENTLY-LOW Z) RESET DISPLAY ON OR OFF CURRENTLY-ON 3) RESET LOW RESOLUTION CURRENT ~ 4 CREATE HEIGHT- SIZE 20. WIDTH- 5 6 SAVE CURRENT PICTURE ON FILE DISPLAY CURRENT PICTURE 7) LOAD 8) <EXIT> ENTER 60 PlOT AND DISPLAY A SAVED PLOT L'ODE : 14 PLOT TYPES CHOOSE ONE 1) 2) 3) 4) 5) 6) OF THE Menu for various plot s a-t a 11 ab 1e FOLLOWING y VS. X y VS. y X VS. X RESIDUALS RESIDUALS <EXIT> VS. VS. OPTIONS: y X ENTER CODE: 11 Plot Y observed predicted SET RANGES FOR X OATA: Select Default COMPUTED MIN1.0000000 COMPUTED MAX16.000000 DO YOU WISH TO CHANGE THESE VALUES1 max & on X range of X Is mln and of X val ues Y,<N>1 IY PLEASE E~TER MINIMUM Reset axis range is for nice 10 PLEASE ENTER MAXIMUM 120 SET RANGES FOR Y DATA: COMPUTED MIN7.3600001 COMPUTED MAX54.160000 DO YOU WISH TO CHANGE THESE VALUES1 Y,<N>1 IY PLEASE ENTER MINIMUM ENTER ~AXIMUM ENTER THE I Range I to I I Defaults predicted I observed now fran 0 20 1 pred of mfn and and and Reset for Range is max of of obs nicer axis 10 PLEASE 1100 PLEASE PLOT TITLE to 100 now from 0 -66 laBs. AND PRED. LENGTH ENTER THE LABEL AGE IN YEARS FOR , ENTER THE LENGTH IN FOR I CHOOSE OR EXIT y LABEL MM AT THE THE PREOICTED, y TO MAIN MENU AGE FaR - FRESHWATER HORIZONTAL VERTICAL AXIS MUSSELS Enter title and labels AXIS OBSERVED, P,0,<E>1 10 CHOOSE PLOT CHARACTER PLOT TYPE <*> I Plot I first I<CR> CHOOSE «1>-6) 11 ENTER STOP CHARACTER L E N G T H I N M M AND PRED. lengths I Oata points I with a"*" marked I Scatter clot I Default of (2-9,A-Z,a-<z» I<CR> OBS. observed LENGTH AT AGE FOR I stop I Resultinn z for charactEr plot: FRESHWATER MUSSELS ! 801 + 6ol * + ***** 40+ * * * I * * .,. * * 20+ * ! * * -+--+-+--+-+--+-+--+-+--+-+-+--+-+--+-+--+-+~-+-+ 5 10 15 AGE IN YEARS 1 PRESS <CR> TO CONTINUE I<CR> CHOOSE Y PREDICTED. YOBSERVED. OR EXIT TO MAIN MENU 1 Pause 1 graph to inspect 1 1 P.O.<E>? IP PLOT PREDICTED POINTS AT DATA POINTS OR DISTRIBUTED THRDUGH RANGE? (P.<D» I<CR> HOW MANY POINTS ON THE PREDICTED CURVE? < 50> I<C?> This time predicted plot points Default gives points Accept default many -67 - CHOOSE PLOT CHARACTER <*> IP Plotting CHOOSE PLOT TYPE «1>-6) I<CR> ENTER STOP CHARACTER (2-9,A-Z,a-<z» I<CR> a Scatter I OBS. AND PRED. LENGTH character AT AGE FOR Is "P" New plot plot looks FRESHWATER like: MUSSELS ! L E N G T H 801 + 6ol + 40+ I N * pp*p*pp* pp*p* 1 20+ M M 1 pppppppp p*p*pp*p*pp*pppp p*p* p*p p* *P P+--+-+--+-+--+-+--+-+--+-+-+--+-+--+-+--+-+--+-+ 5 10 AGE IN 15 YEARS Fit PRESS <CR> TO CONTINUE I<CR> DO YOU WANT A NEW PREDICTION7 appears to be good I I Allows us predicted We don't Y,<N>7 IN to get new curve want one CHOOSE Y PREDICTED, Y OBSERVED, OR EXIT TO MAIN MENU I P,O,<E>7 I<CR> I Exit to plotter MaIn menu menu I PLOTTER as ENTER CODE: 14 PLOT TYPES ME.NU I for plotter above 1 Create 1 try 1 1 plot: residuals this time (.:; -68 CHOOSE ONE ENTER Of THE FOLLOWING 1) y VS. 2) y VS. y 3) X VS. X 4) RESIDUALS VS. y 5) RESIDUALS 6) <EXIT> CODE: VS. X - OPTIONS: X ! 14 Call up residuals vs y CHOOSE a. Y OBSERVED OR <Y PREDICTED>. <P>1 I<CR> Plot SET RANGES FOR . pred 1 Y DATA: COMPUTED MIN- 7.4308090 COMPUTED MAX- 53.057774 DO YOU WISH TO CHANGE 1 THESE VALUES? 1 1 1 IY PLEASE ENTER MINIMUM 1 1 PLEASE 160 ENTER MAXIMUM 1 1 10 YOU Y, WISH TO y 1 Y,<N>? 00 against Icted NORMALIZE THE RESIDUALS? Reset range 1 <N>? 1 ,y Look at nonnalized residuals SET RANGES FOR RESIDUALS : COMPUTED MIN-1.7272640 COMPUTED MAX2.2032764 DO YOU WISH TO CHANGE THESE VALUES? y.<N>? IV PLEASE ENTER MINIMUM PLEASE ENTER MAXIMUM PLEASE ENTER THE 1-2 '2 I RESIDUALS FOR ENTER LABEL THE I PRED LEN. I ENTER THE RESIDUALS CHOOSE PLOT LENGTH . I TITLE AT AGE FITTED FOR THE HORIZONTAL FOR THE VERTICAL TO VONB AXIS (MM) LABEL 1 PLOi CHARACTER PLOT TYPE AXIS <*> 1 Plot (SCATTER-O OR <COUNT-1>1 0,11 I<CR> ENTER I<CR> 1 1 1 I<CR> CHOOSE 1 1 1 ST~P CHARACTER (2-9,A-Z,a-<z» 1 1 usIng default "*- :.. -69 RESIDUALS FOR LENGTH AT - AGE FITTED TO VONB 2.0+ R E S I D U A L S * 1 1.0+ 1 .01 * 1 -1.0+ * 1 -2.01---+---+---+---+---+ 10 +---+---+---+:--+---+30 40 20 PRED LEN. (MM) PRESS <CR> TO CONTINUE I<CR> PLOTTER as 50 Pause MENU above ENTER CODE: I<CR> Exit plotter . I I NOTE: I similar I different The to 1 course have I See Section procedure for the above ccdes for access 5 for creating method, plot to a details. types high high except and resolution resolution that the characters, plots user and plotting Is specifies must of terminal. I SIMPLEX as ENTER CODE: 110 MENU SIMPLEX main Look par~eter above at covariances COVARIANCE CALCULATOR. menu -70 Three MgrldsM are used Information, the base using the current point scale factors must be Initial steps will be scale factors to adjust grid. Please edit the (If desired). to calculate - the! Instructions grid being formed! and step. Three supplied, and the! multiplied by these! the size of the! point and step first! ! 3 VARIABLE(S) IP) INITIAL 1) 57.29114 IS) INITIAL 1) 10.00000 and Information 3 grids are used because the method used to calc the covarlances Is ! affected by scale. If I ! Is two grids agree ~ assume that answer !. correct POINT: 2) 0.164415 STEP: 2) 0.100000 3) 0.155064 3) 0.300000 Edit used point and step to build base grid ENTER CODE TO EDIT PARTICULAR FIELD, MALM TO EDIT ALL FIELDS, "ti" FOR HELP, <CR> TO SEE CURRENT VALUES, OR MQ" TO EXIT EDITOR IQ We don't PDINT: 1) 57.29114 2) 0.164415 3) 0.155064 INITIAL STEP: 1) 10.00000 2) 0.100000 3) 0.300000 0.99E-02 3) 0.10E-02 GRID 1) FACTORS: 0.100000 INPUT PRESS I<CR> INPUT PRESS I<CR> INPUT PRESS I<CR> 2) NEW VALUE OF FACTOR' 2 (> RETURN TO ACCEPT DEFAULT Default yr1d factors grid size defaults NEW VALUE OF FACTOR I 3 (> 0) RETURN TO ACCEPT DEFAULT 3) 0.10£-02 ok? Factors choose (inverse this values Accept 0) . Please to these NEW VALUE OF FACTOR I 1 (> 0) RETURN TO ACCEPT DEFAULT New values for factors: 1) 0.100000 2) 0.99£-02 Factors <Y>/N I<CR> want change of number correction Hessian to obtain constant will be Covariance scaled 1 by matrix).! 1 are okay -71 - CHOOSE: 1) Constant. 2) 3) function is log likeljhood User chosen constant Constant. 0.5 * SIGMA Use 4) 1 if ; if minimizing on Constant. user 0.5 * SIGMA ** ENTER objective ** sum chosen (-2). (-2); of squares. constant * 1.2.<3>.4: '<CR> This COVARIANCE OBTAINED AND CONSTANT. FROM MINIMUM ESTIMATED Calculating AVERAGE STD DEV Now 1.63320013 STAN. F on F: F: OF 3.97991640 DEV. grid' Slln of problem, take OF 0.91844225 1 Crunching 18.137886 14.820796 calculating Is squares default Hessian' 1 Inverting Hessian' 1 DETERMINANT: 0.1045E+09 Calculating F on grid 12 AVERAGE F: 4.1211892 STD DEV F: 0.14794104 Now calculat;ng Hessian I Inverting Hessian I 2 D~TERMlNANT: O.9460E+O8 Calculating F on grid I 3 AVERAGE F: 3.9813291 STD DEV F: O.16608362E-O2 Now calculating Hessian # Inverting Hessian I 3 DETERMINANT: O.9450E+08 1 2 1 I I 3 1 1 I 1 I Calcu13tions Ddisplay Fprint R -run Q -quit canpleted. Enter results on screen, results to file, user and final return routine, to main choice: or merlu. Choice: ID I I Displayed I results I and 1 close. I these I values. I with I .01 below. fran 3 are so accept correct grid check OUTPUT FROMCOVARIANCEMATRIX FROM SIMPLEX MINIMIZER POINT 1) 57.291145 2) 0.16441514 STEP FOR DIFFERENCING 1) 10.000000 2) 0.10000000 ~ the We to 3) 0.15506405 3) 0.30000001 2 fairly as a The grids could re-do factor val of ues -72 COVARIANCE GRID CONSTANT 1 .100 , SCALE * 0.5 1.OOOOOOOOO FACTOR: 2 .100E-01 FUNCTION AVERAGE F: STD DEV F: COF VAR F: 18.13788632 14.82079593 0.81711814 PARI 1 2 3 .100E-O2 VALUES 4.121189160 0.1479410426 0.35897659E-01 STANDARD DEVIATIONS 0.6521245397 0.5801261418E-02 0.6949696734E-01 0.6236633402 0.5519759413E-02 0.6757293868E-01 PARI 1 2 3 * SIGMA**-2 3.981329099 O.1660836190E-02 O.41715622E-O3 0.6524315524 0.5804290173E-02 0.6951788838E-01 CO£FF ICIENTS OF VARIAl rION 0.10885859£-01 0.11382641E-01 0. 11388000E-01 0.33572087£-01 0.35284228E-01 0.35302650£-01 0.43577437 0.44818233 0.44831725 PARI, PARI 1, 2 1, 3 2, 3 CORRELATIONS -0.93158925 -0.59740172 0.77986622 -0.92494678 -0.56895712 0.76523097 -0.93165596 -0.59769399 0.78001727 PARI, PARI 1, 1 1, 2 1, 3 2, 2 2, 3 3, 3 0.3889559619 -.3184103008£-02 -.2397742590£-01 0.3046774398£-04 0.2854207191£-03 0.4566102042£-02 COVARIANCES 0.4252664153 -.3524337152E-02 -.2707465094E-01 0.3365463404E-04 O.31441S7211E-03 0.48298~8469E-02 0.4256669306 -.3528089866E-02 -.2710880770E-01 0.3368978441E-04 0.3147385262E-03 0.4832736805E-02 COY MATRIX: COR ~TRIX: 0.9569502553E-08 0.17684917 (:I:TERMINANTS 0.1057089487E-07 0.15292345 0.1058193995E-07 0.15268768 Calculations D -display F- print R- run Q -quit Choice: completed. results on results user and final return to Enter screen. choice' file. routine. to or main menu. IQ F1n1shed. return SIMPLEX SIMPLEX MENU SIMPLEX as above. ma1n menu to "1. -73 ENTER CODE: 19 '- ! Create profile plots I PROFILER I Please choose profile parameter: 11 Input gives point function Enter low 57.291J45 v~lue: value of 3.9799164 search high value of along Minimum we YINF found with minimizer range: 150 Enter Profile search range. ! Vary I 70 YINF fran 50 to 170 57.291145 50.000000 70.000000 Input m!nimlJn is at: Low end of range is: High en<J of range is: Check bounds I Range of profile par~eter okay? «Y>.N) I<CR> How many points fran low to many .points fran mlnlmlJn mlnlmlJn? I 110 How I IOkay to high? 110 I Number I high of and points low on profiles I Initial poInt is: 57.291145 Minimizing on point: 56.562031 Please ~it alg data: do not edit .profile para;neter. STEP 1 will be set to 1 MlnlmlJ1l 1 SIMPLEX point from 1 2nd point of 1 edit alg data 1 minimizing profile before on it zero. Press <CR> to continue. .I<CR> 1 1 SIMPLEX 3 VARIABLE(S) IP) INITIAL POINT: 1) 56.56203 2) 0.164415 3) 0.155064 IS) INITIAL STEP: 1) 0.00E+OO 2) 0.100000 3) 0.300000 SL) REQUIREO SIMPLEX LIMIT . 0.10000000E-02 ABS. MF) MAX. OF 400 FUNCTION CALLS TF) TERMINAL DISPLAY FREQUENCY: 10 FF) FILE WRITE FREQUENCY: 0 SR) STEP REDUCTION FRACTION: 0.10000000 ENTER OODE TO EDIT PARTICULAR FIELD. .AL. TO EDIT ALL FIELDS. .H- FOR HELP. <CR> TO SEE CURRENT VALUES. OR .Q. TO EXIT EDITOR ISL Note step parameter TO ACCEPT CURRENT OR DEFAULT VALUE. for is profile set to I 1 I I I I 1 Raise to <CR> editor 1 I I SIMPLEX speed up limit search O -74 CURRENT SIMPLE LIMIT TYPE IS ABSOLUTE . NEW TYPE? (REL nr ASS): I<CR> CURRENT SIMPLEX LIMIT: 0. 10000000E-02 NEW VALUE? 1.0001 ENTER EDIT CODE: ITF CURRENT TERMINAL OUTPUT FREQUENCY: 10 NEW VALUE? 10 ENTER EDIT CODE: IQ *** Calculating 68 CALLS. MINIMUM OF 56.562031 *** point 31 44 CALLS, MINIMUM Cf" 55.8329~6 I ITERSt 2 **********..**1 a RESTAR1S. 4.3987860 FOUND 0.17065154 0.20033245 Calculating point 18 Suppress output I I ITERS, AT: 3 ~*************! 0 RESTARTS. 5.7301709 FOUND 0.17727307 0.24586886 AT: I Begin I profl 2nd calculating let point the startlllg at 1 1 1 1 ! ! Note hEre: Increase~ ! steps, ! Increases ! TZERO YINF In eve~ MI n 11:!i 11!71 and also K and respond ! ! ! *** Calculatfng 48 CAlLS. MIrlIMUM OF 50.729115 *** pofnt 20 ITERS. 58.430474 0.23545740 Calculating 45 CALLS. MINIMUM OF 50.000000 *** point CALLS. MINIMUM 58.562031 OF 1 1 We ,~sked for 1 pofnts... I onl y 10 **************! 0 RESTARTS. I I but 75.553139 FOUND I calculates odd number 0.24556838 0.')4614626 I of points. Note val I of YINF and half of 19 # 0 RESTARTS. FOUND AT: 0.51588916 1 11 Calculating 68 # 10 **************1 ITERS. point 2 *~.************I 0 RESTARTS. I 1 2nd 4.9965620 FOUND I 0.15438531 0.71809889E-011 34 ITERS. # AT: AT: profiler always minimum profile ues -75 ...Calculating point , 3 - **************1 I *** Calculating 55 point' 1 1 50.378141 FOUND 1 0.973781E-01 -0.67002972 26 Of 7D.000000 ITERS. 0 CREATE PLOT FROM RESULTS? IY PLOT 1) RESET RESOLUTION RESET LOW RESOLUTION CURRENT HEIGHT- 3) <CREATE PLOT> 4) DISPLAY PLOT 5) SAVE PLOT SAVE PROFILE AT: Plot SIZE 22. WIDTH- 80 VALUES PLOT O~t1un val ues values 6 writes and func to file param Select high plot Create plot res MENU above ENTER CODE; PROFILE PARAMETER IS NUMBER 1. ENTER PARAMETER NO. F~K HORIZONTAL < profiles CURRENTLY-LOW ENTER CODE: 11 '3 pt)int <Y>.N} ) EXIT as Final 1 MENU 2) ) . **************1 RESTARTS. CALLS. MINIMUM 11 AXIS. 1> I<CR> ENTER YINF axis PARAMETER VERTICAL I<CR> AXIS, OR RESPONSE RESPONSE IS NO. on horizontal FOR < 4> SET RANGES FOR PARAMETER DATA: COMPUTED MIN50.000000 COMPUTED MAX70.000000 DO YOU WISH TO CHANGE THESE VALUES? Y,<N>? I<CR> Func val ues on vertical axis YINF okay ax1s range 1s -76 SET RANGES FOR FUNCTION VALUES: COMPUTED MIN3.9799163 COMPUTED MAX75.553139 DO YOU WISH TO CHANGE THESE VALUES? Y.<N>1 IY PLEASE ENTER MINIMUM 10 PLEASE ENTER MAXIMUM 1100 PLEASE ENTER THE PLOT TITLE IPROFILE ON YINF PLEASE ENTER HORIZONTAL AXIS LABEL IYINF PLEASE ENTER VERTICAL AXIS LA~[L ISUM OF SQUARES CHOOSE PLOT TYPE «0>-6) 11 CHOOSE LINE TYPE (0-9 <0>-solid line) I<CR> CHOOSE A <SMOOTH-O> OR JAGGED-1 LINE 0.11 I<CR> PLOT MENU Reset functIon ax Is range 1 Line grJph with 1 1 solid line... I smoothed I See I of results in Fig introduction as above ENTER CODE: 13 I Now look at relation I between YINF and K PROFILE ENTER AXIS. PARAMETER PARAMETER < 1> IS NO. NUMBER FOR 1. HORIZONTAL I<CR> YINF ENTER PARAMETER OR RESPONSE NO. FOR VERTICAl AXIS. RESPONSE IS < 4> '2 SET RANGES FOR PARAMETER DATA: COMPUTED MIN50.000000 COMPUTED MAX70.000000 DO YOU WISH TO CHANGE THESE VALUES? Y,<N>? I<CR> 1 Par~eter 1 plotted 1 axis 1 YINF on horizontal 2 on ranges (K) vertical okay 1 FUNCTION VALUES: 0.97365782E-01 C(W-IPUTED MAX0.24556838 DO YOU WISH TO CHANGE THESE VALUES1 SET RANGES COMPUTED FOR MIN- Y,<N>1 IY PLEASE Reset ENTER MINIMUM ax Is for nicer 1.3 ,.,~ -77 - 10 PLEASE ENTER MAXIMUM 1.4 I PLEASE ENTER THE PLOT TITLE CORRELATION OF YINF AND K # YINF PLEASE ENTER HORIZONTAL PLEASE ENTER VERTICAL CHOOSE PLOT TYPE «0>-6) CHOOSE LINE TYPE (0-9 CHOOSE A AXIS AXIS LABEL 1 LABEL IK I II Line <0>-solid line) OR JAGGED-1 LINE 10 graph solid <SMOOTH-O> 0.11 I<CR> with line... smoothed See similar plot introduction. PLOT in Fig. 1.6 MENU as above ENTER CODE: 17 Exit SIMPLEX as plotter MENU above ENTER CODE: '9 Profiler again. time PROFILER a this slice I ENTER CODE TO EDIT PARTICULAR FIELD, -AL. TO EDIT ALL FIELDS, -H- FOR HELP, <CR> TO SEE CURRENT VALUES, OR -Q- TO EXIT EDITOR IIS <CR> TO ACCEPT CURRENT OR DEFAULT VALUE. CURRENT do VALUE OF STEP # 1 : 0.00000000 OF STEP # 2 : 0.10000000 I Input I profIle I edIt is sMne above. as for untIl phase 1 1 Set non-prof11e par~eter steps to NEW VALUE7 #<CR> CURRENT VALUE NEW VALUE7 Keep prof11e as 1s par~eter O -78 10 - 1 CURRENT VALUE OF STEP 1 3 : 0.30000001 Now NEW VALUE? 1 And EDIT is con;tant 1 10 ENTER K 1 TZERO is constant 1 1 CODE: ITF 1 <CR> TO CURRENT ACCEPT CURRENT TERMINAL OR DEFAULT OUTPUT VALUE. I 10 1 1 FREQUENCY: NEW VALUE? 1 10 1 ENTER EDIT CODE: 1 IQ Suppress output 1 *** Calculating point 15 CALLS. MINIMUM Cf" 56.562031 8.2943907 FOUND 0.16441514 0.15506405 *** 1 Calculatfng 1 ITERS. point # 2 **************~ 0 RESTARTS. AT: 3 **************1 1 1 1 1 1 .1 .1 .1 *** Calculating 15 point CALLS. MINIMUM 1 OF 70.000000 CREATE PlOT 111 RESTARTS. K 1301.0090 FOUND changed, 0.16441514 0.15506405 FROM ITERS. **************! 0 RESUlTS? I<CR> «Y>.N) AT: and very TZERO have minimlln not is high 1 1 Create plot of slfce Select high resolution Create plot 1 PI.Or MENU 1 1 1 as '1 above ENTER CODE: I PLOT as ENTER CODE: I<CR> 1 MENU above ., ~ -79 PROFILE ENTER AXIS. PARAMETER PARAMETER < 1> IS NO. NUMBER FOR 1. HORIZONTAL 11 ENTER PARAMETER VERTICAL I<CR> OR RESPONSE AXIS. - RESPONSE IS NO. I YINF I axis on hor1zontal FOR < 4> Function values (response) SET RANGES FOR PARAMETER DATA: COMPUTED MIN50.000000 COMPUTEO MAX70.000000 DO YOU WISH TO CHANGE THESE VALUES? Y,<N>? I<CR> ENTER MINIMUM 10 PLEASE ENTER MAXIMUM ENTER THE The higher val ues are ! Interesting; I SOS-100 PLEASE I PLOT and TITLE SLICE ON YINF. ENTER THE LABEL FOR THE HORIZONTAL TZERO fixed THE LABEL FOR THE VERTICAl at ! ! SUM OF SQUARES CHOOSE PLOT TYPE «0>-6) CHOOSE LINE TYPE (0-9 CHOOSE A <SMOOTH-O> AXIS ! ! I 11 14 opt.! AXIS YINF ENTER I K slIce not too stop at ! 1100 I ax Is 1 1 1 1 SET RANGES FOR FUNCTION VALUES: COMPUTED MIN3.9799163 COMPUTED MAX1301.0090 DO YOU WISH TO CHANGE THESE VALUES? Y,<N>? IY PLEASE on vertical ! <0>-solid OR JAGGED-l line) ! LINE ! - Line graph dashed with line,... I 0,11 I<CR> PLOT ENTER CODE: SIMPLEX smoothed. 1 See ! introduction, MENU I I as above results I ! ! ! ! ! ! Return ! MENU as above '1 I in Fig. to SIMPLEX 1.3 main -81 - ACKN(J.ILEDGEMENTS We would Computer Centre SIMPLEX package incentive. Most of the interrupt and us K1m the to the from give Pac1f1c 1ts special support. software capabilit1es were Hyatt. benef1t who of and was adv1ce wr1tten prov1ded and Laura improvement. grac1ously h1s critical to Stat1on. beginn1ngs. by adv1ce rece1ved both from We extend spec1al thanks John Jensen. suggest1ons for cred1t B1ological ear11est technical plott1ng programm1ng the project. Schwe1gert. numerous like at needed to by Donna Marc Hamer. R1chards. F1nally. prov1ded comments for He Marc and to Cra1g some on McK1nnell. Head of the h1s work on the act1ve prov1ded much produce Sweeney. We appreciate useful helped we are the thoughout Jake SIMPLEX and made to J1m Radz1ul data. and product. the Marshall Shelbourn. test grateful sample SIMPLEX of the f1nal wh1le the from Mar1l,Yn Clarke. John who both Sk1p th1s J1m report. also gave -82 REFERENCES Evans. J.W. and R.J. Nelder-Mead Kentucky. Technical Kalbfleisch. J. G. Mathematics York) J.C. and A. Report 130: and Dept. of Stuart. and 748 Dept. statistical 1979. The relationship. Compact inference University (lecture University advanced 4th numerical and R. theory Edition. methods Halsted Mead. 1965. Computer J. 0'Ne11l. R. 1971. Algor1thm procedure. Appl. Stat. R1cker, W. E. 1975. fish populat1ons. for Press. A 7: of notes for cf Waterloo. Waterloo. of statistics. Vol. MacMillan Publishing Co. ccxnputers: John linear Wiley and algebra Sons (New simplex AS 47, funct1on 20: 338-345. function us1ng a simplex of b1olog1cal 191: 382 p. stat1st1cs of 1980. A new approach to length-frequency Can. J. F1sh. Aquat. Sc1. 37:1337-1351. A new approach J. F1sh. Aquat. and S. ~Kinnell. surface analysis. for m1n1m1zat1on Computat1on and 1nterpretation Fish. Res. Board Can. Bull. and D. Fournier. growth stucture. 1983. Can. method 308-313. Schnute, J. 1982. A manual for easy non11near research w1th 1nteract1ve m1crocanputer Aquat. Sci. 1140: xvi + 115p. Schnute. J.. response a modified Statistics. 227p. J.A.. Schnute, J. method. using of 22p. Statistics. minimization. minimization. Schnute, J., analysis: maximization p. 1979. function York): Nelder. and Function procedure. (approx). Inference (New Nash. 250p M. 2. 1978. search Probability 233). Ontario. Kendall. Craig. simplex parameter programs. est1mat1on Can. Tech. to estimating populations Sci. 40: 2153-2169. 1984. Can. A biologically J. Fish. Aquat. by the in f1shery Rep. F1sh. renoval meaningful approach Sci. 41:936-953. Walmsley. D.A. 1981. The simplex method for minimization of function. Transport and Road Research Laboratory. Dept. and Dept. of Transport. Crowthorne. Berkshire. England. Supplementary Report 686: 9p. to a general of Environment TRRL -83 APPENDIX ALGORITHM DATA AUXILARY PARAMETERS perform AXIAL ...controls SEARCH to for the TERMS minimization procedure. (TEMPLATE simplex search a number of of the N lowest in particular) algorithm to points. common covariance COMMOM.FOR. simplex search ...used in UFUN and high point In to finds SIMPLEX. points subroutines minimizer. modified CONSTRAINTS of function the containing ...similar (1978) of values editor. COMM02.FOR OF a mlnimlln. convergence. value ...file includes user l\11en parameter COMMON. FOR operation in premature ...average average GlOSSARY tasks. ...performed check CENTROID the ...used special A. - of to the both MINSUM calculator. ~xcept refers wide minimizer to the simplex. and MINFUN; search. uses Evans etc. and Craig algorithm. TEMPLATE to restrict parameters to desired values. CONTRACTION ...Simplex CONTRACTION COEFF~t:IENT centroid; here ...dictates set at CONVERGENCE ...occurs some limit defined COVARIANCE MATRIX EDITOR ESTIMATES to ...of simplex from EXTENSION GLOBAL FIXED the grid PARAMETERS constant as HYPERSURFACE INTERRUPT ...a ...on minimization with C. a rest p.)fnt set all moves points of routine; of minimize moves across size of for points. toward tt,e the the par~eter the object simplex large are withfn what the sample estimates. function; centroid to point twice as far parameter of extension; bounds, here GLOBAL set SEARCH at 2.0. performs a a minimun. of are minimization, where scxne parameters user to are held minimized. systems, procedure point lowe..- ~oint. multidimensional some of data. ~ich ...variation the at matrix ...dete~ines search high covariance algorithm reflected ...Given or far centroid finds. high as COEFFICIENT SEARCH the par~eters ...Simplex towards value covariance algorithm centroid randcxn frum the -edit- search EXTENSION when function by the user. to ...used how in 0.5. ...output approximation moves .surface.. the to make capability changes. for On the the v ax, Interrupt Interrupt the Is achieved -84 LIKELIHOOD "' data, the given estimates are negative MINFUN MINSUM function that values of those describes the ~'.I - the par5neters, which probability MaxlmlJn maximize this of the llkehood function observed par5neter (or minimize Its logarithm), ...central progr~ wtllch minimizes user's ...central program which minimizes the UFUN. sum of TERMs In the user's TEMPLATE. MULTIPLE MINIMA ...condition points. This of can be a function indicatve of having a poor several model. nolsy local minimum data. or be dealt too little data. NON-LINEAR ESTIMATION ordinary OBJECT FUNCTION PARAMETERS function ...constants in ~ich variables the object of to ...a the for ~ich ~ are or set typically typically cannot trying with part of if the the are user by a minimlJn. for user); by which takes on auxiliary dependent estimated routine a paraneter obtain (except by Par~eters function to unknown known function. special object ~ich a model, are the object function. FUNCTIONS value estimation regression. ...the par~eters, PENALTY ...par~eter linedr minimizing assigns an a high undesirable value. POINT ...in this parameter values PROFILE of PLOT other object ...a of are ...The REFLECTION search and high poInt the ...If as one chosen algorithm point, space to defined high all par~eter is optimally can so find and varied for no points the restarts po1nt ax1al sImplex how search of that better are by N low and par~eter. points between toward the moved far fInds 1s tun1ng problems as outlined po1nt rema1n1ng s1mplex a better restarted a new the reflect1ng; procedure 1nd1cates fInds centroId when ...several contexts: The minimization method, (1971). algor1thm the ...controls h1gh the search, few correspond values search across COEFFICIENT from RESTARTS N-dimensional respectively. function simplex the in points simultaneously sImplex h1ghest away "low" point. REFLECTION the a point and function, plot centroid minim\ln SIMPLEX 1) the ...The the usually "High" par~eters REDUCTION a ma~l, values. here search set m1n1mlln fran w1th the the by Nelder oppos1te low algor1tl1n at fran poInts. steps 1.0. than new dId the po1nt. algor1tl1n and Mead sImplex More data. than -85 2) The gecxnetrlc to 3) entire SIMPLEX This LIMIT high STEP actual surface and ...part the of structure ~Ich Is including software manipulated along the function minimum. package. ...the low - value defining function the the values a1gorlthm for data. and maximum documentation. allowable difference between convergence. STEP defines the Initial size of the si:rlplex. STEP SIZE REDUCTON dfstances TEMPLATE FRACTION for ...the the file axfal fnto ...Multiplying STEP by the SSRF gives axfal search. which users can fnsert the code needed for applfcatfon. UFUN ...the user routine written by the user giving the object function. thefr -86 APPENDIX This sImplex appendIx gIves an B. SIMPLEX algorithmIc ITERATION description of one IteratIon search. INPUT/OUTPUT VARIABLES: SIMPLEX (N.N+l): Contains N+l points Updated VALUES (N+l): Contains simplex, that by N parameters. Is, Iteration. function values Updated during at each simplex Iteration. VARIABLES: CENTROID L. entire defined during point. INTERNAL the (N): Location of simplex Indices H: the centroid points. of the high respectively. CPRIME (N): CPVAL: CPP (N): CPPVAL: M: in Location of Function value Location of Function of and SIMPLEX the of the reflected the in VALUES. point. the of N lowest point. and extension points the low reflected value Number of point. point. extension SIMPLEX point. improved by CPRIME. PREDEFINED CONSTANTS: ALPHA. 1.0 BETA. 0.5 GA1.v.1A.2.0 reflection coefficient contraction/reduction extension coefficient coefficient SEARCH AlGORITtt1: 1) Find H, L. and High CENTROID: a) Find b) Compute CENTROID not included): DO I. 1, and Low N lowest in VALUES, points set (i.e. H and L. SIMPLEX(I,H) .0.0 N+1 CENTROID(I) END of points N CENTROID(I) DO J .1. END of .CE~tTROID(I) + SIMPLEX(I.J) DO CENTROID(I) DO .(CENTROID(I) -SIMPLEX(I.H)) / N is of the 1 -87 2) Reflection to DO I. Find CALL UFUN M, M .0 the 00 1-1 If DO M. N+l Find (CPVAL, then Improved new UFUN extension M -M point Is accept M > F1n,j 1 1 accept new point .CPPVAL new point (l...N,H) VALUE(H) is good. .CPRIME, .CPVAL Accept VALUE(H) reflection. .CPVAL contraction. point is (l...N,H) just OK. Perform .CPRIME, reflection VALUE(H) before .CPVAL point: N -(I-BETA) * SIMPLEX(I.H) * CENTROID(I) + 00 CALL UFUN (CPVAL. contraction SIMPLEX Else point, VALUE(H) .CPRIME, then I -1 TO CPRIME(I) EHD NF) reflected BETA , + reflection. contraction DO N, .CPP, (l...N,H) M .1, If reflection. excellent. CPP, improves contracting. SIMPLEX d) the N (l...N,H) attempt c) by (CPPVAL, If b) points NF) CALL SIMPLEX a) N, .GAMMA*CPRIME(I)+(l-GAMMA)*CENTRIOD(I) if Else of 1 TO S[MPLEX 6) CPVAL: N+1 I. Else Else CPRIME, number S[MPLEX 5) value CPP(I) END 00 If c) function extension. DO b) get (CPVAL.LT.VALUE(I)) END a) and .(l+ALPHA)*CENTROID(I)-ALPHA*SIMPLEX(I,H) TO IF 4) CPRIME, TO N CPRIME(I) DO END 3) 1 CPRIME. point (1...N.H) reduce entire CPVAL N. is lower -CPRIME. simplex. NF) than VALUE(H) find all VALUE(H). -CPVAL new values. DO J -1 TO N+l IF JOL THEN DO I -1 TO N SIMPLEX(I.J)END CALL BETA -(BETA- 1) * * 00 UFUN (VALUE(I).SIMPLEX(I.I).N.NF) SIMPLEX(I.J) SIMPLEX(I.L) accept. This appendix describes, in algorithmic form, the various choices available for plotting observations. predictions. explanatory variables. and residuals. These options are discussed generally in Section 5.2; they are available to MINSUM only. There are 5 main ~ssibilities: (1) V vs. X. (2) V vs. V, (3) X vs. X, (4) residuals vs. V, and (5) residuals vs. X. 1) V vs. X a) Select X subscript. if more than one X. b) Set X and V ranges. c) Input axis labels and title. d) Choose OBS. PRED. or quit (return to main, keep LOW RES: I)OBS: i) Choose 1) plot character; plot). 2) plot type (1-6). Create plot. return to d). II)PRED: i) Select: predictions at data ~ints or spread over range. ia) If (spreOO over range) then: set number of points on curve; set remaining X's. i1) Choose 1) plot character; 2) plot type (1-6). 111) If new prediction wanted, call editor to change para11eters; go to 1); else go to d). I)OBS: 1) Choose 1) plot type (0.2-6); 2) plot character. Return to d). II)PRED: 1) Select predictions at data ~ints or spreOO over ran<)e. 1a) If (spread over range) then: set number of ~ints on curve; set remaining X's. 11) Choose 1 plot type (0-6). 2 connect1ng l1ne, or 3 marker. 1i1) If new predict1on wanted. call ed1tor to change par5neters; go to i); else goto d). ii) HIGH RES: ! 2) y vs. y a) Choose y PRED or Y OBS for horizontal axis. b) Set range of Y's. Default is lowest of OBS and highest of OBS and PRED. c) Input title and axis labels. d) Plot Y OBS vs. Y PRED. LOW RES: I) Choose plotting character. Default II) Choose plot type (count or overprint). HIGH RES I) Choose marker. Default *. 11) Indicate if 45 degree line needed. e) Return to main menu. PRED to *. -90 3) X vs. X a) Select b) Select c) d) e) horizontal vertical X subscript X subscript - and range. and range. Input title and labels. Plot Xl vs. X2. LOW RES: I) Choose plotting character. II) Choose plot type (count HIGH RES I) Choose marker. Default Return to main menu. or *. Default overprint). *. 4) Residuals vs. y a) Select y PRED or y OOS. b) Set y range. c) Indicate if residuals should be nonnalized. d) Set residual range. e) Input title and labels. f) Plot residual vs. Y. LOW RES: I) Choose plotting character. Default *. II) Choose plot type (count or overprint). HIGH RES: I) Choose marker. Default *. g) Return to menu. 5) Residuals vs. X a) Select Xi. b) Set X range. c) Indicate if residuals should be nonnalized. d) Set residual range. e) Input title and labels. f) Plot residual vs. X. LOW RES: I) Choose plotting character. Default *. II) Choose plot type (count or overprint). HIGH RES: I) Choose marker. Default *. g) Return to menu. ~ Jon Schnute Department of Fisheries and Oceans Fisheries Research Branch Pacific Biological Station Nanaimo, British Columbia V9R SK6 December 1982 Canadian Technical and Report Aquatic Sciences December A MANUAL ESTIMATION FOR IN EASY FISHERY of Fisheries No.1140 1982 NONLINEAR PARAMETER RESEARCH WITH INTERACTIVE MICROCOMPUTER PROGRAMS by Jon Schnute (( .P7"'jc) Department of Fisheries Pacific Nanaimo, Fisheries Research Biological British Columbia 15"' and Oceans Branch Station v9R SK6 ~ -1.1.1. TABLE OF CONTENTS Page List of tables V1 List of figures VI. List of computer V11 listings Ab 5 t r ac t Vi i i Resume 1.X x Preface Preface I. 2. 3. to the second X11 edition 1 Introduction. The Extension. Reflection. Cont Reduction. simplex The Auxiliary Variables Tasks TRY TEMPLATE. First Second user r ac t (Figure level ion. program. level search parameters. (Table 7 9 9 9 9 method. rules. rules. 3.1) 10 3.1) 11 12 13 14 15 15 17 4. MICRO Input Tuning Simplex 5. SIMPLEX. 4.6. 2. 3. 5. 7. 1. PROFILE Data 21 data Maximum Required Printer Restart Console Convergence Initial swmnary entry. algorithm number display display point step standard check alone. reduction. and of code. code. deviation. calls. code. step. 21 24 24 24 24 24 26 30 30 30 32 -iv PROTECT. P, Prefix E, 6. 7. 8. S, PRO. L,. or 35 35 35 Q PREDICT. PROTECT. Data Prefix entry. PRED. Problems Additional 7.1 7.2 Multiple MULTIMIN GROW GROwrH Choosing REGRE 8.1 8.2 8.3 8.5 8.4 References. Appendix to watch PARS SS Arbitrary Bayes Analysis MINV1, Some Some Constrained Nonlinear A. minima. the possibilities. parameters parameters estimates. MINV2 Technical A.l A.2 A.3 A.4 A.6 A.5 Applesoft General RENUMBE Graphics HELLO. PROTECT. Daki Hard Compressed Computer Vector Data Applesoft TEMPLATE COMPUSHOP LENGTH for. of information equat right 36 39 39 42 42 42 43 parameters. v~riance problems. ions. held linear. fixed. 43 43 43 43 44 46 46 47 48 functions. requirements n copy files. 36 36 36 36 ~ ... 5 R DATA, list Appendix B. Version Appendix c. Worked requirements. CRUNCHER memory Station Toolkit graphics. Toolkit DATABASE.programs. 1.1 subrout and WEIGHT protection. files example Paper APA EDIT. ine DATA. . Tiger suggestions. software. .. 49 50 50 50 50 50 50 50 50 51 51 51 51 51 51 51 51 51 52 53 -v - Page Appendix GROW PREDICT. Dakin MICRO MINV2 PROTECT. TRY. TEMPLATE GROWTH. HELLO. MULTIMIN REGRESS. PROFILE. Dakin MINVl D. PARS. 55 SIMPLEX. Program VARIABLE LISTER. listings. CROSS REFERENCE 55 55 55 56 63 68 71O 83 85 87 9!0 97 10. 4 10 6 1110 11 3 -viii ABSTRACT Schnute, Jon. fishery Rep. 1982. research Fish. A manual for with interactive Aquat. Sci. 1140: easy nonlinear microcomputer xvi + 115 parameter estimation programs. Can. in Tech. p. This manual describes in detail how to solve many practical problems encountered in nonlinear parameter estimation. In addition, it presents software to aid the user with three tasks: (1) finding optimal parameter estimates, (2) plotting observations and model predictions, and (3) displaying graphically the variation in likelihood (or sum of squares) when the parameters are varied from their optimal estimates. This software is coded in BASIC for the Apple II microcomputer, and it is available 00 a suitable 5 1/4" diskette. or her heart In particular of Although cases, problem The simplex the discussion a simplex derivative-based human time emphasis many search ease of time. It also shows and how to apply it discussion literature, Key words: to be less how to in other adjust the simplex contexts besides is the known of process of linear minimization, microcomputers, likelihood, even il~ustrated methods purpose parametric software here BASIC code. for a function describes the development, the broad searching This manual program although with procedure is of can adapt the general just a few lines of minimum method efficient of with have this manual models, parameter function Apple fisheries the for is to estimation estimation, minimization, II microcomputer, models. of examples make the as BASIC, great fields. as the nonlinear simplex than fisheries many reader with the efficiency The from in his computer optimal estimation. application time of minimizing manual places expense method nonlinear numerous obvious of nonlinear regression. at to lies at completely. compute it has the considerable advantage ~oding a particular problem. The throughout The comfortable standard method here. methods, required for on the user by adding much simpler estimation, search, likelihood, maximum ~ -ix \-' RESUME I Schnute, Jon. fishery Rep. problemes De plus, 1982. research Fish. A manual for with interactive Aquat. Le present pratiques il presente Sci. 1140: easy nonlinear microcomputer xvi + 115 manuel decrit en detail recontres dans l'estimation le logiciel necessaire parameter estimation programs. Can. in Tech p. la maniere de resoudre plusieurs non lineaire des parametres. pour aider l'usager dans les trois taches suivantes: (1) la recherche OOs estimations optimales de parametres, (2) le tra9age des observations et des predictions de modeles, et (3) la visualisation graphique 00 la variation 00 la possibilite (au sqmme OOs carres) quand les parametres different de leurs estimations optimales. Ce logiciel est code en BASIC pour le micro-ordinateur Apple II et..il est disponible sur disquette appropriee de 5 1/4". Dans plusieurs cas, l'usager peut adapter le logiciel general a ses besoins particuliers en ajoutant quelques lignes en BASIC. Cette d'un minimum discussion. methode J:xJur route de recherche par temps sur considerable ordinateur que de minimiser transmission probleme. Le manuel vise meme aux depens du temps methode par transmission maximale non line d'ouvrages d'autres beaucoup Mots-cles: unidirectionnelle constitue est decrite la partie dans le unidirectionnelle les le sur les utilise elle doit la recherche de la Quoique mains methodes a base derivee, temps qu'une personne surtout a faciliter sur ordinateur. unidirectionnelle peches, pour principale manuel. la efficacement le a l'avantage passer ~ coder un l'elaboration de programmes, 11 mantre aussi comment ajuster pour obtenir une efficacite et comment l'appliquer dans des contextes aires. route la discussion est illustree mais les methodes ce manuel est autres que de nombreux peuvent la les estimations exemples tires evidemment s'appliquer a domaines. Le procede transmission la fonction la methode but general d'estimation plus simple modeles lineaire, non de de lineaire regression parametriques, minimisation unidirectionnelle, BASIC, probabilite, autant de familiariser qu'avec la le procedure lecteur avec le classique lineaire. estimation de fonction, micro-ordinateurs, probabilite de parametre, recherche pqr micro-ordinateur maxima~e, modeles estimation transmission de Apple peche. non II, -x PREFACE Fisheries literature of analyses based on nonlinear been authored or co-authored III paper, I've been left the ideas into practice. parameter parametric estimates models the likelihood optimized. If not Which require the feeling actually just linear translate tHe user appropriate that, no be attempted microcomputers like nonlinear are readily to a computer to program an information smallanalysis. to medium-sized The ease of the highly inconveniences, portable hardware information matter how the problems program of errors, with an for any user programs prove with described useful computers to simply The as easy nonlinear in it for a single does as operation performs, 'errors. can be at variety an Apple I particularly fishery intent management visible and (3) of this occur BASIC example, with one to take it some methods. a large numerical on many of the immediate the for small systems Department of there are diskette, that developing he or looks, in fishery data helps compensate Also, these the Canadian hope in report enough providing so needs such Extra conditions, added easily. The is to to estimate ones, where I propose to the practitioner's the user function, II it's now several Apple makes it possible advantage programs countries some have of here Where all the might large available. practitioner as in linear step. much of specified techniques to here. aren't the models Essentially, information access as effort. environment for perform acceptably like slow operation. and software. In a to put the Nonlinear such not, then analysis technology pose required optimization which commonly development in Fisheries and Oceans, Pacific Region, for II microcomputers. This report, together program. function, If the enormous perfect they can able for Which must then be this process, then function. interesting in microcomputing implementing the hardly estimation, an increasing number of these papers have participated in such how easily readers might be models, one can give formulas without Current developments possibilities for remarkable While project wondering For years includes models. Some Each time I've or a sum of squared model the reader feels comfortable enough to specify she may be left could in recent parametric by myself. that easy achieve present a tool parameters ordinary which this by (I) tailoring work as possible, (2) he or she can see clearly graphics display to assess to supply only a program as (but not necessarily) such as parameter tool readily allows makes it in IOOderate-sized regression gives a constraints selected almost the the tool rendering answer so its that how the tool the outcome. to calculate the sum of squares of or Bayesian parameters to model priors, be fixed values. The for good underlying function algorithms methods minimization employed have exist FORTRAN in here been to do certainly studied are not extensively, the effectively job new. and on a General a large -XI. ~~{ ;l~ computer. :," by Nelder i This report employs and Mead (1965) .The more flexible counterpart and much more (O'Neill, 1971). experience over is or totally of problems optimal discussion I The writing Since ef£icient a year or resource: in BASIC a Data General with about 9000 programs and the In Station, enlarged of handy patience. half-an-hour, especially here may Sometimes or just letting hours computer a This files for do the report was work the on the suggestions, on the best large along that in file even mind, a few has involves Literature tailoring to and at the routines to to more than five on the poorly with more than four to 15. It's partly a up be left overnight, alone while possible proposals on system diskette, in Appendix A. diskette, is discussed. a complete I emphasize and £or the for it ease run-time. searches of for program If a model minutes. SIMPLEX appear 1.1 operated exclusively to the user £or then it can easily be tried, even if it a while. On the other hand, if a model then it may not be tried, even if the programs version £or available workspace, with graphics In a research context, more important than computer work only regard. performs with even reasons. not .(as computing almost essential available when the model quite slowly. or program graphics) were originally microcomputer became available In the context 0£ computing a very form, computer hours, describes this report where each versions, and possibly these possibilities in corrections, run the several and with the MICRO system requirements available my in few minutes to program, the computer work for or days of programming, could 48K memory details on method the any peculiar 1976, does interactive and use is 2 microcomputer which is in central memory available capabilities optimal parameter estimates. development is often much takes means needs began that welcome improvement. commonly states that it have used it successfully I imply this project for some rather where I have worked since this felt like to their present some cases, the programs simplex algorithm parameters, but matter simplex not proposed somewhat referenced FORTRAN on my practical gratefully and the programs here (wihout Nova 2. Later, an Apple II user space of 36000 bytes. Apple's parameters, does would for I Nova bytes The these contraints, developed for the with an e£fective This I originally here is commonly is based 1981) have a full-scale program development estimation, data. than its version a half. and involved in Station, nonlinear exploit and suggestions in early interactive the Biological programs were interactive The current error-free, became Biological Pacific 0£ this system. about the simplex search method BASIC algorithm developed together the Apple II Plus Version Appendix 1.1. B lists with sections the with Further the I anticipate future enhanced FORTRAN counterpart. Naturally, again that I ~uld welcome all for future software design. Jon Schnute Pacific Biological April, 1981 Station of with user -X 11 PREFACE TO THE SECOND EDITION except (Schnute for Strictly speaking, this document never appeared in a fir$t edition, some preprints given to a few trial users. A paper of mine 1981) refers to this manual as "Can. Spec. Publ. Fish. Aqu..at. Sci. (in press)". Technical Special Indeed, although Report series, the Publications series. r~view, the referee and additions. As wish I had time to Unfortunately, takes priority. did not I explain produce methods here, series so without to address active use discussion I I speci~ic almost (underlined), 1. that a ver make this job formula gives 2. subset The almost as the answer PASCAL here, s to practitioners to make also find available in changes and of it. continually since the value the the a requests from several for this paper based to find the programs may them to seek without significant some of the criticism that dealt with all ,which should can easy in be except stem it the user continually reasonably solved my reply. the roblem be of model case Just applied, matter of of as in only of the Technical so too selecting Report discussion have been written in a higher rather than BASI~. to but true. subroutines. worry it APPLE useless in , , (four-byte) The about can't PASCAL be most All suffers this context. precision, models apprpopriate level names. from with section annoying variables completely fit regression, which depend in variable and tin . is to document a technology that the user has defined estimates. I'm trying to can limited that's true selection linear models some compiled, here, Unfortuntely, 1n the step. for has it awkward and even supports only single as one wrongly The In principle, doesn't support that of with The whole point of this manual estimates easily. I assume and simply wants to find the parameters can enter nonlinearly. addressed many together agree. parameter properly getting problem their which decided 59 the delay. small I for the editor for instead In order to clarify this manual's purpose and limitations, I'd like the referee's main comments here. Readers interested in making of this material will do well to take a few minutes to follow the below. In each case I give a short paraphrase of the referee's comment is written submit it problems of fishery management a year and a half has gone by decided further the I have had dozens of owners in remote places) (1981), and I continue believe have when originally that I recommend publication below, I agree with a manual and software first edition was completed. countries (including APPLE on its reference in Schnute use. manual was requested However, research on MeanWhile, considerable the editor where a linearly on parameters models isn't 7. language, like feature of are global That APPLE BASIC is so that problem is circumvented. serious flaws The fatal flaw is and that just isn't which render that it enough for -X1.11. it:~ ! 1:1 ~,! 0 "cc' most practical fishery system is conceptually Debugging is a serious PASCAL imposes on the in hardware rather and large estimation problems. elegant on the APPLE problem compared with user significant extra software. audience The of Also, although the operating II, it's slow and awkward to use. APPLE BASIC. Finally, APPLE costs (at least for the APPLE II) material here II without APPLE users is primarily intended a particularly for the enhanced system. In contrast and that precision, language runs there are now programs, after the speed of "compiled" code is interpretively, several good debugging, compiled ("P-code"), because isn't without too system. to put will 3. the much made Mar same way Furthermore. as biologis_~~ higher for here for the the simplex the detailed BASIC varieS the than works been than that on ly to of machine well language. on the converted considerably so-called Pseudo-machine to APPLE II, it VAX BASIC from system to is FORTRAN~ and plans are underway language. When this is done, it of have similar of the non-APPLE been im users. lemented simplicit sim lex to method in exactl the isn't the user. necessar for . main convenience Whicht consequentlyt commentt he different (happily people. The or unhappily) instances required where biologists for gradient-based by clearly using thought the Another understand complicated of the simplex method is that doesn't require the user methods want to know of the derivatives. of trouble often the ist ends biologist simplex nice come Figure terms with code is downhillt that referee made his programmer as that the programs. two biologist I know complex labor could of derivatives have been method. feature won't are the days calculating and this whole of the how it works. Gradient-based analysis, while the simplex who and it is a direct to compute or which way When the in my experiencet up writing his own have spent methodst be that the biologist there will be some robust: sometimes deciding here portability into that could greater compiled has five-byte Since easy to debug. Furthermore, on the market, so that run at high speed. In fact, language It method. with discussion Gradient-based depend on a knowledge to is implemented with practical problems. is convenience method derivatives. ist they spared level but language software II actually presented difficulty~ gradient The method search APPLE is transportable. available uardt's the software easily The ideal much of the be on PASCAL a slightly Although APPLE BASIC enough for it is remarkably compilers available can be compiled and BASIC PASCAL, certainly with PASCAL, usually just really sufficiently care simplex method is that it's easy to methods are motivated by some method is entirely geometric. to follow curious the details, that they read but I section rather It may hope 2 and 2.1. The simplex method has the added advantage that it is reasonably sooner or later it usually finds a minimum. Gradient methods fail for rather mysterious reasons and leave the user helpless what to do next. This rarely happens with the simplex method, in and -X1.V users be who able problem; down have to see when taken the it converge. get in The the to trouble particular biggest nUmber the eventually so the Readers interested excellent comparisons wrote this readable among manual description methods. originally, algorithms. candidate for fisheries so that His variable a general estimation practical how it includes wrks will detailed sunmary" on page the simplex method becomes large. I method does 4 almost always discussion of this 30. is that it tends to bog have run this software successfully, although sometimes slowly. My let the computer spend some extra time than derivatives. Still there is no question that a gradient-based however, understand "tuning drawback of of parameters with 15 and even 20 parameters philosophy is that I'd rather devote my own time to coding diminish, to Section becomes need in to essential. employ studying other method method computing costs method. minimization in Nash (1979), If I had known that I would have cast metric gradient As a gradient methods will find along with some interesting Nash's book existed when I parts of the coding around (Algorithm on a small 21) would computer. his be an excellent Incidentally, problems frequently cannot be reduced to least squares, software must be capable of finding minima of arbitrary functions. 4. No provision .~ est1.mates. parameter software is easy The the is made for calculating the variance-covariance matrix That's true. Again, the main purpose of this manual is to to find the estimates themselves. However, this additional to implement, and software to do so will be included in future referee matrix suggests of second using partial Newton's divided difference derivatives {also called method to the Hessian) of provide feature work. approximate of the negative log-likelihood at its minimum. The inverse of this matrix approximates the covariance matrix of parameters. To the reader who isn't familiar with ali this terminology, that may sound like an imposing task, it requires only a few lines of code, once the function itself has already been 5. coded ~~~ context. ~sed. main for use simplex ma~~_~~.~~~e~~~~~~~~~~~e Pivoting point with'the This of --- isn is an section t enter linearly, they function calculation. can be This potentially a great simplex gradient disputes leads method inverting operating method is my pivoting isn't and secondly to this ~s.~~~ Choleski op~~~~! decomposition comment; however, idea there is that improvement this operating on sledge hammer of ~.~. the it if fashion the full approach in the matrix decomposition kind. in The can set to as of part the of each problem, Recent work be more efficient much inversion, is known shows What the First in 8.3 will the and that than as suggested in to be the optimal described be detract from the parameters speed. of parameters. linear regression. methods should shouldn't some of found by linear regression reduces the dimensionality in necessary the Choleski matrices and excellent 8.3 The but algorithm. ~n.s~~~ig~ needed, the the a referee of all, section method 8.3, of work; they ~ I -xv just aren't method 6. optimal. The (Algorithm The s 7) stem book for doesn't by Nash Choleski permit (1979) cited above gives a compact decomposition. wei hted residuals in cam. the sum of ~ function !-quares_~ That's .i~ ;t:,;l:,." .;l:~ note fish ;4fi$ ~! ~' not strictly true. Since the system permits be minimized, in particular it allows for a weighted it is true that the module TEMPLATE for the particular doesn't include the possibility of variable weights. that the at various there is age. The justification correct the population differently, for procedure not demonstration problems for of weighting depends growth curve. because that problem practical of squares. However, case of sums of squares A sensitive reader will data used in the example of section 1 represent mean ages. These means come from samples of differ~sizes, SQme I have is the the the on the estimation, residuals model, Once not on ;is, this complete at on weight rather again, the lengths differently that chosen not to only way, but software. to s~ how one of and each defines the residuals to obtain a simple is on a manual science of the model building. 7. There is no provision It is certainly for residual plots, as re uired for valid model selectl.on. whether behavior point A made fully but true or not the model of the residuals that this manual integrated this system document that residual is of doesn't directed at software attempt such This of linear manual but I hope estimation mathematics and Although building, and skill. It may be model works, in be practitioner problem estimation can it certainly isn't As the referee used iteratively: it, pro.per freed and model to in problem building deciding fact, strange I repeat the would of estimation. be valuable, project. biologists They the who are may feel parameters here that understood troubled enter there are completely by comfortable the the with model straightforward without sophisticated ease. here to give If the process is of with modify some detail involved. when useful Remarks for helpless be limited ambitious estimation. to demonstrate which can be used model thought way. intended parameter regression, nonlinearly. methods of is nonlinear to model an can to the data. In modify the model. the for ConclOOing problem plots is really appropriate can suggest ways devote design.. the most always points estimate estimate the of be again. reader at est.imation his or her technically difficult problem the part that requires out, this is only one the parameters, see I have least itself creative included a glimpse can be powers of the most step of the how well the referee's remarks of what else might made easy enough, the to the deeper ~ To my apologies those for who have waited for months to receive Schnute Pacific Nanaimo, Biological B.C. Canada November, Il,il ~I i! , ; i I , ;'I I'i "I I' I", ' 11! I , l .i! 'I I :' i ii I f 1 !; manual, the delay.: Jon Ii this 1982 Station V9R SK6 I extend 2. THE SIMPLEX SEARCH METHOD From the previous section it is clear that a key purpose of the software here is to minimize a function F of several, say N, variables. (In the example above, F is the criterion function S or S*, and N is 3.) There are many known algorithms designed for this purpose, and the most efficient ones require the user to code the derivatives of F, as well as F itself. Other algorithms, called direct search methods, require information on F alone. The simplex method is a direct search method, and the Preface to this report gives some background on my reasons for choosing it. If the practitioner wants to minimize programming ~, as opposed to computer ~ _tt~e., then a direct search method is perhaps the best. Users will have to judge from practical operation whether or not this software meets their particular needs. The simplex method was first conceived by Spendley, Hext, and Himsworth (1962) primarily as a technique for designing experiments to locate points of optimal response for a system being actively measured. Later, Nelder and Mead (1965) pointed out that the method could also be implemented as a computer search. O'Neill (1971) formalized the procedure into a computer FORTRAN algorithm, and the BASIC software here is a variation of O'Neill's algorithm designed for greater flexibility and interactive input/output. A N + 1 faces. simplex When in N dimensions N = 2, the simplex 3 sides. N = 3, is it polyhedron a triangle, verti~es and tetrahedron involves simplex. with 4 vertices and 4 triangular inspecting the values of the function In order to minimize F, the vertex rejected remaining in favor N vertices of When is some new point. defines a new is a This simplex, with N + which, triangular 1 vertices of course, pyramid, that and has is, faces. The simplex search Fat the N + 1 vertices with the highest value of new point, and the together procedure 3 a method of a F is with the continues by iteration. Figure ABC at represents C. 2.1 illustrates a two-dimensional the process simplex on when which N = 2. F is Here lowest the at triangle A and highest Symbolically, F(A) < F(B) < F(C). Since F is highest at C, the idea is to move away from C towards the line AB on which F is lower, at least at the end points. This is done by the process of reflection (Figure 2.1, diagram 1) in which a new point C' is determined as the mirror image of C across the line AB. The point c' is defined so that the lines CC' and AB both have midpoint D. Hopefully, the value of F is lower at C' than at C. Indeed, one can simply count the number of original simplex points A, B, C which have higher F-values than the new point C'. Call this number M. By definition of M, the B . ./ ~\\\ \ c' .. .:;...C' ~ function the value possibilities: points value F(C') at the reflected point C' improves, i.e. , is lower than, of Fat M points on the original simplex ABC. There are four M is 0, 1, 2, or 3. The next action taken depends on M. Case 1: M = 3. In the original simplex. on found so therefore t gives F(C") to C' C" is in diagram lower than give a new is accepted process is called the ABC" .This a new simplex M = 0. If The reflected simplex midpoint ABC. D on diagram Hopefully F(C' In the ') is C, then drastic the whole simplex ADC' , , is half called reduction Case 3: original point the reflection have would the property just undo This would attempted process be at is to the this wasted of Case In lower the best is actually than This generalized F(C), regarded as once case It 1), the might but think the low at which represents the centroid a reflected this is any vertex the on to move from C This gives C' , in small instead contraction that obtain the in is, step has been if is simplex and high F takes a face C" to Cdiagram improves C' , the ADC"' the simplest the accept ABC' would 4) then C'. is the algorithm Cdiagram case. has been N. In face. The good (since reflection Incidentally, step will performs 6), analogous new point C' it doesn't (diagram notice take place is improve 1) in which that B is in the new AC'. set the in two original points; however, let values between F(A) of the N-dimensional this improves 2. B across arbitrary to C" C' simply new simplex the next iteration mirror image of Otherwise new case This of point seem.appropriate ahead. The -contraction. description to since then than required. The decision is then made to the lowest point A. Each side of the new of its original counterpart, and the process reflecting whole at again denote N-l vertices Fig. 2.1 now by point is so M = 2. defined the the the lower points A and B. If so, then ABC' , (diagram 3) , and the process is quirk in the topography, C' , doesn't good (since it improves Band C) but not v~ry A). Consequently, the algorithm proceeds with C' is accepted to give the new simplex ABC'. now the high point on the simplex, so the next direction possible, worse highest at C'; consequently give the old point C as the reduction 4. case the choice is made AB, but only half-way. successful, to either accepted is 1). this reflection -reduction process 1. F is one to If F is 5). effort, once. C' , It This extension. Otherwise, and, as mentioned above, this line no other. diagram that called reflection M = C, but Cas in called ABC' , C towards new simplex some weird (diagram C' has been very productive. by, say, the distance DC'. 1 is C' action towards the size C' improves all lowest value of the case point is taken from the highest point C" is accepted to give the called contraction. If, by improve shrink simplex is point gives There are two possibilites: so, then the new point (diagram the original towards the 3. to step Figure 2.1. or not. If reflection 2: case the reflected Thus the point C' step this extend 2 of F(C') simplex to give Case possible. worst Ilf1 ~\ ~ ;,~ far; consequently, reasonable to this The reflected dimensions, simplex B represent and F(C). simplex, point but ABC, let it can A and the remain~n'~ The line AB 1.n and D can be , C' is defined ,bf be C reflection points of the of C across in the original N + 1 values 0, Case D, exactly as simplex which 1, ..., N. before. Again let M denote the are improved by c'. Then M can The four cases to consider are: 1 M = N. This case is the best 2. M = This case is the worst possible, and it number of take any might lead to extension. Case I~I contraction or deceptive, even because midpoints of reflection the the Case 0. reduction. centroid lines 3. from M = This or interpretation Dof A to I. -contraction needs Incidentally, 3. face vertices is and 5 is the leads 5 from is the to slightly N-l B. as in it diagram bad, and it -reduction. diagram This N>2, AB differs almost reflection to < M < N. the N-l case even similar Case the possible, when the leads When N>2, reduction step. case, leading average to diagram 6 to reflection. The software presented of M, the action taken the value low simplex values. extensions, because it :~I Typically, reflections, first finds the contractions, successful forced into discovered. a reduced scale The practitioner process, into as a TV show. To may go still seems linked be moves back the ability the resulting through directions herself or algorithm at to cycles to extensions. exploits them, successful himself the and model and the data. during the search. further during a with program problem. minimized, (II) the (1.1), here (1.2), requires locates interface write particular to new find Watching 3. must and directions, option and is For example, These are This then occurs is this not a bad the parameters ones which the and of can be drawn into work exhibit high way rather quickly, while the algorithm continues to make larger to others. Even covariances become somewhat evident. It's quite see the algorithm consistently adjust one parameter upward whenever another parameter in some particular direction, up or down. The sensitive user whose behavior user algorithm before may to learn something about the best determined become evident stabilize adjustments common to it adjusts here has as an on each iteration, function minima, the as which or (1.3). information references USE R PROGRAM general software rather this the sum defines whole groups of for lower F-values. THE (usually Typically, such and detect the search of the described short) involved squares model, which two Sin such the function (I) this describes (1.4) as one to be manual, his functions: Each of the three major software ~bout one of these functions. only in parameters (I) or S* of the in or the (1.8), growth the her function and models packages discussed MICRO SIMPLEX, which minimized. Similarly 49 REFERENCES Iton, H. T., and size Can. J. J. c. and D. 1979. function York): , 11, A., , ion. R. 1971. w. Jon J"' of .Mead. 1965. J'. Algorithm w. , Technometrics G. for Press, Influence returns at computers: John A simplex 20: of linear Wiley time maturity. and algebra Sons (New A David R. 4: and Aquat. and 441-461. interpretation Sci. Can. F. function using W. optimisation A new Hims~rth. and Bull. with To J. of Can. model 1980. Fournier. structure. in for minimization Board growth Fish. Hext, designs function Res. versatile J. method a simplex 338-345. Fish. growth simplex 1981. on 308-313. AS 47, Stat. Can and Schnute. salmon methods 7: Computation 1981. analysis: T. coho appear. Halsted Computer R 1975. parameters. J. numerical populations. .Jon. , and juvenile Sci. To p. Appl. E. fish of Compact and imizat procedure. of Alderdice, minimization. 227 J. min F. of release Fish. Aquat. Fish. biological 191: 382 statistically statistics p. stable appear. approach Aquat. 1962. evolutionary to length-frequency Sci. 37: Sequential operation. 1337-1351. application