物流配送中最优路径规划模拟系统的制作方法

文档序号:11831929阅读:610来源:国知局
物流配送中最优路径规划模拟系统的制作方法与工艺

本发明涉及物流配送技术领域,具体涉及物流配送中最优路径规划模拟系统。



背景技术:

物流产业的快速发展推动了配送路径问题的研究,在B2C电子商务模式下,商品需求多样化、客户需求个性化,配送小批量多次数的特征,需要确定适当的配送路线来满足客户在配送时间上的个性化要求。配送路径的选择是否合理,对加快配送速度、提高服务质量、降低配送成本及增加经济效益都有较大影响。配送路径的优化问题是物流配送系统的一个主要问题,物流配送路径的优化就是以最低的运营成本、最快捷的响应速度、最短的配送运输时间,把货物运至用户手中。

在B2C农产品电子商务物流配送时,物流车装载当日需要配送的货品从仓库出发,按照事先规划好的最优配送路径为每一个客户进行配送,最后返回仓库。

随着B2C农产品电子商务物流配送的发展,路径规划已经不仅仅是求取路径最小化的问题,所要考虑的问题越来越复杂,传统的精确解法已经落后,传统的优化解法不仅费时而且要求求得最优解,是一种理想化的求解方法。



技术实现要素:

本发明的目的是在配送之前能够根据客户的配送地址间线路间距、经验路况做分析,快速算出一条最优配送路径,在配送过程中,如果某路段堵车,能够进行动态调整配送路线,为实现此目的,本发明提供务物流配送中最优路径规划模拟系统。

B2C农产品电子商务物流配送,是以最低成本、最快响应速度高质量高效率的完成客户的配送需求,需要精确的客户地理位置数据,从而规划最优配送路径;在实际中能够根据任意客户之间路段的堵车情况进行动态调整。

最优路径规划的目标是用户的位置以及用户的数量确定后,系统能够立刻为所有用户规划出一条从仓库到所有的客户位置的最优配送路径。物流运送车在正常行驶时,如果发生堵车事件,立即调整行驶路线,重新规划最优路径,实现动态调整配送路线;并且能够在可视化的界面上进行生动的现实模拟,让物流配送车沿着动态调整规划的路线行驶,在界面上体现最优配送路径,达到最佳的现实模拟效果。

本发明的技术解决方案是:物流配送中最优路径规划模拟系统,包括系统主界面、最短时间规划、最短路径规划模块;

所述系统主界面模块,集合了最短时间和最短路径的各种操作,主界面可以生成客户数据,包括客户的地理位置和客户的顺序编号,以及仓库的位置等,还有最短时间、最短路径的按钮,堵车路段的设置以及规划的最优路径结果显示;

所述最短路径规划模块,包含了回朔法和改进的模拟退火算法处理最短路径算法,以仓库为中心,找到从仓库经过所有客户再回到仓库的最短路径;

所述最短时间规划模块,将各个路段的速度根据需要设为不同值,计算物流货车通过所有的客户所需的最短时间。

所述系统主界面模块,包括路径显示框、操作列表、操作框、效果显示框、执行提示框。

所述路径显示框,用来显示客户位置、客户编号、仓库位置、规划路线、货车运动情况以及堵车后动态调整规划后的路径显示和货车运动轨迹;鼠标左键点击显示框的任意位置,每点击一次,便会生成一个客户,有相应的圆点显示标记;所述规划的路线最终是封闭的,在显示框中表示为若干条两点之间的一段直线相连接。

所述操作列表,包括了仓库位置初始框、最短时间和最短路径两个按钮;仓库位置初始框用来设定仓库的位置;选定仓库位置后,点击“最短时间”按钮,对所有点,包括仓库点和客户点,进行最短时间规划;点击“最短路径”按钮,系统会对所有点进行最短路径规划;最短时间按钮、最短路径按钮可随意切换。

所述操作框,操作框中有一个“设置”按钮,以及“设置堵车路段”的输入提示。

所述效果显示框,显示货车所在路段、时间及路径最优值。

所述执行提示框,提示规划后从仓库到客户再到仓库的所有路径的具体路线。

所述最短路径规划模块,当客户数量较少时采用回溯法,回溯算法作为程序的一个函数;函数返回最短路径长度,物流车的配送路径由整型数组返回;若有两客户之间的路段发生堵车,则返回堵车信息;

排列空间树中递归搜索最优解,物流类Logistics是其一个必要的预处理过程;

假定表示保存当前物流车配送路径的整型数组;表示保存当前规划的最优配送路径的整型数组;整型变量表示保存当前节点之间的路径长度;整型变量表示保存目前最优解的长度值,已被定义为Logistics中的静态数据成员。

