一种用于解决提早-延期调度问题的模因演化算法

文档序号:6546861阅读:547来源:国知局
一种用于解决提早-延期调度问题的模因演化算法
【专利摘要】本发明提供了一种基于遗传算法思想的模因演化算法来解决单机、并行机环境下的提早-延期调度问题,其特征在于采用遗传算法作为搜索框架,引入一种迭代改进搜索策略作为局部搜索,所述算法包括以下步骤:编码及种群初始化,选择操作,交叉操作,变异操作,局部搜索。本发明研究的问题考虑了加工转换时间、工件的释放时间和工件的提早惩罚,是比当前的研究问题更为一般化的问题;本发明采用遗传算法作为搜索框架,并引入一种迭代改进搜索策略作为局部搜索,在优化精度和计算时间之间取得很好的平衡。
【专利说明】—种用于解决提早-延期调度问题的模因演化算法
【技术领域】
[0001]本发明涉及一种用于解决单机、并行机环境下提早-延期调度问题的模因演化算法。
【背景技术】
[0002]在现代制造业准时制生产理念中,企业为最大化追求利润,需要尽量将加工产品的完工时间安排在用户期望的交货期,如果产品提前或延期完工则会产生一定的惩罚。由此产生了一类重要的问题:考虑提早-延期惩罚的调度问题,该问题中加工每个工件受到的惩罚依赖于加工工件的完工时间。现有的对单机环境下的提早-延期调度问题的研究,大多没有考虑机器加工不同工件之间的加工转换时间,而转换时间是调度问题中广泛存在的一类条件。Tanaka考虑了转换时间条件,但是假设了所有工件的释放时间相同并且没有考虑工件的提早惩罚。
[0003]考虑提早-延期惩罚的调度问题是一种典型的具有时间依赖收益特点的调度问题。机器加工一个工件引起的惩罚项不是一个固定值,而是依赖于工件的完工时间。考虑每个工件具有不等的释放时间、交货期、提早和延期惩罚系数,单机环境下,提出了求解问题的模因演化算法。其中,在给定工件加工序列的情况下,考虑工件具有不同的释放时间和转换时间,提出了一种改进的最优定时算法来确定各工件的加工时间并计算目标函数值,通过和经典遗传算法的实验比较,验证了算法的优化性能。
[0004]在单机环境下提早-延期调度问题中,所有工件只能在一台机器上加工,而在并行机环境下提早-延期调度问题中,每个工件可以从多台机器中任意选择一台进行加工。和单机环境下提早-延期调度问题相同,并行机环境下提早-延期调度问题中每个工件也存在释放时间、加工时间、交货期、提早惩罚系数、延期惩罚系数等,但是工件之间需要的加工转换时间是随着机器的不同而不同的。本发明对构造启发式算法进行适应性改造,使之能够处理工件具有不同释放期以及转换时间特点的并行机环境下提早-延期调度问题,称之为改进的构造启发式算法。

【发明内容】

[0005]本发明的目的在于提供一种基于遗传算法思想的模因演化算法来解决单机、并行机环境下的提早-延期调度问题。
[0006]为了实现上述目的,本发明的技术方案是:
一种用于解决提早-延期调度问题的模因演化算法,其特征在于采用遗传算法作为搜索框架,引入一种迭代改进搜索策略作为局部搜索,所述算法包括以下步骤:
步骤I).编码及种群初始化:采用随机键表示方法生成构成提早-延期调度问题的初始种群,并在给定加工序列条件下确定各工件的加工开始时间以及计算染色体的适应度值;
步骤2).选择操作:从父代种群中选择适应度值低的为最优个体加入子代种群中;步骤3).交叉操作:将适应度值最低个体和与适应度值最低个体差异化最大的个体作为两个父代个体,采用统一基于次序交叉操作,对两个父代个体的基因进行重组,生成新的染色体;
步骤4).变异操作:对交叉生成的个体采用随机两两交换的方法进行变异操作,随机选择两个基因位,交换这两个位置上的基因,得到新的个体;
步骤5).局部搜索:采用基于插入领域的迭代改进算法,通过在当前解的邻域内选择一个更好的染色体来代替当前染色体,以使迭代后的染色体具有更好的适应度值。
[0007]优点及有益效果:
1.本发明研究的问题考虑了加工转换时间、工件的释放时间和工件的提早惩罚,是比当前的研究问题更为一般化的问题;
2.采用遗传算法作为搜索框架,并引入一种迭代改进搜索策略作为局部搜索,在优化精度和计算时间之间取得很好的平衡。
【专利附图】

