目录
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挑好的
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
- for each objective
- for
to
mainloop伪代码
- while
- i = i+1
Inversions
将当前路径写成TSP,按照顺序构建矩阵C,检查左下角元素判断是否替换,如此循环往复
核心思想是换掉有路径点顺序,使得没有交叉路径
参考文献
http://www.scholarpedia.org/article/Artificial_bee_colony_algorithm