Graphical Interface for Global Optimization Algorithms
To know where to begin, make sure you have read the [:FoxTutorials: tutorials first !]
- [#menus Menus]
- [#algo Algorithm options]
- [#algo Algorithm choice]
- [#temp Temperature schedule]
- [#disp Displacement amplitude schedule]
- [#options Options]
- [#go Running the optimization]
- Multiple or single run
attachment:algorithm.jpg
Menus
Use the "Objects" to define the objects that you want to use (i.e. the crystal structure and the associated diffraction dataset(s) ).
Algorithm Options
Algorithm
You can choose between Parallel Tempering (highly recommended) and Simulated Annealing (use this only if you know how... you'd have to carefully choose the number of trials and temperature schedule). Normally, the default choice (Parallel Tempering) should not be changed.
Temperature
These are the minimum and maximum temperatures to ensure that the algorithm will search all possible configurations, while insisting on the best configurations. It is highly recommended not to change the default choices, with a "smart" temperature schedule which will be tuned by the algorithm.
Displacement amplitude
These are used to define the amplitude of displacements of all parameters during random moves. Again, you should not change the default parameters which should be fine for any optimization, with an exponential schedule.
Options
There are several options available:
Save Tracked data: this will save the data which is displayed in the Tracker window in a text file. This is only useful for heavy testing of Fox, so normally you should not use it.
Save Best Config Regularly: this allows you to save regularly the "best" configuration reached by Fox. Note that the saved xml files will always be in the working directory (i.e. the one from which you launched FOX, or the directory of the FOX application). The recommended choice is to save after each run (see below on the use of Multiple Runs).
Running the optimization
You can choose between two types of runs (from the "Run/Stop" menu):
Single Run: in this mode Fox runs for a fixed number of trials, starting from the current configuration, and then stops with the best configuration.
Multiple Run: in this mode Fox will do several runs for the user-chosen number of trials, then store the configuration, and re-start another run. The configuration is randomized at the beginning of each run (including the first one).
Normally you should always use the multiple runs mode, in order to obtain several solutions. The main objective is not to ensure that the global minimum will be reached, since the parallel tempering algorithm already garanties that. But it will provide several solutions so that you can have a better feeling about whether you have found the actual global minimum: if you find repeatedly the same solution,then that should be it.
The only case when you should not be using a multiple run is if you want to optimize your structure in several stages (increasing progressively the number of degrees of freedom).
Before running the optimization, put in the number of trials per run the desired number of trials. For a single run, you can use any large number (as long as you use Parallel Tempering), i.e. 100 million trials or more. For a multiple runs, you should choose a number depending on the complexity of the structure, e.g.:
For the PbSO4 structure, 50000 trials/run
- For Cimetidine, 1000000 trials/run
- For more complex structure, 10 million trials/run should be OK
During the optimization, a Tracked Data window will open and display the evolution of the various cost functions (the Chi2 of the different data sets, etc...). To stop the optimization, just use again the "Run/Stop" menu.
If you have used a multiple run, you can use the "Solutions" menu to browse the obtained solutions. Just clicking on any of the solutions listed will restore that configuration and update the different displays (crystal 3D structure, powder pattern,...).
FOX Wiki