改进的蚁群算法在车辆配送路线优化中的应用研究.docVIP

改进的蚁群算法在车辆配送路线优化中的应用研究.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
改进的蚁群算法在车辆配送路线优化中的应用研究.doc

改进的蚁群算法在车辆配送路线优化中的应用研究   由于传统的蚁群算法在寻找最优解时的处理过程较慢,并且还会时常出现停滞的现象,因此,本文提出了改进蚁群算法的措施。文中主要是通过建立候选城市数据表,并且在蚁群算法的状态转移规则中增加了节约量的启发信息。通过实际案例加以验证,结果表明改进后的蚁群算法能够全面提高企业车辆配送效率。   【关键词】蚁群算法 车辆配送路线优化 状态转移规则   蚁群算法(Ant Colony Optimization),通常是用来在图中查找最佳路径的机率型算法。文中通过改进后的蚁群算法对车辆配送路线进行全面的优化。   1 蚁群算法在车辆路径选择中的策略优化   在蚁群算法处理过程中,蚂蚁所走的各个位置都需要进行事前的计算,首先需要定位各条线路的概率值p,然后再对各个线路进行择优处理。因此,在原有的算法中选择出最佳线路是很耗时间的。为了能够节约路径的选择时间,因此,对其策略进行改进。   (1)候选城市节点信息的优化。   从传统的VRP中我们可以发现,当车辆进入i城市之后需要确定下一个最优城市j时,那么j就是属于离i最近的城市了。但是在传统的蚁群算法中,当蚂蚁到达i城市之后,就从其未走过的城市节点中一一对比来发现j城市节点,那么这样一一对比的方式就会消耗很多的计算时间,工作效率较低。从这里我们可以看出m只蚂蚁选择下一个城市配送点时需要对比的循环次数是m*n*(n+1)/2,完成一次操作的复杂度是。   从上面传统蚁群算法中我们可以发现,蚂蚁所要经过的城市是属于离当前城市距离最近的,假如我们选用了c个节点列为本次的候选城市节点时。此时,m只蚂蚁选择下一个城市配送节点时需要对比的节点循环次数是m*c(n-c)+m*c(c+1)/2,一般情况下c的取范围是城市节点总数目的八分之一或者六分之一,那些,我们可以计算出现在的复杂度是。从新算法的复杂度中我们能够发现,蚂蚁m值与城市n值的数量在不断地扩大时,可以很明显地发现新的蚁群算法具有更快的处理速度和更短的计算时间。   (2)对状态转移规则的优化。   (a)增加节省量启发信息。   假如当城市配送中心节点P需要向节点i和j这两个城市配送东西,那么就需要分别向这两个节点城市各派出一辆货车,路程总长为,作为第一种配方案。如果可以装完当前这批货,那么车辆行走路线是这样的:首先从配送中心出发,先是到达到i城市,再达到j城市,然后再返回配送中心。路程总长为是作为第二种配送方案。通过对第一种与第二种配送路线方案的比较后可以得出,节约量。   (b)状态转移规则。   尽量避免启发信息出现过大,避免蚂蚁重复选择其它节点的线路。因此在转移规则运行之前就需要增加一定的随机量,让蚂蚁根据一定随机值来确定一个目标城市节点。   当蚂蚁在进行下一个状态选择时,首先会产生一个随机数q,如果当q的值小于q0时,那么蚂蚁就会通过选择启发信息作为最大的路径;否则就会通过式2来计算出相应的概率,然后再通过赌轮法来确定下一个侯选城市的节点。   2 改进蚁群算法流程   第一步:先进行初始化参数。取得配送中心这个节点位置与客户所在城市的节点位置信息,求这两个城市节点的距离,并且将各个城市节点建立起各自的候选城市节点信息表。然后将蚂蚁数量m与城市节点数相等即可,出现的循环最大次数为。   第二步:将蚂蚁安排到配送中心,同时将蚂蚁的载货重量初始化为0。   第三步:各个节点的路径信息素开始运动。根据公式3来搜索路径并进行信息素挥发处理。   第四步:配送路径的选择。首先将各只蚂蚁设为k,假设每只蚂蚁所达到的目标节点都是i,那么就会从i的候选城市表中选择出符合蚂蚁载重要求的城市节点,根据公式1、2来计算出下个将要达到的城市节点j,然后将城市节点j移入蚂蚁k的已搜节点表中去,同时还需要增加蚂蚁路由的路径长度。假设候选城市中无法达到现有蚂蚁载重量需求的城市,那么就会返回到第三步。   若否则   第五步:释放局部信息素。在各次循环中,每只蚂蚁需要进行更新各自的信息素,当在某个t时刻蚂蚁k经过(i, j)边时,那么该只蚂蚁需要更新(i,j)边的规则并释放相关的信息素。   第六步:检查蚂蚁的已搜索节点表长度是否小于客户节点的数目,假如是小于就会跳转到第三步;否则就会跳转至第七步;   第七步:在本次循环搜索节点过程中,经过N次的2-opt 变换操作后才能够确定最优的路径,那么当变换一次后就能够满足装载量的约束,同时与进行比较,如果,那么就,并且将最优路径表也进行同步的更新处理。   第八步:释放全局信息素。当全部蚂蚁走完所有的节点之后,需要确定一只走过路径最长的蚂蚁和另一只走过最短路径的蚂蚁,同时还要释放信息素。   第九步:需要进行自适应参数的调

您可能关注的文档

文档评论(0)

guan_son + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档