发明名称 一种大规模多目标智能移动路径选择的蚁群优化处理方法
摘要 本发明公开了一种大规模多目标智能移动路径选择的蚁群优化处理方法,在获取NTSP个目标物流送货地址和两两地址之间的距离、经过每段路径的成本等M个代价的数据后,采用蚁群优化技术对路径规划单元进行求解以获得智能移动主体送货的具体行走路径并输出至执行机构予以实现。本发明方法在求解大规模多目标智能移动路径选择问题时,优化性能好,具有并行性、自组织性和强鲁棒性等优点,所获得的解的数量多、质量优,向真实Pareto解集逼近能力强;获得的解集分布均匀;计算速度快。可用于物流配送、智能交通、互联网和机器人等领域中路径规划系统的智能处理单元中。
申请公布号 CN102278996A 申请公布日期 2011.12.14
申请号 CN201110110859.4 申请日期 2011.04.29
申请人 西南交通大学 发明人 张葛祥;程吉祥
分类号 G01C21/34(2006.01)I;G06N3/00(2006.01)I 主分类号 G01C21/34(2006.01)I
代理机构 成都信博专利代理有限责任公司 51200 代理人 张澎
主权项 1.一种大规模多目标智能移动路径选择的蚁群优化处理方法,在获取N<sub>TSP</sub>个目标物流送货地址和两两地址之间的距离、经过每段路径的成本等M个代价的数据后,在路径规划单元进行求解以获得智能移动主体送货的具体行走路径并输出至执行机构予以实现,所述路径规划单元采用如下的步骤:1.初始化算法参数;2.采用切比雪夫分解法将多目标路径选择问题分解为N个单目标子问题,第n个子问题的适应度函数为:<maths num="0001"><![CDATA[<math><mrow><mrow><msub><mi>g</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>&pi;</mi><mo>|</mo><msup><mi>&lambda;</mi><mi>n</mi></msup><mo>,</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>max</mi><mrow><mn>1</mn><mo>&le;</mo><mi>m</mi><mo>&le;</mo><mi>M</mi></mrow></munder><mo>{</mo><msubsup><mi>&lambda;</mi><mi>m</mi><mi>n</mi></msubsup><mo>|</mo><msub><mi>f</mi><mi>m</mi></msub><mrow><mo>(</mo><mi>&pi;</mi><mo>)</mo></mrow><mo>-</mo><mi>z</mi><mo>|</mo><mo>}</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,<img file="FDA0000058617220000012.GIF" wi="403" he="50" />为第n个子问题的目标权重向量,且<img file="FDA0000058617220000013.GIF" wi="256" he="73" />z=(z<sub>1</sub>,z<sub>2</sub>,L,z<sub>M</sub>)为参考点向量,π为子问题的一个可行解,f<sub>m</sub>(π)为该可行解第m个目标函数值,M为多目标路径选择问题的目标数据个数;3.由N只蚂蚁构成的蚁群根据权向量以重叠方式划分为N个子蚁群,每个子蚁群求解一个子问题;求解第n个子问题的子蚁群S(n)包含K个蚂蚁,即S(n)={i<sub>1</sub>,i<sub>2</sub>,L,i<sub>K</sub>},n=1,2,L,N,其中i<sub>j</sub>为与λ<sup>n</sup>具有第j个最佳距离的权重向量λ的上标;4.确定蚁群中每只蚂蚁求解的子问题集合A(k),A(k)={n|k∈S(n),n=1,2,L,N},k=1,2,L,N;5.初始化每个子问题的信息素矩阵τ<sup>n</sup>、启发式信息矩阵η<sup>n</sup>和初始信息素<img file="FDA0000058617220000014.GIF" wi="65" he="50" />n=1,2,L,N,初始化方式为:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>&tau;</mi><mi>ij</mi><mi>n</mi></msubsup><mo>=</mo><mn>1</mn><mo>/</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>&lambda;</mi><mi>m</mi><mi>n</mi></msubsup><msub><mi>f</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>&pi;</mi><mi>m</mi></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msubsup><mi>&eta;</mi><mi>ij</mi><mi>n</mi></msubsup><mo>=</mo><mn>1</mn><mo>/</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>&lambda;</mi><mi>m</mi><mi>k</mi></msubsup><msubsup><mi>c</mi><mi>ij</mi><mi>m</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msubsup><mi>&tau;</mi><mn>0</mn><mi>n</mi></msubsup><mo>=</mo><mn>1</mn><mo>/</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>&lambda;</mi><mi>m</mi><mi>k</mi></msubsup><msub><mi>f</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>&pi;</mi><mi>m</mi></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,π为初始可行解,<img file="FDA0000058617220000021.GIF" wi="40" he="56" />为第n个子问题中城市i和城市j之间的信息素量,<img file="FDA0000058617220000022.GIF" wi="45" he="56" />为第n个子问题中城市i和城市j之间的启发式信息量;<img file="FDA0000058617220000023.GIF" wi="46" he="56" />为城市i和城市j之间的第m个目标代价;<img file="FDA0000058617220000024.GIF" wi="40" he="50" />为第n个子问题的初始信息素量;6.循环次数t增加1,即t←t+1,且子问题索引n取为0;7.子问题索引n增加1,即n←n+1;8.子蚁群S(n)中的每只蚂蚁随机选择一个城市作为遍历起点;9.S(n)中的K只蚂蚁依次按公式(5)所示转移规则选择城市j前进,并按照公式(7)更新信息素τ<sup>n</sup>:<img file="FDA0000058617220000025.GIF" wi="1618" he="216" /><img file="FDA0000058617220000026.GIF" wi="1501" he="313" /><maths num="0005"><![CDATA[<math><mrow><msubsup><mi>&tau;</mi><mi>ij</mi><mi>n</mi></msubsup><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&xi;</mi><mo>)</mo></mrow><msubsup><mi>&tau;</mi><mi>ij</mi><mi>n</mi></msubsup><mo>+</mo><mi>&xi;</mi><msubsup><mi>&tau;</mi><mn>0</mn><mi>n</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,α为信息素权重,β为启发式信息权重,Ω(i)为位于城市i的蚂蚁下一个可访问的城市集合,ξ为局部信息素挥发系数,q<sub>0</sub>为概率常数;10.若S(n)中的所有蚂蚁均未回到出发城市,则跳转到第9步,否则继续到下一步,即第11步;11.按照公式(1)计算子蚁群S(n)中K只蚂蚁构建路径的适应度函数值,并计算对应路径的M个目标值;12.按照公式(8)确定子蚁群S(n)中的最优蚂蚁b<sub>n</sub>,即<maths num="0006"><![CDATA[<math><mrow><msub><mi>b</mi><mi>n</mi></msub><mo>=</mo><mi>arg</mi><munder><mi>min</mi><mrow><mi>k</mi><mo>&Element;</mo><mi>S</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></munder><mo>{</mo><msub><mi>g</mi><mi>n</mi></msub><mrow><mo>(</mo><msup><mi>&pi;</mi><mi>k</mi></msup><mo>|</mo><msup><mi>&lambda;</mi><mi>n</mi></msup><mo>,</mo><mi>z</mi><mo>)</mo></mrow><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths>13.利用S(n)中蚂蚁构建的解的目标函数值按式(9)更新参考点z的分量z<sub>m</sub>,m=1,2,L,M,即<maths num="0007"><![CDATA[<math><mrow><msub><mi>z</mi><mi>m</mi></msub><mo>=</mo><munder><mi>min</mi><mrow><mi>k</mi><mo>&Element;</mo><mi>S</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msub><mi>f</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>&pi;</mi><mi>k</mi></msup><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>14.利用S(n)中蚂蚁构建的解的目标函数值按式(10)更新子问题n的初始信息素<img file="FDA0000058617220000031.GIF" wi="65" he="50" />即<maths num="0008"><![CDATA[<math><mrow><msubsup><mi>&tau;</mi><mn>0</mn><mi>n</mi></msubsup><mo>=</mo><mn>1</mn><mo>/</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>&lambda;</mi><mi>m</mi><mi>n</mi></msubsup><msubsup><mover><mi>f</mi><mo>^</mo></mover><mi>m</mi><mi>n</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msubsup><mover><mi>f</mi><mo>^</mo></mover><mi>m</mi><mi>n</mi></msubsup><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&Element;</mo><mi>S</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></munder><msub><mi>f</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>&pi;</mi><mi>n</mi></msup><mo>)</mo></mrow><mo>/</mo><mi>K</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>15.利用最优蚂蚁路径并按照公式(12)更新所有l∈A(b<sub>n</sub>)的信息素矩阵τ<sup>l</sup>,即<maths num="0010"><![CDATA[<math><mrow><msubsup><mi>&tau;</mi><mi>ij</mi><mi>l</mi></msubsup><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&rho;</mi><mo>)</mo></mrow><msubsup><mi>&tau;</mi><mi>ij</mi><mi>l</mi></msubsup><mo>+</mo><mi>&rho;&Delta;</mi><msup><mi>&tau;</mi><mi>l</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><mi>&Delta;</mi><msup><mi>&tau;</mi><mi>l</mi></msup><mo>=</mo><mn>1</mn><mo>/</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>&lambda;</mi><mi>m</mi><mi>l</mi></msubsup><msub><mi>f</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>&pi;</mi><mi>l</mi></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow></math>]]></maths>16.将S(n)中蚂蚁构建的解的目标函数值加入到非支配解集Φ中,然后移除非支配解集中的支配解;17.当前循环中还有子问题没有求解,即n≠N,则算法跳转到第7步,否则继续到下一步,即第18步;若该算法满足结束条件,即如果循环次数t≥T,则循环结束,并输出非支配解集Φ,否则,算法跳转到第6步。
地址 610031 四川省成都市二环路北一段111号西南交通大学科技处