一种基于优化的遗传算法进行货物配送的方法与流程

文档序号:18510894发布日期:2019-08-24 09:06阅读:207来源:国知局
一种基于优化的遗传算法进行货物配送的方法与流程

本发明涉及一种货物配送调度方法,尤其涉及一种基于改进型染色体编码和改进适应度函数的货物配送运输调度方法。



背景技术:

运输调度问题可以影响企业的配送服务质量和配送成本。优化的运输调度加快了配送速度、降低了配送成本、提高了服务质量并增加了企业利润。能否准时并高效地将商品送到客户手中取决于车辆调度是否合理。一般而言,决策者需要制定的调度方案包括:载货车辆的分配,送货路径的选择、配送时间段的选取等等。

但是,如果配送的客户较多且比较分散,配送道路复杂,那么若仅仅只凭人工经验就不能制定合理的调度方案。现在的客户要求较高的配送服务质量,并且要求商品在一定时间内送达,这就导致调度方案的确定更加困难。若配送时间过早,则车辆使用率降低,增加了成本;若配送时间过晚,则满足不了客户的需求,降低了客户满意率,这对企业而言都是不利的。因此,在保证高效准时配送下,降低配送成本是车辆调度问题的核心。为了解决以上问题,必须设计合理的配送调度模型和算法,并用计算机对该模型和算法加以实现。

车辆路径问题是一个非确定性多项式问题,该问题很难求得精确解。在实际车辆配送问题中,由于客户数量庞大并且路况复杂,经常使用启发式算法或生物进化算法对这一系列问题进行求解。本章通过遗传算法来优化车辆路径问题,为企业决策者提供智能调度决策,从而提高配送速度、降低配送成本,增加企业的利润。

在传统现有技术中该问题有如下约束条件:

1)车辆所运载的货物总量不能超过车辆的最大运载力。

2)客户的订单不能分批运送,每个客户的订单必须用一辆车在配送。

3)必须把配送到每一个客户,不能遗漏掉客户订单。

vrp问题是一个复杂的问题,需要的多门学科来共同解决,如计算机学、运筹学、经济学、工程学、物流学等等,配送路径示意图如图1所示。

vrp大致可分为以下几种:

(1)满载和非满载。满载是指货运量大于一辆车的运载量,需要几辆车共同完成。非满载是指货运量小于一辆车的运载量,一辆车就能完成运货。

(2)单车型和多层型。单车型问题是指所有配送车辆的运载能力相同,多车型问题是指所有配送车辆的运载能力不同。

(3)车辆开放和车辆封闭,车辆开放问题是指车辆运完货后不返回出车场地,车辆封闭问题是指车辆运完货后必须返回出车场地。

(4)单源和多源。单源问题是指只有一个配送中心,多源问题是有多个配送中心。

(5)带时间窗问题和无时间窗问题。带时间窗问题是指客户对送货时间有一定要求,必须在客户所规定的时间内到货,无时间窗问题是客户对送货时间没有要求。

遗传算法是模拟进化论的自然选择和遗传学机制的最优搜索算法。其模拟了自然界中生物遗传中的繁殖、杂交和突变现象。遗传算法的在求解时,问题可能潜在的解集存在一个种群中,该种群是由多个个体组成,每一个个体都是带有实体特征的染色体。而染色体是多个基因的集合,每个基因都具有特征编码。初始化种群产生后,按照优胜劣汰和适者生存原则,一代代进行繁殖,产生越来越好的近似解。在每一代中,选择问题既定的适应度较高的个体参加遗传操作,个体间进行基因交叉、变异操作,生成子代。产生的子代具有父代的优良特性又具有自身的特性,总体优于上一代。一代代进行繁殖,逐步变为最优,得到近似解。

