人们发现蚁群在觅食过程中,不论怎么设置障碍,总能找到一条最短路径将食物运回巢穴。这就是蚁群优化算法的灵感来源。蚁群优化算法是上世纪九十年代Dorigo提出的启发式算法,它在解决旅行商问题,指派问题等组合优化问题上有较好表现。
蚂蚁在行走过程中会释放一种称为“信息素”的物质,用来标识自己的行走路径。
在寻找食物的过程中,根据信息素的浓度选择行走的方向,并最终到达食物所在的地方。
信息素会随着时间的推移而逐渐挥发。越短的路径,蚂蚁通过的时间越短,信息素挥发的越少,信息素浓度越高,当蚂蚁返回或者再次选择路径时就越可能选择该路径,这样该路径上信息素浓度又会增加,最后逐渐产生一条食物到巢穴的最短路径。
蚁群优化算法解决组合优化问题:
将组合优化问题视作一个有向图G=(N,E,T),N={c1,c2,...cn}为有向图的结点,E表示结点的连通与否,T={tij,i,j属于N}表示两结点的信息素浓度。
蚁群优化算法解决组合优化问题,人工蚁群最开始按照信息素浓度在有向图中构建路径,对每一维参数的选取看作由当前结点到下一节点的选择过程,蚁群选择下一节点的概率为:
每次迭代后,路径上的信息素浓度按照下式更新:
信息素更新有三种方式,分别为蚁周模型、蚁量模型、蚁密模型,上为蚁周模型,一般来说蚁周模型性能更优秀完成一次迭代,即一次n维解的全部搜寻再信息素浓度更新。