基于改进粒子群算法供应链生产运输协同调度方法及系统技术方案

技术编号:16874981 阅读:23 留言:0更新日期:2017-12-23 12:37
本发明专利技术公开了一种基于改进粒子群算法的供应链生产运输协同调度方法及装置,所述方法按如下步骤进行:1设定算法参数;2随机生成初始种群;3编码修正;4计算适应度值,更新粒子速度和位置;5锦标赛选择;6交叉变异;7更新种群;8判断终止条件是否满足,如果满足则输出全局最优解,否则返回步骤3;本发明专利技术能针对考虑分布式仓储的生产与运输协同调度问题,求得近似最优解,从而降低供应链成本,提高供应链服务水平。

Cooperative scheduling method and system for supply chain production and transportation based on Improved Particle Swarm Optimization

The invention discloses an improved particle swarm optimization algorithm of supply chain production scheduling method and device based on the method of collaborative transportation, comprising the following steps: 1 algorithm parameters; 2 randomly generated initial population; 3 encoding 4 amendment; to calculate the fitness value, update the velocity and position; 5 tournament selection; 6 cross variation; 7 update population; 8 to determine the termination condition is met, if the output of the global optimal solution, otherwise return to step 3; the invention can be considered for production and transportation warehousing distributed collaborative scheduling problem, obtain the approximate optimal solution, thus reducing the supply chain cost, improve the service level of supply chain.

