用于利用遗传算法对配送路线进行优化的方法和系统与流程

文档序号:12672009阅读:213来源:国知局
用于利用遗传算法对配送路线进行优化的方法和系统与流程

本公开大体上涉及路线优化,更具体地,涉及用于利用遗传算法对配送路线进行优化的方法和系统。



背景技术:

路线优化是物流配送中的一个主要环节,正确合理地安排配送路线可以有效地降低运输成本,节约运输时间,并提高客户服务水平。因此对于物流配送路线的优化问题,已经有了很广泛的研究,但是研究方法局限于智能优化算法或者改进的智能优化算法。当采用智能优化算法进行求解时,需要首先建立优化问题的数学表达式,即目标函数,并设定约束条件,通过编程进行求解。虽然该目标函数已经有了标准的表达式,但是现实情况中的系统是一个复杂的动态系统,很难使用数学表达式进描述,即使能够使用数学表达式对系统进行描述,也包含了一些理想化的思想,比如经验、平均值,难以精确地考虑到实际情况中的随机性和复杂性。因此,需要一种用于优化配送路线的新方法。



技术实现要素:

鉴于此,在本发明的一个方面,提出了一种用于利用遗传算法对配送路线进行优化的方法,包括:

根据与站点相对应的地理位置来生成第一路线集合,所述第一路线集合包括N条路线;

计算与所述第一路线集合中的各条路线相对应的评价指标;

确定是否满足终止条件,当不满足所述终止条件时,利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行处理以产生N-m条路线,并且将所述N-m条路线与所述评价指标排名最高的m条路线组合为新的路线集合,其中m<N;以及

将所述新的路线集合作为第一路线集合重复所述计算步骤和所述组合步骤,直到满足终止条件为止,并且将满足终止条件时与最高评价指标相对应的路线确定为优化的配送路线。

优选地,所述第一路线集合是随机产生的。

优选地,所述评价指标是按照相应路线进行配送所花费的时间。

优选地,所述终止条件是达到预先设置的迭代次数。

优选地,所产生的N-m条路线中的每一条路线是通过利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行交叉或变异获得的。

优选地,当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行交叉时,所述方法包括:从所述m条路线中任意选择两条路线并对所述两条路线进行交叉以产生一条新路线,以及

当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行变异时,所述方法包括:从所述m条路线中任意选择一条路线并对所述一条路线进行变异以产生一条新路线。

优选地,所述新的路线集合中的路线各不相同。

在本发明的另一个方面,提出了一种用于利用遗传算法对配送路线进行优化的系统,包括:

处理器,被配置为执行指令以:

根据与站点相对应的地理位置来生成第一路线集合,所述第一路线集合包括N条路线;

计算与所述第一路线集合中的各条路线相对应的评价指标;

确定是否满足终止条件,当不满足所述终止条件时,利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行处理以产生N-m条路线,并且将所述N-m条路线与所述评价指标排名最高的m条路线组合为新的路线集合,其中m<N;以及

将所述新的路线集合作为第一路线集合重复所述计算步骤和所述组合步骤,直到满足终止条件为止,并且将满足终止条件时与最高评价指标相对应的路线确定为优化的配送路线;以及

存储器,被配置为存储所述指令。

优选地,所述第一路线集合是随机产生的。

优选地,所述评价指标是按照相应路线进行配送所花费的时间。

优选地,所述终止条件是达到预先设置的迭代次数。

优选地,所产生的N-m条路线中的每一条路线是通过利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行交叉或变异获得的。

优选地,所述处理器被进一步配置为执行指令以:

当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行交叉时,从所述m条路线中任意选择两条路线并对所述两条路线进行交叉以产生一条新路线,以及

当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行变异时,从所述m条路线中任意选择一条路线并对所述一条路线进行变异以产生一条新路线。

优选地,所述新的路线集合中的路线各不相同。

在本发明的另一个方面,提出了一种计算机可读介质,包括在由处理器执行时执行包括以下各项的操作的指令:

根据与站点相对应的地理位置来生成第一路线集合,所述第一路线集合包括N条路线;

计算与所述第一路线集合中的各条路线相对应的评价指标;

确定是否满足终止条件,当不满足所述终止条件时,利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行处理以产生N-m条路线,并且将所述N-m条路线与所述评价指标排名最高的m条路线组合为新的路线集合,其中m<N;以及

将所述新的路线集合作为第一路线集合重复所述计算步骤和所述组合步骤,直到满足终止条件为止,并且将满足终止条件时与最高评价指标相对应的路线确定为优化的配送路线。

优选地,所述第一路线集合是随机产生的。

优选地,所述评价指标是按照相应路线进行配送所花费的时间。

优选地,所述终止条件是达到预先设置的迭代次数。

优选地,所产生的N-m条路线中的每一条路线是通过利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行交叉或变异获得的。

优选地,所述处理器被进一步配置为执行指令以:

当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行交叉时,从所述m条路线中任意选择两条路线并对所述两条路线进行交叉以产生一条新路线,以及

