VRP算法介绍.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VRP算法介绍

STEP 2 分组 从最小角度的两个客户开始,建立一个组,按逆时针或者顺时针方向,将客户逐个加入到组中,直到客户需求总量超过了车辆负载限制时,结束该条线路。 STEP 3 重复STEP2的过程 建立一个新的组,继续按照逆时针或者顺时针方向,将客户继续逐个加入到组中,生成新的线路,直到所有的客户点都被分到某个组为止。 STEP 4 线路优化 对各个分组内的客户群就是一个个单独的TSP(其中,各组的起点都是极点)。求解TSP ,得到优化线路。 例 某配送中心P向客户点配送货物。图中各客户点旁括号内的数字表示该客户的需求量(t)。配送中心有载重量为2t的车辆可供使用。试制定其最优的配送线路。 P A(0.2t) B(0.8t) C(0.7t) D(0.2t) F(0.2t) G(0.1t) H(1.2t) I(0.5t) 显然,根据扫描算法,可以把客户点分为不同的两组,分别为: (A,B,C,D),(F,G,H,I)。 分组完成后,即可对组内的客户点进行路径优化。 P A(0.2t) B(0.8t) C(0.7t) D(0.2t) F(0.2t) G(0.2t) H(1.2t) I(0.6t) 一、构造启发式算法 两阶段算法 先排程后分组 这种方法首先构造一条或几条很长的线路(通常不可行),它包括了所有需求对象,然后再把这些很长的线路划分成一些短而可行的线路。具体进行时,一般是先解一个经过所有点的旅行商问题,形成一条线路,然后根据一定的约束(如车辆容量等)对它进行分划。 先分组后排程 这种方法先把节点和(或)弧的需求进行分组或划群,然后对每一组设计一条经济的线路。如扫描算法,其目的在于形成需求点的径向区域,从车场发出的射线“扫过”这个区域,使不超过车辆容量的需求点组成一个区域,一个区域就是一个组,当形成一系列这样的组后,再对每一组中的各点安排线路。 二、改进启发式算法 局部搜索 黑夜的登山者(这里是山顶?) 局部最优解 近邻(neighborhood) 近邻:对于某一个实行可行解 x∈F,将x进行一些适当的变形所得到的可行解集合 近邻 N(x) x 近邻操作(neighborhood operation) 近邻操作:从某一可行解x出发,为了在其近邻N(x)中生成一个可行解而使x适当变形的操作 局部最优解(locally optimal solution ): N(x)当中不再存在改善解的 x,则 称x为关于N(x)的局部最优解。 全局最优解(globally optimal solution) 应用局部搜索的概念,通过对边(成弧)进行交换,在初始可行解的邻域中对初始解进行调整,每次调整使可行解得到改进,直至解在邻城内不能改进为止。 二、改进启发式算法 k-opt算法 基本原理是应用局部搜索的概念,通过对 k 条边(弧)行交换,在初始解的邻域中对初始解进行调整,每次调整接受得到改进的可行解,直至解在其邻域内不能改进为止。最终解就叫做k-最优解(k-opt)。 k是一开始就设定的常数,从巡回路径中找出k条边,共有Cnk中选择方法,必须全部考虑到。如果无论选出哪k条边替换都不能进一步优化,则称这条巡回路径是k-最优。 显然,k 越大优化后的效果越好,可是随着 k 增大,计算量也快速增大。 考虑到计算时间的限制,一般都选较小的k,最常用的是2- opt和3- opt。 2-opt算法 3-opt算法 3-opt 算法是局部搜索算法中效率最高的k- opt 邻域算法。 其基本过程是:设T是一条初始路径,产生3 个随机位置x0、y0、z0,它们的下一个节点分别记为x1、y1、z1,对应的3条边的集合记为{a,b,c},三条边互不相邻,该算法试图找到另一个边集合{a1,a2,a3},使得新的费用变小,这里是3 条边则称为3-opt。 3-opt算法 图 3-opt算法示意 0 1 2 3 4 5 6 7 8 9 在可行解中随机抽取三条互不相邻的边23、56和89。 找出另一边的集合26、58和39使之形成回路。 计算:如果d23+d56+d89d26+d58+d39则交换两条回路,则交换后的解优于原来的解。 如果d23+d56+d89d26+d58+d39则保持原来的解不变。 在改进的可行解中重复以上工作,直到不能改进为止。 3-交换(3-opt)算法 3-opt算法中,打断抽取的三条边后,共有四种回路可选,见下图。 0 1 3 4 5 6 7 8 9 2 (1)26-58-39 0 1 3 4 5 6 7 8 2 (2)26-59-38 9 3-

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档