【技术实现步骤摘要】
基于改进粒子群算法供应链生产运输协同调度方法及系统
本专利技术涉及供应链
,具体涉及一种基于改进粒子群算法供应链生产运输协同调度方法及系统。
技术介绍
近年来,生产与运输协同调度问题已成为供应链调度研究领域的热点问题之一。2003年Hall等首次阐述了供应链调度概念的问题,并针对单个工厂和多个客户的供应链调度问题,提出了动态规划算法用来优化配送时间和成本。随后调度问题的研究越来越深入。本文中为最大化供应链收益问题构建的改进粒子群算法是建立在已有的粒子群算法(KennedyandEberhart,1995)基础上的,通过引入交叉和变异算子,改善粒子过早陷入早熟的情况,提高粒子的多样性,以实现合理安排工件排序、工件组批、运输配送方案。粒子群算法的步骤一般包括:(1)初始化粒子群位置和速度;(2)计算适应度,记录当前代最优解和全局最优解;(3)更新粒子的速度和位置;(4)更新当前代最优解和全局最优解。通过重复以上步骤在整个空间内搜索最优解。然而,目前对半成品的生产和运输的协同调度问题的研究相对较少,很多学者提出的调度模型大多集中在机器环境、生产特征、资源优化上面,而忽略了半成品的运输以及成品的分配对生产的影响,同时考虑机器调度和产品运输的协同对提高生产企业的生产率尤为重要,会大大降低供应链成本,提高供应链竞争力。除此之外,在方法上,粒子群算法也存在着全局收敛性不足和容易早熟等缺点,特别是在某些特定的优化问题中无法提供稳定可靠的解决方案,不利于在供应链协同效率的提升。因此,我们有必要根据具体的实施项目,有针对性的改进粒子群算法,从而实现供应链协同优化决策。专
技术实现思路
本专利技术实施例的一个目的在于提高批处理机工件的过程中调度的合理性。第一方面,本专利技术实施例提供了一种基于改进粒子群算法的供应链生产运输协同调度方法,包括:步骤1、获取得到每个仓库运送工件的数量;根据先到达的工件先安排生产原则,获得工件序列;采用0-1编码方式,使用一个Xm={x1m,x2m,...,xim,...,xnm}向量来表示第m个粒子的编码,元素取值为0或1,当元素数值为1时,与所述元素前面的数值0形成一批,第n维向量数值均取1;步骤2、对粒子群进行初始化,确定粒子群的种群规模M,粒子的维度D,迭代次数t=0,最大迭代次数tmax,粒子的位置xim和速度vim,并按照编码规则给每个粒子的各个维度赋值0或1;取一个0到1之间的随机数rand,粒子的位置和速度计算方式如下:其中,w,c1,c2均是常系数;步骤3、根据BU规则对初始解进行修正,再利用MF批次分配规则将批次分配到合适的机器上进行加工,然后用适应度函数计算各个粒子的适应度值,并初始化个体最优位置pb和全局最优位置gb;步骤4、利用“锦标赛”方式选择粒子,将粒子按照适应度值从小到大排序,选择前20%的粒子随机两两进行交叉,保证粒子数为偶数,如为小数则四舍五入,如为奇数则加1,产生相应的子代粒子,用子代代替父代;步骤5、根据BU规则对初始解进行修正,再利用MF批次分配规则将批次分配到合适的机器上进行加工,然后用适应度函数计算各个粒子的适应度值,并初始化个体最优位置pb和全局最优位置gb;步骤6、计算粒子的变异概率进行变异操作,根据BU规则和MF批次分配规则计算出粒子的适应度值,更新个体最优位置pb和全局最优位置gb;步骤7、计算出所有粒子的速度和位置,更新粒子的位置xim,计算各个粒子的适应度值,并初始化个体最优位置pb和全局最优位置gb,令t=t+1;步骤8、判断t≤tmax是否成立,若成立,返回步骤3,否则,结束算法并输出全局最优解gb,输出最优的组批方式和批在每个机器上的加工顺序。可选地,所述根据BU规则对初始解进行修正,包括:步骤1’、对于一个给定的个体Xm,设定i=1,j=1;步骤2’、如果xim=0,将工件i分配至第j批,i=i+1;否则,j=j+1,将工件i分配至第j批;步骤3’、判断i>1是否成立,若成立,则重复步骤2’;否则,得到所有批集合;步骤4’、对于任意批次Bj,如果Bj容量大于B,那么:如果|Bj|-B+|Bj+1|≤B,|Bj+1|表示批次Bj所含的工件数量,则选择从仓库到制造商运输阶段最晚达到机器的工件J*,将工件J*归入批次Bj+1中,否则在j+1位置重新插入新批次,将工件J*归入批次Bj+1中,最后从Bj中移除工件J*;步骤5’、重复步骤4’,直至所有批均符合容量要求。可选地,所述利用MF批次分配规则将批次分配到合适的机器上进行加工,包括:步骤1”、根据批次修正的方法对工件进行组批后,得到每个批次bk的加工时间Pb,设定参数NE;步骤2”、按照以下法则确定批次分配的上下界:对于下界:如果成立,则令LB=max(Pb,b∈B);否则,令对于上界:如果成立,则令UB=max(Pb,b∈B);否则,令其中|M|是机器总数,max(Pb,b∈B)表示所有批次中最大的批加工时间;步骤3”、令步骤4”、一次选择一个批次分配到机器上,且保证该机器加工时间之和没有超过Cmax;如果批次不能在不超过Cmax的限制下放到机器上,则重新设置LB=Cmax;否则重新设置UB=Cmax;步骤5”、判断是否成立,若成立,结束循环;否则,返回步骤3”。可选地,所述利用“锦标赛”方式选择粒子,将粒子按照适应度值从小到大排序,选择前20%的粒子随机两两进行交叉,包括:步骤41、随机选择两个个体,比较适应度大小,选择适应度较好的作为候选交叉粒子;选择种群规模20%的粒子,对该选择出的粒子群体随机两两进行交叉,保证粒子数为偶数,如为小数则四舍五入,如为奇数则加1,产生相应的子代粒子,用子代代替父代;具体交叉方式如下:以维为基准,每维随机生成0或1,如果该数等于1,则该维的数值进行互换,否则不互换;步骤42、根据下式计算粒子m的变异概率其中,fmin指全局最优位置的适应度值,favg指平均适应度值,f指当前粒子的适应度值,P1=0.1,P2=0.01;每个粒子生成[0,1]间的随机小数,并将其与Pm进行比较,如果小于Pm,则粒子进行变异操作,否则不变异;具体变异方法如下:以维为基准,每维随机生成0或1,如果该数等于1,则该维的数值进行变异,将1变成0或者将0变成1,否则不变异。第二方面,本专利技术实施例提供了一种基于改进粒子群算法的供应链生产运输协同调度系统,包括:计算模块,用于执行:步骤1、获取得到每个仓库运送工件的数量;根据先到达的工件先安排生产原则,获得工件序列;采用0-1编码方式,使用一个Xm={x1m,x2m,...,xim,...,xnm}向量来表示第m个粒子的编码,元素取值为0或1,当元素数值为1时,与所述元素前面的数值0形成一批,第n维向量数值均取1;步骤2、对粒子群进行初始化,确定粒子群的种群规模M,粒子的维度D,迭代次数t=0,最大迭代次数tmax,粒子的位置xim和速度vim,并按照编码规则给每个粒子的各个维度赋值0或1;取一个0到1之间的随机数rand,粒子的位置和速度计算方式如下:其中,w,c1,c2均是常系数;步骤3、根据BU规则对初始解进行修正,再利用MF批次分配规则将批次分配到合适的机器上进行加工,然后用适应度函数计算各个粒子的适应度值,并初始化个体最本文档来自技高网
...
基于改进粒子群算法供应链生产运输协同调度方法及系统

