📄 readme
字号:
A MATLAB Library of Test Functions for Unconstrained Optimization Chaya Gurwitz, Livia Klein, and Madhu LambaThe More, Garbow and Hillstrom collection of test functions is widely usedin testing unconstrained optimization software. The code for these problemsis available in Fortran from the netlib software archives.The Fortran routines can be accessed from MATLAB code. However, we have found debugging to be easier if the test functions are coded in MATLAB. Accordingly,we have "translated" the collection of Fortran code into MATLAB.This work was done by two undergraduate students at Brooklyn College,Livia Klein and Madhu Lamba, under the supervision of Chaya Gurwitz.Reports of bugs, or comments, should be sent to gurwitz@sci.brooklyn.cuny.edu.Problem function files-----------------------The following files are available (note that the file names are the same asthose used in the Fortran library, with the .m extension in place of .f):PROB 1 : ROSENBROCK [rose.m]PROB 2 : FREUDENSTEIN AND ROTH [froth.m]PROB 3 : POWELL BADLY SCALED [badscp.m]PROB 4 : BROWN BADLY SCALED [badscb.m]PROB 5 : BEALE [beale.m]PROB 6 : JENRICH AND SAMPSON [jensam.m]PROB 7 : HELICAL VALLEY [helix.m] PROB 8 : BARD [bard.m ]PROB 9 : GAUSSIAN [gauss.m]PROB 10: MEYER [meyer.m]PROB 11: GULF RESEARCH AND DEVELOPMENT [gulf.m ]PROB 12: BOX 3- DIMENSIONAL [box.m ]PROB 13: POWELL SINGULAR [sing.m]PROB 14: WOOD [wood.m]PROB 15: KOWALIK AND OSBOME [kowosb.m]PROB 16: BROWN AND DENNIS [bd.m]PROB 17: OSBORNE 1 [osb1.m]PROB 18: BIGGS [biggs.m]PROB 19: OSBORNE 2 [osb2.m]PROB 20: WATSON [watson.m]PROB 21: EXTENDED RESENBROCK [rosex.m]PROB 22: EXTENDED POWELL SINGULAR [singx.m]PROB 23: PENALTY 1 [pen1]PROB 24: PENALTY 2 [pen2]PROB 25: VARIABLY DIMENSIONAL [vardim.m] PROB 26: TRIGONOMETRIC [trig.m]PROB 27: BROWN ALMOST LINEAR [almost.m]PROB 28: DISCRETE BOUNDARY VALUE [bv.m]PROB 29: DISCRETE INTEGRAL EQUATION [ie.m]PROB 30: BROYDEN TRIDIAGONAL [trid.m]PROB 31: BROYDEN BANDED [band.m]PROB 32: LINEAR - FULL RANK [lin.m]PROB 33: LINEAR - RANK 1 [lin1.m]PROB 34: LINEAR - RANK 1 W/0 COL & ROWS [lin0.m]The MATLAB "help" command for each file supplies the calling sequence, problem number, problem dimensions, standard starting point, and minimizer.The calling sequence differs from the Fortran calling sequence, since parameter passing is different in MATLAB. For a given function, thecalling sequence is [fvec, J] = func (n,m,x,option)where fvec is the vector (f1(x), f2(x), ... fm(x))T, and J is the Jacobianmatrix [ partial f1(x) ] ----------------- i=1,..,m , j=1, ..., n [ partial xj ]option =1 will set fvec only 2 will set J only 3 will set both fvec and JThe function "problems" lists the name and some information associated with the given problem number. e.g. problems(1) displaysNo. file n m Name--- ---- - - ----# 1. ROSE 2 2 RosenbrockInterface files---------------The following files provide an interface from a test program to any of theproblem files:1) initf.m function [n,m,x0] = initf(nprob)returns the dimensions and standard starting point for the given problem number2) initpt.m function [n,m,x] = initpt(nprob, factor)sets the dimensions and the starting point, by scaling the standardstarting point by the factor supplied. (This is analagous to the INITPTsubroutine in the Fortran library)3) objfcn.m function f = objfcn(n,m,x,nprob)analogous to the Fortran function OBJFCN; returns the objective functionf(x) = sum from {i=1} to m ( fi (x) ^2 )3) grdfcn.m function g = grdfcn(n,m,x,nprob)analogous to the Fortran GRDFCN; returns the gradient vector.4) vecfcn.m function fvec = vecfcn(n,m,x,nprob)analogous to the Fortran VECFCN; returns the vector (f1(x), f2(x).... fm(x))T5) vecjac.m function J = vecjac(n,m,x,nprob)analogous to the Fortran VECJAC; returns the Jacobian matrix.6) func.m [fvec,J] = func(n,m,x,nprob,option)used internally by objfcn,grdfcn,vecfcn,vecjac to access the appropiatetest function file with the appropriate option.Testing information-------------------These functions were tested by running MATLAB 4.2.c with 1) the MATLAB Optimization Toolbox (on a 486 PC) 2) the shareware UMSOLVE package developed by Rick Behrens (on a SUN Sparc10)In both cases, the functions were tested both with user-suppliedgradients and without. Default settings were used, if possible. In somecases, the default settings had to be changed in order to reach the solution.Comments on the test results are provided in the file status.m
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -