Optimization
From Zori Wiki
<Walk>
<Simulation>
<WalkType Type="Optimization">
<Optimizer Driver="XXXXXX" Type="XXXXXX" MaxIterations="XXXXXX"
Tolerance="XXXXXX" StepTolerance="XXXXXX"
Verbose="XXXXXX"
PrintIterates="XXXXX" PrintIteratesGradient="XXXXXX" >
<Functional Type="XXXXXX" Weights="XXXXXX"
WeightTol="XXXX" ERefType="XXXXXX" ERef="XXXXXX"
NumericalDerivs="XXXXXX" />
<Population WalkersPerProcessor="XXXXXX" />
<Parameters Type="Correlation" />
</Optimizer>
</WalkType>
</Simulation>
Description of Input file Options
| Table of contents |
Optimizer
Driver= this can be "GSL" [Obsolete] or "OPT++" depending which optimization algorithm one wishes to use.
GSL: BFGS, FR, PR, SD, LM
OPT++: LBFGS, TRGSS, GSS, QNTR, TRPDS, QNBT, CG
Type= This is the optimization algorithm used in the optimization. See below for a description of the algorithms.
MaxIterations= Maximum number of iterations before optimizer stops
IniStep= The size of the first trial step in the optimization of a GSL based optimization routines.
Tolerance= The tolerance for convergence of the functional
Functional
Type= The functional minimized, currently zori supports "Variance" minimization, "Energy" minimization, and "Manhattan" (absolute value) functional minimization.
Weights= Should one use the weight of the during the optimization. May contain bugs, recommended setting "False"
WeightTol= Weight Tolerance.
ERefType= "External" requires that one supply an external reference energy ("ERef" tag is required), "Mean" sets reference energy to initial configuration and "AdaptiveMean" changes the reference energy throught the run. Mean and AdaptiveMean NOT tested
ERef= External reference energy
NumericalDerivs= whether to use numerical derivatives or analytical ones. When available always use analytical ones since they are substantially faster ("False").
Population
WalkersPerProcessor= be sure this is equal to the number of walkers in each processors walker file. Most optimization algorithms return better optimized parameters when the number of walkers is as large as possible.
Parameters
Type= This is which part of the wave function one wishes to optimize. Currently Zori only accepts "Correlation"
Description of Optimization Algorithms
BFGS = GSL Broyden-Fletcher-Goldfarb-Shanno conjugate gradient
FR = GSL Fletcher-Reeves conjugate gradient
PR = GSL Polak-Ribiere conjugate gradient
SD = GSL Steepest-descent conjugate gradient
LM = GSL Levenberg-Marquardt non-linear least squares fitting
LBFGS = Limited Memory BFGS algorithm. This algorithm operates with an approximation to the Hessian which is updated using a small number of gradient vectors from previous iterations. The makes LBFGS an effective algorithm for large-scale unconstrained nonlinear optimization problems. See D.C. Liu, and J. Nocedal, Mathematical Programming, 45, (1989)
TRGSS = Trust Region Generating Set Search
GSS = Generating Set Search
QNTR = Quasi-Newton Trust Region
TRPDS = Trust Region Parallel Direct Search
QNBT = Quasi-Newton Back-Track
CG = Conjugate Gradient
Return to zori manual

