定义
觅食行为
聚群行为
追尾行为
随机行为
随机行为的实现较简单,就是在视野中随机选择一个状态,然后向该方向移动,其实,它是觅食行为的一个缺省行为。
行为选择
根据所要解决的问题性质,对人工鱼当前所处的环境进行评价,从而选择一种行为。如较常用的评价方法就是选择各行为中使得向最优方向前进最大的行为,也就是各行为中使得人工鱼的下一个状态最优的行为,如果没有能使下一状态优于当前状态的行为,则采取随机行为。
约束行为
在寻优过程中,由于聚群行为、随机行为等操作的作用,容易使得人工鱼的状态变得不可行,这时就需要加入相应的约束来对其进行规整化,使它们由无效状态或不可行状态转变成可行的。
公告板
公告板用来记录最优人工鱼个体的状态。各人工鱼个体在寻优过程中,每次行动完毕就检验自身状态与公告板的状态,如果自身状态优于公告板状态,就将公告板的状态改写为自身状态,这样就使公告板记录下历史最优的状态。
移动策略
移动策略是原行为评价的一种延伸,可以依旧采用原行为评价的模式,也可以采取一定的行动策略,如先进行追尾行为,如果没有进步再进行觅食行为,如果还没有进步则进行聚群行为,如果依然没有进步就进行随机移动行为。
人工鱼群算法步骤:
Step1:设定鱼群的参数,包括鱼群的规模m, 最大迭代次数gen,人工鱼的感知范围Visual,最大移动步长step,拥挤度因子d等;
Step2:在参数区间内随机生成m条人工鱼个体作为初始鱼群;
Step3:计算每条鱼的食物浓度函数(目标函数),把最优的值放入公告板中;
Step4:对于每条人工鱼执行以下操作
(1)计算出追尾行为、聚群行为的值,采用行为选择策略,选择最优的行为作为鱼的移动方向,缺省行为是觅食行为。
(2)计算出每条鱼的食物浓度函数(目标函数),其最优值与公告板中的值进行比较,最终公告板中始终保持最优的值。
Step5:判断是否满足结束条件,如果满足结束,否则转Step4。
最终公告板中的值就是最优值。