回溯法深度搜索函数搜索第个客户的过程如下:

(1)当时,表示处在排列树的叶节点的父节点上,此时需要验证从到有一条边以及从到起点也有一条边;若两条边都存在,则表示发现了一个新路径;验证该路径是否目前发现的最优路径;若是,则将路径和它的长度分别存入与中;

(2)当时,检查当前层节点的孩子节点,并且仅当以下情况出现时,移动到孩子节点之一:

①有从到的一条边,定义了网络中的一条路径;

②路径的长度小于当前最优解的长度;

③变量保存目前所构造的路径的长度;

每次找到一个更好的配送路径时,除了更新时的时间耗费外,需耗时;又因为需发生次更新且每一次更新的耗费为时间,因此更新所需时间为;通过使用增加强一些限制性条件能减少由搜索的树节点的数量。

所述减少搜索时间的限制性条件如下:

(1)当时,当前扩展结点位于排列树的第层;排列树中存在从顶点到顶点的边时,从而构成一条路径;因此,如果这条路经的成本大于当前最优值,则剪去相应的子树,从而减少搜索最优解的计算量;

(2)当物流车在配送过程中出现堵车时,由于已经走过的路经不需要再规划,只需要对未走过的路线进行规划;因此,只对未访问的结点进行优化可以节省大量的优化时间。

所述最短路径规划模块,当客户数量较多时采用改进的模拟退火算法,改进的模拟退火算法新解的产生和接受可分为如下5个步骤:

(1)由蚁群算法产生一个位于解空间的新解;

(2)计算与新解所对应的目标函数差,目标函数差按增量计算;

(3)判断新解是否被接受, 判断的依据是一个接受准则, 接受准则是Metropolis准则;

(4)当新解被确定接受时,用新解代替当前解,将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值;此时,当前解实现了一次迭代;在此基础上开始下一轮试验;当新解被判定为舍弃时,则在原当前解的基础上继续下一轮试验;

(5)如果迭代次数还未达到最大迭代次数,则重复步骤(2),(3),(4);否则,寻优过程结束。

所述蚂蚁群法,其步骤如下:

Step1:路径初始化;将只蚂蚁随机放到个客户点,每只蚂蚁的禁忌表为蚂蚁当前所在客户点,各边信息初始化为;

Step2:路径构造;每只蚂蚁按照概率转换规则选择下一个客户点,依次下去直到条不同路径;

Step3:信息更新;每次找到一个客户点后,将信息素、当前路径长度、最优路径长度进行更新;

Step 4:得出结果;当执行到足够多的次数后,得到了最优路径的近似解。

所述最短路径规划模块、所述最短时间规划模块中整个物流车在配送过程中为动态规划路径,步骤如下:

(1)配送矩阵;导入客户间的权重信息;如果客户与客户之间能够直达,则;否则,;

(2)最优路径初始化;,其中表示仓库,表示个客户;

(3)选定仓库;令,其中可以是集合中的任何一个整数;

(4)求物流车出发前的最优路径;通过回溯法或改进的模拟退火算法依次选定,,,,则就是当前物流车的最优路径;

(5)配送过程中的动态规划;如果物流车在行进的过程中遇到堵车,则需要根据物流车的当前情况进行调整;用回溯法或改进的模拟退火算法具体调整如下:

①如果堵车路段发生在物流车已经通过的路段,则物流车不需要变更配送路线;

②如果物流车还有两个客户或一个客户没有配送,则即使发生堵车,物流车除了等待而别无选择;

③如果堵车事件不是发生在物流车的规划路线上,物流车同样不需要变更配送路线;

④如果不是上述三种情形,则需要用回溯法对所有未配送的客户重新规划最优路径;

(6)循环;重复步骤(5),直至物流车配送结束。

本发明的有益效果是:用户可以在模拟系统界面上随机标注仓库与客户的地址;模拟系统可根据用户选择的路径规划策略,如最短路径、最少时间等进行配送路线规划;模拟系统可根据某条路段堵车后进行动态调整,重新对配送路线进行规划;模拟系统界面上可以模拟车辆从仓库出发,沿着规划的配送路线行进,最后返回仓库。在配送过程中可模拟前方行进路线堵车事件,模拟系统能够绕开堵车路段动态规划配送路线。

附图说明

图1是物流配送中最优路径规划模拟系统总体结构图。

图2是模拟系统主界面图。

图3是最短路径规划效果图。

图4是遇到堵车时的最短路径规划效果图。

