[发明专利]一种基于meanshift分类的大规模客户点分类配送方法有效
申请号: | 201310547712.0 | 申请日: | 2013-11-07 |
公开(公告)号: | CN103593747B | 公开(公告)日: | 2016-11-23 |
发明(设计)人: | 张贵军;陈铭;明洁;姚春龙;张贝金;程正华;邓勇跃;刘玉栋;秦传庆 | 申请(专利权)人: | 银江股份有限公司;浙江工业大学 |
主分类号: | G06F17/00 | 分类号: | G06F17/00;G06Q10/08;G06Q50/28;G06N3/12 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310012 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 meanshift 分类 大规模 客户 配送 方法 | ||
1.一种基于meanshift分类的大规模客户点分类配送方法,其特征在于:所述分类配送方法包括以下步骤:
A1、获取带有至少包含NAME,OBJECTID*,Shape*,Shape_Length4个字段的路网矢量数据,对原始的矢量数据的不及、超过和节点不相交3种情况进行处理;然后建立GIS富网络路网模型;
A2、建立配送目标节点分类模型;
在地理坐标下,提取各个目标节点的地理坐标,依据样本密度动态选取聚类中心,直至将所有的目标节点分类;具体模型如下:
给定2维空间R2的n个样本点,i=1,…,n,在空间中任选一点x,那么Mean Shift向量的基本形式定义为:
Sk是一个半径为h的圆形区域,满足以下关系的y点的集合,
Sh(x)={y:(y-xi)T(y-xi)<h2} (2)
k表示在这n个样本点xi中,有k个点落入Sk区域中,在2维空间中,任选一个点,然后以这个点为圆心,h为半径做一个圆形区域,落在这个圆内的所有点和圆心都会产生一个向量,向量是以圆心为起点落在球内的点位终点,然后把这些向量都相加,相加的结果就是Meanshift向量,再以meanshift向量的终点为圆心,再做一个半径为h的圆,重复以上步骤,得到一个新的meanshift向量,如此重复下去,meanshift算法收敛到概率密度最大的点,该点就是聚类的中心点;
A3、建立车辆优化调度模型,所述车辆优化调度模型是针对分类后类中的目标节点建立的,模型中的配送目标点将小于原来整体的目标点;具体模型如下:
配送车辆向L个客户送货,将L个客户分成K类,每个客户需求量为gi(i=1,2,…,L),其中i为客户点,同时要求送货的时间窗及卸货时间分别为[eti,lti]和uti(i=1,2,…,L);车辆每小时等待费用为ei,每小时延迟费用为fi(i=1,2,…,L);仓库与客户、客户与客户之间的最短运距、平均车速和车辆每公里费用分别为dij,vij和ωijrij(i,j=0,1,2,…,L)其中i,j为配送客户点中的任意两点;i=0时,为货物仓库,ωij为道路状况权重;配送车辆共有q0类,其中第q类车辆有p0辆,同时q类车辆载重量为vqp(p=1,2,…,p0),每辆车每次配送最短距离不超过Dqp;驾驶员行车补助和加班补助每小时分别为s和es;驾驶员在行车途中到中午T1时刻和下午T2时刻安排P分钟就餐时间,车辆当天返回配送仓;
使第q类车的第p辆车辆qp从客户j到达客户i时刻为ti,则ti=tj+utj+dij/vij,其中j为i的前一个客户点,若tj<12且ti≥12或tj<18且ti≥18,则考虑驾驶员的就餐时间;对tj<12且ti≥12的情况,有:
tj<18且ti≥18的情况与(3)式类似;弧段(i,j)表示仓库与客户或客户与客户之间的最短路径,xijqp=1表示车辆qp经过弧段(i,j),xijqp=0表示车辆qp未经过弧段(i,j);yiqp=1表示车辆qp给客户i送货,yiqp=0表示车辆不给客户i送货;令wtqp表示驾驶员工作时间在8小时之内,可表示为wtqp=min(t00-t0,8),其中t0是发车时刻,t0=eti-dti-d0i/v0i,i是第一个客户点,dti为到达第一个客户点的等待时间,或t0=eti+yti-d0i/v0i,i为第一个客户点,yti为达到第一个客户点的延迟时间,t00为车辆返回仓库时刻;ewtqp表示驾驶员的加班时间,表示为ewtqp=max(t00-t0-8,0);每条线路客户点配送量之和要小于线路车载量,表示为:
在所述目标函数式中,前4项分别为配送车辆费用、驾驶员补助费用、车辆等待费用和延迟费用;在第4项中,如客户i不允许配送车辆延迟到达,则使fi为
足够大的正数;第5项限制车辆行驶距离不能超过最大配送距离;
A4、首先采用N阶最短近邻算法,确定大规模客户点分类的数目k,并将k值传递给meanshift算法,所述meanshift算法用于确定大规模客户点分类后的聚类中心,以及各个聚类包含的客户点;所述meanshift算法的过程如下:
Step1:将N阶最短近邻算法得到的k值作为参数输入;
Step2:随机产生一个中心R0,并以R0为圆心生成一个半径为d的圆;
Step3:计算meanshift向量,将落在圆内的每个样本点和圆心R0都会产生一个向量,然后求出这些向量的矢量和,得到meanshift向量;
Step4:再以meanshift向量的终点为圆心再做一个半径为d的圆,得到一个新的meanshift向量,该步骤直到meanshift向量收敛为零向量,从而得出该聚类的中心R1;
Step5:将已经聚类的样本点排除在外,在剩下的样本点中再次重复step2~step4,得到剩下的k-1类的样本点中心R2-Rk;
A5、假设平均分配,则每一类中的配送目标节点为原来的1/k;此时再对每一类中的配送目标节点采用车辆优化调度算法,即可得到配送结果;所述车辆优化调度算法的步骤如下:
①根据类中客户点数目产生初始种群进行遗传编码;
②计算种群的适应度函数;
③最优选择与轮盘赌选择相结合的方法进行删减、复制染色体,最终产生新种群;
④以交叉概率pc对种群进行交叉操作,检查是否满足约束条件,产生新种群;
⑤以变异概率pm对种群进行变异操作,检查是否满足约束,形成新种群;
⑥判断是否满足终止法则,达到最大迭代次数或达到最优解要求,满足要求则停止,否则转入③;
⑦对计算结果进行解码;
⑧选择所有解码后的计算结果,并进行比较选取结果最小者。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于银江股份有限公司;浙江工业大学,未经银江股份有限公司;浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310547712.0/1.html,转载请声明来源钻瓜专利网。