一种基于聚类和节约算法的路线优化推荐方法

文档序号:9766240阅读:781来源:国知局
一种基于聚类和节约算法的路线优化推荐方法
【技术领域】
[0001] 本发明设及路线导航领域,更具体地说设及一种基于聚类和节约算法的为烟草行 业客户经理拜访零售户的路线优化推荐方法。
【背景技术】
[0002] 客户经理是烟草公司与零售客户的桥梁,客户经理通过客户拜访进行信息沟通、 经营指导、品牌培育和终端建设等客户服务,同时,从零售客户中捜集市场信息,为公司决 策提供依据。每个客户经理一般负责一、二百个零售户,每天需要拜访10-20户,工作责任 大、任务重,因此合理规划客户经理的拜访路径对于提高客户经理的拜访效率和拜访质量 具有重要的研究意义。
[0003] 客户经理拜访路径问题实际上是一个旅行商(traveling salesman problem, TSP)问题,客户经理从公司出发,确定一条访遍预拜访零售户的最短路径,最后返回公司。 TSP问题是一个NP完全难题,求解方法主要采用启发式近似算法,例如蚁群算法、遗传算法 (genetic algorithm,GA)、免疫算法(immune algorithms,IA)、模拟退火算法(Simulated Annealing,SA)、蛙跳算法(Shuffled Rrog Leaping Algorithm,SFLA)等。运些算法大都存 在容易陷入局部最优、过早收敛、收敛速度慢、收敛精度低等缺陷。
[0004] 节约算法由Clarke和Wright于1964年提出,该算法思想简单,是一种很好的解决 旅行商问题的算法,可W快速得到问题的满意解。然而目前并没有利用节约算法为优化推 荐路线方法。

【发明内容】

