Trailing-Edge
-
PDP-10 Archives
-
decus_20tap2_198111
-
decus/20-0026/fmfp.doc
There are 2 other files named fmfp.doc in the archive. Click here to see a list.
SUBROUTINE FMFP
PURPOSE
TO FIND A LOCAL MINIMUM OF A FUNCTION OF SEVERAL VARIABLES
BY THE METHOD OF FLETCHER AND POWELL
USAGE
CALL FMFP(FUNCT,N,X,F,G,EST,EPS,LIMIT,IER,H)
DESCRIPTION OF PARAMETERS
FUNCT - USER-WRITTEN SUBROUTINE CONCERNING THE FUNCTION TO
BE MINIMIZED. IT MUST BE OF THE FORM
SUBROUTINE FUNCT(N,ARG,VAL,GRAD)
AND MUST SERVE THE FOLLOWING PURPOSE
FOR EACH N-DIMENSIONAL ARGUMENT VECTOR ARG,
FUNCTION VALUE AND GRADIENT VECTOR MUST BE COMPUTED
AND, ON RETURN, STORED IN VAL AND GRAD RESPECTIVELY
N - NUMBER OF VARIABLES
X - VECTOR OF DIMENSION N CONTAINING THE INITIAL
ARGUMENT WHERE THE ITERATION STARTS. ON RETURN,
X HOLDS THE ARGUMENT CORRESPONDING TO THE
COMPUTED MINIMUM FUNCTION VALUE
F - SINGLE VARIABLE CONTAINING THE MINIMUM FUNCTION
VALUE ON RETURN, I.E. F=F(X).
G - VECTOR OF DIMENSION N CONTAINING THE GRADIENT
VECTOR CORRESPONDING TO THE MINIMUM ON RETURN,
I.E. G=G(X).
EST - IS AN ESTIMATE OF THE MINIMUM FUNCTION VALUE.
EPS - TESTVALUE REPRESENTING THE EXPECTED ABSOLUTE ERROR.
A REASONABLE CHOICE IS 10**(-6), I.E.
SOMEWHAT GREATER THAN 10**(-D), WHERE D IS THE
NUMBER OF SIGNIFICANT DIGITS IN FLOATING POINT
REPRESENTATION.
LIMIT - MAXIMUM NUMBER OF ITERATIONS.
IER - ERROR PARAMETER
IER = 0 MEANS CONVERGENCE WAS OBTAINED
IER = 1 MEANS NO CONVERGENCE IN LIMIT ITERATIONS
IER =-1 MEANS ERRORS IN GRADIENT CALCULATION
IER = 2 MEANS LINEAR SEARCH TECHNIQUE INDICATES
IT IS LIKELY THAT THERE EXISTS NO MINIMUM.
H - WORKING STORAGE OF DIMENSION N*(N+7)/2.
REMARKS
I) THE SUBROUTINE NAME REPLACING THE DUMMY ARGUMENT FUNCT
MUST BE DECLARED AS EXTERNAL IN THE CALLING PROGRAM.
II) IER IS SET TO 2 IF , STEPPING IN ONE OF THE COMPUTED
DIRECTIONS, THE FUNCTION WILL NEVER INCREASE WITHIN
A TOLERABLE RANGE OF ARGUMENT.
IER = 2 MAY OCCUR ALSO IF THE INTERVAL WHERE F
INCREASES IS SMALL AND THE INITIAL ARGUMENT WAS
RELATIVELY FAR AWAY FROM THE MINIMUM SUCH THAT THE
MINIMUM WAS OVERLEAPED. THIS IS DUE TO THE SEARCH
TECHNIQUE WHICH DOUBLES THE STEPSIZE UNTIL A POINT
IS FOUND WHERE THE FUNCTION INCREASES.
SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
FUNCT
METHOD
THE METHOD IS DESCRIBED IN THE FOLLOWING ARTICLE
R. FLETCHER AND M.J.D. POWELL, A RAPID DESCENT METHOD FOR
MINIMIZATION,
COMPUTER JOURNAL VOL.6, ISS. 2, 1963, PP.163-168.