[摘 要] 针对多配送中心车辆调度问题的复杂性特点,提出用最近距离分配法和遗传算法分两步求解多配送中心车辆调度问题,并进行了试验计算。   [关键词] 多配送中心 车辆调度 最近距离分配法 遗传算法

一、 引言

车辆调度是物流系统优化中关键的一环。对配送车辆的调度进行科学优化,可以降低运输成本,提高物流企业经济效益。根据配送中心数目的多少,配送车辆优化调度问题有单配送中心车辆调度问题和多配送中心车辆调度问题之分。目前,我国一些大中型城市的物流体系中存在有多个配送中心的情况。因此,对多配送中心车辆调度问题的研究有重要的现实意义。

本文提出了用最近距离分配法将多配送中心车辆调度问题分解为多个单配送中心车辆调度问题进行求解的策略,利用求解单配送中心车辆调度问题的遗传算法,设计了求解多配送中心车辆调度问题的算法,最后通过案例计算验证了该算法的良好性能。

二、多配送中心问题转化成单配送中心的问题

本文采用最近距离分配法将多配送中心车辆调度问题转化成单配送中心车辆调度问题。

根据距离最近原则,决定为某客户提供服务的配送中心。鉴于多配送中心车辆调度问题以总配送里程最短为优化目标,计算某客户与各配送中心的距离,该客户离那个配送中心最近,就将其分配到那个配送中心,由该配送中心为其提供服务。

三、混合遗传算法求解单配送中心的车辆调度问题

遗传算法是一种“生成+检测”的迭代搜索算法。该算法以群体中的所有个体为操作对象,每个个体对应研究问题的一个解。选择,交叉和变异是遗传算法的三个主要操作算子。该算法包括以下6个基本要素:(1)编码;(2)初始群体生成;(3)适应度评估;(4)选择;(5)交叉;(6)变异。

针对单配送中心无时间窗车辆路径优化问题的特点,构造了求解该问题的遗传算法。

1.自然数编码

本文采用表示比较直观的,容易产生可行解的自然数编码方法。这种方法是直接产生L个1~L间的互不重复的自然数的排列,该客户排列就构成一个解,并对应一个配送路径方案。

2.初始群体的生成

本文采随机生成的方法生成初始群体

3.适应度函数

本文以距离最短作为目标函数,适应度函数为目标函数的倒数,显然适应度越大,距离越短,被选入下一代操作的机率就越大。

4.选择操作

本文采用最优个体保留与赌轮选择相结合的方法。将每代群体中的N个个体按适应度由大到小排列,排在第一位的个体性能最优,将它复制一个直接进入下一代,并排在第一位。下一代群体的另N-1个个体需要根据前代群体的N个个体的适应度,采用赌轮选择法产生。

5.交叉操作

本文采用顺序交叉(OX)。首先选择一个匹配区域,设两父代个体及其匹配区域为:A=58|742|361、B=25|831|746;然后根据匹配区域的映射关系,在其区域外的相应位置标记H,得到:A’=5H|742|H6H、B’=H5|831|HH6;再移动匹配区域至起始位置,且在其后预留相等于匹配区域的空间(H的数目),然后将其余的码按其相对次序排列在预留区后面,得到:A”=742|HHH|65、B”=831|HHH|65;最后将父串A、B的匹配区域相互交换,并放置到A”、 B”的预留区内,即可得到两个后代个体:A”’=74283165、B”’=83174265。

6.变异操作

物种变异的可能性较小,所以在遗传算法中变异操作只起辅助作用。对每代种群以变异概率Pm=0.001进行染色体变异。在此引入一种新的变异策略:逆转变异。具体过程如下:随机产生一染色体E和两个变异点,将变异段进行逆转得新个体E1。

E=12|5836|29→E1=12|6385|29

四、 实验计算和结果分析