[0005] 本发明的目的在于克服现有技术的不足,提供一种基于聚类和节约算法的路线优 化推荐方法。本发明通过对烟草行业客户经理的工作流程及工作特点进行研究分析,通过 利用k-means聚类方法零售户划分到不同的区域,根据拜访率、客户类型、走访量、路径最优 及其他特殊要求等条件,推荐每天的拜访客户,根据推荐的客户位置分布或者对于客户经 理自选的拜访客户,利用节约算法规划客户经理的拜访路径,使得拜访路径最优,拜访时间 最短,提高了客户经理的工作效率。
[0006] 本发明提供了一种基于聚类和节约算法的路线优化推荐方法,其特征在于,依次 包括如下步骤:
[0007] 步骤1:建立问题数学模型:
[000引步骤1.1:把客户经理服务的每个零售户作为一个点,所有预拜访客户构成一个集 合:C=I^l, C2,...Cn};
[0009] 步骤1.2:规划一条拜访路线,使得总的拜访路径最短,满足:
[0010] minF(C) =d(S, Ci)+Xd(Ci)Cj )+(Kcj,S)
[0011] 其中d(S,Ci)表示公司S到某一客户i的距离,Xd(ci,cj)表示从客户i经过其他所 有客户到达客户j的路径距离,cKcj,S)表示客户j到公司S的距离,i = l'''n, j = l'''n, j辛i, n为大于等于O的整数;
[0012] 步骤2:基于改进K-means聚类算法的烟草零售户区域划分,按照零售户之间的路 程距离进行聚类,使得每个聚类中的零售户距离相对最近;
[0013] 步骤3:基于随机数字表示法和分层抽样相结合的方法进行预拜访客户推荐,把k 个聚类划分看作k层,对每个聚类中的零售户进行编号,根据客户档次给予不同数目的编 号,利用随机数字法从中选取客户;
[0014] 步骤4:基于节约算法优化零售户拜访路径,使客户经理拜访完所有的客户所需时 间最短,W服务每一个客户节点为起始解,根据=角形两边之和大于第=边的性质,起始状
况为每服务一个客户后便回到原点,拜访总路程为: 为客户i与客户j 之间的距离;
[0015] 而后计算路线间合并后的路程节约值:
[0016] S (i , J) - doi+dio+山j+djo-(doi+djo+dij) - di〇+山广cUj,
[0017] 将得到的路程节约值W降序排序而依次合并路线,最后按照最大的节约值归并拜 访客户的路径,得到最优拜访路径;
[0018] 步骤5:将步骤4中得到的最优拜访路径W无线/有线的方式发送到客户经理佩带 的无线终端,其中无线终端包括显示装置,无线终端接收最优拜访路径后在显示装置上显 示,无线终端能够W语音的方式播放最优拜访路径导航信息,客户经理根据最优拜访路径 进行拜访。
[0019] 优选地,所述步骤2的具体步骤如下:
[0020] 步骤2.1:从客户集C中选择k个客户cl,C2,…,ck作为初始的聚类中屯、;
[0021] 步骤2.2:把客户集C中其余的客户分配到与之距离最近的聚类中,对于每个客户 Ci,找出一个簇中屯、hm,使得它们之间的距离d(Ci,hm)最小,然后把Cl归并到第m个聚簇中;
[0022] 步骤2.3:把所有的客户都划归到相应的聚簇之后,根据聚簇中每个客户的坐标点 重新计算该聚簇的核屯、点i;
[0023] 步骤2.4:对于每个聚簇,计算每个客户坐标与核屯、点的坐标距离,找出与之最 接近的客户点作为该聚簇的核屯、点hi;
[0024] 步骤2.5:循环执行步骤2.2-步骤2.3,直到客户的划分不再发生变化。
[0025] 优选地,所述步骤3具体为:
[0026] 采用随机数字表法与分层抽样相结合的方法,通过步骤2的聚类算法把所有客户 划分到k个聚簇中,相当于分为k个分层,在每个分层中按照客户的重要程度对每个客户进 行编号,利用随机数字表法从中选取一个客户,则选出P个客户作为每天要拜访的客户,满 足:
[0027] 1)如果要拜访的客户数P大于聚簇的个数k,则在k个聚簇中随机选取p-k个聚簇, 再在运些聚簇中选择客户;
[0028] 2)如果要拜访的客户数P小于等于聚簇个数k,则对k个聚簇随机选择P个聚簇,再 在运些聚簇中选择客户。
[0029] 优选地,所述步骤4具体步骤为:
[0030] 步骤4.1:制作客户拜访里程矩阵,列出原点到客户及客户间的最短距离;
[0031] 步骤4.2:计算客户i、j拜访路程的节约值s(i,j),构建原点到客户及客户间的节 约值矩阵,并从下=角矩阵中选择出最大节约值;
[0032] 步骤4.3:检验节约值s(i,j)对应的两客户点是否满足如下条件:
[0033] 步骤4.3.1:若节约值中对应的两客户点i和j均不在已构成的线路上,得到线路段 O一 i一 j一O,转步骤 4.4;
[0034] 步骤4.3.2:若节约值中对应的一客户点i或j在已构成的线路上,且不是线路的内 点,即不与原点直接相连,则连接得到线路〇-一1一_1一〇或〇一1一_1^-〇,转步骤4.4;
[0035] 步骤4.3.3:若节约值中对应的两客户点i和j在已构成的不同线路上,且均不是内 点,则得到线路〇-一1一_]'^-〇,转步骤4.4;
[0036] 步骤4.3.4:若节约值中对应的两客户点i和j在已构成的同一条线路上,则不能再 进行连接,转步骤4.4;
[0037] 步骤4.4:去掉节约值矩阵中第i行和j列,则客户点i不能再连接到其它客户点,客 户点j不能由其它客户点到达;
[0038] 步骤4.5:待节约值矩阵中所有元素划去,则得到一条符合条件的线路,终止;否则 从下=角节约值矩阵没有划去的元素中选择最大元素,转步骤4.3,如果找不出最大的元 素,转步骤4.6;
[0039] 步骤4.6:对于节约矩阵中没有划去的元素 i和j,在对应的里程矩阵中找到里程值 最小的元素,如果运两个元素分别在不同的线路上,则连接运两条线路,转步骤4.4。
[0040] 优选地
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1