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.

Return to the Beginning