从算法的名字中可以看出该算法是群体智能优化算法中的一种,人工鱼群算法通过模拟鱼群的觅食、聚群、追尾、随机等行为在搜索域中进行寻优。
人工鱼群算法有三个比较重要的概念:视野范围、k-距离邻域、多条鱼的中心。
一 | 基本概念
1 | 视野范围Visual
人工鱼群算法最重要的概念就是视野范围Visual,在定义视野范围之前大家需要明白两条鱼之间的“距离”是怎么计算的,如果是在二维平面上,那这个“距离”就是我们常规的欧式距离。
但如果用鱼群算法求解组合优化问题呢,这个“距离”如何定义呢?
以常见的TSP问题为例,如果城市数目为5,则两条鱼(每条鱼表示一条可行路径)可以分别表示为
1 2 3 4 5
3 2 4 1 5
那么TSP问题中两条鱼之间的“距离”为对应位置上不同元素数目之和,这两条鱼只有在第二个和第五个位置元素相同,即为2和5,其余三个位置元素都不相同,所以这两条鱼之间的“距离”为3。
用数学表达式表达的形式为:如果有n个城市,一条鱼表示成