图5是最短时间规划效果图。

图6是最短时间规划效果图。

具体实施方式

下面结合附图对本发明做进一步地说明。

物流配送中最优路径规划模拟系统结合了回朔法、模拟退火算法、蚁群算法,当客户数量较少时采用回朔法,当客户数量比较多时,采用人工智能算法的改进的模拟退火算法。

物流配送中最优路径规划模拟系统分为几个相对独立的模块。分层的模块化设计思想,系统采用模块化程序设计结构,作为应用程序有较强的可操作性和可扩展性;结构层次分明,组织完备,清晰简明。由上到下,系统依次调用各个模块,满足用户需求;系统负责准确调用,实现用户选择的规划策略,即最短时间或者最短路径。

如图1,物流配送路径规划模拟系统分为系统主界面、最短时间规划、最短路径规划三个模块;系统运行环境:Microsoft Visual C++6.0。

如图2,系统主界面集合了最短时间和最短路径的各种操作,主界面可以生成客户数据,包括客户的地理位置和客户的顺序编号,以及仓库的位置等,还有最短时间、最短路径的按钮,堵车路段的设置以及规划的最优路径结果显示。

最短路径规划模块包含了回朔法和改进的模拟退火算法处理最短路径问题,以仓库为中心,找到从仓库经过所有客户再回到仓库的最短路径。

最短时间规划模块中将各个路段的速度设为不同的随机值,计算物流货车通过所有的客户所需的最短时间。

系统采用MFC标准界面,所有相关操作均集合在此界面上。

系统界面除以上所述基本信息外,分为五个部分;分别是路径显示框、操作列表、操作框、效果显示框、执行提示框。

路径显示框是用来显示客户位置、客户编号、仓库位置、规划路线、货车运动情况以及堵车后动态调整规划后的路径显示和货车运动轨迹。鼠标左键点击显示框的任意位置,每点击一次,便会生成一个客户,有相应的圆点显示标记。其中规划的路线最终是封闭的,在显示框中表示为若干条两点之间的一段直线相连接。当选定了仓库位置后,仓库处颜色变为蓝色,使易于辨识。

操作列表中包括了仓库位置初始框、最短时间和最短路径两个按钮。仓库位置初始框是用来设定仓库的位置,但前提是必须先有客户点,这样才能从其中选择一个点作为仓库。为方便操作,系统将仓库的位置默认为1(即第一个客户点)。只有选定了仓库之后,才能进行最短路径或者最短时间规划。点击“最短时间”按钮,系统对所有点(包括仓库和所有客户点)进行最短时间规划。点击“最短路径”按钮,系统会对所有点进行最短路径规划。并且,两者是可以随意切换的。

操作框中有一个“设置”按钮,以及“设置堵车路段”的输入提示。设置的堵车路段必须是路径显示框中已经规划好的某一条确定路段,如果随意设置不存在的堵车路段,系统会有“堵车路线不存在”的信息提示,如果设置的多次路段是正确的,但是货车已经通过或正在通过所设定的路段,系统会有“堵车信息提示已经晚了”的提醒,并且如果货车即将回到仓库,即处在最后或者倒数第二条路段上,这时设置堵车路段,由于马上要到仓库了,已经经过了其他所有的客户必须走剩下的路段,因此,系统会有“堵车提示信息无效,即将回到仓库”的提示信息。需要注意的的是,在设置堵车路段时,可以按照执行提示框的货车行驶路段信息进行准确设置,这样更具体,否则,如果不正确的设置,会有相应错误信息的提醒。这个“设置”不仅仅可以设置一次堵车,还可以多次设置多次路段,实现多路段堵车也能够动态调整动态规划。

效果显示框包含货车所在路段和时间(路径)最优值两块。货车所在路段显示的是货车当前正在行驶的路段,这个路段由该路段两端的客户编号以及一个箭头组成,并且,该显示是动态的,即当货车到达另一路段时,货车所在路段也会相应地显示另一路段的客户编号。当在操作列表中点击“时间最短”,效果显示框的下方便显示时间最优值,当在操作列表选择“路径最短”时,效果显示框的下方便显示路径最优值。

执行提示框提示的是规划后从仓库到客户再到仓库的所有路径的具体路线。只有选择了“时间最短”或者“路径最短”,执行提示框才会有具体的路线显示。并且,执行提示框的信息也是动态的,当“时间最短”和“路径最短”之间发生切换,或者设置堵车路段生效时,执行提示框会根据系统动态的规划调整变化进行路线的动态显示。使货车行驶的所有具体路线一目了然。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1