案例:某城市有3个配送中心和33个客户,分布在一个边长为30km的正方形地域内,每个客户的货物需求量都在2t及其以下,每个配送中心有4台车辆,车辆的载质量均为10t,车辆一次配送的最大行驶距离均为60km。其中3个配送中心的坐标分别是:配送中心1(9.56km,6.03km)配送中心2(6.44km,11.28km)配送中心3(21.14km,21.10km),33个客户的坐标及其货物需求量见表.要求合理安排配送车辆的行车路线,使配送总里程最短。为简便起见,本文设各客户相互之间及配送中心与客户之间的距离按照公式dij=1.2[(xi-xj)2+(yi-yj)2]1/2(km)近似计算。

采用最近距离分配法,在MATLAB里通过编程计算得到如下的分区结果:

配送中心1为9个客户服务,客户编号为:30,2,4,7,1,27,16,21,23;

配送中心2为13个客户服务,客户编号为:17,31,12,8,29,25,26,13,15,18,14,32,9;

配送中心3为11个客户服务,客户编号为:3,6,24,20,22,33,5,28,10,11,19。

设定交叉概率pc=0.7,变异概率pm=0.001,使用遗传算法分别对三个配送分区构成的单配送中心车辆调度问题随机求解50代,得到的最优解分别是:

配送中心1:使用一辆车,对应的配送路径为配送中心1-21-23-30-2-4-7-1-27-16-配送中心1,配送路径总长度为55.07km。

配送中心2:使用两辆车,对应的配送路径分别为配送中心2-12-8-29-25-26-13-15-配送中心2和配送中心2-18-14-32-9-17-31-配送中心2,配送路径总长度为81.68km.

配送中心3:使用两辆车,对应的配送路径分别为配送中心3-10-11-19-3-6-24 -20-配送中心3和配送中心3-22-33-5-28-配送中心3,配送路径总长度为80.75km.

将上述三个配送中心的最优解合并,即可得到该多配送中心车辆调度问题的解,该解对应的配送方案共使用了5辆车,5条配送路线的总长度为217.5km。

五、 结束语

本文首先用最近距离分配法将复杂的多配送中心车辆调度问题转化为简单的单配送中心车辆调度问题,然后用遗传算法有效地求解了单配送中心车辆调度问题。这种求解策略将复杂的问题简单化,提高了计算效率,适用于求解大规模的多配送中心车辆调度问题。

参考文献:

[1]郎茂祥:多配送中心车辆调度问题的模型和算法研究[J].交通运输系统工程与信息,2006(5):65~69

[2]李 军,郭耀煌:物流配送车辆优化调度理论与方法[M].北京:中国物资出版社,2001.93~96

[3]陈国良 王熙法 庄镇泉 王东生:遗传算法及其应用[M]. 北京:人民邮电出版社,1996,101~106

[4]周 明 孙树栋:遗传算法原理及应用[M].北京:国防工业出版社,1999.18~58

“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”