【附图说明】
[0008]图1为本发明的基本流程图。 [0009]图2为遗传算法的基本流程图。
[0010]图3为随机键方法生成整数序列示例图。
[0011]图4为统一基于次序交叉操作不意图。
[0012]图5为随机两两交换变异操作示意图。
【具体实施方式】
[0013]模因演化算法是在二十世纪八十年代末出现的引入局部改进策略的群智能优化算法,它本质上是一种结合了群搜索框架和局部邻域搜索策略的混合启发式算法,本发明同样采用遗传算法作为搜索框架,引入一种迭代改进搜索策略作为局部搜索,设计了一种解决单机、并行机环境下提早-延期调度问题的模因优化算法。
[0014]为方便描述,首先引入符号表示问题中涉及的元素:
?待加工工件的数量;
M一个足够大的正数;
fi工件?的释放时间,? =;
Pi工件?需要的加工时间,d2,...j ;
式工件!的交货期,i = I上;
?4工件,的提早完工惩罚系数,;=1,2,...,《 ;
A工件^的延期完工惩罚系数,? = 1,2_? ;
%机器连续加工工件?和工件J之间需要的转换时间,; q工件,的完工时间,3 = 1,2,...,? ;
Ei工件^的提早完工时间,: = 1,2,;?工件,的延期完工时间,1 = 1,2,…;
、如果工件葶接着工件I加工则~ =1 ,否则~ = 0。
[0015]单机环境下的提早-延期调度问题可以描述为,在单台加工机器环境下,存在《个需要在该台机器上加工的工件。机器在任意时刻最多只能加工一个工件,在当前工件加工完成后到开始加工下一个工件之前,机器可以存在空闲时刻。每个工件I G = 1,2,…只
有处于其释放时间之后才能安排被机器加工,一旦机器对工件2开始加工,则加工过程不
可中断并且需要的加工时间为巧。如果完工时间A刚好等于工件的交货期i则不会产生
任务惩罚,否则如果工件提早完工或者延期完工,都会产生一定的惩罚。如果工件J紧接着
工件? (i^j)加工,则机器在加工完成工件,之后到开始加工工件Z前存在转换时间%,
= …j ,i矣j。值得注意的是,$不一定等于力,这里机器在加工两个工件之间需要
的转换时间取决于机器加工他们的顺序,这种加工转换时间称为顺序依赖的转换时间。问题的优化目标是最小化所有工件的惩罚之和。
[0016]根据上述对问题的描述,为便于建立问题的数学模型,我们引入工件O和工件β + 1,分别表不弟Iv和最后Iv加工的虚拟工件。其中rG,Pd,4和存均为O, ^Β+ι,
P肝? , <?+ι,^+ι和总+ι也均为O。对单机环境下的提早-延期调度问题,我们可以建立如下数学模型:
【权利要求】
1.一种用于解决提早-延期调度问题的模因演化算法,其特征在于采用遗传算法作为搜索框架,引入一种迭代改进搜索策略作为局部搜索,所述算法包括以下步骤: 步骤I).编码及种群初始化:采用随机键表示方法生成构成提早-延期调度问题的初始种群,并在给定加工序列条件下确定各工件的加工开始时间以及计算染色体的适应度值; 步骤2).选择操作:从父代种群中选择适应度值低的为最优个体加入子代种群中; 步骤3).交叉操作:将适应度值最低个体和与适应度值最低个体差异化最大的个体作为两个父代个体,采用统一基于次序交叉操作,对两个父代个体的基因进行重组,生成新的染色体; 步骤4).变异操作:对交叉生成的个体采用随机两两交换的方法进行变异操作,随机选择两个基因位,交换这两个位置上的基因,得到新的个体; 步骤5).局部搜索:采用基于插入领域的迭代改进算法,通过在当前解的邻域内选择一个更好的染色体来代替当前染色体,以使迭代后的染色体具有更好的适应度值。
2.根据权利要求1所述的用于解决提早-延期调度问题的模因演化算法,其特征在于:所述的适应度值采用一种改进的最优定时算法计算时,用于解决单机环境下的提早-延期调度问题,所述的改进的最优定时算法包括以下步骤: 步骤I)在给定加工序列下,依次为工件单独构建一个连续块或将该工件加入已有连续块中形成一个新连续块; 步骤2)计算新构成的连续块中所有工件的惩罚之和的函数的斜率集合,将连续块中所有工件的加工开始时间向惩罚和函数的最小点方向移动,直到达到终止条件,转到步骤I)。
3.根据权利要求1所述的用于解决提早-延期调度问题的模因演化算法,其特征在于:所述的适应度值采用一种改进的构造启发式算法计算时,用于解决并行机环境下的提早-延期调度问题,所述的改进的构造启发式算法在每次安排工件时尝试一次安排在每台机器上,然后选择目标函数值增加最少的机器作为最终安排加工的机器,在每台机器上依次尝试将工件安排在每个加工位置并且分别向前和向后移动其他工件,将产生最小适应度函数增量的位置作为该工件在该机器上的加工位置。
【文档编号】G06Q10/04GK104021425SQ201410210787
【公开日】2014年9月3日 申请日期:2014年5月19日 优先权日:2014年5月19日
【发明者】贺仁杰, 陈成, 李菊芳, 陈英武, 谭跃进, 姚锋, 邢立宁, 孙凯, 杨振宇, 王沛, 刘晓路, 李江成 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1