http://www.ingber.com/asa_new.txt This file contains a list of recent major changes in ASA. ======================================================================== Adaptive Simulated Annealing ASA-28.15 ======================================================================== ======================================================================== Major Changes Since Version 28.14 ======================================================================= 2 Apr 13 When USER_ASA_USR_OUT is TRUE, the user defines OPTIONS->Asa_Usr_Out_File to override the USER_OUT default of asa_out. ======================================================================== Major Changes Since Version 28.10 ======================================================================= 13 Apr 12 In ASA-README.[] it is emphasized that Simulated Annealing (SA) is NOT Simulated Quenching (SQ), but that ASA is easily modified using QUENCH OPTIONS, permitting various degrees of quenching. This is especially useful if you determine that your optimal state(s) can be reached using SQ. ======================================================================== Major Changes Since Version 28.1 ======================================================================= 5 Mar 11 When ASA_FUZZY is set to TRUE, a modified fuzzy-logic algorithm originally developed by Hime Junior performs an adaptive tuning of selected ASA OPTIONS. ASA_FUZZY has several adaptive parameters defined in asa_usr_asa.h, and some fixed #define parameters in the several subroutines at the bottom of asa_usr.c. The default functions are set to tune QUENCH_COST and QUENCH_PARAMETERS parameters, so these are tested to be TRUE in the default asa_usr_asa.h. If you change any defaults, pay attention to sections labeled ASA_FUZZY at top and bottom sections of asa_usr.c, and in asa_usr.h. Caution: Often ASA_FUZZY will turn on QUENCHing > 1, violating the proof of ASA. For many systems, this speeding up of the sampling process can be a welcome efficiency, but in some systems global minima may be missed. ======================================================================== Major Changes Since Version 27.6 ======================================================================= 9 Feb 11 ASA-LICENSE, ASA-README.ms Clause 5 was deleted, and Clause 6 was renumbered to Clause 5, to follow guidelines of the "New BSD License", http://en.wikipedia.org/wiki/BSD_License, beginning with Version 28.1. ======================================================================== Major Changes Since Version 26.40 ======================================================================= 10 Dec 10 When ADAPTIVE_OPTIONS is set to TRUE, it is possible to change relevant OPTIONS in the USER_DEFINES struct in asa_usr_asa.h during run time, by including an asa_adaptive_options file. This can be very useful to efficiently determine how to tune long runs. The function call to adaptive_options(USER_OPTIONS) should be placed at the top of your cost function. Some examples of the format of lines in the comma-delimited asa_adaptive_options file are given just above the adaptive_options function in asa_usr.c. ======================================================================== Major Changes Since Version 26.38 ======================================================================= 20 Jun 10 Hime Junior has created a site with his asa_fuzzy code and also a Windows graphical interface (see http://www.ingber.com/asa_contrib.txt): http://sites.google.com/site/stochasticglobaloptimization/home/fuzzy-asa 16 Jul 10 ftp is no longer supported for the ingber.com archive. ======================================================================== Major Changes Since Version 26.35 ======================================================================= New code has been added to asa_contrib.txt under @@ASA_FUZZY, including asa_fuzzy.c and guidelines for its use in ASA. I have added to asa_paper.html and asa_contrib.txt references to: %A Hime Aguiar e Oliveira Jr. %T Fuzzy Modeling with Adaptive Simulated Annealing %C Rio de Janeiro, Brazil %D 2004 %O URL http://www.optimization-online.org/DB_HTML/2004/07/901.html and two other 2007 and 2009 papers. ======================================================================== Major Changes Since Version 26.34 ======================================================================= Explicitly added -ffloat-store option to gcc compilations to maintain the same level of precision across levels of compiler optimization on different platforms. ======================================================================== Major Changes Since Version 26.33 ======================================================================= In asa_examples.txt I started a section "@@Some Helpful Code Snippets" with an entry "@@Independent Coordinates When Sampling Large Spaces". These snippets can be used together with some other experiences documented in the ASA-NOTES file., e.g., section "@@TUNING FOR SOME SYSTEMS". ======================================================================== Major Changes Since Version 26.30 ======================================================================= When ASA_EXIT_ANYTIME is set to TRUE, the first call to asa() creates the file asa_exit_anytime. To permit IMMEDIATE_EXIT before calculating the next generated state, simply delete the file asa_exit_anytime, and asa() will exit with code IMMEDIATE_EXIT. This can be useful on long runs. ======================================================================== Major Changes Since Version 26.28 ======================================================================= When calculating derivatives, an invalid cost function, i.e., returning *cost_flag = FALSE from the cost function, will exit asa() with *exit_code INVALID_COST_FUNCTION_DERIV. Also, when calculating derivatives, no extra test is performed to check that parameters are within their lower and upper bounds (since meshes for derivatives may exceed these bounds). If this is not desired, then within the cost function, within a test for USER_OPTIONS->Locate_Cost == 3, a decision may be made whether to return this *exit_code. ======================================================================== Major Changes Since Version 26.24 ======================================================================= There is now an RLaB interface to ASA. See Section @@RLAB Interface with ASA in asa_contrib.txt. ======================================================================== Major Changes Since Version 26.22 ======================================================================= ASA is now also listed at http://asa-caltech.sourceforge.net (http://asa-caltech.sf.net). Ismael Vaz has written an AMPL interface to ASA. This allows the ASA solver to be available through the NEOS server at http://neos.mcs.anl.gov/neos/solvers/go:ASA/AMPL.html. ======================================================================== Major Changes Since Version 26.13 ======================================================================= Added section @@Some Reflections After a Score of Years to ASA-NOTES. When using a DOS version of ASA, e.g., ASA.zip, on a Unix machine, some systems do not process continuation "\" lines properly. These lines are now joined to long lines in the code. A reference for a paper illustrating the use of both ASA optimization and ASA sampling has been placed in asa_papers.html, ingber_projects.html, and ASA-README.[]. %A L. Ingber %T Ideas by Statistical Mechanics (ISM) %R Report 2006:ISM %I Lester Ingber Research %D 2006 %O URL http://www.ingber.com/smni06_ism.pdf Links have been made to asa06_ism.pdf, combat06_ism.pdf, markets06_ism.pdf, and path06_ism.pdf. ISM integrates previous projects to model evolution and propagation of ideas/patterns throughout populations subjected to endogenous and exogenous interactions. ======================================================================== Major Changes Since Version 26.8 ======================================================================= When MULTI_MIN is set to TRUE and Multi_Specify is set to 0, and multiple best cost functions are found, the parameters of the final cost function reported will be the parameters of the last best cost function. Reference to a Haskell Interface with ASA is given in asa_contrib.txt. ======================================================================== Major Changes Since Version 26.2 ======================================================================= When MULTI_MIN is TRUE, asa_exit() calculates cost functions, and their associated parameters, in descending order, to leave the final state as the best state. ======================================================================== Major Changes Since Version 26.1 ======================================================================= Direct users to asa_examples.txt for an example of use of OPTIONAL_DATA_PTR and MULTI_MIN. ======================================================================== Major Changes Since Version 25.28 ======================================================================= Added ASA- prefix to CHANGES, LICENSE, Makefile, and NOTES to prevent conflicts with other software. ======================================================================== Major Changes Since Version 25.16 ======================================================================== The Makefile can be used to create DLL functions for Windows. ======================================================================== Major Changes Since Version 25.13 ======================================================================== There is an updated reference and URL to the paper mentioned in asa_contrib.txt and asa_papers.html %A H.A.O. Junior %T Fuzzy control of stochastic global optimization algorithms and very fast simulated reannealing %I hime@engineer.com %C Rio de Janeiro, Brazil %D 2001 %O URL: http://www.optimization-online.org/DB_FILE/2003/11/779.pdf ======================================================================== Major Changes Since Version 25.5 ======================================================================== Some compilers on some systems under some levels of optimization will not compile if stdout is present in the code. All instances of stdout and printf in the user and the asa modules can be commented out by setting INCL_STDOUT to FALSE. Note that this also will suppress some output from such OPTIONS as ASA_PIPE, TIME_CALC, etc. ------------------------------------------------------------------------ Major Changes Since Version 25.3 ------------------------------------------------------------------------ Added to asa_contrib.txt section @@ASA DLL to demonstrate how an ASA DLL can be created under Cygwin. I have added to asa_papers.html %A J. Zhou %A G. Livingston %A G. Grinstein %T Automatic Parameter Selection for Sequence Similarity Search %R Dept. Computer Science Preprint %I U Massachusetts %C Lowell, MA %D 2003 %O URL http://www.cs.uml.edu/~jzhou This study used ASA to select parameters for sequence similar region search in their autonomous AutoSimS model of general pairwise sequence similarity analysis. Their artificial intelligence approach involves more advanced features than commonly used BLAST and FASTA tools. Contact Jianping Zhou for more information. ------------------------------------------------------------------------ Major Changes Since Version 24.3 ------------------------------------------------------------------------ Renamed files to faciliate their use in larger projects: asa_user.h -> asa_usr_asa.h user.c -> asa_usr.c user.h -> asa_usr.h user_cst.c -> asa_usr_cst.c readme.ms -> ASA-README.ms test_asa -> asa_test_asa test_usr -> asa_test_usr ------------------------------------------------------------------------ Major Changes Since Version 24.2 ------------------------------------------------------------------------ Added section Generic ASA Interfaces to ASA-README. Added @@FUZZY_ASA section and code to asa_contrib.txt . The paper describing the code is mentioned in asa_paper.html . ------------------------------------------------------------------------ Major Changes Since Version 23.13 ------------------------------------------------------------------------ Changed pre-compile OPTIONS MULTI_NUMBER to adaptive USER_OPTIONS->Multi_Number. I have added to asa_papers.html: %A M. C. Forman %A A. Aggoun %A M. McCormick %T Simulated Annealing for Optimisation and Characterisation of Quantisation Parameters in Integral 3D Image Compression %B Image Processing II: Mathematical Methods, Algorithms and Applications %E J. M. Blackledge %E M. J. Turner %I The Institute of Mathematics and its Applications / Horwood Publishing %D 2000 %P 399-413 %O URL http://www.imtech.cse.dmu.ac.uk/3d-med/pubs/ima98.pdf %A M. C. Forman %T Compression of Integral Three Dimensional Television Pictures %R Ph.D. Thesis %I De Montfort University %C Leicester, United Kingdom %D 2000 These papers use ASA in quantisation scheme optimisation in three dimensional image compression. ------------------------------------------------------------------------ Major Changes Since Version 23.7 ------------------------------------------------------------------------ To permit compilation under g++ as well as gcc, some initializations were moved. I have added to asa_papers.html: %A H.A.O. Junior %T Fuzzy control of stochastic global optimization algorithms and very fast simulated reannealing %I hime@engineer.com %C Rio de Janeiro, Brazil %D 2001 This paper provides a supplementary algorithm for adaptive quenching to make ASA more efficient for many systems. You can obtain a copy from the author by sending an email to Hime Junior . ------------------------------------------------------------------------ Major Changes Since Version 22.12 ------------------------------------------------------------------------ Setting the lower bound equal to the upper bound will remove a parameter from consideration. Whenever this occurs, within asa() the effective dimension defining the size of the search space is reduced by the number of parameters so removed. When USER_ACCEPT_THRESHOLD is TRUE, a simple alternative to the Boltzmann function becomes available for the acceptance test, simply defining the probability of acceptance to be 1 if delta_cost <= cost_temp and 0 otherwise. The .txt suffix is added to 00index.txt, asa_contrib.txt, asa_examples.txt, asa_new.txt, and ingber_terms.txt. ASA-README.pdf now is included with the source code. In source code, the .txt suffix is added to ASA-README.txt and ASA-README+.txt. ------------------------------------------------------------------------ Major Changes Since Version 22.1 ------------------------------------------------------------------------ When ASA_PARALLEL is TRUE, each block of generated states is sorted to permit the lowest cost functions to pass first through the acceptance test. I have added information to http://www.ingber.com/MISC.DIR/asa_contrib.txt from Thomas Binder who has developed auxiliary function support for ASA_PARALLEL. I have added four 2001 lecture files. The lecture plates dealing most specifically with ASA are in %A L. Ingber %T Adaptive Simulated Annealing (ASA) and Path-Integral (PATHINT) Algorithms: Generic Tools for Complex Systems %R ASA-PATHINT Lecture Plates %I Lester Ingber Research %C Chicago, IL %D 2001 %O URL http://www.ingber.com/asa01_lecture.ps.gz The default name of the cost function is cost_function; this can be changed in asa_user.h (or the Makefile) by defining USER_COST_FUNCTION. When SELF_OPTIMIZE is TRUE, the default name of the recur cost function is recur_cost_function; this can be changed in asa_user.h (or the Makefile) by defining RECUR_USER_COST_FUNCTION. This of course requires compiling in the new cost function(s) and prototype(s). http://www.ingber.com/utils_file_formats.txt has some links to information on gzip, PostScript, PDF, tar, and shar utilties. In asa.c, fixed bug in use of ASA_PRINT with MULTI_MIN. ------------------------------------------------------------------------ Major Changes Since Version 21.2 ------------------------------------------------------------------------ All files that were under MISC.DIR have been merged into the main ingber.com directory. When ASA_SAVE is set to TRUE, Number_Cost_Samples is set to 1 after the initial run since all the required information for subsequent runs already has been collected. Changed user_cst.h to user_cst.c. This should not affect most users. ________________________________________________________________________ Lester Ingber Copyright (c) 1994-2013 Lester Ingber. All Rights Reserved. $Id: asa_new.txt,v 10.323 2013/04/08 16:15:05 ingber Exp $