CN103105775A - 基于序优化与在线核极限学习机的分层迭代优化调度方法 - Google Patents

基于序优化与在线核极限学习机的分层迭代优化调度方法 Download PDF

Info

Publication number
CN103105775A
CN103105775A CN201210543781XA CN201210543781A CN103105775A CN 103105775 A CN103105775 A CN 103105775A CN 201210543781X A CN201210543781X A CN 201210543781XA CN 201210543781 A CN201210543781 A CN 201210543781A CN 103105775 A CN103105775 A CN 103105775A
Authority
CN
China
Prior art keywords
centerdot
menu
scheduling
test
individuality
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201210543781XA
Other languages
English (en)
Other versions
CN103105775B (zh
Inventor
刘民
郝井华
郭路
吴澄
王凌
张亚斌
刘涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201210543781.XA priority Critical patent/CN103105775B/zh
Publication of CN103105775A publication Critical patent/CN103105775A/zh
Application granted granted Critical
Publication of CN103105775B publication Critical patent/CN103105775B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

基于序优化与在线核极限学习机的分层迭代优化调度方法,属于自动控制、信息技术和先进制造领域,具体涉及菜单层批调度策略优化、操作层操作排序优化和基于核极限学习机在线学习的目标函数评价等方法。其特征在于,针对微电子生产过程中的扩散区组批调度过程中决策变量多,批调度策略与操作排序策略之间存在较强耦合等特点,在调度算法中采用了分层调度结构,对菜单层批调度策略和操作层排序策略进行迭代优化,为提高算法运算效率,采用序优化方法快速优化菜单层批调度策略,并通过菜单层和操作层之间的迭代优化,进一步提高调度算法性能。本发明所提出的基于序优化与在线核极限学习机的分层迭代优化调度方法具有较好的求解速度和优化性能。

Description

基于序优化与在线核极限学习机的分层迭代优化调度方法
技术领域
本发明属于自动控制、信息技术和先进制造领域。具体涉及在决策变量存在耦合、决策变量多、规模大的环境下,提高优化速度和性能的方法。
背景技术
软计算在优化调度过程中取得了广泛应用,但在解空间规模庞大时,易于出现算法早熟、收敛速度慢等现象,整个求解过程效率较低。虽然高效的进化计算方法被不断提出,如量子进化计算、差分进化计算等高效的进化算法被不断提出,在提高算法效率方面取得了一定的改善,但当面对大规模问题时,求解效率仍很难令人满意。半导体生产过程十分复杂,规模庞大,特别在组批加工过程中,相比普通的加工过程,还存在组批、Batch排序等过程,同时组批决策和操作排序决策之间存在较强的耦合作用,即组批决策结果受操作排序结果的影响,因此,如何通过挖掘问题自身的特征,提高算法的求解效率,是优化带有批处理过程的调度问题的难点。
本发明提出一种基于序优化与在线核极限学习机的分层迭代优化调度方法,与其他算法相比,本发明具有较优的调度性能和求解效率。
发明内容
为了解决复杂生产制造过程中优化算法存在的求解效率低下的不足,本发明针对半导体生产过程中的扩散区组批调度过程中决策变量多,批调度策略与操作排序策略之间存在强耦合,调度问题规模大等特点,在调度算法中采用了分层调度结构,对菜单层批调度策略和操作层排序策略进行迭代优化,为提高算法运算效率,采用序优化方法快速优化菜单层批调度策略,并通过菜单层和操作层之间的迭代优化,有效提高了调度算法的求解速度和优化性能。
基于序优化与在线核极限学习机的分层迭代优化调度方法,其特征在于,所述方法是在计算机上依次按以下步骤实现的:
步骤1:初始化调度算法相关参数
采集调度所需的相关初始化信息,包括每个lot的片数、品种、工艺流程信息,每个操作的菜单、可加工机器名称、所属的加工机器组名称信息,每个机器的释放时间、所属的机器组、对每种菜单的加工时间信息,这些信息写入算法数据库中,在调度算法启动时,作为初始化信息加载到算法中;
确定差分进化优化算法相关参数:选定种群规模N=20,差分缩放因子F=0.3,最大进化代数Gmax=5,杂交率CR=0.8,变异比率λ=0.3;迭代次数设为2次;
步骤2:差分进化算法初始解生成;
优化过程中,对于菜单层主要采用菜单多属性权值优化,优化的菜单属性主要包括该菜单中所含的操作平均剩余加工时间、平均到达时间、平均后续操作数量、平均紧急程度优化四个属性;对于操作层主要优化操作的优先权序列,于是,对于每个机器组而言,采用的编码方式为:
Figure BSA00000823710600021
i表示该机器组编号i=1,2,…,g,g为机器组的数量;ri表示机器组i可加工菜单的最大数量;{wi,1,wi,2,wi,3,wi,4}为四个调度属性的权值,权值初始化时在[0 1]范围内随机取值;表示第j个菜单对应所有操作生成的优先权序列,其中dj表示菜单j所包含的操作的总数量,
Figure BSA00000823710600023
表示机器组i的菜单j中的第k个操作,k=1,2,…,dj;操作优先权序列采用随机方式产生;
所有机器组的
Figure BSA00000823710600024
组合,构成一条初始解个体;
步骤3:采用差分进化算法获得第一次迭代前较优解
步骤3.1:解码
对步骤2中生成的初始解,通过离散事件仿真的方式获得对每个调度解个体的适应度评价;
仿真过程中,主要包含菜单选择和菜单内操作选择两种决策过程:
当机器空闲时,首先对缓冲区内所有的操作按照菜单进行分组,计算每种菜单内所有操作的平均剩余加工时间、平均到达时间、平均后续操作数量、平均紧急程度四个属性,根据编码过程中给定的调度属性加权矢量{wi,1,wi,2,wi,3,wi,4}计算菜单的优先权值,选取权值高的菜单进行加工;
菜单选定后,对菜单内每个操作按照解个体中给定的操作优先权从高到底的方式进行选择,直至选出的操作总片数最接近机器加工片数的最大值;此时,被选中的所有操作组成一个batch,将该batch中的所有操作都同时上机进行加工;
加工完成后,仿真推进至下一次菜单选择和菜单内操作选择过程,直至所有操作都加工完成,仿真结束;
步骤3.2:变异交叉过程
差分进化算法变异交叉过程描述如下:
步骤3.2.1:随机选择三个个体,
Figure BSA00000823710600031
步骤3.2.2:操作层操作优先权序列变异方法:
1)选择需变异的操作优先权子序列
假定机器组Ml对应操作的数量为Dl,需进行变异的操作数量为 表示向下取整;随机生成一整数r4,0≤r4≤Dl-Dλ,从
Figure BSA00000823710600034
中机器组Ml对应的操作优先权序列中,从位置r4选取长度为Dλ的操作子序列,记为
Figure BSA00000823710600035
该子序列对应的位置矢量记为
Figure BSA00000823710600036
这里位置矢量指的是从0开始标记的位置编号,则:
P r 1 r 4 = { r 4 , r 4 + 1 , · · · , r 4 + D λ - 1 }
将上式记作:
P r 1 r 4 = { r 4 , r 4 + 1 , · · · , r 4 + D λ - 1 } = { P r 1 , 0 r 4 , P r 1 , 1 r 4 , · · · , P r 1 , D λ - 1 r 4 }
不失一般性,记
Figure BSA00000823710600039
Figure BSA000008237106000310
第r4+k(0≤k≤Dλ-1)个操作在
Figure BSA000008237106000311
中对应的操作优先权序列的位置编号,则对选取的长度为Dλ的操作子序列
Figure BSA000008237106000312
中的每一个元素,在
Figure BSA000008237106000313
中查找对应位置的元素后,得到的位置矢量为:
P r 1 r 4 = { P r 2 , 0 r 4 , P r 2 , 1 r 4 , · · · , P r 2 , D λ - 1 r 4 }
P r 3 r 4 = { P r 3 , 0 r 4 , P r 3 , 1 r 4 , · · · , P r 3 , D λ - 1 r 4 }
P r 1 r 4 = { P r 1 , 0 r 4 , P r 1 , 1 r 4 , · · · , P r 1 , D λ - 1 r 4 }
这里
Figure BSA000008237106000317
中由
Figure BSA000008237106000318
所对应的操作、
Figure BSA000008237106000319
中位置
Figure BSA000008237106000320
所对应的操作以及
Figure BSA000008237106000321
中位置
Figure BSA000008237106000322
所对应的操作相同;
2)执行变异操作
令F为差分缩放因子(F<1),按下式计算变异后
Figure BSA000008237106000323
中每个元素所对应的位置矢量
Figure BSA000008237106000325
上式中,mod表示取余;
Figure BSA000008237106000326
表示变异后的位置矢量;
3)交叉过程
分别为位置矢量
Figure BSA000008237106000328
中的第k个位置,上述两个位置对应的操作为一个操作对,交叉操作即为对上述两个位置对应的操作按初始化给定的概率CR进行交换;即随机生成一个取值在[0,1]内的数,将该数与CR值比较,如果该随机数大于CR则交换,否则不交换;
步骤3.2.3:菜单层多调度属性权值变异交叉方法:
1)变异过程
y i j = w r 1 j + F ( w r 2 j - w r 3 j )
上式中,
Figure BSA00000823710600042
为个体
Figure BSA00000823710600043
的多属性权值部分;
Figure BSA00000823710600044
为个体
Figure BSA00000823710600045
的多属性权值部分;
Figure BSA00000823710600046
为个体
Figure BSA00000823710600047
的多属性权值部分;
Figure BSA00000823710600048
表示变异后第j代第i个个体的调度属性权值部分;
2)交叉过程
假定
Figure BSA00000823710600049
表示的第k个变量,
Figure BSA000008237106000411
表示第j代第i个个体的第k个变量,k=1,2,3,4,交叉过程为:随机生成一个取值在[0,1]内的数,将该数与CR值比较,如果该随机数大于CR则
Figure BSA000008237106000412
否则
Figure BSA000008237106000413
步骤3.2.4:变异交叉完成后,所得到的个体记为
步骤3.3:选择
若完成变异和交叉后的个体适应度高于原有个体,则将新个体取代原有个体,作为第j+1代第i个个体
Figure BSA000008237106000415
即:
x i j + 1 = x i j , f ( x i j ) ≤ f ( v i j ) v j i , f ( x i j ) > f ( v i j )
其中
Figure BSA000008237106000417
表示
Figure BSA000008237106000418
的目标函数值;
Figure BSA000008237106000419
表示
Figure BSA000008237106000420
的目标函数值;
步骤3.4:终止条件
重复步骤3.1~步骤3.3,直至满足所设定的最大进化代数Gmax=5;
步骤4:菜单层基于序优化方法的快速优化
菜单层采用序优化方法进行优化,具体算法描述如下:
步骤4.1:随机产生N0=20条个体,每个个体生成时,操作层的操作优先权序列为步骤3优化后得到的操作优先权,菜单层的多属性权值产生方法与步骤2中菜单层多属性权值产生方法相同;
记为
Figure BSA00000823710600051
其中xi为一组权值矢量,由所有机器组对应的菜单层属性加权矢量{wi,1,wi,2,wi,3,wi,4}组成;
通过仿真获得这N0个个体的目标函数值,记为 Y = y 1 y 2 · · · y N 0 ;
步骤4.2:将步骤4.1生成的N0对数据作为训练数据,构造训练集{X,Y};
步骤4.3:随机产生Ntest=1000个调度解个体构造集合Θr,每个个体的产生方法与步骤2中调度解个体的产生方法相同;
步骤4.4:采用核极限学习机,获得Ntest=1000个调度解个体的目标函数值的估计值,计算公式如下:
Y ^ test = K ( x test , 1 , x 1 ) K ( x test , 1 , x 2 ) · · · K ( x test , 1 , x N 0 ) K ( x test , 2 , x 1 ) K ( x test , 2 , x 2 ) · · · K ( x test , 2 , x N 0 ) · · · · · · · · · · · · K ( x test , N test , x 1 ) K ( x test , N test , x 2 ) · · · K ( x test N test , x N 0 ) A π - 1 y 1 A π - 1 y 2 · · · A π - 1 y N 0
其中 A π - 1 = 1 v + K ( x 1 , x 1 ) K ( x 1 , x 2 ) · · · K ( x 1 , x N 0 ) K ( x 2 , x 1 ) 1 v + K ( x 2 , x 3 ) · · · K ( x 2 , x N 0 ) · · · · · · · · · · · · K ( x N 0 , X 1 ) K ( x N 0 , x 2 ) · · · 1 v + K ( x N 0 , x N 0 ) - 1
K(*,#)=exp(-γ||*-#||2)为预先给定的核函数,其中*和#代表核函数的两个输入变量,这里γ取值为γ=211;目标函数值的估计值v为预先给定的折中系数,这里取值为v=213;xtest,i表示Ntest=1000个调度解个体中的第i个个体,i=1,2,…,Ntest
步骤4.5:利用序优化公式
Figure BSA00000823710600055
计算需要仿真的个体数量,根据序优化方法,各参数取值为Z0=8.1998,k=1,ρ=1.9164,g=35,r=-2.0250,η=10,e=2.718281828459为自然对数;
步骤4.6:根据步骤4.4计算的Ntest=1000个调度解个体的目标函数值估计值,根据步骤4.5计算得到的s值,选定最优的s个调度解个体,对选定的s个解个体进行仿真,选出仿真得到的目标函数值最优的解作为最终优化结果;
此解即为采用序优化方法优化后的调度解;
步骤5:操作层基于差分进化算法的操作优先权优化
步骤5.1:差分进化算法初始解生成
随机产生N0=20条个体,每个个体生成时,菜单层的多属性权值固定为步骤4最优解中对应的权值,操作层的操作优先权序列随机产生,产生方法与步骤2中操作层的操作优先权产生方法相同;
步骤5.2:解码
具体过程与步骤3.1相同;
步骤5.3:变异
具体过程与步骤3.2.1~3.2.2同;
步骤5.4:选择
具体过程与步骤3.3相同;
步骤5.5:操作层优化终止条件
重复步骤5.1~步骤5.4,直至满足所设定的最大进化代数Gmax=5;
步骤6:迭代终止条件
重复步骤4~步骤5,直至满足迭代终止条件,即最大迭代次数Niter=2。
根据上述方法,本发明做了大量的仿真试验,从仿真结果中可看出,本发明能够在较短的时间内,获得较优的调度性能。
附图说明
图1:基于序优化与在线核极限学习机的分层迭代优化调度方法的流程图。
图2:本算法在企业使用过程中所需要的软硬件组成图。
具体实施方式
本发明提出的调度方法依赖于相关的数据采集系统、调度算法服务器和用户客户端等硬件设备,并由调度算法控制软件实现。
以下对本发明提出的基于序优化与在线核极限学习机的分层迭代优化调度方法所涉及的步骤进行详细说明:
步骤1:采集lot和各机器的初始化信息,初始化调度算法相关参数
采集调度所需的相关初始化信息,包括每个lot的片数、品种、工艺流程信息,每个操作的菜单、可加工机器名称、所属的加工机器组名称信息,每个机器的释放时间、所属的机器组、对每种菜单的加工时间信息,这些信息写入算法数据库中,在调度算法启动时,作为初始化信息加载到算法中;
确定差分进化优化算法相关参数:选定种群规模N=20,差分缩放因子F=0.3,最大进化代数Gmax=5,杂交率CR=0.8,变异比率λ=0.3;迭代次数设为2次;
步骤2:差分进化算法初始解生成;
优化过程中,对于菜单层主要采用菜单多属性权值优化,优化的菜单属性主要包括该菜单中所含的操作平均剩余加工时间、平均到达时间、平均后续操作数量、平均紧急程度优化四个属性;对于操作层主要优化操作的优先权序列,于是,对于每个机器组而言,采用的编码方式为:
Figure BSA00000823710600071
i表示该机器组编号i=1,2,…,g,g为机器组的数量;ri表示机器组i可加工菜单的最大数量;{wi,1,wi,2,wi,3,wi,4}为四个调度属性的权值,权值初始化时在[01]范围内随机取值;
Figure BSA00000823710600072
表示第j个菜单对应所有操作生成的优先权序列,其中dj表示菜单j所包含的操作的总数量,表示机器组i的菜单j中的第k个操作,k=1,2,…,dj;操作优先权序列采用随机方式产生;
所有机器组的
Figure BSA00000823710600074
组合,构成一条初始解个体;
步骤3:采用差分进化算法获得第一次迭代前较优解
步骤3.1:解码
对步骤2中生成的初始解,通过离散事件仿真的方式获得对每个调度解个体的适应度评价;
仿真过程中,主要包含菜单选择和菜单内操作选择两种决策过程:
当机器空闲时,首先对缓冲区内所有的操作按照菜单进行分组,计算每种菜单内所有操作的平均剩余加工时间、平均到达时间、平均后续操作数量、平均紧急程度四个属性,根据编码过程中给定的调度属性加权矢量{wi,1,wi,2,wi,3,wi,4}计算菜单的优先权值,选取权值高的菜单进行加工;
菜单选定后,对菜单内每个操作按照解个体中给定的操作优先权从高到底的方式进行选择,直至选出的操作总片数最接近机器加工片数的最大值;此时,被选中的所有操作组成一个batch,将该batch中的所有操作都同时上机进行加工;
加工完成后,仿真推进至下一次菜单选择和菜单内操作选择过程,直至所有操作都加工完成,仿真结束;
步骤3.2:变异交叉过程
差分进化算法变异交叉过程描述如下:
步骤3.2.1:随机选择三个个体,
Figure BSA00000823710600081
步骤3.2.2:操作层操作优先权序列变异方法:
1)选择需变异的操作优先权子序列
假定机器组Ml对应操作的数量为Dl,需进行变异的操作数量为
Figure BSA00000823710600082
Figure BSA00000823710600083
表示向下取整;随机生成一整数r4,0≤r4≤Dl-Dλ,从
Figure BSA00000823710600084
中机器组Ml对应的操作优先权序列中,从位置r4选取长度为Dλ的操作子序列,记为
Figure BSA00000823710600085
该子序列对应的位置矢量记为
Figure BSA00000823710600086
这里位置矢量指的是从0开始标记的位置编号,则:
P r 1 r 4 = { r 4 , r 4 + 1 , · · · , r 4 + D λ - 1 }
将上式记作:
P r 1 r 4 = { r 4 , r 4 + 1 , · · · , r 4 + D λ - 1 } = { P r 1 , 0 r 4 , P r 1 , 1 r 4 , · · · , P r 1 , D λ - 1 r 4 }
不失一般性,记
Figure BSA00000823710600089
Figure BSA000008237106000810
第r4+k(0≤k≤Dλ-1)个操作在中对应的操作优先权序列的位置编号,则对选取的长度为Dλ的操作子序列
Figure BSA000008237106000812
中的每一个元素,在
Figure BSA000008237106000813
中查找对应位置的元素后,得到的位置矢量为:
P r 2 r 4 = { P r 2 , 0 r 4 , P r 2 , 1 r 4 , · · · , P r 2 , D λ - 1 r 4 }
P r 3 r 4 = { P r 3 , 0 r 4 , P r 3 , 1 r 4 , · · · , P r 3 , D λ - 1 r 4 }
P r 1 r 4 = { P r 1 , 0 r 4 , P r 1 , 1 r 4 , · · · , P r 1 , D λ - 1 r 4 }
这里
Figure BSA000008237106000817
中由
Figure BSA000008237106000818
所对应的操作、
Figure BSA000008237106000819
中位置
Figure BSA000008237106000820
所对应的操作以及
Figure BSA000008237106000821
中位置
Figure BSA000008237106000822
所对应的操作相同;
2)执行变异操作
令F为差分缩放因子(F<1),按下式计算变异后中每个元素所对应的位置矢量
Figure BSA000008237106000824
Figure BSA000008237106000825
上式中,mod表示取余;
Figure BSA00000823710600091
表示变异后的位置矢量;
3)交叉过程
Figure BSA00000823710600092
分别为位置矢量
Figure BSA00000823710600093
中的第k个位置,上述两个位置对应的操作为一个操作对,交叉操作即为对上述两个位置对应的操作按初始化给定的概率CR进行交换;即随机生成一个取值在[0,1]内的数,将该数与CR值比较,如果该随机数大于CR则交换,否则不交换;
步骤3.2.3:菜单层多调度属性权值变异交叉方法:
1)变异过程
y i j = w r 1 j + F ( w r 2 j - w r 3 j )
上式中,为个体
Figure BSA00000823710600096
的多属性权值部分;
Figure BSA00000823710600097
为个体
Figure BSA00000823710600098
的多属性权值部分;
Figure BSA00000823710600099
为个体
Figure BSA000008237106000910
的多属性权值部分;
Figure BSA000008237106000911
表示变异后第j代第i个个体的调度属性权值部分;
2)交叉过程
假定
Figure BSA000008237106000912
表示
Figure BSA000008237106000913
的第k个变量,
Figure BSA000008237106000914
表示第j代第i个个体的第k个变量,k=1,2,3,4,交叉过程为:随机生成一个取值在[0,1]内的数,将该数与CR值比较,如果该随机数大于CR则 v i , k j = y i , k j , 否则 v i . k j = w i , k j ;
步骤3.2.4:变异交叉完成后,所得到的个体记为
Figure BSA000008237106000917
步骤3.3:选择
若完成变异和交叉后的个体适应度高于原有个体,则将新个体取代原有个体,作为第j+1代第i个个体
Figure BSA000008237106000918
即:
x i j + 1 = x i j , f ( x i j ) ≤ f ( v i j ) v j i , f ( x i j ) > f ( v i j )
其中
Figure BSA000008237106000920
表示的目标函数值;
Figure BSA000008237106000922
表示
Figure BSA000008237106000923
的目标函数值;
步骤3.4:终止条件
重复步骤3.1~步骤3.3,直至满足所设定的最大进化代数Gmax=5;
步骤4:菜单层基于序优化方法的快速优化
菜单层采用序优化方法进行优化,具体算法描述如下:
步骤4.1:随机产生N0=20条个体,每个个体生成时,操作层的操作优先权序列为步骤3优化后得到的操作优先权,菜单层的多属性权值产生方法与步骤2中菜单层多属性权值产生方法相同;
记为
Figure BSA00000823710600101
其中xi为一组权值矢量,由所有机器组对应的菜单层属性加权矢量{wi,1,wi,2,wi,3,wi,4}组成;
通过仿真获得这N0个个体的目标函数值,记为 Y = y 1 y 2 · · · y N 0 ;
步骤4.2:将步骤4.1生成的N0对数据作为训练数据,构造训练集{X,Y};
步骤4.3:随机产生Ntest=1000个调度解个体构造集合Θr,每个个体的产生方法与步骤2中调度解个体的产生方法相同;
步骤4.4:采用核极限学习机,获得Ntest=1000个调度解个体的目标函数值的估计值,计算公式如下:
Y ^ test = K ( x test , 1 , x 1 ) K ( x test , 1 , x 2 ) · · · K ( x test , 1 , x N 0 ) K ( x test , 2 , x 1 ) K ( x test , 2 , x 2 ) · · · K ( x test , 2 , x N 0 ) · · · · · · · · · · · · K ( x test , N test , x 1 ) K ( x test , N test , x 2 ) · · · K ( x test N test , x N 0 ) A π - 1 y 1 A π - 1 y 2 · · · A π - 1 y N 0
其中 A π - 1 = 1 v + K ( x 1 , x 1 ) K ( x 1 , x 2 ) · · · K ( x 1 , x N 0 ) K ( x 2 , x 1 ) 1 v + K ( x 2 , x 3 ) · · · K ( x 2 , x N 0 ) · · · · · · · · · · · · K ( x N 0 , X 1 ) K ( x N 0 , x 2 ) · · · 1 v + K ( x N 0 , x N 0 ) - 1
K(*,#)=exp(-γ||*-#||2)为预先给定的核函数,其中*和#代表核函数的两个输入变量,这里γ取值为γ=211;目标函数值的估计值v为预先给定的折中系数,这里取值为v=213;xtest,i表示Ntest=1000个调度解个体中的第i个个体,i=1,2,…,Ntest
步骤4.5:利用序优化公式
Figure BSA00000823710600105
计算需要仿真的个体数量,根据序优化方法,各参数取值为Z0=8.1998,k=1,ρ=1.9164,g=35,r=-2.0250,η=10,e=2.718281828459为自然对数;
步骤4.6:根据步骤4.4计算的Ntest=1000个调度解个体的目标函数值估计值,根据步骤4.5计算得到的s值,选定最优的s个调度解个体,对选定的s个解个体进行仿真,选出仿真得到的目标函数值最优的解作为最终优化结果;
此解即为采用序优化方法优化后的调度解;
步骤5:操作层基于差分进化算法的操作优先权优化
步骤5.1:差分进化算法初始解生成
随机产生N0=20条个体,每个个体生成时,菜单层的多属性权值固定为步骤4最优解中对应的权值,操作层的操作优先权序列随机产生,产生方法与步骤2中操作层的操作优先权产生方法相同;
步骤5.2:解码
具体过程与步骤3.1相同;
步骤5.3:变异
具体过程与步骤3.2.1~3.2.2同;
步骤5.4:选择
具体过程与步骤3.3相同;
步骤5.5:操作层优化终止条件
重复步骤5.1~步骤5.4,直至满足所设定的最大进化代数Gmax=5;
步骤6:迭代终止条件
重复步骤4~步骤5,直至满足迭代终止条件,即最大迭代次数Niter=2。
步骤7:将优化后获得的调度策略下发执行。
根据本发明所提出的优化调度方法,本发明做了大量的仿真试验,从仿真结果可以看出,本文提出的算法可在较短的时间内,获得较好的优化效果。
将本发明的算法(记为HCKIOA)与不分层优化算法(记为NOP)、分层迭代但菜单层不采用序优化的优化方法(记为HCIOA)、工厂实际使用的规则(记为RR)、剩余加工时间最小规则(记为SRPT)和加工时间最短规则(SPT)进行比较。
对每种算法执行N次,选取N次优化的平均性能作为对该算法的评价结果,定义获得的性能指标为:
I AVG ( k ) = 1 N Σ i = 1 N Ind i , k = { HCIOA , HCKIOA , NOP , RR , SPT , SRPT }
Std AGV ( k ) = 1 N - 1 Σ i = 1 N ( Ind i - I AVG ( k ) ) 2 , k = { HCIOA , HCKIOA , NOP , RR , SPT , SRPT }
其中Indi为第i次执行算法得到优化解的性能指标;
为进一步方便比较每种算法的性能,以NOP算法获得的优化结果为基准,定义如下性能比较指标:
平均性能改善比率:
AIR = I AGV ( k ′ ) - I AGV ( NOP ) I AGV ( NOP ) × 100 % , k ′ = { HCIOA , HCKIOA , RR , SPT , SRPT }
最差性能改善比率:
WIR = ( I AGV ( k ′ ) + 3 Std AGV ( k ′ ) ) - ( I AGV ( NOP ) + 3 Std AGV ( NOP ) ) I AGV ( NOP ) × 100 % , k ′ = { HCIOA , HCKIOA , RR , SPT , SRPT }
仿真总次数都设为300次,即种群数量为20,进化或迭代总代数都为5,序优化随机生成的解个数为1000个,对其中估值性能最好的s=20条解进行仿真。
表1、2、3分别给出了在不同问题实例下,各种指标的结果。
表1.AIR指标比较结果Problem Scale
Figure BSA00000823710600124
表2.WIR指标比较结果
Figure BSA00000823710600125
表3.算法消耗的平均时间比较结果(seconds)
Figure BSA00000823710600132
从表中可以看出,本发明提出的HCKIOA算法在性能指标和时间消耗上,都优于其他的算法,如NOP、HCIOA以及各种较好的规则等。

Claims (1)

1.基于序优化与在线核极限学习机的分层迭代优化调度方法,其特征在于,所述方法是在计算机上依次按以下步骤实现的:步骤1:初始化调度算法相关参数
采集调度所需的相关初始化信息,包括每个lot的片数、品种、工艺流程信息,每个操作的菜单、可加工机器名称、所属的加工机器组名称信息,每个机器的释放时间、所属的机器组、对每种菜单的加工时间信息,这些信息写入算法数据库中,在调度算法启动时,作为初始化信息加载到算法中;
确定差分进化优化算法相关参数:选定种群规模N=20,差分缩放因子F=0.3,最大进化代数Gmax=5,杂交率CR=0.8,变异比率λ=0.3;迭代次数设为2次;
步骤2:差分进化算法初始解生成;
优化过程中,对于菜单层主要采用菜单多属性权值优化,优化的菜单属性主要包括该菜单中所含的操作平均剩余加工时间、平均到达时间、平均后续操作数量、平均紧急程度四个属性;对于操作层主要优化操作的优先权序列,于是,对于每个机器组而言,采用的编码方式为:
Figure FSA00000823710500011
i表示该机器组编号i=1,2,…,g,g为机器组的数量;ri表示机器组i可加工菜单的最大数量;{wi,1,wi,2,wi,3,wi,4}为四个调度属性的权值,权值初始化时在[01]范围内随机取值;
Figure FSA00000823710500012
表示第j个菜单对应所有操作生成的优先权序列,其中di表示菜单j所包含的操作的总数量,
Figure FSA00000823710500013
表示机器组i的菜单j中的第k个操作,k=1,2,…,dj;操作优先权序列采用随机方式产生;
所有机器组的
Figure FSA00000823710500014
组合,构成一条初始解个体;
步骤3:采用差分进化算法获得第一次迭代前较优解
步骤3.1:解码
对步骤2中生成的初始解,通过离散事件仿真的方式获得对每个调度解个体的适应度评价;
仿真过程中,主要包含菜单选择和菜单内操作选择两种决策过程:
当机器空闲时,首先对缓冲区内所有的操作按照菜单进行分组,计算每种菜单内所有操作的平均剩余加工时间、平均到达时间、平均后续操作数量、平均紧急程度四个属性,根据编码过程中给定的调度属性加权矢量{wi,1,wi,2,wi,3,wi,4}计算菜单的优先权值,选取权值高的菜单进行加工;
菜单选定后,对菜单内每个操作按照解个体中给定的操作优先权从高到低的方式进行选择,直至选出的操作总片数最接近机器加工片数的最大值;此时,被选中的所有操作组成一个batch,将该batch中的所有操作都同时上机进行加工;
加工完成后,仿真推进至下一次菜单选择和菜单内操作选择过程,直至所有操作都加工完成,仿真结束;
步骤3.2:变异交叉过程
差分进化算法变异交叉过程描述如下:
步骤3.2.1:随机选择三个个体,
Figure FSA00000823710500021
步骤3.2.2:操作层操作优先权序列变异方法:
1)选择需变异的操作优先权子序列
假定机器组Ml对应操作的数量为Dl,需进行变异的操作数量为
Figure FSA00000823710500022
Figure FSA00000823710500023
表示向下取整;随机生成一整数r4,0≤r4≤Dl-Dλ,从
Figure FSA00000823710500024
中机器组Ml对应的操作优先权序列中,从位置r4选取长度为Dλ的操作子序列,记为
Figure FSA00000823710500025
该子序列对应的位置矢量记为这里位置矢量指的是从0开始标记的位置编号,则:
P r 1 r 4 = { r 4 , r 4 + 1 , · · · , r 4 + D λ - 1 }
将上式记作:
P r 1 r 4 = { r 4 , r 4 + 1 , · · · , r 4 + D λ - 1 } = { P r 1 , 0 r 4 , P r 1 , 1 r 4 , · · · , P r 1 , D λ - 1 r 4 }
不失一般性,记
Figure FSA00000823710500029
Figure FSA000008237105000210
第r4+k(0≤k≤Dλ-1)个操作在中对应的操作优先权序列的位置编号,则对选取的长度为Dλ的操作子序列
Figure FSA000008237105000212
中的每一个元素,在
Figure FSA000008237105000213
中查找对应位置的元素后,得到的位置矢量为:
P r 2 r 4 = { P r 2 , 0 r 4 , P r 2 , 1 r 4 , · · · , P r 2 , D λ - 1 r 4 }
P r 3 r 4 = { P r 3 , 0 r 4 , P r 3 , 1 r 4 , · · · , P r 3 , D λ - 1 r 4 }
P r 1 r 4 = { P r 1 , 0 r 4 , P r 1 , 1 r 4 , · · · , P r 1 , D λ - 1 r 4 }
这里
Figure FSA000008237105000217
中由
Figure FSA000008237105000218
所对应的操作、中位置
Figure FSA000008237105000220
所对应的操作以及
Figure FSA000008237105000221
中位置
Figure FSA000008237105000222
所对应的操作相同;
2)执行变异操作
令F为差分缩放因子(F<1),按下式计算变异后中每个元素所对应的位置矢量
Figure FSA000008237105000224
Figure FSA00000823710500031
上式中,mod表示取余;
Figure FSA00000823710500032
表示变异后的位置矢量;
3)交叉过程
Figure FSA00000823710500033
分别为位置矢量
Figure FSA00000823710500034
中的第k个位置,上述两个位置对应的操作为一个操作对,交叉操作即为对上述两个位置对应的操作按初始化给定的概率CR进行交换;即随机生成一个取值在[0,1]内的数,将该数与CR值比较,如果该随机数大于CR则交换,否则不交换;
步骤3.2.3:菜单层多调度属性权值变异交叉方法:
1)变异过程
y i j = w r 1 j + F ( w r 2 j - w r 3 j )
上式中,
Figure FSA00000823710500036
为个体
Figure FSA00000823710500037
的多属性权值部分;为个体
Figure FSA00000823710500039
的多属性权值部分;
Figure FSA000008237105000310
为个体
Figure FSA000008237105000311
的多属性权值部分;
Figure FSA000008237105000312
表示变异后第j代第i个个体的调度属性权值部分;
2)交叉过程
假定
Figure FSA000008237105000313
表示
Figure FSA000008237105000314
的第k个变量,
Figure FSA000008237105000315
表示第j代第i个个体的第k个变量,k=1,2,3,4,交叉过程为:随机生成一个取值在[0,1]内的数,将该数与CR值比较,如果该随机数大于CR则
Figure FSA000008237105000316
否则
Figure FSA000008237105000317
步骤3.2.4:变异交叉完成后,所得到的个体记为
步骤3.3:选择
若完成变异和交叉后的个体适应度高于原有个体,则将新个体取代原有个体,作为第j+1代第i个个体
Figure FSA000008237105000319
即:
x i j + 1 = x i j , f ( x i j ) ≤ f ( v i j ) v j i , f ( x i j ) > f ( v i j )
其中
Figure FSA000008237105000321
表示的目标函数值;
Figure FSA000008237105000323
表示
Figure FSA000008237105000324
的目标函数值;
步骤3.4:终止条件
重复步骤3.1~步骤3.3,直至满足所设定的最大进化代数Gmax=5;
步骤4:菜单层基于序优化方法的快速优化
菜单层采用序优化方法进行优化,具体算法描述如下:
步骤4.1:随机产生N0=20条个体,每个个体生成时,操作层的操作优先权序列为步骤3优化后得到的操作优先权,菜单层的多属性权值产生方法与步骤2中菜单层多属性权值产生方法相同;
记为
Figure FSA00000823710500041
其中xi为一组权值矢量,由所有机器组对应的菜单层属性加权矢量{wi,1,wi,2,wi,3,wi,4}组成;
通过仿真获得这N0个个体的目标函数值,记为 Y = y 1 y 2 · · · y N 0 ;
步骤4.2:将步骤4.1生成的N0对数据作为训练数据,构造训练集{X,Y};
步骤4.3:随机产生Ntest=1000个调度解个体构造集合Θr,每个个体的产生方法与步骤2中调度解个体的产生方法相同;
步骤4.4:采用核极限学习机,获得Ntest=1000个调度解个体的目标函数值的估计值,计算公式如下:
Y ^ test = K ( x test , 1 , x 1 ) K ( x test , 1 , x 2 ) · · · K ( x test , 1 , x N 0 ) K ( x test , 2 , x 1 ) K ( x test , 2 , x 2 ) · · · K ( x test , 2 , x N 0 ) · · · · · · · · · · · · K ( x test , N test , x 1 ) K ( x test , N test , x 2 ) · · · K ( x test N test , x N 0 ) A π - 1 y 1 A π - 1 y 2 · · · A π - 1 y N 0
其中 A π - 1 = 1 v + K ( x 1 , x 1 ) K ( x 1 , x 2 ) · · · K ( x 1 , x N 0 ) K ( x 2 , x 1 ) 1 v + K ( x 2 , x 3 ) · · · K ( x 2 , x N 0 ) · · · · · · · · · · · · K ( x N 0 , X 1 ) K ( x N 0 , x 2 ) · · · 1 v + K ( x N 0 , x N 0 ) - 1
K(*,#)=exp(-γ||*-#||2)为预先给定的核函数,其中*和#代表核函数的两个输入变量,这里γ取值为γ=211;目标函数值的估计值v为预先给定的折中系数,这里取值为v=213;xtest,i表示Ntest=1000个调度解个体中的第i个个体,i=1,2,…,Ntest
步骤4.5:利用序优化公式
Figure FSA00000823710500045
计算需要仿真的个体数量,根据序优化方法,各参数取值为Z0=8.1998,k=1,ρ=1.9164,g=35,r=-2.0250,η=10,e=2.718281828459为自然对数;
步骤4.6:根据步骤4.4计算的Ntest=1000个调度解个体的目标函数值估计值,根据步骤4.5计算得到的s值,选定最优的s个调度解个体,对选定的s个解个体进行仿真,选出仿真得到的目标函数值最优的解作为最终优化结果;
此解即为采用序优化方法优化后的调度解;
步骤5:操作层基于差分进化算法的操作优先权优化
步骤5.1:差分进化算法初始解生成
随机产生N0=20条个体,每个个体生成时,菜单层的多属性权值固定为步骤4最优解中对应的权值,操作层的操作优先权序列随机产生,产生方法与步骤2中操作层的操作优先权产生方法相同;
步骤5.2:解码
具体过程与步骤3.1相同;
步骤5.3:变异
具体过程与步骤3.2.1~3.2.2同;
步骤5.4:选择
具体过程与步骤3.3相同;
步骤5.5:操作层优化终止条件
重复步骤5.1~步骤5.4,直至满足所设定的最大进化代数Gmax=5;
步骤6:迭代终止条件
重复步骤4~步骤5,直至满足迭代终止条件,即最大迭代次数Niter=2。
CN201210543781.XA 2012-12-17 2012-12-17 基于序优化与在线核极限学习机的分层迭代优化调度方法 Expired - Fee Related CN103105775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210543781.XA CN103105775B (zh) 2012-12-17 2012-12-17 基于序优化与在线核极限学习机的分层迭代优化调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210543781.XA CN103105775B (zh) 2012-12-17 2012-12-17 基于序优化与在线核极限学习机的分层迭代优化调度方法

Publications (2)

Publication Number Publication Date
CN103105775A true CN103105775A (zh) 2013-05-15
CN103105775B CN103105775B (zh) 2014-04-16

Family

ID=48313720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210543781.XA Expired - Fee Related CN103105775B (zh) 2012-12-17 2012-12-17 基于序优化与在线核极限学习机的分层迭代优化调度方法

Country Status (1)

Country Link
CN (1) CN103105775B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105929216A (zh) * 2016-04-08 2016-09-07 南京航空航天大学 一种卫星电源主母线电流区间预测方法
CN107851022A (zh) * 2015-07-31 2018-03-27 Arm 有限公司 向量长度查询指令
CN108428017A (zh) * 2018-04-23 2018-08-21 华北电力大学 基于核极限学习机分位数回归的风电功率区间预测方法
CN112902994A (zh) * 2021-01-22 2021-06-04 福州大学 一种基于差分进化改进极限学习机的光纤光栅传感网络畸变光谱解调方法及系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《DRPT2008 6-9 April 2008 Nanjing China》 20080430 Haoming Liu等 《A Hybrid Algorithm of Ordinal Optimization ... Reactive Power Optimization in Distribution System》 全文 1 , *
FANGXING LI: "《Application of Ordinal Optimization for Distribution System Reconfiguration》", 《POWER SYSTEMS CONFERENCE AND EXPOSITION,2009》 *
HAOMING LIU等: "《A Hybrid Algorithm of Ordinal Optimization … Reactive Power Optimization in Distribution System》", 《DRPT2008 6-9 APRIL 2008 NANJING CHINA》 *
王凌等: "《遗传算法参数和操作的序优化》", 《中南大学学报(自然科学版)》 *
闫利军等: "《基于混合优化算法的遗传算法参数设定研究》", 《系统工程与电子技术》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851022A (zh) * 2015-07-31 2018-03-27 Arm 有限公司 向量长度查询指令
US11314514B2 (en) 2015-07-31 2022-04-26 Arm Limited Vector length querying instruction
CN107851022B (zh) * 2015-07-31 2022-05-17 Arm 有限公司 向量长度查询指令
CN105929216A (zh) * 2016-04-08 2016-09-07 南京航空航天大学 一种卫星电源主母线电流区间预测方法
CN105929216B (zh) * 2016-04-08 2019-04-19 南京航空航天大学 一种卫星电源主母线电流区间预测方法
CN108428017A (zh) * 2018-04-23 2018-08-21 华北电力大学 基于核极限学习机分位数回归的风电功率区间预测方法
CN108428017B (zh) * 2018-04-23 2021-10-19 华北电力大学 基于核极限学习机分位数回归的风电功率区间预测方法
CN112902994A (zh) * 2021-01-22 2021-06-04 福州大学 一种基于差分进化改进极限学习机的光纤光栅传感网络畸变光谱解调方法及系统

Also Published As

Publication number Publication date
CN103105775B (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN103699720B (zh) 基于区间约束违反度的高速压力机滑块机构尺寸优化方法
CN111353582A (zh) 一种基于粒子群算法的分布式深度学习参数更新方法
CN106527381B (zh) 一种面向并行批处理机动态调度的快速评估方法
CN103105775B (zh) 基于序优化与在线核极限学习机的分层迭代优化调度方法
CN108681789B (zh) 一种云制造服务优化方法
CN103279793A (zh) 一种确定环境下的无人飞行器编队任务分配方法
CN106779372A (zh) 基于改进免疫禁忌算法的农机调度方法
CN104035816A (zh) 一种基于改进nsga-ii的云计算任务调度方法
CN110276481A (zh) 一种分布式混合流水线调度优化方法
CN102750286A (zh) 一种处理缺失数据的新型决策树分类器方法
WO2019154215A1 (zh) 机器人运行路径生成方法、计算设备及存储介质
CN106230827A (zh) 一种基于成本效益优化的多目标服务组合方法
CN116402002B (zh) 一种用于芯片布局问题的多目标分层强化学习方法
Wu et al. A deadline-aware estimation of distribution algorithm for resource scheduling in fog computing systems
CN107633105A (zh) 一种基于改进混合蛙跳算法的四旋翼无人机参数辨识方法
CN107704985A (zh) 一种动态策略的差分进化柔性车间优化调度方法
CN111078380B (zh) 一种多目标任务调度方法及系统
CN106775705A (zh) 一种软件模块划分方法
CN107220463B (zh) 一种混合极性xnor/or电路面积优化方法
CN117290721A (zh) 数字孪生建模方法、装置、设备及介质
CN114066122A (zh) 一种基于多策略水波优化算法的调度方法
CN107145066A (zh) 一种多参数优化方法
CN104698838B (zh) 基于论域动态划分和学习的模糊调度规则挖掘方法
CN103473599A (zh) 一种基于遗传算法和卡尔曼滤波的rbfn组合训练方法
CN107590538A (zh) 一种基于在线序列学习机的危险源识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140416

Termination date: 20181217