本发明涉及计算机信息处理技术领域,尤其涉及一种单车多点配送线路处理方法。
背景技术:
随着物流行业的快速发展,人们对物流的配送时效有了更高的要求,同时物流经营企业也希望提高配送效率,以提升企业竞争力。因而,提高物流配送服务水平、降低物流配送成本已经成为物流配送过程中配送线路规划的基本要求。在配送线路规划过程中,通常涉及的便是单车多点配送线路的规划。
单车多点配送线路是指单个货运车辆配送多个地点的货物时,在这种情况下,需要对配送点进行合理的排序,从而使得配送线路更为合理,节约货运车辆的行驶里程及时间,进而达到提高配送效率的目的。
目前,通常采用的配送线路排序优化方法多由货运车辆驾驶人员自行完成,由于在规划配送线路过程中缺少地图数据,因而其并不能很好的做到配送线路中的各个配送点的排序得到合理的优化,进而影响了配送效率。
技术实现要素:
本发明的目的是提供一种单车多点配送线路处理方法,从而可以基于地图数据对各个配送点进行合理地排序,有利于提高物流配送效率。
本发明的目的是通过以下技术方案实现的:
一种单车多点配送线路处理方法,包括:
基于地图数据,采用节约算法对单点对多配送点的线路进行规划,获得规划后的初始配送线路参数,所述多配送点包括物流配送过程中的两个或两个以上的配送点,所述单点是指物流配送过程中的配送起点或配送终点;
利用遗传算法对所述初始配送线路参数进行优化处理,获得实际配送线路参数。
所述采用节约算法对单点对多配送点的线路进行规划的步骤包括:
将所述单点分别与每个所述配送点相连,并计算由所述单点分别配送到所述配送点的第一距离值;
连接多个配送点中两个所述配送点,并计算由所述单点依次配送到该两个所述配送点的第二距离值;
计算连接所述两个所述配送点后得到的第二距离值与所述第一距离值的差值作为距离节约值;
在将所有所述配送点中任意两个配送点对应的距离节约值计算完成后,从大到小依次选择所述距离节约值对应的两个配送点,并根据预定的条件确定是否在所述两个配送点之间建立线路连接,直到所有距离节约值均被选择处理完成。
所述预定的条件包括:
所述两个配送点是否均不在已构成的线路上;或者,在已构成的线路上,但不是线路的内点;或者,在已构成的不同线路上,均不是内点,且一个是线路起点,另一个为线路终站;
和/或,
所述两个配送点连接后,是否超出配送方的配送能力限制;
和/或,
所述两个配送点连接后,配送过程中的线路总运输时间是否符合要求;
和/或,
所述两个配送点连接后,由一个配送点到达另一个配送点的时间是否符合要求。
所述利用遗传算法对所述初始配送线路参数进行优化处理的步骤包括:
根据所述初始配送线路参数创建初始配送线路群,所述初始配送线路群包含多种配送线路;
根据每个配送线路的适应值在所述初始配送线路群中选择配送线路,所述适应值是指配送线路的配送代价的评价值;
对选择的配送线路中包含的配送点进行配送线路之间的交叉重组处理及配送线路自身的变异处理,并计算经交叉重组及变异处理后的新的配送线路的适应值;
若所述新的配送线路的适应值优于原配送线路的适应值,则以新的配送替换原配送线路,否则,保留原配送线路。
在所述初始配送线路群中选择配送线路的步骤包括:
产生一个在区间[0,1]的随机浮点数r;
如果r<q1,则选择初始配送线路群中的第一个配送线路;否则选择一个使qi-1<r<=qi成立的第i个配送线路,其中,i大于等于1且小于等于初始配送线路群包含的所有配送线路的总数量,qi为每个配送线路的累积概率,所述累积概率为根据每个配送线路的选择概率计算确定,所述选择概率为根据每个配送线路的适应值计算确定。
所述配送线路之间的交叉重组处理的步骤包括:在当前配送线路中,排除排在第一位的最优配送线路外,在其他配送线路中随机或顺序选择两对进行交叉重组;
所述变异处理的步骤包括:对交叉重组后的配送线路包含的配送点随机选择两个进行交换位置处理。
在以新的配送替换原配送线路,或保留原配送线路后,该方法还包括:
重新对所述变异处理后的配送线路包含的配送点再次进行变异处理,直到达到预定的变异处理次数;
重新根据每个配送线路的适应值在所述初始配送线路群中选择一个配送线路,且所述重新操作的次数等于所述初始配送线路群包含的配送线路数量。
一种单车多点配送线路处理装置,包括:
线路初始规划单元,用于基于地图数据,采用节约算法对单点对多配送点的线路进行规划,获得规划后的初始配送线路参数,所述多配送点包括物流配送过程中的两个或两个以上的配送点,所述单点是指物流配送过程中的配送起点或配送终点;
实际配送线路规划单元,用于利用遗传算法对所述线路初始规划单元获得的初始配送线路参数进行优化处理,获得实际配送线路参数。
所述线路初始规划单元包括:
第一距离值计算模块,用于将所述单点分别与每个所述配送点相连,并计算由所述单点分别配送到所述配送点的第一距离值;
第二距离值计算模块,用于连接多个配送点中两个所述配送点,并计算由所述单点依次配送到该两个所述配送点的第二距离值;
距离节约值计算模块,用于计算连接所述第二距离值计算模块计算获得的第二距离值与所述第一距离值计算模块计算获得的第一距离值的差值作为距离节约值;
初始线路规划模块,用于在所述距离节约值计算模块将所有所述配送点中任意两个配送点对应的距离节约值计算完成后,从大到小依次选择所述距离节约值对应的两个配送点,并根据预定的条件确定是否在所述两个配送点之间建立线路连接,直到所有距离节约值均被选择处理完成。
所述实际配送线路规划单元包括:
初始配送线路群建立模块,用于根据所述线路初始规划单元获得的初始配送线路参数创建初始配送线路群,所述初始配送线路群包含多种配送线路;
配送线路选择模块,用于根据每个配送线路的适应值在所述初始配送线路群建立模块建立的所述初始配送线路群中选择配送线路,所述适应值是指配送线路的配送代价的评价值;
交叉变异处理模块,用于对所述配送线路选择模块选择的配送线路中包含的配送点进行配送线路之间的交叉重组处理及配送线路自身的变异处理,并计算经交叉重组及变异处理后的新的配送线路的适应值;
配送线路规划模块,用于根据所述交叉变异处理模块获得的新的配送线路的适应值,判断所述新的配送线路的适应值是否优于原配送线路的适应值,若是,则以新的配送替换原配送线路,否则,保留原配送线路。
由上述本发明提供的技术方案可以看出,本发明实施例提供的一种单车多点配送线路处理方法,其对于单车多点配送线路优化是结合地图数据,通过真实的地图路网数据,在计算两两配送点最优路径的基础上,通过节约算法与遗传算法的结合,将配送点的顺序计算得更加合理,因而可以有助于物流企业提高配送效率,并可以有效地节省配送成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的方法处理过程示意图;
图2为本发明实施例提供的遗传算法方法处理过程示意图;
图3为本发明实施例提供的装置的结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
由于遗传算法是一种随机算,因此其结果有不稳定的特点,而且对于规模较大的配送方案其无法在短时间内得出满意的结果,因此,本发明实施例中便采用了c-w(节约)算法与ga(遗传)算法结合的方式,充分发挥c-w算法的稳定性和ga算法的全局所有能力。也就是说采用精英保留策略的ga算法对初始解较为敏感,一个好的初始解可以大大改善优化效果,因此使用c-w算法生成初始解,然后再用ga算法进一步优化,生成一个更优的满意结果。
本发明实施例提供了一种单车多点配送线路处理方法,如图1所示,其主要可以包括以下处理步骤:
步骤11,基于地图数据,采用节约算法对单点对多配送点的线路进行规划,获得规划后的初始配送线路参数;其中,所述多配送点包括物流配送过程中的两个或两个以上的配送点,所述单点是指物流配送过程中的配送起点或配送终点
具体地,所述采用节约算法对单点对多配送点的线路进行规划的步骤可以包括:
(1)基于地图数据,将所述单点分别与每个所述配送点相连,并计算由所述单点分别配送到所述配送点的第一距离值;
其中,所述单点可以是指配送起点,或者也可以是配送终点;
(2)连接多个配送点中两个所述配送点,并计算由所述单点依次配送到该两个所述配送点的第二距离值;
(3)计算连接所述两个所述配送点后得到的第二距离值与所述第一距离值的差值作为距离节约值;
(4)在将所有所述配送点中任意两个配送点对应的距离节约值计算完成后,从大到小依次选择所述距离节约值对应的两个配送点,并根据预定的条件确定是否在所述两个配送点之间建立线路连接,直到所有距离节约值均被选择处理完成。
在上述步骤(4)中,所述预定的条件可以包括以下任一项或多项:
所述两个配送点是否均不在已构成的线路上;或者,在已构成的线路上,但不是线路的内点;或者,在已构成的不同线路上,均不是内点,且一个是线路起点,另一个为线路终站;
所述两个配送点连接后,是否超出配送方的配送能力限制,即需要配送的货物是否可以承载;
所述两个配送点连接后,配送过程中的线路总运输时间是否符合要求;
所述两个配送点连接后,由一个配送点到达另一个配送点的时间是否符合要求,例如,是否能够准时到达另一个配送点,或者,到达另一个配送点的时间是否能够保证未超出预定的时间范围,等等。
步骤12,利用遗传算法对所述初始配送线路参数进行优化处理,获得实际配送线路参数。
具体地,对所述初始配送线路参数进行优化处理的步骤可以包括:
(1)根据所述初始配送线路参数创建初始配送线路群,所述初始配送线路群包含多种配送线路;
(2)根据每个配送线路的适应值在所述初始配送线路群中选择配送线路,所述适应值是指配送线路的配送代价的评价值,相应的配送代价的评价值根据配送业务需要通常是指配送线路的总耗时或总距离或总消耗成本中的一项或多项,等等;
该步骤中,在所述初始配送线路群中选择配送线路的处理可以包括:
产生一个在区间[0,1]的随机浮点数r;
如果r<q1,则选择初始配送线路群中的第一个配送线路;否则选择一个使qi-1<r<=qi成立的第i个配送线路,其中,i大于等于1且小于等于初始配送线路群包含的所有配送线路的总数量,qi为每个配送线路的累积概率,所述累积概率为根据每个配送线路的选择概率计算确定,所述选择概率为根据每个配送线路的适应值计算确定。
(3)对选择的配送线路中包含的配送点进行配送线路之间的交叉重组处理及配送线路自身的变异处理,并计算经交叉重组及变异处理后的新的配送线路的适应值;
所述配送线路之间的交叉重组处理的步骤包括:在当前配送线路中,排除排在第一位的最优配送线路外,在其他配送线路中随机或顺序选择两对进行交叉重组。
所述变异处理的步骤包括:对交叉重组后的配送线路包含的配送点随机选择两个进行交换位置处理。
(4)若所述新的配送线路的适应值优于原配送线路的适应值,则以新的配送替换原配送线路,否则,保留原配送线路。
进一步地,该方法还可以包括:
在以新的配送替换原配送线路,或保留原配送线路后,重新对所述变异处理后的配送线路包含的配送点再次进行变异处理,直到达到预定的变异处理次数;
重新根据每个配送线路的适应值在所述初始配送线路群中选择一个配送线路,且所述重新操作的次数等于所述初始配送线路群包含的配送线路数量。
为便于对本发明实施例的理解,下面将结合附图对本发明实施例的具体实现过程作进一步地详细描述。
在具体应用过程中,本发明实施例提供的一种单车多点配送线路优化的技术方案,其具体可以包括以下步骤:
(一)使用包含全国路网的地图数据,将货车需要配送的送货点两两分组,通过导航的算路引擎,将两两间的路径计算好,得到两两送货点的真实距离。
(二)采用节约算法是首先将各点单独和源点0(即单点,此处可为配送起点)相连,构成l条仅含一个点的线路,总距离为:
然后计算将点i和j连接在一条线路上距离的“节约值”:
s(i,j)=coi+cio+c0j+cjo一(coi+cij+cj0)=cio+coj—cij;
cij表示从i点到j点的代价。s(i,j)越大,则表明将i和j连接在一起时总路程减少越多。构造配送线路时,可以根据s(i,j)从大到小的顺序进行,具体实现时可以在表上操作。
相应的具体的节约算法描述如下:
(1)计算s(i,j),令m={s(i,j)|s(i,j)>0}。
(2)在m内按s(i,j)从大到小的顺序排列。
(3)若m为空,则表示节约算法终止完成,并得到相应的初始配送线路参数;否则按一定的选择策略对第一项最大的s(i,j)考察对应的(i,j),如满足下列条件之一:
①任务i和任务j均不在已构成的线路上;
②任务i或任务j在已构成的线路上,但不是线路的内点;
③任务i和任务j在已构成的不同线路上,均不是内点,且一个是起点,一个是终点。则转下步,即步骤(4),否则转至步骤(8);
(4)考察任务i和任务j连接后车辆的载重和容积是否满足约束条件,满足转下步,即步骤(5),否则转至步骤(8)。
(5)考察任务i和任务j连接后的线路总运输时间ttij,若ttij<=maxduration,则转下步,即步骤6,否则转至步骤(8);其中,maxduration为一条配送线路的最大运输时间限制,该参数值可以根据实际业务配送需要进行设定。
(6)计算efj,efj表示连接任务i和任务j所在的线路后,车辆到达j的时间比原线路上车辆达到j的时间推迟量或者提前量;
①若efj=0,转至步骤(7);
②若efj<0,则计算△j-,当efj≤△j-,转(7),否则转至步骤(8);
③若efj>0,则计算△j+,当efj≤△j+,转(7),否则转至步骤(8)。
在该步骤(6)中,△j+表示线路上j后面的任务不违反时间窗约束的j到达时间的最大允许推迟量,△j-表示线路上j后面的任务不需要等待的j达到时间的最大可以提前量;
(7)连接任务i和任务j,计算车辆到达各项任务的新时间,转至步骤(8);
(8)令m=m-s(i,j),划去第i行和第j列,即i点不能再到其他点,而j点也不能由其他点到达;转至步骤(2)。
(三)进一步的,通过节约算法得出初始值(初始排序后,即相应的初始配送线路参数)后则可以通过遗传算法对相应的初始配送线路参数进行深度优化,依据图2所示的流程图,相应的遗传算法的优化处理过程可以包括种群初始化,以及三大遗传算子选择、交叉、变异,还有始终贯穿整个算法的适应度计算,经过多次计算后,最后得到满意的配送点顺序作为最终的实际配送线路参数。
下面将分别对基于遗传算法针对配送线路进行优化的各个处理过程做详细说明:
(1)种群初始化
种群大小为popsize(该值具体为经验值,可以根据具体业务需要进行大小调整),生成popsize个个体,每一个个体对应一条可选的配送线路,在该步骤中,这popsize个个体组成初始配送线路群,该群具体为通过上述节约算法获得一个个体,其余popsize-1个个体通过随机排序方式生成。
(2)选择处理
对于选择算子,采用基于适应值的概率分布在上述初始化种群中选择新群体(即新的配送线路群),通常使用一个根据适应值调节刻度宽距的轮盘进行个体的选择。相应的选择算法如下:
(21)计算初始化种群中每个配送线路的适应值ei;
(22)计算计算初始化种群群体的总适应值f=e1+e2+……+epop_size;
(23)则每个配送线路的选择概率为pi=ei/f;
(24)计算每个配送线路的累积概率qi=p1+p2+……+pi。
对轮盘转动pop_size(即初始化种群包含的个体数量)次,每次按照下面的选择方法选择一条配送线路作为新的配送线路群的成员,选择方法如下:
首先,产生一个在区间[0,1]的随机浮点数r;
之后,如果r<q1,选择第一个配送线路;否则选择一个使qi-1<r<=qi成立的第i个配送线路(1<=i<=pop_size)。
需要说明的是,在上述处理过程中,在首次执行选择处理步骤时,是在上述步骤(1)获得的初始化种群中选择新群体;之后,当再次循环执行选择处理步骤时,则需要从之前的上一次处理过程中确定的配送线路结果中选择部分配送线路组成新的配送线路群作为相应的新群体,即从上一次处理过程中通过上述步骤(4)处理获得的配送线路结果中重新选择部分配送线路组成新的配送线路群。
(3)交叉重组处理
基于上述新的配送线路群的成员,除排在第一位的最优配送线路外(即保留一个最优配送线路,避免算法不收敛影响结果的最优性能),另n一1个配送线路随机(或者顺序)选取2条配送线路,并按交叉概率pc进行配对交叉重组。交叉操作以概率pc发生,交叉运算采用ox顺序交叉算子;其中,交叉概率pc为通过随机函数生成。
具体的交叉重组处理过程包括:随机在父代配送线路中选择一个交换区域,如两父代配送线路及交换区域选定为:
a=47|8563|921,b=83|4691|257;
则将b的交换区域加到a的前面,a的交换区域加到b的前面,得:
a’=4691|478563921,b’=8563|834691257;
在a’、b’中自交换区域后依次删除与交换区相同的自然数,得到最终的两个配送线路为:
a“=469178532,b“=856349127。
(4)变异处理
针对每条线路均会生成一个随机数,若随机生成的随机数小于变异概率(变异概率可以根据经验值设定),则对该条线路进行变异操作,对需进行变异操作的配送线路的配送点进行j次对换。每次对换随机选取2个配送点交换位置;如果交换位置之后与前代配送线路的适应值相比,改良了则接受该交换之后的配送线路,否则放弃;如此循环下去,直到交换次数达到j次,相应的交换次数j为随机生成或根据需要设定。
如图2所示,在经过上述变异处理后,则可以对获得的配送线路群进行适应度评价,计算确定配送线路群包含的各个配送线路的适应值;之后,再根据该各个配送线路的适应值判断配送线路的适应值是否得到优化,若是,则继续后续是否满足终止条件的判断处理,否则,返回选择处理步骤继续执行相应的遗传算法处理操作,即重新执行上述步骤(2)并进行后续的处理操作;最后,评价该具有最优适应值的配送线路是否满足要求,即是否满足终止遗传算法处理的条件,若满足,则遗传算法过程结果,否则,返回选择处理步骤继续执行相应的遗传算法处理操作。
在图2中,相应的进行解适应度评价的处理过程具体包括:针对当前配送线路群,计算每个配送线路的适应值,适应值计算过程一般需要计算整个配送线路的总里程或总时间或者成本等,例如,可以计算配送线路的总成本,相应的总成本=所有车辆的固定成本+所有车辆跑完所有节点所需的费用。
通过上述处理过程,便可以获得最佳的配送线路,从而便于依据相应的最佳的配送线路进行单点对多点的配送服务。
本发明实施例提供的单车多点配送线路优化方法,通过结合真实的道路路网数据,计算两两配送点的真实行车距离(并非简单的直线距离)进行配送线路的优化。实验表明,结合路网并使用c-w与ga结合的算法之后,在不增加处理时间的情况下,获得满意结果的满意度和稳定性比一般的优化算法得到很大的提高。
本发明实施例还提供了一种单车多点配送线路处理装置,其具体实现结构如图3所示,可以包括以下处理单元:
线路初始规划单元31,用于基于地图数据,采用节约算法对单点对多配送点的线路进行规划,获得规划后的初始配送线路参数,所述多配送点包括物流配送过程中的两个或两个以上的配送点,所述单点是指物流配送过程中的配送起点或配送终点;
实际配送线路规划单元32,用于利用遗传算法对所述线路初始规划单元31获得的初始配送线路参数进行优化处理,获得实际配送线路参数。
进一步地,在上述单车多点配送线路处理装置中,所述线路初始规划单元31具体可以包括以下处理模块:
第一距离值计算模块311,用于将所述单点分别与每个所述配送点相连,并计算由所述单点分别配送到所述配送点的第一距离值;
第二距离值计算模块312,用于连接多个配送点中两个所述配送点,并计算由所述单点依次配送到该两个所述配送点的第二距离值;
距离节约值计算模块313,用于计算连接所述第二距离值计算模块312计算获得的第二距离值与所述第一距离值计算模块311计算获得的第一距离值的差值作为距离节约值;
初始线路规划模块314,用于在所述距离节约值计算模块313将所有所述配送点中任意两个配送点对应的距离节约值计算完成后,从大到小依次选择所述距离节约值对应的两个配送点,并根据预定的条件确定是否在所述两个配送点之间建立线路连接,直到所有距离节约值均被选择处理完成。
可选地,在上述单车多点配送线路处理装置中,所述实际配送线路规划单元32具体可以包括以下处理模块:
初始配送线路群建立模块321,用于根据所述线路初始规划单元31获得的初始配送线路参数创建初始配送线路群,所述初始配送线路群包含多种配送线路;
配送线路选择模块322,用于根据每个配送线路的适应值在所述初始配送线路群建立模块321建立的所述初始配送线路群中选择配送线路,所述适应值是指配送线路的配送代价的评价值;
交叉变异处理模块323,用于对所述配送线路选择模块322选择的配送线路中包含的配送点进行配送线路之间的交叉重组处理及配送线路自身的变异处理,并计算经交叉重组及变异处理后的新的配送线路的适应值;
配送线路规划模块324,用于根据所述交叉变异处理模块323获得的新的配送线路的适应值,判断所述新的配送线路的适应值是否优于原配送线路的适应值,若是,则以新的配送替换原配送线路,否则,保留原配送线路。
本发明实施例提供的上述装置通过结合真实的道路路网数据,计算两两配送点的真实行车距离进行配送线路的优化,从而可在不增加处理时间的情况下,便可以获得满意的线路优化处理结果。
在上述设备中各处理单元及模块在实际应用过程中的具体采用的处理方式在之前的方法实施例的描述中已经详细介绍,在此不再赘述。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。