Content deleted Content added
Tag: section blanking |
|||
Line 49:
requires that <math>\gamma </math> should be linked with scales. For example, one possible choice is to use
<math>\gamma=1/\sqrt{L} </math> where <math>L </math> is the average scale of the problem. In case of scales vary significantly, <math>\gamma </math> can be considered as a vector to suit different scales in different dimensions. Similarly, <math>\alpha_t</math> should also be linked with scales. For example, <math>\alpha_t \leftarrow 0.01 L \alpha_t </math>.
It is worth pointing out the above description does not include the randomness reduction. In fact, in actual implementation by most researchers, the motion of the fireflies is gradually reduced by an annealing-like randomness reduction via <math>\alpha=\alpha_0 \delta^t</math> where <math> 0< \delta <1 (e.g., \delta=0.97) </math>, though this value may depend on the number of iterations.<ref>http://www.mathworks.com/matlabcentral/fileexchange/29693-firefly-algorithm/content/fa_mincon.m</ref> In some difficult problem, it may be helpful if you increase <math>\alpha_t </math> at some stages, then reduce it when necessary. This non-monotonic variation of <math>\alpha_t </math> will enable the algorithm to escape any local optima when in the unlikely case it might get stuck if randomness is reduced too quickly.
Parametric studies show that n (number of fireflies) should be about 15 to 40 for most problems.<ref>A simple demo Matlab code [http://www.mathworks.com/matlabcentral/fileexchange/29693-firefly-algorithm is available]</ref> A python implementation is also available, though with limited functionalities.<ref>https://code.google.com/p/csc6810project/</ref>
|