当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行变异时,从所述m条路线中任意选择一条路线并对所述一条路线进行变异以产生一条新路线。

优选地,所述新的路线集合中的路线各不相同。

本发明将系统仿真技术和智能优化算法中的遗传算法结合在一起,解决了物流配送中的路线优化问题。系统仿真技术可以有效地模拟现实中的动态系统,对于时间加空间加随机变量的复杂系统是一种很好的解决方法。遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。将系统仿真技术和智能优化算法结合起来,使用仿真模型代替数学表达式并且使用优化算法进行求解,从而避免了静态思维对于算法求解的局限性。

附图说明

根据结合示例性附图对示例性实施例的以下描述,本公开的其他细节、方面和优点将变得显而易见,在附图中:

图1示意性地示出了根据本发明的实施例的用于利用遗传算法对配送路线进行优化的方法的流程图;

图2示意性地示出了根据本发明的实施例的通过系统仿真软件对配送路线进行优化的方法的流程图;

图3示意性地示出了根据本发明的实施例的配送路线优化系统的示意图;

图4示意性地示出了根据本发明的实施例的配送模型的示意图;以及

图5示意性地示出了根据本发明的实施例的用于利用遗传算法对配送路线进行优化的系统的框图。

附图没有对实施例的所有电路或结构进行显示。贯穿所有附图相同的附图标记表示相同或相似的部件或特征。

具体实施方式

下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的电路、材料或方法。

在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和/或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。

图1示出了根据本发明的实施例的用于利用遗传算法对配送路线进行优化的方法100的流程图。

在步骤S101,根据与站点相对应的地理位置来生成第一路线集合,第一路线集合包括N条路线。第一路线集合可以是随机产生的。

在步骤S102,计算与第一路线集合中的各条路线相对应的评价指标。评价指标可以是按照相应路线进行配送所花费的时间。

在步骤S103,确定是否满足终止条件,当不满足终止条件时,利用遗传算法对从第一路线集合中选择的评价指标排名最高的m条路线进行处理以产生N-m条路线,并且将N-m条路线与所述评价指标排名最高的m条路线组合为新的路线集合,其中m<N。终止条件可以是达到预先设置的迭代次数。所产生的N-m条路线中的每一条路线是通过利用遗传算法对从第一路线集合中选择的评价指标排名最高的m条路线进行交叉或变异获得的。

当利用遗传算法对从第一路线集合中选择的评价指标排名最高的m条路线进行交叉时,方法100包括:从所述m条路线中任意选择两条路线并对所述两条路线进行交叉以产生一条新路线,以及当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行变异时,方法100包括:从所述m条路线中任意选择一条路线并对所述一条路线进行变异以产生一条新路线。

应当注意的是,当利用遗传算法对评价指标排名最高的m条路线进行处理以产生N-m条路线时,所产生的N-m条路线中可能存在重复的路线。为了产生N-m条各不相同的路线,每当对评价指标排名最高的m条路线中所选择的路线进行交叉或变异以产生一条路线时,将新产生的路线与已经利用遗传算法产生的路线进行比较,如果比较结果显示已经利用遗传算法产生的路线中存在与新产生的路线相同的路线,则丢弃所述新产生的路线,并且利用遗传算法重新产生路线,直到不存在重复路线为止。

在步骤S104,将新的路线集合作为第一路线集合重复所述计算步骤和所述组合步骤,直到满足终止条件为止,并且将满足终止条件时与最高评价指标相对应的路线确定为优化的配送路线。

下面将参考图2结合具体的系统仿真软件来描述根据本发明的实施例的用于利用遗传算法对配送路线进行优化的方法。

在步骤S201,使用物流系统仿真软件,例如flexsim、Automod等建立配送路线优化系统,如图3所示,包括仿真模型库、编写遗传算法所需要的树节点、模型控制界面的图形用户界面(GUI)。

当构建仿真模型库时,首先绘制所需的三维图,例如分省份绘制中国地图,然后导入到仿真软件中;接着建立仿真模型所需的实体,比如产生配送车辆的实体、配送站点的实体,并将这些实体保存成部件库。

在部件库中添加遗传算法节点,如图3所示,图中文件夹型的节点用于控制遗传算法的相关参数,S型的节点用于编写遗传算法。

模型控制界面GUI是仿真软件的一个功能,只需将现有的控件拖入GUI界面中进行布局,然后与模型库、遗传算法参数节点进行链接。

在步骤S202,设置站点。在GUI界面的布局选项卡中输入配送站点的数量,例如,10,输出配送站点表,并在表中的每一行输入一个配送站点所在的城市名称。

在步骤S203,设置站点之间的距离。在GUI界面的布局选项卡中,点击设置距离表格,在弹出的表格中输入两两站点之间的距离。

在步骤S204,生成具体的配送线路模型。通过步骤S202和S203设置的参数,使用仿真模型库中的实体,生成具体的仿真模型,如图4所示,图中一个红色的五角星就是一个配送站点,任意两个配送站点之间都有一条线路,如图4中连接两点的线,车辆可以从某一点出发,按照假定的线路经过所有配送站点一次后,输出配送所花费的时间作为评价本次假定配送线路好坏的指标。

