蚁群算法及其应用研究(21)
发布时间:2021-06-06
发布时间:2021-06-06
第3帝蚁群算法中信息素增量和扩散模型的研究
时d。>2r,则信息素扩散的浓度场及扩散范围可如图3—1(a)中灰色区域所示,图中小圆点●表示城市位置,黑色圆点●表示受扩散影响的城市,以i、j为中心的同心圆表示扩散场内不同位置浓度场强的等势线。从图可见,城市信源作为信息素扩散浓度场的中心,离信源越近,浓度场的场强越强(等势线越密)。除所经过的城市i和j外,蚂蚁k在本次行走中还会影响位于城市C。、C:、C。、C。上蚂蚁选路的行为。然而,根据假设l,信息素是滞留在蚂蚁所经过的整条路径上的,所以信息素应以所依附的路径a口为中心向外扩散,因而,图3—1(a)中的扩散模型存在一定的局限。因此,可对其进行改进,将扩散模型修正为以路径为信源向周边扩散,如图3-1(b)所示,蚂蚁k在从城市j走到i的过程中所留下的信息素将形成更大范围的浓度场,影响的城市集合也扩大为C.、C:、C。、C。、C。、C。、C,、C。。这种变化更客观地反映了信息素扩散的浓度场,扩大了信息素扩散的作用范围。
l(xo,yO
ⅨI,YO“1(x2,yo
图3-2在信息素扩散浓度场内扩散距离求解的示意图
Figure3-2Thesketchmapofpheromonediffusioninintensityfield
设蚂蚁刚走过路径aF,基于路径为信源的信息素扩散模型,下面推导由蚂蚁的此次行走所影响到的相邻路径上的信息素浓度。为了求城市1到路径%的垂直距离d,我们分两种情况讨论:
1)当TSP问题中的城市位置用坐标给出时,如图3—2所示,城市i、
l的坐标分别为(x。,y。)、(x:,y:)和(x。,y。),推导如下:
当X1=x:时,由i、j两点形成的直线L垂直于x轴,L的方程为:x=x-;
^2一^J和当x。≠x:时,由i、j两点形成的直线L的方程为:y-y。=警(x一而);
将直线L的表达式化为形如锻+砂+c=0的标准形式,依据点到直线的距离公式,可以得到1点到直线L的距离:d:一laxo+byo+cl。√口2+62
2)当TSP问题中城市间的距离已知时,即在图3—2中已知吻、%、嘞,此时,可以利用海伦公式求垂直距离d,方法如下:令s=(au+即+口fI)/9.,则三角形ijl的面积为A=√so一~)(s-aj,)o—air),又因为A=(d 口{『)/2,所以d=2A/a扩。
在得到城市l离路径信源的距离d后,我们就可判断城市l是否位于蚂蚁k在本次行走中所形成的信息素浓度场的扩散范围内,如果在扩散半径内,就依据