SECTION 9.
SSVM
For description of the algorithm see S.S. Oren and D.G. Luenberger "Self Scaling Variable Metric Algorithms, Part I," Management Science, 20 (1974), and S.S. Oren, "Self Scaling Variable Metric Algorithms, Part II," Management Science, 20 (1974),
STORAGE REQUIREMENTS
NQ =i2 = 2*NP*NP + 10*NP
TERMINATION FLAGS
IER = Greater than 0 if optimum is achieved
IER = 3 Function value is accurate to relative ACC
IER = 2 NORM of gradient is less than ACC
IER = 1 Attempted step size is less than ACC (relatively)
IER = -1 Iteration limit exceeded
IER = -2 Function error in FP
IER = -3 Input error
IER = -4 Not enough scratch storage
IER = -9 Function error in first call of FUNC
IER =-39 Linesearch failed
IER =-40 Function error at new point after ILOOP shrinkages
IER =-41 Error in PQ or DEN1 or DEN2
IER =-42 Function error after resetting H-matrix
SECTION 9.1 OPTIONS
Besides the general options, the following are available.
COMMON/BSSVM1/THETAA,PHII,SHRIP1,SHRIP2,EPSS
THETAA = Used in updating the H-matrix (Default=0.25)
PHII = Used in updating the H-matrix (Default=0.5)
SHRIP1 = Shrinkage factor in linear search (Default=0.2)
SHRIP2 = Expansion factor in linear search (Default=2.0)
EPSS = Used in linear search. Must be greater than 0.0 and less
than 0.5 (Default=0.05)
COMMON/BFIDIF/FDFRAC,FDMIN
FDFRAC = Fraction of X(I) over which finite differences of the
function are taken for numerical derivatives (.0001 to .001)
(Default=0.0001)
FDMIN = Minimum acceptable value of FDFRAC*X(I). The equation
used is E = MAX (ABS(X(I)*FDFRAC),FDMIN). (Default=1.D-6)
COMMON/BOPT/IVER,LT,IFP,ISP,NLOOP,IST,ILOOP
IFP = 1 if symmetric first derivatives are desired
IFP = 2 if simple first derivatives are desired
ILOOP = Controls the number of times step shrinkages are
undertaken if function errors are encountered. Normally not to be
reset by users
Note:The other parameters in COMMON/BOPT/... are not used in SSVM.
SECTION 9.2 ANALYTIC DERIVATIVES
If the user wishes to employ analytic first derivatives, he must evaluate these in a subroutine FPP(X,NP,F,FPD,FUNC) as described in Section 1.6. Note that for purposes of SSVM the name of the subroutine must be FPP and not FP as for the other algorithms requiring derivatives.