VFSR Update v7.6
Very Fast Simulated Reannealing (VFSR) is a very powerful global
optimization C-code algorithm especially useful for nonlinear and/or
I still am depositing the latest version in uunet, which can be
accessed via anonymous ftp.
Also in this directory is a review article on simulated annealing by
Lester Ingber, sarev.ps.Z. However, uunet regularly destroys old files
in tmp, and so I cannot guarantee these files always will be there.
After retrieving vfsr.Z, `uncompress vfsr.Z` will leave vfsr.
`sh vfsr` will leave directory VFSR.DIR with the code. (If your
receive VFSR via email, then first `uuencode mailfile` to get vfsr.Z,
and then follow the previous directions.)
The latest version in Netlib (ftp research.att.com to the opt
directory, login as netlib, binary, get vfsr.Z) and Statlib (ftp
lib.stat.cmu.edu to the general directory, login as statlib, get vfsr)
The latest version in the UMIACS archive (ftp ftp.umiacs.umd.edu to
the pub/ingber directory, binary, get vfsr.Z) is v6.38. This archive
also contains some relevant (p)reprints.
Another reprint comparing VFSR to other algorithms is
rosen.advsim.ps.Z, by Bruce Rosen, coauthor of VFSR. This PostScript
paper can be obtained via anonymous ftp from rosen at ringer.cs.utsa.edu
in the pub/rosen directory. VFSR updates are placed there more often
than in Netlib, Statlib or UMIACS.
If this is not convenient, let me know and I will send you the code
or papers you require via email. Sorry, I cannot assume the task of
mailing out hardcopies.
The feedback of many users has been very important, and will continue
to be important, in maintaining and improving VFSR. Especially if
you have discovered solutions to any problems in implementing VFSR
on specific architectures, e.g., PC's, please contact me as this
information should be shared with other users in the NOTES file.
Highlights of CHANGES since 7.1 released on 1 Feb 93:
14 Feb 93
In the Makefile section, more explicit information was inserted on
the three alternative methods of passing the Program Options.
13 Feb 93
TESTS/v..., readme.ms, user.h, user.c, vfsr.c, vfsr.h:
Added flexibility to parameter_type. Most users need only
be concerned that real-valued parameters must be designated by
negative integers and integer-valued parameters must be designated
by positive integers.
Some users may find it useful to include additional information. If
the absolute value of the parameter_type is +-2, +-4, +-6, +-8, then
no derivatives are calculated for this parameter, effectively excluding
it from being reannealed or having its curvature calculated. (This
only effects integer-valued parameters if INCLUDE_INTEGER_PARAMETERS is
set to TRUE.) If the absolute value is greater than 9, that value is
used to multiply DELTA_X for that variable; therefore, we have set the
cast on *parameter_type to be LONG_INT. This flexibility can be used
to exclude discontinuous functions from derivative operations, to have
DELTA_X for integer-valued functions be integral, etc. Odd numbers +-5
and +-7, are reserved for specific user-defined options, as are even
numbers +-6 and +-8 that require bypassing derivative calculations.
(We will keep the other numbers for future VFSR enhancements.)
The utility of having some user-defined flexibility was highlighted
by some correspondence with Bob Goldstein <u09872 at uicvm.uic.edu>
and Brooke Paul Anderson <brooke at cco.caltech.edu>.
Corrected calculation of diagonal curvatures.
5 Feb 93
Makefile, readme.ms, user.[ch], vfsr.[ch], TESTS:
Added CURVATURE_0=FALSE to DEFINE_OPTIONS. When CURVATURE_0=TRUE,
then only a one-dimensional array, curvature, need be passed to
the vfsr module. This can help when dealing with very large parameter
spaces where the curvature calculations are not required. curvature
is still maintained a hook for USER_INITIAL_COST_TEMP=TRUE in any case.
The general problem was emphasized by Bob Goldstein
<u09872 at uicvm.uic.edu>.
3 Feb 93
Comments on setting some VFSR options in case premature convergence
is suspected. Thanks to Wu Kenong <wu at mcrcim.mcgill.edu> for checking
over some of the details.
Makefile, options_file, user.c, user.h:
Added options_file and OPTIONS_FILE=FALSE. If both
ADAPTIVE_OPTIONS=TRUE and OPTIONS_FILE=TRUE, then the Program Options
are read in from options_file. This permits more efficient testing
of various Program Options.
This feature was in the original VFSR code, and was added here at
the suggestion of Davyd Norris <daffy at physics.monash.edu.au>.
|| Prof. Lester Ingber [10ATT]0-700-L-INGBER ||
|| Lester Ingber Research Fax: 0-700-4-INGBER ||
|| P.O. Box 857 Voice Mail: 1-800-VMAIL-LI ||
|| McLean, VA 22101 EMail: ingber at alumni.caltech.edu ||