货物配送问题的matlab,遗传算法matlab程序【基于遗传算法的无时限多配送中心车辆调度问题研究】...相关推荐

  1. 【路径规划】基于蚁群算法的多配送中心车辆路径优化方法matlab代码

    1模型介绍 一种基于蚁群算法的多配送中心车辆路径优化方法,首先,针对多配送中心车辆路径优化问题,对各个客户点设计了以最近配送中心为启发式信息的惩罚函数;其次,将具有上述启发式信息的罚函数加入到各配送点 ...

  2. 分布式电源优化配置与选址定容MATLAB程序基于遗传算法

    分布式电源优化配置与选址定容MATLAB程序基于遗传算法 (1)该程序为基于遗传算法的分布式电源优化配置与选址定容程序,硕士学位论文源程序,配有该论文. (2)本程序可有效配置分布式电源容量与安装位置 ...

  3. matlab和投影寻踪,基于遗传算法的投影寻踪模型Matlab源码

    基于遗传算法的投影寻踪模型Matlab源码 %% "投影寻踪+遗传算法优化"的主仿真程序 % GreenSim团队原创作品,转载请注明 % Email:greensim@http: ...

  4. matlab 随机骨料程序,基于matlab的混凝土三维圆形骨料模型随机投放方法.pdf

    一试验研究 斑楚遽1村 2Ol2年 基于matlab的混凝土三维圆形骨料模型 随机投放 方法 张海波 ,.何军拥. (1.广州航海高等专科学校,广东 广州 510330:2.广东工贸职业技术学院,广东 ...

  5. matlab 随机骨料程序,基于matlab的混凝土三维圆形骨料模型随机投放方法

    2012 年■ 试验研究 基于 matlab 的混凝土三维圆形骨料模型随机投放方法 张海波 1,何军拥 2 (1.广州航海高等专科学校,广东广州 510330: 2.广东工贸职业技术学院,广东广州 5 ...

  6. gadecod matlab,【预测模型】基于遗传算法优化BP神经网络房价预测matlab源码

    一.简介 1 遗传算法概述 遗传算法(Genetic Algorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法 ...

  7. matlab的dc程序,基于MATLAB的数字式DC/DC开关电源系统建模

    2009 年 3 月 25 日第 26 卷第 2 期 Telecom Power Technology Mar. 25 , 2009 , Vol. 26 No. 2 收稿日期 :20081217 作者 ...

  8. matlab编写转台程序,基于Matlab三轴惯导测试转台结构分析.doc

    基于Matlab三轴惯导测试转台结构分析 基于Matlab三轴惯导测试转台结构分析 摘 要:三轴惯导测试转台作为惯导测试设备,其精度直接影响惯导设备的精度,而中框回转精度在三轴精度相对较差.影响其中框 ...

  9. 基于matlab车牌识别程序,基于MATLAB车牌识别系统设计

    基于MATLAB车牌识别系统设计(任务书,开题报告,毕业论文11200字) 摘要 社会的不断发展带动着经济也不断的增长,从而也提高了人们的生活水平.汽车的需求量也日渐增加,现代化交通管理的出现,解决了 ...

最新文章

  1. 【Python学习笔记】输入raw_input(),特殊情况下也可以用input()
  2. hadoop集群配置与启动
  3. 如果学习编程可以重来
  4. 600分钟搞定Python入门到实战
  5. Time包详解二-timer和ticket.html
  6. conda下用prefix创建虚拟环境会怎么样?
  7. [转载]iphone开发--改变UIPageControl里的小点的颜色
  8. PCM设备E1保护切换功能介绍
  9. 《深入理解Elasticsearch(原书第2版)》一第1章
  10. 类库、通用变量、is和as、委托
  11. RHEL5中配置Sendmail邮件服务 收藏二
  12. 如何控制局域网网速_免费局域网监控软件如何提升控制性能 - 百科
  13. 激光条纹中心提取——灰度重心法
  14. BaseRecyclerViewAdapterHelper开源项目之BaseSectionQuickAdapter 实现Expandable And collapse效果的源码学习...
  15. Java笔试面试题三(编程算法)
  16. Ultra Light Support
  17. 13 MATLAB 三维图形绘制
  18. [转载记录]系统的UIM卡介绍
  19. 什么是云原生(cloud native)架构?
  20. 详细设计说明书编写规范

热门文章

  1. 洛谷1594 护卫队_区间dp_题解
  2. 解决vs2005“无法附加,绑定句柄无效”问题
  3. 如何快速了解Final Cut 剪辑全流程,新手快速上手Final cut Mac
  4. 《有一种努力叫投资自己》——英文励志小文翻译
  5. 动画图解:Excel字符格式设置
  6. python import 文件
  7. 数据库系统原理与实践题库及答案(完整版)
  8. window下安装mongoDB
  9. 使用Android-PIN-Bruteforce爆破Android的锁屏密码
  10. 【OS】NMON的简介和使用