在步骤S205,设置遗传算法的相关参数。在GUI界面的遗传算法选项卡中输入参数,包括路线集合大小、迭代次数、选择、交叉、变异。这里的路线集合就是配送路线优化问题的一个可行解集,解集里解的个数即配送线路的个数就是路线集合大小,一个解或者一条配送路线称作一个个体。迭代次数作为遗传算法终止的条件。选择、交叉、变异是遗传算法中的基本算子,用于在迭代过程中产生新的路线集合。选择是从当前路线集合中挑出优胜个体并保留到新路线集合的操作,交叉和变异是将当前路线集合中的个体进行重组,从而得到新个体的操作,挑出的优胜个体和重组得到的新个体就组成了一个新的路线集合。

在步骤S206,对路线集合进行初始化。使用遗传算法树节点中的Initialize_population子节点,随机产生路线集合。该过程如下:对输入的站点进行编号。例如,如前所述,在步骤S202中输入了10个站点,则用1到10之间的整数对站点进行编号,将站点编号随机打乱得到一个数字序列,这个序列就代表一条配送线路,也可以称作一个个体,随机产生路线集合大小个个体,就组成了初始路线集合。

在步骤S207,运行在步骤S204中生成的配送线路模型,得出评价指标。把个体作为仿真模型的输入,运行仿真模型,并把得出的配送时间作为评价个体好坏的指标。

在步骤S208,判断当前路线集合是否运行完成,如果没有完成,则继续执行步骤S207,如果完成,则执行步骤S209。

在步骤S209,判断是否满足终止条件。这里的终止条件是迭代次数达到设定的目标值,如果不满足终止条件,则执行步骤S210,如果满足终止条件,则执行步骤S211。

在步骤S210,通过遗传算法迭代得出新的路线集合,并跳往步骤S207。具体地,使用遗传算法树节点中的generate_next_population子节点生成新的路线集合,该过程包括:通过选择算子保留一定量的优胜个体,再通过交叉、变异算子重组得到一些新的个体,从而组成新的路线集合。

在步骤S211,停止运行仿真模型,得出配送路线。该配送路线是当前路线集合中评价指标最高的路线。

在整个优化过程中,仿真模型运行的次数等于路线集合大小乘以迭代次数,最后一次运行的路线就是优化后的配送路线。

应当注意的是,可以选择不同的物流系统仿真软件和智能优化算法来对配送路线进行优化。

本发明的技术方案避免了用静态的思维求解动态的问题,并且其操作简单,只需通过输入配送站点数量、站点所在的城市名称以及两两站点之间的距离,就可以通过仿真实验确定出一条优化配送线路。

图5示意性地示出了根据本发明的实施例用于利用多能谱X射线成像系统识别物品的系统500的示意图。系统500包括处理器510,例如,数字信号处理器(DSP)。处理器510可以是用于执行本文所描述的方法100的不同动作的单个装置或多个装置。具体地,处理器510被配置为执行指令以:根据与站点相对应的地理位置来生成第一路线集合,所述第一路线集合包括N条路线;计算与所述第一路线集合中的各条路线相对应的评价指标;确定是否满足终止条件,当不满足所述终止条件时,利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行处理以产生N-m条路线,并且将所述N-m条路线与所述评价指标排名最高的m条路线组合为新的路线集合,其中m<N;以及将所述新的路线集合作为第一路线集合重复所述计算步骤和所述组合步骤,直到满足终止条件为止,并且将满足终止条件时与最高评价指标相对应的路线确定为优化的配送路线。所述处理器510可以被进一步配置为执行指令以:当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行交叉时,从所述m条路线中任意选择两条路线并对所述两条路线进行交叉以产生一条新路线,以及当利用遗传算法对从所述第一路线集合中选择的评价指标排名最高的m条路线进行变异时,从所述m条路线中任意选择一条路线并对所述一条路线进行变异以产生一条新路线。

系统500还可以包括输入/输出(I/O)装置530,用于从其他实体接收信号或者向其他实体发送信号。

此外,系统500包括存储器520,该存储器520可以具有以下形式:非易失性或易失性存储器,例如,电可擦除可编程只读存储器(EEPROM)、闪存等。存储器520存储计算机可读指令,当处理器510执行该计算机可读指令时,该计算机可读指令使处理器执行本文所述的动作。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。

因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统(例如,一个或多个处理器)使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。

以上的详细描述通过使用示意图、流程图和/或示例,已经阐述了用于利用遗传算法对配送路线进行优化的方法和利用遗传算法对配送路线进行优化的系统的众多实施例。在这种示意图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种示意图、流程图或示例中的每一功能和/或操作可以通过各种结构、硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中,本公开的实施例所述主题的若干部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/或写入软件和/或固件代码的能力。此外,本领域技术人员将认识到,本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字通用盘(DVD)、数字磁带、计算机存储器等;以及传输型介质,如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。

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