在遗传算法提出之后,国内外一直对其进行研究和改进,于是便产生了多种遗传算法的建模的算法流程。在1975年,michiganuniversity的j.h.holland教授对遗传算法进行了系统性的研究,他提出的遗传算法被称为标准遗传算法。通常情况下,遗传算法包含选择算子、交叉算子和变异算子。算法反复进行以上三大操作,直到满足某个条件时停止。虽然遗传算法能够解决传统的物流配送多项式求解问题,但是该算法存在局域性搜索能力差,容易产生早熟的问题。



技术实现要素:

本发明的目的是提出一种基于改进型染色体编码的物流运输调度方法,本发明通过遗传算法的运用,以所有目标配送点完毕时的所有车辆具有最小路程为目标,获取整个物流运输路线的最佳选择。

为了实现上述目的,本发明采用了以下的技术方案:首先进行物流配送问题的全新数学建模,针对物流配送中的人员配置以及车辆分配选择若干必备配送条件和可选条件,形成多个约束条件的一部分,并进行模型设定,并形成多个约束条件,其中必备配送条件为每辆物流车的配送行驶距离不得超过其规定的极限行驶距离数值以及每个客户有且仅有一次机会被覆盖运送到,每辆车初始出发地为配送站,待所有配送点被配送完成后返回原始出发地,其中每辆物流车的运送路线与其他车辆不同,且只能分配单条路线;可选条件为在中途进行燃油补给所花费的路线行驶距离以及需要紧急返回配送站接受加急货物所花费的临时距离。

然后根据上述限制条件,建立路径模型设定的行驶目标函数为:

其中s(k,j)为(k,j)两目标配送点之间的路程距离,s(0,1)为物流车从初始出发地到第一个目标配送点之间的距离,s(0,m)为物流车在最后一个配送点距物流出发地之间的距离,s可选为物流车中途运送过程中发生的燃料补给以及需要紧急返回配送站接受加急货物所花费的临时距离,具体计算时以从所有车辆中选择20%车辆进行随机抽取模拟,判断优化后的路线是否超出允许阈值;ckj表示物流车从配送点k、到配送点j之间是否经过的判断系数,当经过时,其数值取为1,当不经过时,其系数置零。m表示所有目标配送点的数目总和,xsum表示所有向目标配送点的待配送货物的重量总和,a表示每辆物流车的最大载重量,n表示配送站的所需车辆数目,l续航表示每辆物流车在不加油满载时的最大续航里程,则配送路径还需要满足如下关系式:n*a-xsum>0,在带入求解运算时,将该冗余车辆数量设置为一,

在进行染色体编码前,进行聚类算法优化,以克服遗传算法的局域性搜索能力差,容易产生早熟的问题,具体采用kmeans算法,这里首先通过kmeans算法对各目标配送点的位置进行聚类分析,得到配送站及其配送范围内的目标点,然后利用遗传算法的选择交叉、变异操作等方面对物流配送路径进行改进。

kmeans算法以n为参量,把多个对象分成n个簇,分配原则是使簇内具有较大的相似性,而簇间具有较小的相似性,相似性数值根据单个簇中对象的算术均值来计算,其中所有目标对象的误差值平方和其中x的取值范围为所有选定对象的平均值,具体计算过程如下:一、在实验数据集合中随机选择n个对象,然后将n个对象中每一个作为聚类分析的中心;二、然后将选定的对象划分到和各个对象自身相距最近的聚类分析中心,并根据公式fs(ca,cb)=min(d(x,y)|s∈ca,y∈cb),其中元素对象x和y的范围分别为ca和cb,两个对象元素间的距离用簇的间隔距离来表示d(ca,cb);三、然后根据各个聚类分析数据中心的数据对象的算术均值得到更新后的聚类分析中心。循环上述第二和第三步骤,直至每个类中的选定对象恒定或者函数s的数值收敛时循环过程结束。

