针对标准人工蜂群(ABC)算法易陷入局部极值的问题,对标准ABC算法的轮盘赌选择机制进行了修改,提出了一种基于动态评价选择策略的改进人工蜂群(DSABC)算法。首先,根据到当前为止一定迭代次数内蜜源位置的连续更新或停滞次数,对每个蜜源位置进行动态评价;然后,利用所得的评价函数值为蜜源招募跟随蜂。在6个经典测试函数上的实验结果表明:与标准ABC算法相比,动态评价选择策略改进了标准ABC算法的选择机制,使得DSABC算法的求解精度有较大幅度提高,特别是对于两种不同维数的Rosenbrock函数,所得最优值的绝对误差分别由0.0017和0.0013减小到0.000049和0.000057;而且,DSABC算法克服了进化后期因群体位置多样性丢失较快而产生的早熟收敛现象,提高了整个种群的收敛精度及解的稳定性,从而为函数优化问题提供了一种高效可靠的求解方法。
To overcome the problem of easily trapping into local optima of standard Artificial Bee Colony (ABC) algorithm, the roulette selection strategy of ABC was modified and an improved ABC based on dynamic evaluation selection strategy (DSABC) algorithm was proposed. Firstly, the quality of each food source position was evaluated dynamically according to the times that the food source position had been continuously updated or stagnated within a certain number of iterations so far. Then, onlooker bees were recruited for the food source according to the obtained value of the evaluation function. The experimental results on six benchmark functions show that, compared with standard ABC algorithm, the proposed dynamic evaluation selection strategy modifies the selection strategy of ABC algorithm, and greatly improves the quality of solution of DSABC algorithm, especially for function Rosenbrock with different dimensions, the absolute error of the best solution reduces from O. 001 7 and 0. 001 3 to O. 000049 and 0. 000057, respectively; Moreover, DSABC algorithm can avoid the premature convergence caused by the decrease of population diversity at later stage and improve the accuracy and stability of solutions, thus provides an efficient and reliable solution method for function optimization.