一种基于有向图适应度评估的混合差分进化算法制造技术

技术编号:10391413 阅读:124 留言:0更新日期:2014-09-05 16:44
本发明专利技术提供了一种基于有向图适应度评估的混合差分进化算法来解决一个同时结合了时间依赖转换时间、选择与调度结合和时间依赖收益特点的调度问题,包括编码及种群初始化、变异操作、交叉操作、选择操作,本发明专利技术所述的算法在能够在不同阶段循序渐进不断调整自身的值,具有优化性能;本发明专利技术在算例上取得的收益明显优于其他算法;本发明专利技术能够处理任何形式的转换时间表现形式,具有很强的灵活性。

【技术实现步骤摘要】
一种基于有向图适应度评估的混合差分进化算法
本专利技术涉及一种用于解决时间依赖转换时间调度问题的基于有向图适应度评估的混合差分进化算法。
技术介绍
订单受理与调度问题来源于面向订单生产的加工制造业。企业按照订单生产加工,可以满足用户个性化、差异化的产品定制需求,降低产品的库存成本,从而提高企业的竞争力。但与此同时,面向订单生产也给企业带来一定的挑战:客户的订单通常具有时效性,如果企业不能在用户期望的时间段内提交产品,则必然降低客户的满意度,长此以往将会损害企业的利益。而由于生产能力的限制,企业如果无法按期完成所有加工订单的生产,则必须从接收的订单中选择一部分进行生产并且为各订单安排加工时间。在企业中,受理订单通常是市场部门的工作,而生产加工则由生产部门负责。如果市场部门不考虑所受理的订单对生产部门工作的影响,则很容易造成订单过量、企业无法按期交付的情况发生。因此,订单的选择与生产调度必须统一考虑。在订单受理与调度问题中,同时存在选择和调度两个决策问题,工件延期加工会产生延期惩罚。时间依赖转换时间调度问题中工件不仅存在延期惩罚,还存在提早惩罚,并且还考虑了时间依赖的转换时间,时间依赖转换时间调度问题是在订单受理与调度问题的基础上,引入时间依赖转换时间以及提早-延期惩罚,非常复杂、难以求解。差分进化算法是由Storn和Price于上世纪90年代年提出的一种简单而有效的随机优化算法,最初被设计用于实值优化问题,又有许多其他学者陆续对差分进化算法进行了改进,上述这些方法原本是为函数优化问题而设计,在函数优化问题上,有显著优异性,但在解决时间依赖转换时间调度问题上,通过初步实验表明该结论并不成立,针对不同的算例已有方法各有所长。因此,根据解决时间依赖转换时间调度问题的特点,设计除了具有针对性的求解算法。
技术实现思路
本专利技术的目的在于提供一种基于有向图适应度评估的混合差分进化算法来解决一个同时结合了时间依赖转换时间、选择与调度结合和时间依赖收益特点的调度问题。为了实现上述目的,本专利技术的技术方案是:一种用于解决时间依赖转换时间调度问题的基于有向图适应度评估的混合差分进化算法,其采用有向图进行适应度评估,根据给定的实值向量,计算各工件的完工时间、开工时间和收益,将各工件按照开工时间升序排列,构建一个有向无环图,图中最长路径上的节点即为被安排加工的工件,路径的长度即为该实值向量对应的目标函数。所述算法包括以下步骤:采用如下步骤建立有向无环图:Step1.根据给定的Xi,g=(x1,i,g,x2,i,g,...,xn,i,g),计算各工件的完工时间、开工时间以及收益:cj=(rj+pj)+xj,i,g·(dlj-rj-pj),bj=cj-pj,rej=max{ej-hj·max{0,dj-cj},ej-wj·max{0,cj-dj}},j=1,2,...,n;Step2.将所有工件按照各自开工时间升序排列,设排序后的工件序列为σ,工件j表示在σ中排在位置j的工件,则满足bi≤bj;Step3.设有向图G=(V,E),V为顶点集合,E为边集合,初始化设向V中加入顶点0表示始点,加入顶点n+1表示终点,再向V中依次加入其他表示各工件的顶点j,j=1,2,...,n;Step4.对集合σ中所有i∈σ,向E中加入长度为的有向边<0,σi>和长度为0的有向边<σi,n+1>;Step5.对于如果满足则向E中加入一条长度为reσ(j)的有向边<σ(i),σ(j)>;”基于所述有向无环图进行适应度评估,步骤如下:步骤1).编码及种群初始化:采用位于0和1之间的实数作为编码方式,生成一组实值向量Xi,g=(x1,i,g,x2,i,g,...,xD,i,g),其中:g表示第g代种群,i表示第i个个体,每个向量构成一个染色体,每个实数表示工件的实际完工时间占整个时间窗口长度的比率,根据向量中的各实数预先确定对应工件的开工时间和完工时间,并且根据工件的开工和完工时间计算不同工件之间需要的转换时间;种群初始化时使实值向量对应的工件完工时间初始化时在其交货期附近随机采样;步骤2).变异操作:从当前种群中随机选择三个个体,利用其中两个生成一个差分向量,再将差分向量乘以缩放因子之后加到第三个向量上,即得到一个向量,按如下操作:其中,mp的初始值设为0.5,在每次迭代过程中,记录采用第一种和第二种变异操作生成成功进入下一代的个体个数分别为ns1和ns2,而不能进入下一代的个体个数记为nf1和nf2,当这两组数字积累50代之后,采用如下方式更新mp:每次mp更新之后,将ns1,ns2,nf1和nf2置为0进入下一次统计过程。步骤3).交叉操作:对当前种群中的目标向量和经变异操作生成的向量进行重组生成新的向量Ui,g=(u1,i,g,u2,i,g,...,uD,i,g),按如下操作:其中randi,j是0到1之间满足均匀分布的随机数,在每次调用时重新生成;jrand∈[1,2,...,D]是一个随机选择的索引以确保Ui,g至少从经变异操作生成的向量中获得一位基因而不会与Xi,g完全重复,对每个向量生成一次;Cr∈(0,1)是交叉概率。步骤4).选择操作:若交叉操作后生成的向量小于或等于变异操作前向量,则在下一代中用交叉操作后生成的向量替换掉变异操作前向量;优点及有益效果:1.本专利技术所述的算法在能够在不同阶段循序渐进不断调整自身的值,具有优化性能;2.本专利技术在算例上取得的收益明显优于其他算法;3.本专利技术能够处理任何形式的转换时间表现形式,具有很强的灵活性。附图说明图1为本专利技术的基本流程图。图2为构造有向图的工件示例图。图3为有向图示例图。具体实施方式为便于具体描述,首先引入相关元素:n待加工工件的数量;ri工件i的释放时间,i=1,2,...,n;pi工件i需要的加工时间,i=1,2,...,n;di工件i的交货期,i=1,2,...,n;dli工件i的截止期,i=1,2,...,n;ei工件i严格按照交货期完工所能获得的收益,i=1,2,...,n;rei加工工件i所能获得的实际收益,i=1,2,...,n;hi工件i的提前完工惩罚系数,i=1,2,...,n;wi工件i的延期完工惩罚系数,i=1,2,...,n;bi工件i的开工时间,i=1,2,...,n;ci工件i的完工时间,i=1,2,...,n;Ei工件i的提早完工时间,i=1,2,...,n;Ti工件i的延期完工时间,i=1,2,...,n;机器在ci时刻完成对工件i的加工至在bi时刻开始对工件j加工之间需所要的转换时间,i,j=1,2,...,n,i≠j,依赖与前一工件的完工时间和后一工件的开工时间。单机环境下考虑时间依赖转换时间的调度问题(S-TDSTS)可以如下描述:存在n个备选工件需要在在单机环境下加工,工件之间不存在偏序关系,机器在同一时刻最多只能加工一个工件,机器在加工任意两个工件之间可以存在空闲时刻。每个工件i只要在其释放期之后才能开始加工,需要的加工时间为pi,如果刚好在其交货期di时刻完工,则能够从该工件上获得的收益为ei。如果工件早于交货期完工,则称该工件提前完工,每提前1个时间单位完工收益减少hi,加工该工件获得的收益随着工件的提早完工线性递减;如果工件晚于交货期完本文档来自技高网
...
一种基于有向图适应度评估的混合差分进化算法