在紧接着进行染色体编码过程中,舍去传统算法中的在染色体编码的多段序列中的两端分别添加零的方式,因为该编码方式会使得整体编码长度长,不利于快速求解,本发明采用一种全新的编码思想,:随机生成一数字序列长度为m-1+n的数列,m是目标配送点点的个数,n是能够参与物流配送作业的物流车数;在该新的数列中以大于m的数字作为间断点,该间断点以前的目标配送点由一辆物流车完成配送,间断点以后的由另一辆物流车完成配送,从而一条数字序列代码就可以表示一次路径分配作业。如此进行重复排序,可得到具有目标种群规模的多个染色体,即为原始种群。

结合该改进的染色体编码,其适应度函数设计为:

在遗传算法中的搜索过程中以适应值为依据,根据原始种群中染色体适应值进行搜寻,对染色体的适应值计算根据以对染色体的数字适应值进行计算。

接下来在遗传算法的选择交叉以及变异运算过程中进行如下改进:首先在选择过程中,采用放大各个目标对象之间的差异值,例如可以采用对数运算,加大同等自变量差距下的差值,该放大过程作用于适应值上,因此可以通过将各个适应值之间的差值进行对数放大,以快速命中优秀个体,从而进一步加快遗传算法的收敛过程。

完成选择操作后,进行交叉运算,交叉过程中采用对随机产生的各个交叉序列点按照单数行和双数行进行两两相互交叉,为了满足单个配送点只能被覆盖一次,要求染色体中的对象元素相互之间是不同的,因此需要在进行初步交叉运算后进行手动调整,调整过程为首先选出交叉序列点后具有相同对象元素的两行,然后将在后的对应重复位置的代码替换在前的序列代码,然后进行重复去重,直至合格为止。

在完成选择运算后,进行变异操作,在变异操作中为了增加运算解的丰富性,针对有变异可能的元素个体进行随机生长,产生新的元素个体。

本发明设计的车辆调度方法在染色体编码前首先进行kmeans算法优化,初步实现削弱局域性搜索能力差,容易产生早熟的技术问题,然后采用全新编码方式减小编码的冗余度,进一步加快收敛速度,此外还设计了新的适应度函数,在接下来采取差异化放大选择操作、交叉后进行手动调整及变异操作,整体上实现没有交叉路线产生,完成一个目标配送点时,直接进入下一个目标配的路线进程中,全程无冗余路线,达到最优解的标准,因此可以获得更短距离的路线分配。

附图说明

附图1为目标配送点的分布地理图

附图2为现有技术中遗传算法路线规划图

附图3为本发明的基于遗传算法生成的路线图

具体实施方式

为了检验本发明传算法的效果,用具备有19个目标配送点的某城市的一个行政区进行仿真试验,这19个目标配送点的运送方法相同,均采用同一规格的4辆物流汽车进行运输,最终目标是求解覆盖所有目标配送点的配送路线,并且使使配送总距离最小。目标配送点的地理分布抽象为附图1所示。在现有技术遗传算法中选取迭代次数为30,原始种群中单个个体数量为300个,杂交率和变异率分别采用经验值0.5和0.01,采用该假定条件利用传统遗传算法获得的路线分配图如附图2所示。每个附图中的每个方格代表的物理距离是0.5km,从该附图2中共有4个分支路线:0-1-8-7-3-6,0-14-15-16-9-10,0-5-4-2-11-12,0-18-17-13-19,其中除了最后一条线路,其他路线有相互交错的现象,可以直观判断该路线并非最佳路线。

在相对应条件下,本发明中采用kmeabs算法对所有配送点的位置进行重新聚类算法分析,然后采用全新染色体的编码方式,获得的最终目标函数极小值时的路线分配图,该路线如附图图3所示。从附图3中可知共有4个分支路线:0-1-8-7,0-10-9-15-14,0-16-17-19-18-12-11-2-13,0-6-3-4-5,从附图3与附图2的比较可知,没有交叉路线产生,完成一个目标配送点时,直接进入下一个目标配的路线进程中,全程无冗余路线,达到最优解的标准,因此可以获得更短距离的路线分配。

需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开的内容的启示下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内,本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制,本发明的保护范围由权利要求及其等同物限定。

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