目录
ABC
伪代码
- Initialization Phase
- REPEAT
- Employed Bees Phase
- Onlooker Bees Phase
- Scout Bees Phase
- Memorize the best solution achieved so far
- UNTIL(Cycle=Maximum Cycle Number or a Maximum CPU time)
常量:搜索空间
,population size ![]()
Initialization Phase:随机生成
个蜜蜂(备选解)
![]()
其中
是第
个蜜蜂的第
维,
和
分别是第
维的下界和上界
Employed Bees Phase:每一个蜜蜂随机找另一个蜜蜂,然后组合一下,然后根据fitness挑好的
![]()
![Rendered by QuickLaTeX.com \[fit_m(x_m) = \begin{cases}\frac{1}{1+f_m(x_m)} & f_m(x_m)\ge0 \\ 1+abs(f_m(x_m)) & f_m(x_m)<0\end{cases}\]](https://fivyex.com/wp-content/ql-cache/quicklatex.com-dbd55b18f645ab48456380b5e8e0fca2_l3.png)
Onlooker Bees Phase:利用基于employed bees的fitness定义的概率,挑一个employed bees的位置,来组合一下,然后根据fitness挑好的
![]()
Scout Bees Phase:组合达到一定次数而没有更优解的话,则放弃当前解,随机再找一个解继续employ或者onlook
MO
dominance定义:给定两个解p、q,p dominate q当且仅当
,即
在所有维度均小于![]()
rank伪代码
- for each


- for each
- if
then
- else if
then
- if
- if
then

- while

- for each
- for each

- if
then
- for each


crowd伪代码

- for each
, set ![Rendered by QuickLaTeX.com I[i]_{distance}=0](https://fivyex.com/wp-content/ql-cache/quicklatex.com-2f965dcc982a6a2cf35b9972355ae585_l3.png)
- for each objective

![Rendered by QuickLaTeX.com I[1]_{distance} = I[l]_{distance} = \infty](https://fivyex.com/wp-content/ql-cache/quicklatex.com-ab8675f4011cc84f3e3d88cb88549363_l3.png)
- for
to
mainloop伪代码




- while


- i = i+1

![Rendered by QuickLaTeX.com P_{t+1} = P_{t+1}\cup F_i[1: N-|P_{t+1}|]](https://fivyex.com/wp-content/ql-cache/quicklatex.com-250cfad34928e090b5ec3205a2b5a24b_l3.png)


Inversions
将当前路径写成TSP,按照顺序构建矩阵C,检查左下角元素判断是否替换,如此循环往复
核心思想是换掉有路径点顺序,使得没有交叉路径
参考文献
http://www.scholarpedia.org/article/Artificial_bee_colony_algorithm