【技术保护点】
一种用于解决时间依赖转换时间调度问题的基于有向图适应度评估的混合差分进化算法,所述算法包括以下步骤:步骤1).编码及种群初始化:采用位于0和1之间的实数作为编码方式,生成一组实值向量,其中:g表示第代种群,i表示第i个个体,每个向量构成一个染色体,每个实数表示工件的实际完工时间占整个时间窗口长度的比率,根据向量中的各实数预先确定对应工件的开工时间和完工时间,并且根据工件的开工和完工时间计算不同工件之间需要的转换时间;种群初始化时使实值向量对应的工件完工时间初始化时在其交货期附近随机采样;步骤2). 变异操作:从当前种群中随机选择三个个体,利用其中两个生成一个差分向量,再将差分向量乘以缩放因子之后加到第三个向量上,即得到一个向量,按如下操作:其中,的初始值设为0.5,在每次迭代过程中,记录采用第一种和第二种变异操作生成成功进入下一代的个体个数分别为和,而不能进入下一代的个体个数记为和,当这两组数字积累50代之后,采用如下方式更新:每次更新之后,将,,和置为0进入下一次统计过程。步骤3).交叉操作:对当前种群中的目标向量和经变异操作生成的向量进行重组生成新的向量,按如下操作:其中是0到1之间满足均匀分布的随机数,在每次调用时重新生成;是一个随机选择的索引以确保至少从经变异操作生成的向量中获得一位基因而不会与完全重复,对每个向量生成一次;是交叉概率。步骤4).选择操作:若交叉操作后生成的向量小于或等于变异操作前向量,则在下一代中用交叉操作后生成的向量替换掉变异操作前向量;所述算法其特征在于:采用有向图进行适应度评估,根据给定的实值向量,计算各工件的完工时间、开工时间和收益,将各工件按照开工时间升序排列,构建一个有向无环图,图中最长路径上的节点即为被安排加工的工件,路径的长度即为该实值向量对应的目标函数。...

