- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于改进变邻域搜索的多隔室车辆路径优化算法
0 引言随着人们生活品质的提高,多品种、小批量、定制化的产品需求逐渐增加,越来越多的物流企业和配送中心用多隔室车辆(Multi-Compartment Vehicles,MCVs)代替单隔室车辆(Single-Compartment Vehicles,SCVs)来实现不同种类(或特性)产品的联合交付实际生产、生活中MCVs的应用逐渐增加。零售商的杂货分销中综合来看,MCVRP优化研究以及相应算法创新设计兼具理论价值和实际意义,然而,MCVRP中多种特性产品不能混装的特质以及相应隔室的增加、隔室容量的限制造成了研究的差异性及困难性,且MCVRP的平均解决方案质量不如CVRP1 问题描述及模型构建1.1 问题描述多隔室车辆路径优化问题可以描述为一个配送中心服务于多个需求节点,每个需求节点具有不同种类产品需求,任意一种类产品需求不可拆分配送,不同种类产品需严格分装、联合配送交付,且仅接受一次车辆访问;需采用车型相同的、每个隔室的容量固定不变、具有容量限制的多隔室车辆进行配送,其中每个隔室仅能装载一种产品,每辆车负责线路中所有需求节点对某种产品的需求已知且不超过对应隔室的负载上限、对某种产品的需求总量不超过对应隔室的负载上限、对所有种类产品的需求总量不超过整车的负载上限;配送中心的库存最大容量、多隔室车辆的台数均能够满足所覆盖需求节点的所有种类产品需求;多隔室车辆从配送中心出发,沿规划路径配送完毕后,返回配送中心,最终实现总的配送距离最小化。相关符号。决策变量。1.2 模型构建MCVRP的数学模型如下:其中,式(1)为目标函数,表示最小化多隔室车辆总配送距离;式(2)表示一个需求节点只接受一辆多隔室车的服务且仅能被访问一次;式(3)表示路径具有连续性;式(4)表示多隔室车辆配送过程中的任意种类产品需求之和不超过对应的隔室负载上限;式(5)表示任意需求节点的任意种类产品需求量不超过相应隔室的负载上限;式(6)表示多隔室车辆返回配送中心时,某种产品的荷载量等于该多隔室车辆本次配送路线中各需求节点的该种产品的需求量之和;式(7)表示配送车辆在任意节点的某种产品的荷载量满足在该点需求量的递推关系。2 算法设计VNS算法是Mladenovic(1997)2.1 初始解构造VNS算法是基于单个解向量展开的寻优过程步骤 1 坐标系转换。将配送中心{0}和所有需求节点{1,2,3,...,步骤 2 将需求节点分组。最小角度的需求节点作为起始点,按照逆时针方向,将需求节点逐一纳入组步骤 3 重复第二步操作,直至所有需求节点都被分组为止。此时,任意一组内的所有需求节点的任意种类产品的需求总量未超过当前隔室的负载上限,且组内的所有需求节点的所有种类产品需求总量未超过多隔室车辆整车负载上限;步骤 4 形成初始解。分别将各组内的第1个需求节点、最后1个需求节点与配送中心连接,组内的第以1个配送中心和10个需求节点为例,初始解构造流程如图3。需注意,IVNS算法中可能出现较少点构成的子路径或较少条子路径构成的解,甚至出现极端情况如:1个点构成的子路径或1条子路径构成的解。若某段程序中需具备2个及以上需求节点构成的子路径或2条及以上子路径构成的解才能继续执行时,通过设计并执行特定程序来重新选择子路径或跳出循环,确保算法运行畅通。2.2 Shaking过程Shaking过程即系统地改变邻域结构集以拓展当前解的搜索范围,避免陷入局部最优解,从而获得更优解。鉴于此,基于MCVRP的子路径形式初始解设计子程序1中的Shaking过程,从子路径转换的角度构造邻域结构集合,小范围扩展当前解搜索空间,具体步骤如下。步骤 1 定义邻域结构集合步骤 2 选取邻域结构。按照预先设定顺序,选取邻域结构集合中的一个邻域结构步骤 3 选取两条子路径。确定当前解步骤 4 获得两条(或一条)新子路径。根据步骤 5 形成新解。通过保留当前解单一的邻域结构可能造成当前解的较大波动首先,基于插入算子设计邻域结构其次,基于交换算子设计邻域结构最后,基于2-opt*算子设计邻域结构2.3 全局扰动过程上述Shaking过程是基于子路径展开的小范围解空间的探索,为了进一步扩大解空间的搜索范围,通过有效的邻域变换保证多样化的探索并最终实现全局的优化步骤 1 输入当前解步骤 2 令步骤 3 从步骤 3.1 当步骤 3.2 当步骤 3.3 当步骤 4 将2.4 还原及再分配策略一般算法设计中,相应动作的执行以新解负载合规、配送距离变小为前提2.4.1 还原策略步骤 1 输入子路径形式的不可行当
文档评论(0)