[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:

  • If parameters are not reinstated using quick_refine_remove then does not get to its lowest possible value for a particular refinement cycle. 
  • 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


         IF QR_Num_Times_Consecutively_Small > 2 THEN

            1 ' remove the parameter


            0 ' dont remove the parameter



Personal Tools