q
[quick_refine !E [quick_refine_remove !E]]
quick_refine removes parameters that influence in a small manner during a refinement cycle. Use of quick_refine speeds up simulated annealing, see for example the macro Auto_T which is used in example AE1-AUTO.INP. All refined parameters are reinstated for refinement at the start of subsequent cycles. Large quick_refine values aggressively removes parameters and convergence to low maybe hindered. A value of 0.1 works well.
quick_refine has the following consequences:
- The degree of parameter randomization increases with increasing values of quick_refine. Thus randomization should be reduced as quick_refine increases. Alternatively randomize_on_errros can be used which automatically determines the amount a parameter is randomized.
quick_refine_removeremoves a parameter from refinement if it evaluates to non-zero or reinstates a parameter if it evaluates to zero. It can be a function of the reserved parameters QR_Removed or QR_Num_Times_Consecutively_Small and additionally global reserved parameter names such as Cycle_Iter, Cycle and T. If quick_refine_remove is not defined then the removal scheme of section 5.6 is used and parameters are not reinstated until the next refinement cycle.
In most refinements the following will produce close to the lowest and in a shorter time period (see for example PAWLEY1.INP).
quick_refine .1
quick_refine_remove =
IF QR_Removed THEN
0 ' reinstate the parameter
ELSE
IF QR_Num_Times_Consecutively_Small > 2 THEN
1 ' remove the parameter
ELSE
0 ' dont remove the parameter
ENDIF
ENDIF;