【技术特征摘要】
1.一种用于解决时间依赖转换时间调度问题的基于有向图适应度评估的混合差分进化算法,其特征在于,采用有向图进行适应度评估,根据给定的实值向量,计算各工件的完工时间、开工时间和收益,将各工件按照开工时间升序排列,构建一个有向无环图,图中最长路径上的节点即为被安排加工的工件,路径的长度即为该实值向量对应的目标函数,所述算法包括以下步骤:采用如下步骤建立有向无环图:Step1.根据给定的Xi,g=(x1,i,g,x2,i,g,...,xn,i,g),计算各工件的完工时间、开工时间以及收益:cj=(rj+pj)+xj,i,g·(dlj-rj-pj),bj=cj-pj,rej=max{ej-hj·max{0,dj-cj},ej-wj·max{0,cj-dj}},j=1,2,...,n;其中,rj为工件j的释放时间,j=1,2,...,n;pj为工件j需要的加工时间,j=1,2,...,n;dlj为工件j的截止期,j=1,2,...,n;ej为工件j严格按照交货期完工所能获得的收益,j=1,2,...,n;hj为工件j的提前完工惩罚系数,j=1,2,...,n;dj为工件j的交货期,j=1,2,...,n;wj为工件j的延期完工惩罚系数,j=1,2,...,n;Step2.将所有工件按照各自开工时间升序排列,设排序后的工件序列为σ,工件j表示在σ中排在位置j的工件,则满足bi≤bj;Step3.设有向图G=(V,E),V为顶点集合,E为边集合,初始化设向V中加入顶点0表示始点,加入顶点n+1表示终点,再向V中依次加入其他表示各工件的顶点j,j=1,2,...,n;Step4.对集合σ中所有i∈σ,向E中加入长度为的有向边<0,σi>和长度为0的有向边<σi,n+1>;Step5.对于j∈σ,i<j,如果满足则向E中加入一条长度为reσ(j)的有向边<σ(i),σ(j)>;其中,为机器在ci时刻完成对工件i的加工至在bi时刻开始对工件j加工之间所需要的转换时间,基于所述有向无环图进行适应度评估,步骤如下:步骤1).编码及种群初始化:采用位于0和1之间的实数作为编码方式,生成一组实值向量Xi,g=(x1,i,g,x2,i,g,...,xD,i,g),其中:g表示第g代种群,i表示第i个个体,每个向量构成一个染色体,每个实数表示工件的实际完工时间占整个时间窗口长度的比率,根据向量中的各实数预先确定对应工件的开工时间和完工时间,并且根据工件的开工和完工时间计算不同工件...

【专利技术属性】
技术研发人员:陈成姚锋邢立宁陈英武谭跃进贺仁杰李菊芳杨振宇王沛刘晓路孙凯李江成
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

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

1