改进的蚁群算法在车辆配送路线优化中的应用研究
- 格式:pdf
- 大小:181.64 KB
- 文档页数:2
计算机伎术应用・the Application of Computer Technology 改进的蚁群算法在车辆配送路线优化中的应用研究
由于传统的蚁群算法在寻找 最优解时的处理过程较慢,并且 还会时常出现停滞的现象,因此, 本文提出了改进蚁群算法的措施。 丈中主要是通过建立候选城市数 据表,并且在蚁群算法的状态转 移规则中增加了节约量的启发信 息。通过实际案例加以验证,结 果表明改进后的蚁群算法能够全 面提高企业车辆配送效率。 【关键词】蚁群算法车辆配送路线优化状态 转移规则 蚁群算法(-Ant Colony OrItimization), 通常是用来在图中查找最佳路径的机率型算 法。文中通过改进后的蚁群算法对车辆配送路 线进行全面的优化。 1蚁群算法在车辆路径选择中的策略优 化 在蚁群算法处理过程中,蚂蚁所走的各 个位置都需要进行事前的计算,首先需要定位 各条线路的概率值P,然后再对各个线路进行 择优处理。因此,在原有的算法中选择出最佳 线路是很耗时间的。为了能够节约路径的选择 时间,因此,对其策略进行改进。 (1)候选城市节点信息的优化。 从传统的VRP中我们可以发现,当车辆 进入i城市之后需要确定下一个最优城市i时, 那么j就是属于离i最近的城市了。但是在传 统的蚁群算法中,当蚂蚁到达i城市之后,就 从其未走过的城市节点中一一对比来发现i城 市节点,那么这样一一对比的方式就会消耗很 多的计算时间,工作效率较低。从这里我们可 以看出m只蚂蚁选择下一个城市配送点时需 要对比的循环次数是m*n*(n+1)/2,完成一次 操作的复杂度是O(m・ )。 从上面传统蚁群算法中我们可以发现,蚂 蚁所要经过的城市是属于离当前城市距离最近 的,假如我们选用了C个节点列为本次的候选 城市节点时。此时,m只蚂蚁选择下一个城市 配送节点时需要对比的节点循环次数是m*c(n— c)+m*c(c+1)/2,一般情况下c的取范围是城市 节点总数目的八分之一或者六分之一,那些, 我们可以计算出现在的复杂度是O(m・ )。从新 算法的复杂度中我们能够发现,蚂蚁m值与 城市11值的数量在不断地扩大时,可以很明显 文/吴海花 地发现新的蚁群算法具有更快的处理速度和更 短的计算时间。 (2)对状态转移规则的优化。 (a)增加节省量启发信息。 假如当城市配送中心节点P需要向节点i 和_i这两个城市配送东西,那么就需要分别向 这两个节点城市各派出一辆货车,路程总长为 2・( + ),作为第一种配方案。如果可以装 完当前这批货,那么车辆行走路线是这样的:
首先从配送中心出发,先是到达到i城市,再 达到J城市,然后再返回配送中心。路程总长 为d + + 是作为第二种配送方案。通过对 第一种与第二种配送路线方案的比较后可以得 出,节约量 =dp + 一 。 (b)状态转移规则。 尽量避免启发信息出现过大,避免蚂蚁 重复选择其它节点的线路。因此在转移规则运 行之前就需要增加一定的随机量,让蚂蚁根据 一定随机值来确定一个目标城市节点。具体改 进措施如下: J argmax剧¨嘲(f】(【 。J(f)] [,7f. ) ])如果q≤q0, I,其它 (1) (f)= s ̄allowedk(i) 0 若seallowedk(f)否则(2) f) 南 s (f)) 南 ∥ 3) 当蚂蚁在进行下一个状态选择时,首先 会产生一个随机数q,如果当q的值小于qO时, 那么蚂蚁就会通过选择[ (f)] [ . )】 启发信 息作为最大的路径;否则就会通过式2来计算 出相应的概率,然后再通过赌轮法来确定下一 个侯选城市的节点。 2改进蚁群算法流程 第一步:先进行初始化参数。取得配送 中心这个节点位置与客户所在城市的节点位置 信息,求这两个城市节点的距离,并且将各个 城市节点建立起各自的候选城市节点信息表。 然后将蚂蚁数量m与城市节点数相等即可, 出现的循环最大次数为 。 第二步:将蚂蚁安排到配送中心,同时 将蚂蚁的载货重量初始化为0。 第三步:各个节点的路径信息素开始运 动。根据公式3来搜索路径并进行信息素挥发 处理。 f.,(f+1)=(1一p)ro(f) 第四步:配送路径的选择。首先将各只蚂 192・电子技术与软件工程Electronic Technology&Software Engineering 蚁设为k,假设每只蚂蚁所达到的目标节点都 是i,那么就会从i的候选城市表中选择出符 合蚂蚁载重要求的城市节点,根据公式1、2 来计算出下个将要达到的城市节点J,然后将 城市节点i移入蚂蚁k的已搜节点表中去,同 时还需要增加蚂蚁路由的路径长度。假设候选 城市中无法达到现有蚂蚁载重量需求的城市, 那么就会返回到第三步。 ,,J argmaxjeaUowed,(i) ,J(f)1 ,(f }如果q≤qo, 1J其它 l ,(f)] [ , (明 咖)={ l0 若s∈allowed (f)否则 第五步:释放局部信息素。在各次循环 中,每只蚂蚁需要进行更新各自的信息素,当 在某个t时刻蚂蚁k经过(i,i)边时,那么该 只蚂蚁需要更新(i )边的规则并释放相关的信 息素。 (t+1)=(1一p)rg(t)+P・fo 第六步:检查蚂蚁的已搜索节点表长度 是否小于客户节点的数目,假如是小于就会跳 转到第三步;否则就会跳转至第七步; 第七步:在本次循环搜索节点过程中, 经过N次的2-opt变换操作后才能够确定最 优的路径,那么当变换一次后就能够满足装 载量的约束,同时与厶 ,(r)进行比较,如果 厶 ,(f)>L2~ ( ),那么就上 (f)=L2一 ,( ), 并且将最优路径表也进行同步的更新处理。 第八步:释放全局信息素。当全部蚂蚁 走完所有的节点之后,需要确定一只走过路径 最长的蚂蚁和另一只走过最短路径的蚂蚁,同 时还要释放信息素。 ru(t+1)=(1一 ) (f)+ ・ ̄ro(t)
I_ 矿(f, )∈Lb O) :{ 。… l
_ (f, )∈Lwor,,(f) I上 (f)一… 一 第九步:需要进行自适应参数的调整, 对qo,Q,P 0分别进行相应的调整。
‘
Q(f)=Qo(1+t), ≤r (川): ( ),若。・ ( )≥ m I 第十步:当前循环次数t与最大循环次数 the Application of Computer Technology・计算机技术应用 表1:A-n45一k6的客户分布与需求量 鸦 0 I 2 3 4 5 6 7 8 9 3l刀 ll田 96 8l 位 7l 48 91,17 49 嗍 O l9 2 l2 2o 6 l7 8 l4 2 序‘i} l0 ll l2 l3. 14 l5 l6 l7 l8 l9 11.16 7 l l 黼 蚓7 笼 曩l3 8 5 7 兹 l4 l7 筋 l5 2l 2 序Ii} ∞ 2l ∞ 25 27 28 29 矾 惭l 4072 1,44 印 l 蝴 旎43 脯 10 20 6 2l lO 6 l3 2l :}4 序‘胃} ∞ 3I 3c2 33 34 36 37 38 剪 1,m 53jI6 螂 7 235 3c2 嬲 ll I6 8 ll ll 兹 l7 22 l7 8 序‘i} 40 4I 42 43 44 9.1l 鲢l6 90.鲳 3嚣3l 矗碧 ■剜闷星 5 3 l8 l2
图1:VRP车辆调度行驶路径图 f 进行比较,如果大于就跳出本次循环;否 则将已搜索节点信息表全部清空,并将m只 蚂蚁还原到配送中心的起始位置,同时还要跳 转至第二步,不断重复这样的过程,最终求得 最优的配送路径。 3改进后的蚁群算法在车辆配送路线优 化中的应用 因为G2平台广泛的应用在车辆调度工作 方面,G2平台是属于美国Gensym公司设计 出来的实时智能管理软件。这里以G2平台作 为车辆调度应用基础,全面优化企业车辆配送 调度服务,提高工作效率,以最快的速度将货 物送达客户手中。假设客户所在城市的分布与 需求量和A.n45一k6分布信息是一致的(如表 1)。表中序号为0的节点是属于配送中心, 其它各个节点是属于客户所在城市的节点位 置,假设各个车辆的载重量是100。 系统应用改进后的蚁群算法计算出来的 车辆行驶路径如图1所示: 通过改进蚁群算法求得的最优解是:
0.>14一>35->31.>38.>2一>25.>l5一>O.>12.>39.>36一 >42一>4一>l6->22一>9一>0->1->6.>24一>37一>27一>26一 >0->44->34->19一>30一>40->l 1->17.>18.>0一>29. >43->l3->7->28一>23.>O.>32一>20.>5.>21.>33. >41.>8一>10一>3.>0
车辆的具体调度路径安排如下:
车辆1:0->14一>35一>31->38 ̄2・>25->15->o 行驶长度:157 209 车辆2:0->12.>39.>36->42->4一>16一>22.>9.>o 行驶长度:Igl g19 车辆3:0->卜>6->24->37->27.>26.>0 行驶长度:1 12.503 车辆4:0->44,>34一>19->30->40->11.>17一>18->0 行驶长度:173 604 车辆5:O->29一>43.>l3->7->28->23.>0 行驶长度:1 14 773 车辆6:O->32.>20.>5->21->33一>41.>8.>10.>3->0行驶长度:204 973 行驶的总长度为:944 58
从上面的结果中我们能够发现,车辆调
度系统的精度已经能够满足用户的基本需求, 所以通过车辆调度模似系统能够更好地优化车 辆调度工作,全面降低货运费用,有效地提高 货物运送质量,节约成本,而且还可以为客户 提供更好的服务。
参考文献 [1]Co1 0fni A,Dori go M,Maniezzo V.An investigation of some propertiesof an ant a1gorithm[C】In:Proc of the Para1 lel Problem So1ring from Nattire Conference(PPSN 92),Brus sel s,Belgium: E1 sevier Publi shing,1992:509—520. [2】陈嵘,金以慧.G2智能实时系统平台的开 发和应用【J】.化工自动化及仪表.1 998, 25(5):33-36. [3]李士勇.蚁群算法的改进及应用研究进 展[J].计算机测量与控制,2003,11(12): 911-91 7. [4】孙玉涛,毕殿杰.融合遗传算法和蚁群算 法动态网格任务调度算法研究fJ].工业 控制计算机,2O11(02). [5]林芳.遗传算法在网格任务调度的应用研 究[J].计算机仿真,2011(11). [6】白继中,师彪,冯民权,周利坤.自适应 人工蚁群算法在水资源优化配置中的应用 [J】.沈阳农业大学学报,20l1(04). [7]张新丽,范蓉.改进的蚁群聚类算法在电 信CRM客户细分中的应用[J】.移动通信, 20l1(22). [8】刘长平,叶春明,唐海波.Job—Shop调度 问题的量子蚁群算法求解[J].计算机应 用研究,2011(12). [9】张潇,王江晴.混合蚁群算法在车 辆路径问题中的应用[J】.计算机工 程,2O11(24). [10】郭乘涛,汪志斌.应用混合蚁群算法求 解并行批处理机组批与调度问题….上 海交通大学学报,201 0(08).