本发明涉及供应链管理领域,具体地,涉及医药物流配送路径的优化设计方法、系统及介质。
背景技术:
医药物流可以认为是物流行业与医药相结合,借助计算机信息技术、物流设备以及物流管理技术对医药的采购、包装、配送等一系列重要环节进行整合,提高医药物流服务水平,实现医药物流高效率和高效益。目前,医药物流存在着医药物流企业对医药物流认识不充分、国家的政策和体制还不够完善和缺乏高素质专业人才等问题,导致物流成本加大,医药配送自动化、信息化以及效益化低。然而现代医药物流是通过现代化网络技术与通讯技术进行信息传递、网络采购与配送服务,大大减少了传统物流“人与人”之间的物流环节,不仅降低了物流成本,还提高了医药流通的效率,更有利于规范医药市场秩序,因此发展现代物流是势在必行的。
车辆路径优化问题(vehcleroutingproblem,简称vrp)是由dantzig和ramser[3]提出的,该问题是指在满足运送时间、货物需求量、车辆负载限制、行驶里程限制和交货时间限制等约束条件情况下,通过建立数学模型和编写算法程序对配送中心的车辆路径问题进行优化,以达到减少物流成本的目的。由于车辆路径优化问题对相关行业特别是物流行业起到了降低成本,提高效益的作用,因此车辆路径问题得到了国内外专家学者的广泛关注。
国外对于车辆路径问题的研究可以分为以下三个阶段:
第一阶段(1960-1970):这阶段专家学者主要是采用一些简单的数学规划方法求解路径优化为题。主要方法有:节约算法、启发式k-opt算法、列生成法、三阶段法等。
第二阶段(1970-1990):这阶段主要是研究求解算法的启发式设计。
第三阶段(1990至今):该阶段主要是对遗传算法、禁忌搜索算法、模拟退火算法、蚁群算法和粒子群算法等现代启发式算法进行研究。
国内对车辆优化调度问题的研究是在20世纪90年代以后才开始的,相对国外起步较晚,且都是集中在启发式算法对vrp问题的求解。
专利文献cn109636039a(申请号:201811526310.1)公开了一种用于物流配送的路径规划系统,包括信息输入模块、路径规划模块、位置获取模块和信息显示模块,所述信息输入模块用于输入物流配送的相关位置信息,所述路径规划模块用于根据输入的位置信息规划最优物流配送路径,所述位置获取模块用于实时获取物流车辆的当前位置,所述信息显示模块用于将所述最优物流配送路径和物流车辆的当前位置显示在地图上,并在所述最优物流配送路径中显示转运点的标识。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种医药物流配送路径的优化设计方法、系统及介质。
根据本发明提供的一种医药物流配送路径的优化设计方法,包括:
算法框架设计步骤:构建医药物流配送路径问题的基于mapreduce模型的并行遗传算法框架;
路径优化设计步骤:根据构建的供应链设计算法框架,进行医药供应链车辆配送路径优化设计。
优选地,所述算法框架设计步骤:
所述mapreduce模型包括:
map阶段的任务处理步骤:
读取输入文件内容,解析成<key,value>对。对输入文件的每一行解析成<key,value>对,每个键值对调用一次map函数;
编写适合自己程序,对输入的<key,value>对进行处理,转换成新的<key,value>对输出;
对输出的<key,value>对进行分区;
根据不同分区的数据,按key进行排序和分组,相同key的value放在一个集合;
对分组后的数据进行归纳;
reduce阶段的任务处理步骤:
对多个map阶段任务的输出,按照不同的分区,通过网络复制到reduce节点;
对多个map任务的输出进行合并、排序;
把reduce的输出保存到文件中。
优选地,所述路径优化设计步骤:
对构建的并行遗传算法框架进行改进,获得改进的并行遗传算法,再进行医药供应链车辆配送路径优化设计;
所述对构建的并行遗传算法框架进行改进包括:
染色体编码步骤:采用和vrp的编码方式一样,即选择自然数0至n作为客户的位置排列,每个一维数组就是一条染色体的整数编码,自然数0至n按不规则排列,每个数字只能出现一次,一个数字表示一个客户;
初始种群与适应度函数步骤:由于编码方式采用使用整数编码方式,初始化种群时随机生成popsize个1至n个自然数不重复的随机排列,n为客户节点数目,popsize为种群规模,采用以配送车辆行驶路程为目标函数,而适应度函数是目标函数的倒数,其转换公式如下:
其中,
fi表示个体染色体i的适应度;
zi表示配送车辆行驶到节点i的路程;
选择操作步骤:采用选择策略,从种群中选择个体,通过计算累计概率和选择概率,个体的适应度越大,其被选中的概率越大;
假设某个体染色体i,np为种群个体数,fi为个体染色体i的适应度,初始状态下某个个体选择的概率为0,
其中,
ppi表示累计概率;
pi表示个体的选择概率;
fit表示染色体i在种群np中的适应度;
每次转轮时,随机产生[0,1]之间的随机数r,当ppi-1≤r<ppi时选择个体r;
所述选择策略是轮盘赌策略;
交叉操作步骤:交叉操作采用部分匹配交叉pmx,随机产生两个数作为交叉点位置,其中两个点间的区域是匹配区域,然后使用位置交换操作交换父代的匹配区域,并代替原来的父代染色体,得到新的父代,其操作过程如下所示:
随机生成两个交叉点x和y,开始对父代a、b进行交叉操作;
将交叉匹配区域保留,即“||”之间的区域,然后进行父代交换操作;
将重复的基因删除,得到交叉后的个体,并代替父代形成新的种群;
其中,“||”表示交叉匹配区域;
变异操作步骤:采用多次对换变异技术,当种群中的个体发生变异,则随机生成一个交换次数count,个体的基因就进行count次对换;
算法终止步骤:在reduce阶段实现的,设定的终止条件为达到预先设定的进化代数、种群中最优个体在连续进化过程中没有改进、最优个体达到预先设定的最优解。
优选地,所述进行医药供应链车辆配送路径优化设计:
根据配送中配送中心的数目的个数,可以将车辆路径问题分为单配送中心和多配送中心,根据在配送过程中考虑客户对送货或取货的时间约束,多配送中心的车辆路径问题可分为无时限多配送中心路径问题和有时限多配送中心路径问题;
建立无时限多配送中心路径问题的数学模型,最后采用改进的并行遗传算法对该问题进行求解。
优选地,所述建立无时限多配送中心路径问题的数学模型:
设客户编号为1,2,…,n,配送中心编号为n+1,n+2,…,n+m;
定义变量如下:
目标函数如下:
约束条件如下:
其中,
gi表示客户节点i的需求量;
qmk表示配送中心m的车辆数;
公式(1)dij表示客户i到j的运输成本,这里只考虑距离;
公式(2)为目标函数,即最短距离长度;
公式(3)表示各配送中心派出的车辆不能超过该中心所拥有的车辆数,式中km为m个中心的车辆总数;
公式(4)确保车辆都是从各自的配送中心出发并回到原来中心;
公式(5)和公式(6)保证每个客户只能被一辆车服务一次;
公式(7)表示配送过程中,车辆所转载的货物总量不能超过其本身的最大载重量;
公式(8)表示车辆不能从配送中心到配送中心。
根据本发明提供的一种医药物流配送路径的优化设计系统,包括:
算法框架设计模块:构建医药物流配送路径问题的基于mapreduce模型的并行遗传算法框架;
路径优化设计模块:根据构建的供应链设计算法框架,进行医药供应链车辆配送路径优化设计。
优选地,所述算法框架设计模块:
所述mapreduce模型包括:
map阶段的任务处理模块:
读取输入文件内容,解析成<key,value>对。对输入文件的每一行解析成<key,value>对,每个键值对调用一次map函数;
编写适合自己程序,对输入的<key,value>对进行处理,转换成新的<key,value>对输出;
对输出的<key,value>对进行分区;
根据不同分区的数据,按key进行排序和分组,相同key的value放在一个集合;
对分组后的数据进行归纳;
reduce阶段的任务处理模块:
对多个map阶段任务的输出,按照不同的分区,通过网络复制到reduce节点;
对多个map任务的输出进行合并、排序;
把reduce的输出保存到文件中。
优选地,所述路径优化设计模块:
对构建的并行遗传算法框架进行改进,获得改进的并行遗传算法,再进行医药供应链车辆配送路径优化设计;
所述对构建的并行遗传算法框架进行改进包括:
染色体编码模块:采用和vrp的编码方式一样,即选择自然数0至n作为客户的位置排列,每个一维数组就是一条染色体的整数编码,自然数0至n按不规则排列,每个数字只能出现一次,一个数字表示一个客户;
初始种群与适应度函数模块:由于编码方式采用使用整数编码方式,初始化种群时随机生成popsize个1至n个自然数不重复的随机排列,n为客户节点数目,popsize为种群规模,采用以配送车辆行驶路程为目标函数,而适应度函数是目标函数的倒数,其转换公式如下:
其中,
fi表示个体染色体i的适应度;
zi表示配送车辆行驶到节点i的路程;
选择操作模块:采用选择策略,从种群中选择个体,通过计算累计概率和选择概率,个体的适应度越大,其被选中的概率越大;
假设某个体染色体i,np为种群个体数,fi为个体染色体i的适应度,初始状态下某个个体选择的概率为0,
其中,
ppi表示累计概率;
pi表示个体的选择概率;
fit表示染色体i在种群np中的适应度;
每次转轮时,随机产生[0,1]之间的随机数r,当ppi-1≤r<ppi时选择个体r;
所述选择策略是轮盘赌策略;
交叉操作模块:交叉操作采用部分匹配交叉pmx,随机产生两个数作为交叉点位置,其中两个点间的区域是匹配区域,然后使用位置交换操作交换父代的匹配区域,并代替原来的父代染色体,得到新的父代,其操作过程如下所示:
随机生成两个交叉点x和y,开始对父代a、b进行交叉操作;
将交叉匹配区域保留,即“||”之间的区域,然后进行父代交换操作;
将重复的基因删除,得到交叉后的个体,并代替父代形成新的种群;
其中,“||”表示交叉匹配区域;
变异操作模块:采用多次对换变异技术,当种群中的个体发生变异,则随机生成一个交换次数count,个体的基因就进行count次对换;
算法终止模块:在reduce阶段实现的,设定的终止条件为达到预先设定的进化代数、种群中最优个体在连续进化过程中没有改进、最优个体达到预先设定的最优解。
优选地,所述进行医药供应链车辆配送路径优化设计:
根据配送中配送中心的数目的个数,可以将车辆路径问题分为单配送中心和多配送中心,根据在配送过程中考虑客户对送货或取货的时间约束,多配送中心的车辆路径问题可分为无时限多配送中心路径问题和有时限多配送中心路径问题;
建立无时限多配送中心路径问题的数学模型,最后采用改进的并行遗传算法对该问题进行求解;
所述建立无时限多配送中心路径问题的数学模型:
设客户编号为1,2,…,n,配送中心编号为n+1,n+2,…,n+m;
定义变量如下:
目标函数如下:
约束条件如下:
其中,
gi表示客户节点i的需求量;
qmk表示配送中心m的车辆数;
公式(1)dij表示客户i到j的运输成本,这里只考虑距离;
公式(2)为目标函数,即最短距离长度;
公式(3)表示各配送中心派出的车辆不能超过该中心所拥有的车辆数,式中km为m个中心的车辆总数;
公式(4)确保车辆都是从各自的配送中心出发并回到原来中心;
公式(5)和公式(6)保证每个客户只能被一辆车服务一次;
公式(7)表示配送过程中,车辆所转载的货物总量不能超过其本身的最大载重量;
公式(8)表示车辆不能从配送中心到配送中心。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现上述中任一项所述的医药物流配送路径的优化设计方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明针对医药供应链配送问题的特征,选择合理的医药服务供应链利益分配设计、算法框架构建、医药供应链车辆配送路径优化设计的技术方法,同时,本发明通过技术方法避免和减小人为因素在物流配送中的影响,使设计的医药服务供应链更加服务特定客观需求。
2、本发明帮助企业按照用户需求正确设计恰当的供应链配送方案,帮助企业优化医药物流配送路径,客观的获取配送路径信息,帮助企业选出最合适的配送路径。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的优化模型的多源输入和输出数据示意图。
图2为本发明提供的mapreduce处理流程示意图。
图3为本发明提供的mr-ga算法流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种医药物流配送路径的优化设计方法,包括:
算法框架设计步骤:构建医药物流配送路径问题的基于mapreduce模型的并行遗传算法框架;
路径优化设计步骤:根据构建的供应链设计算法框架,进行医药供应链车辆配送路径优化设计。
优选地,所述算法框架设计步骤:
所述mapreduce模型包括:
map阶段的任务处理步骤:
读取输入文件内容,解析成<key,value>对。对输入文件的每一行解析成<key,value>对,每个键值对调用一次map函数;
编写适合自己程序,对输入的<key,value>对进行处理,转换成新的<key,value>对输出;
对输出的<key,value>对进行分区;
根据不同分区的数据,按key进行排序和分组,相同key的value放在一个集合;
对分组后的数据进行归纳;
reduce阶段的任务处理步骤:
对多个map阶段任务的输出,按照不同的分区,通过网络复制到reduce节点;
对多个map任务的输出进行合并、排序;
把reduce的输出保存到文件中。
优选地,所述路径优化设计步骤:
对构建的并行遗传算法框架进行改进,获得改进的并行遗传算法,再进行医药供应链车辆配送路径优化设计;
所述对构建的并行遗传算法框架进行改进包括:
染色体编码步骤:采用和vrp的编码方式一样,即选择自然数0至n作为客户的位置排列,每个一维数组就是一条染色体的整数编码,自然数0至n按不规则排列,每个数字只能出现一次,一个数字表示一个客户;
初始种群与适应度函数步骤:由于编码方式采用使用整数编码方式,初始化种群时随机生成popsize个1至n个自然数不重复的随机排列,n为客户节点数目,popsize为种群规模,采用以配送车辆行驶路程为目标函数,而适应度函数是目标函数的倒数,其转换公式如下:
其中,
fi表示个体染色体i的适应度;
zi表示配送车辆行驶到节点i的路程;
选择操作步骤:采用选择策略,从种群中选择个体,通过计算累计概率和选择概率,个体的适应度越大,其被选中的概率越大;
假设某个体染色体i,np为种群个体数,fi为个体染色体i的适应度,初始状态下某个个体选择的概率为0,
其中,
ppi表示累计概率;
pi表示个体的选择概率;
fit表示染色体i在种群np中的适应度;
每次转轮时,随机产生[0,1]之间的随机数r,当ppi-1≤r<ppi时选择个体r;
所述选择策略是轮盘赌策略;
交叉操作步骤:交叉操作采用部分匹配交叉pmx,随机产生两个数作为交叉点位置,其中两个点间的区域是匹配区域,然后使用位置交换操作交换父代的匹配区域,并代替原来的父代染色体,得到新的父代,其操作过程如下所示:
随机生成两个交叉点x和y,开始对父代a、b进行交叉操作;
将交叉匹配区域保留,即“||”之间的区域,然后进行父代交换操作;
将重复的基因删除,得到交叉后的个体,并代替父代形成新的种群;
其中,“||”表示交叉匹配区域;
变异操作步骤:采用多次对换变异技术,当种群中的个体发生变异,则随机生成一个交换次数count,个体的基因就进行count次对换;
算法终止步骤:在reduce阶段实现的,设定的终止条件为达到预先设定的进化代数、种群中最优个体在连续进化过程中没有改进、最优个体达到预先设定的最优解。
优选地,所述进行医药供应链车辆配送路径优化设计:
根据配送中配送中心的数目的个数,可以将车辆路径问题分为单配送中心和多配送中心,根据在配送过程中考虑客户对送货或取货的时间约束,多配送中心的车辆路径问题可分为无时限多配送中心路径问题和有时限多配送中心路径问题;
建立无时限多配送中心路径问题的数学模型,最后采用改进的并行遗传算法对该问题进行求解。
优选地,所述建立无时限多配送中心路径问题的数学模型:
设客户编号为1,2,…,n,配送中心编号为n+1,n+2,…,n+m;
定义变量如下:
目标函数如下:
约束条件如下:
其中,
gi表示客户节点i的需求量;
qmk表示配送中心m的车辆数;
公式(1)dij表示客户i到j的运输成本,这里只考虑距离;
公式(2)为目标函数,即最短距离长度;
公式(3)表示各配送中心派出的车辆不能超过该中心所拥有的车辆数,式中km为m个中心的车辆总数;
公式(4)确保车辆都是从各自的配送中心出发并回到原来中心;
公式(5)和公式(6)保证每个客户只能被一辆车服务一次;
公式(7)表示配送过程中,车辆所转载的货物总量不能超过其本身的最大载重量;
公式(8)表示车辆不能从配送中心到配送中心。
本发明提供的医药物流配送路径的优化设计系统,可以通过本发明给的医药物流配送路径的优化设计方法的步骤流程实现。本领域技术人员可以将所述医药物流配送路径的优化设计方法,理解为所述医药物流配送路径的优化设计系统的一个优选例。
根据本发明提供的一种医药物流配送路径的优化设计系统,包括:
算法框架设计模块:构建医药物流配送路径问题的基于mapreduce模型的并行遗传算法框架;
路径优化设计模块:根据构建的供应链设计算法框架,进行医药供应链车辆配送路径优化设计。
优选地,所述算法框架设计模块:
所述mapreduce模型包括:
map阶段的任务处理模块:
读取输入文件内容,解析成<key,value>对。对输入文件的每一行解析成<key,value>对,每个键值对调用一次map函数;
编写适合自己程序,对输入的<key,value>对进行处理,转换成新的<key,value>对输出;
对输出的<key,value>对进行分区;
根据不同分区的数据,按key进行排序和分组,相同key的value放在一个集合;
对分组后的数据进行归纳;
reduce阶段的任务处理模块:
对多个map阶段任务的输出,按照不同的分区,通过网络复制到reduce节点;
对多个map任务的输出进行合并、排序;
把reduce的输出保存到文件中。
优选地,所述路径优化设计模块:
对构建的并行遗传算法框架进行改进,获得改进的并行遗传算法,再进行医药供应链车辆配送路径优化设计;
所述对构建的并行遗传算法框架进行改进包括:
染色体编码模块:采用和vrp的编码方式一样,即选择自然数0至n作为客户的位置排列,每个一维数组就是一条染色体的整数编码,自然数0至n按不规则排列,每个数字只能出现一次,一个数字表示一个客户;
初始种群与适应度函数模块:由于编码方式采用使用整数编码方式,初始化种群时随机生成popsize个1至n个自然数不重复的随机排列,n为客户节点数目,popsize为种群规模,采用以配送车辆行驶路程为目标函数,而适应度函数是目标函数的倒数,其转换公式如下:
其中,
fi表示个体染色体i的适应度;
zi表示配送车辆行驶到节点i的路程;
选择操作模块:采用选择策略,从种群中选择个体,通过计算累计概率和选择概率,个体的适应度越大,其被选中的概率越大;
假设某个体染色体i,np为种群个体数,fi为个体染色体i的适应度,初始状态下某个个体选择的概率为0,
其中,
ppi表示累计概率;
pi表示个体的选择概率;
fit表示染色体i在种群np中的适应度;
每次转轮时,随机产生[0,1]之间的随机数r,当ppi-1≤r<ppi时选择个体r;
所述选择策略是轮盘赌策略;
交叉操作模块:交叉操作采用部分匹配交叉pmx,随机产生两个数作为交叉点位置,其中两个点间的区域是匹配区域,然后使用位置交换操作交换父代的匹配区域,并代替原来的父代染色体,得到新的父代,其操作过程如下所示:
随机生成两个交叉点x和y,开始对父代a、b进行交叉操作;
将交叉匹配区域保留,即“||”之间的区域,然后进行父代交换操作;
将重复的基因删除,得到交叉后的个体,并代替父代形成新的种群;
其中,“||”表示交叉匹配区域;
变异操作模块:采用多次对换变异技术,当种群中的个体发生变异,则随机生成一个交换次数count,个体的基因就进行count次对换;
算法终止模块:在reduce阶段实现的,设定的终止条件为达到预先设定的进化代数、种群中最优个体在连续进化过程中没有改进、最优个体达到预先设定的最优解。
优选地,所述进行医药供应链车辆配送路径优化设计:
根据配送中配送中心的数目的个数,可以将车辆路径问题分为单配送中心和多配送中心,根据在配送过程中考虑客户对送货或取货的时间约束,多配送中心的车辆路径问题可分为无时限多配送中心路径问题和有时限多配送中心路径问题;
建立无时限多配送中心路径问题的数学模型,最后采用改进的并行遗传算法对该问题进行求解;
所述建立无时限多配送中心路径问题的数学模型:
设客户编号为1,2,…,n,配送中心编号为n+1,n+2,…,n+m;
定义变量如下:
目标函数如下:
约束条件如下:
其中,
gi表示客户节点i的需求量;
qmk表示配送中心m的车辆数;
公式(1)dij表示客户i到j的运输成本,这里只考虑距离;
公式(2)为目标函数,即最短距离长度;
公式(3)表示各配送中心派出的车辆不能超过该中心所拥有的车辆数,式中km为m个中心的车辆总数;
公式(4)确保车辆都是从各自的配送中心出发并回到原来中心;
公式(5)和公式(6)保证每个客户只能被一辆车服务一次;
公式(7)表示配送过程中,车辆所转载的货物总量不能超过其本身的最大载重量;
公式(8)表示车辆不能从配送中心到配送中心。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现上述中任一项所述的医药物流配送路径的优化设计方法的步骤。
下面通过优选例,对本发明进行更为具体地说明。
优选例1:
技术交底书:
一种医药供应链优化设计方法,包括如下步骤:
步骤1:基于利益分配平衡的医药服务供应链战略设计;
根据医院药品的需求,分析供应链配送联盟的利益分配机理,快速设计产品供应链及配送系统;
步骤2:构建基于mapreduce的供应链设计算法框架;
构建医药物流配送路径问题的基于mapreduce模型的并行遗传算法框架。
步骤3:医药供应链车辆配送路径优化设计;
根据配送中配送中心的数目的个数,可以将车辆路径问题分为单配送中心和多配送中心。根据在配送过程中考虑客户对送货(或取货)的时间约束,多配送中心的车辆路径问题可分为无时限多配送中心路径问题和有时限多配送中心路径问题。
建立无时限多配送中心路径问题的数学模型,最后采用改进的并行遗传算法对该问题进行求解。
所述无时限多配送中心路径问题的数学模型,具体如下:
问题描述:
多配送中心的车辆路径问题(multi-depotvehicleroutingproblem,mdvrp)描述如下:多配送中心的车辆路径问题的描述如下:设g为一个二元组:g=(v,e)。式中v为点集;e为边集。v可以分别为vc和vd两个子集,vc={v1,v2,…,vn}和vd={vn+1,vn+2,…,vn+m}分别表示客户和配送中心。对于每个vi∈vc都存在一个该点的需求量gi,而对于vi∈vd,vi都包含有
(1)每条路径的都要从同个配送中心出发和结束;
(2)每个客户只能一辆车进行配送;
(3)每条路径的总需求量不能超过一辆车的最大载重量;
(4)每条路径不能超过配送车辆一次配送的最大行驶距离;
(5)配送过程中车辆总的行驶费用(路程)最短。
数学模型(无时限多配送中心路径问题的数学模型)
设客户编号为1,2,…,n,配送中心编号为n+1,n+2,…,n+m。
定义变量:
目标函数:
约束条件:
其中,式(1)dij表示客户i到j的运输成本,这里只考虑距离,式(2)为目标函数,即最短距离长度;式(3)表示各配送中心派出的车辆不能超过该中心所拥有的车辆数,式中km为m个中心的车辆总数;式(4)确保车辆都是从各自的配送中心出发并回到原来中心;式(5)和(6)保证每个客户只能被一辆车服务一次;式(7)表示配送过程中,车辆所转载的货物总量不能超过其本身的最大载重量;式(8)表示车辆不能从配送中心到配送中心。
基于mapreduce模型的遗传算法改进,具体包括如下步骤:
mapreduce执行有可以分为map阶段和reduce阶段的任务处理步骤。
(1)map阶段的任务处理步骤如下:
1)读取输入文件内容,解析成<key,value>对。对输入文件的每一行解析成<key,value>对,每个键值对调用一次map函数;
2)编写适合自己程序,对输入的<key,value>对进行处理,转换成新的<key,value>对输出;
3)对输出的<key,value>对进行分区;
4)根据不同分区的数据,按key进行排序和分组。相同key的value放在一个集合;
5)对分组后的数据进行归纳。
(2)reduce阶段的任务处理步骤:
1)对多个map阶段任务的输出,按照不同的分区,通过网络复制到reduce节点;
2)对多个map任务的输出进行合并、排序;
3)把reduce的输出保存到文件中。
4、根据权利要求1所述的医药供应链优化设计方法,其特征在于,所述的新算法的改进,具体包括如下步骤:
染色体编码:本文采用和vrp的编码方式一样,即选择自然数0-n作为客户的位置排列,每个一维数组就是一条染色体的整数编码。自然数0-n按不规则排列,每个数字只能出现一次,一个数字表示一个客户。
初始种群与适应度函数:由于编码方式采用使用整数编码方式,因此本文初始化种群时随机生成popsize个1~n个自然数不重复的随机排列,n为客户节点数目,popsize为种群规模。本文采用以配送车辆行驶路程为目标函数,而适应度函数是目标函数的倒数,其转换公式(1)。
选择操作:本文采用的选择策略是轮盘赌策略,其思想是从种群中选择个体,通过计算累计概率和选择概率,个体的适应度越大,其被选中的概率越大。假设某个体染色体i,np为种群个体数,fi为个体染色体i的适应度。令ppi=0,
交叉操作:交叉操作采用部分匹配交叉简称pmx(partiallymatchedexchange)是随机产生两个数作为交叉点位置,其中两个点间的区域是匹配区域,然后使用位置交换操作交换父代的匹配区域,并代替原来的父代染色体,得到新的父代。其操作过程如下所示(其中“||”表示交叉匹配区域):
(1)随机生成两个交叉点x=3和y=6,开始对父代a、b进行交叉操作;
(2)将交叉匹配区域保留,即“||”之间的区域,然后进行父代交换操作;
将重复的基因删除,得到交叉后的个体,并代替父代形成新的种群。
变异操作:本文采用多次对换变异技术。变异操作是一定的概率发生的,当种群中的个体发生变异,则随机生成一个交换次数count,个体的基因就进行count次对换。
算法终止条件:这操作是在reduce阶段实现的,本文设定的终止条件为达到预先设定的进化代数、种群中最优个体在连续进化过程中没有改进、最优个体达到预先设定的最优解。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。