【技术保护点】
一种基于改进粒子群算法的供应链生产运输协同调度方法,其特征在于,包括:步骤1、获取得到每个仓库运送工件的数量;根据先到达的工件先安排生产原则,获得工件序列;采用0‑1编码方式,使用一个Xm={x1m,x2m,...,xim,...,xnm}向量来表示第m个粒子的编码,元素取值为0或1,当元素数值为1时,与所述元素前面的数值0形成一批,第n维向量数值均取1;步骤2、对粒子群进行初始化,确定粒子群的种群规模M,粒子的维度D,迭代次数t=0,最大迭代次数tmax,粒子的位置xim和速度vim,并按照编码规则给每个粒子的各个维度赋值0或1;取一个0到1之间的随机数rand,粒子的位置和速度计算方式如下:

【技术特征摘要】
1.一种基于改进粒子群算法的供应链生产运输协同调度方法,其特征在于,包括:步骤1、获取得到每个仓库运送工件的数量;根据先到达的工件先安排生产原则,获得工件序列;采用0-1编码方式,使用一个Xm={x1m,x2m,...,xim,...,xnm}向量来表示第m个粒子的编码,元素取值为0或1,当元素数值为1时,与所述元素前面的数值0形成一批,第n维向量数值均取1;步骤2、对粒子群进行初始化,确定粒子群的种群规模M,粒子的维度D,迭代次数t=0,最大迭代次数tmax,粒子的位置xim和速度vim,并按照编码规则给每个粒子的各个维度赋值0或1;取一个0到1之间的随机数rand,粒子的位置和速度计算方式如下:其中,w,c1,c2均是常系数;步骤3、根据BU规则对初始解进行修正,再利用MF批次分配规则将批次分配到合适的机器上进行加工,然后用适应度函数计算各个粒子的适应度值,并初始化个体最优位置pb和全局最优位置gb;步骤4、利用“锦标赛”方式选择粒子,将粒子按照适应度值从小到大排序,选择前20%的粒子随机两两进行交叉,保证粒子数为偶数,如为小数则四舍五入,如为奇数则加1,产生相应的子代粒子,用子代代替父代;步骤5、根据BU规则对初始解进行修正,再利用MF批次分配规则将批次分配到合适的机器上进行加工,然后用适应度函数计算各个粒子的适应度值,并初始化个体最优位置pb和全局最优位置gb;步骤6、计算粒子的变异概率进行变异操作,根据BU规则和MF批次分配规则计算出粒子的适应度值,更新个体最优位置pb和全局最优位置gb;步骤7、计算出所有粒子的速度和位置,更新粒子的位置xim,计算各个粒子的适应度值,并初始化个体最优位置pb和全局最优位置gb,令t=t+1;步骤8、判断t≤tmax是否成立,若成立,返回步骤3,否则,结束算法并输出全局最优解gb,输出最优的组批方式和批在每个机器上的加工顺序。2.根据权利要求1所述的方法,其特征在于,所述根据BU规则对初始解进行修正,包括:步骤1’、对于一个给定的个体Xm,设定i=1,j=1;步骤2’、如果xim=0,将工件i分配至第j批,i=i+1;否则,j=j+1,将工件i分配至第j批;步骤3’、判断i>1是否成立,若成立,则重复步骤2’;否则,得到所有批集合;步骤4’、对于任意批次Bj,如果Bj容量大于B,那么:如果|Bj|-B+|Bj+1|≤B,|Bj+1|表示批次Bj所含的工件数量,则选择从仓库到制造商运输阶段最晚达到机器的工件J*,将工件J*归入批次Bj+1中,否则在j+1位置重新插入新批次,将工件J*归入批次Bj+1中,最后从Bj中移除工件J*;步骤5’、重复步骤4’,直至所有批均符合容量要求。3.根据权利要求1所述的方法,其特征在于,所述利用MF批次分配规则将批次分配到合适的机器上进行加工,包括:步骤1”、根据批次修正的方法对工件进行组批后,得到每个批次bk的加工时间Pb,设定参数NE;步骤2”、按照以下法则确定批次分配的上下界:对于下界:如果成立,则令LB=max(Pb,b∈B);否则,令对于上界:如果成立,则令UB=max(Pb,b∈B);否则,令其中|M|是机器总数,max(Pb,b∈B)表示所有批次中最大的批加工时间;步骤3”、令步骤4”、一次选择一个批次分配到机器上,且保证该机器加工时间之和没有超过Cmax;如果批次不能在不超过Cmax的限制下放到机器上,则重新设置LB=Cmax;否则重新设置UB=Cmax;步骤5”、判断是否成立,若成立,结束循环;否则,返回步骤3”。4.根据权利要求1所述的方法,其特征在于,所述利用“锦标赛”方式选择粒子,将粒子按照适应度值从小到大排序,选择前20%的粒子随机两两进行交叉,包括:步骤41、随机选择两个个体,比较适应度大小,选择适应度较好的作为候选交叉粒子;选择种群规模20%的粒子,对该选择出的粒子群体随机两两进行交叉,保证粒子数为偶数,如为小数则四舍五入,如为奇数则加1,产生相应的子代粒子,用子代代替父代;具体交叉方式如下:以维为基准,每维随机生成0或1,如果该数等于1,则该维的数值进行互换,否则不互换;步骤42、根据下式计算粒子m的变异概率其中,fmin指全局最优位置的适应度值,favg指平均适应度值,f指当前粒子的适应度值,P1=0.1,P2=0.01;每个粒子生成[0,1]间的随机小数,并将其与Pm进行比较,如果小于Pm,则粒子进行变异操作,否则不变异;具体变异方法如下:以维为基准,每维随机生成0或1,如果该数等于1,则该维的数值进行变异,将1变成0或者将0变成1,否则不变异。5.一种基于改进粒子群算法的供应链生产运输协同调度装置,其特征在于,包括:计算模块,用于执行:步骤1、获取得到每个仓库运送工件的数量;根据先到达的工件先安排生产原则,获得工件序列;采用0-1编码方式,使用一个Xm={x1m...

【专利技术属性】
技术研发人员:刘心报裴军薛梅陆少军程浩孔敏周志平蒋露
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1