发明内容
针对上述存在的技术问题,本发明的目的是提供一种罩式退火炉钢卷堆垛组合优化方法,以提高罩式退火炉生产车间的生产效率及节能降耗的水平。
为达到上述目的,本发明采用如下的技术方案:
该方法以最小化堆垛数和最大化炉台生产效率为优化目标,目标函数式为:
其中,f
1=minS;
S为堆垛总数;P
i为每炉钢的生产效率,即堆垛钢卷的总重与退火时间的比值;k
1和k
2为权系数,使用权重系数法将两个子目标函数加权相乘后转化为单目标优化问题,具体包括以下步骤:
(1)初始化进化代数计数器。
(2)运用FFD算法生成初始种群,其中每个个体为一个堆垛方案。
(3)使用目标函数计算每个个体的目标函数值。
(4)按给定的交叉率对种群进行个体交叉操作。
(5)按给定的变异率进行个体变异操作。
(6)使用FFD算法修正种群的个体,并使用目标函数计算每个个体的目标值。
(7)对每一代中目标值较小的2~3个个体进行模拟退火操作。
(8)再次使用目标函数计算每个个体的目标值。
(9)对种群中的个体进行选择及复制操作。
(10)判断是否进化完成,如进化没有完成,则代数计数器加一后转到第(4)步,继续进化过程;否则,输出最优个体,完成优化。
上述过程中要满足各种约束条件的限制,约束条件包括:
(1)垛内钢卷的总高度(包括对流板的高度)不能超过堆垛允许的最大高度。
(2)垛内钢卷的外径不能超过允许的最大外径。
(3)尽可能把规格相同的钢卷装在一个炉台内退火,钢卷的规格包括高度、厚度、外径、重量等指标。
(4)在工艺允许的范围内,可以混装一些特定的钢种。
(5)要求按照合同组织生产,保证合同跟踪。
(6)同一堆垛内,钢卷之间应按照外径大的在下面、小的在上面的次序进行排列。
(7)要满足堆垛形状参数的限制。
(8)堆垛钢卷数在3~5卷之间。
退火时间计算模型采用下列多项式计算:
式中:HT为退火加热时间,h;Gm为堆垛钢卷总重,t;Kg为炉子加热能力因子,1/h;Dg为加热补偿量,t/h;Fb为带钢宽度因子;Bb为堆垛中带钢最大宽度,mm;Nb为公称带钢宽度,mm;Fd为带钢厚度因子。
所述步骤(2)使用FFD算法形成GA算法的初始种群,该方法将已排列的钢卷序列形成一个循环链表,每次随机选择一个起始位置,从前向后循环选择钢卷进行堆垛,可创建出多个堆垛方案,这些方案即可组成GA算法的初始种群,具体操作如下:
A.将钢卷的序号按重量与高度比值的大小降序排列。
B.依上述秩序装填各个堆垛中的钢卷。
C.若某个堆垛中所装部分钢卷不满足约束条件,则试图将不满足要求的钢卷装到下一个堆垛中。
D.若按约束条件,所有堆垛都不能再装入新的钢卷,则建立一个新的堆垛装入超出部分的钢卷,且堆垛的总个数加一。
所述步骤(4)中的个体交叉操作采用单点交叉的方式,其中适应度最好的几个个体不参与交叉运算,具体操作如下:
A.将种群数组中的个体按相邻的奇数下标和偶数下标的个体两两组对。
B.找到满足交叉率的某个个体对,每个个体都是一个堆垛方案。
C.随机找到交叉点,并在交叉点处交换两个个体中的钢卷。
D.重复B~C的步骤,直至所有满足交叉率的个体对完成交叉操作。
所述步骤(5)中的个体变异操作采用随机交换个体中的钢卷所在堆垛的方式,其中适应度最好的几个个体不参与变异运算,具体操作如下:
A.在钢卷数组中随机找到两个不同的钢卷。
B.交换这两个钢卷所在的堆垛。
C.重复A~B的步骤,直至完成满足变异率的所有变异操作。
所述步骤(6)的使用FFD算法修正种群的具体步骤如下:
A.找到个体中不满足约束条件的所有堆垛。
B.清空这些堆垛中所有钢卷,使其处于待堆垛状态。
C.将清理出来的钢卷依秩序尝试向各堆垛中装填。
D.若某个堆垛中所装部分钢卷不满足约束条件,则试图将不满足要求的钢卷装到下一个堆垛中。
E.若按约束条件,所有堆垛都不能再装入新的钢卷,则建立一个新的堆垛装入超出部分的钢卷,且堆垛的总个数加一。
F.重复A~E的步骤,直至种群中的所有个体均修正完毕。
所述步骤(7)的模拟退火操作的求解方式按如下步骤进行:
A.运用交换钢卷所在堆垛编号的方法产生一个初始最优点,并使用FFD法进行修正,然后计算目标函数值。
B.设置初始温度。
C.初始化循环计数器。
D.采用交换钢卷所在堆垛编号的方法对当前最优点作一随机变动,产生一新的最优点,计算新的目标函数值,并计算目标函数值的增量Δ。
E.如果Δ>0,则接受该新产生的最优点为当前最优点;如果Δ≤0,则以概率P=exp(-Δ/θ)接受该新产生的最优点为当前最优点。
F.判断当前温度下的迭代次数是否达到指定的终止步数,如没有达到则循环计数器加一后,转向第D步;
G.如果未到达冷却状态,则改变退火温度,转向第C步;如果已到达冷却状态,则输出当前最优点,计算结束。
所述步骤(9)中的选择操作采用锦标赛选择策略,其方法可描述为:
A.随机选择锦标赛的规模n,它与种群规模N相比是一个较小的数。
B.从种群中随机选取n个个体,根据目标函数确定出最好的个体,并将该个体加入新的种群中。
C.通过N轮这样的锦标赛后,这N个个体就形成了一个新的种群。
D.采取“精英保留”策略,即最好的几个个体不经过锦标赛而直接进入新种群。
本发明具有以下优点和积极效果:
1)本发明涉及的混合遗传算法考虑了遗传算法和模拟退火算法的优缺点,将GA、SA及FFD等算法进行有效结合,相互取长补短,显著提高了运算结果的精确性;
2)本发明可以实现钢卷的自动堆垛、大量节约钢卷组炉计划的编制时间、提高了编制计划的准确性,而且可以直接提高罩式退火炉生产车间的生产效率及节能降耗的水平。
具体实施方式
本发明针对罩式炉退火工艺的特点,在分析了不同钢卷的外形尺寸(外径、宽度、厚度等)和钢种等因素对退火时间的影响以及各种约束条件限制的基础上,以最小化堆垛数和最大化炉台生产效率为优化目标,建立了罩式炉堆垛优化数学模型,并提出了一个结合最优匹配递减法(FFD)、遗传算法(GA)和模拟退火算法(SA)等方法的混合遗传算法(FGSA)对模型进行求解。
罩式退火炉钢卷堆垛组合优化问题可以描述为如下模型:
其中,f
1=minS;
S为堆垛总数;P
i为每炉钢的生产效率,即堆垛钢卷的总重与退火时间的比值;l
1和k
2为权系数,使用权重系数法将两个子目标函数加权相乘后转化为单目标优化问题。
该问题的约束条件可以描述如下:
(1)垛内钢卷的总高度(包括对流板的高度)不能超过堆垛允许的最大高度。
(2)垛内钢卷的外径不能超过允许的最大外径。
(3)尽可能把规格相同的钢卷装在一个炉台内退火,钢卷的规格包括高度、厚度、外径、重量等指标。
(4)在工艺允许的范围内,可以混装一些特定的钢种。
(5)要求按照合同组织生产,保证合同跟踪。
(6)同一堆垛内,钢卷之间应按照外径大的在下面、小的在上面的次序进行排列。
(7)要满足堆垛形状参数的限制。
(8)堆垛钢卷数在3~5卷之间。
模型中的退火时间计算采用以下多项式公式:
式中:HT为退火加热时间,h;Gm为堆垛钢卷总重,t;Kg为炉子加热能力因子,1/h;Dg为加热补偿量,t/h;Fb为带钢宽度因子;Bb为堆垛中带钢最大宽度,mm;Nb为公称带钢宽度(与堆垛中钢卷数有关的常数),mm;Fd为带钢厚度因子(与堆垛中钢卷的最小厚度有关的常数)。
本发明涉及的主求解算法(FGSA算法)包括以下步骤:
(1)初始化进化代数计数器。
(2)运用FFD算法生成初始种群,其中每个个体为一个堆垛方案。
(3)使用目标函数计算每个个体的目标函数值。
(4)按给定的交叉率对种群进行个体交叉操作。
(5)按给定的变异率进行个体变异操作。
(6)使用FFD算法修正种群的个体,并使用目标函数计算每个个体的目标值。
(7)对每一代中目标值较小的2~3个个体进行模拟退火操作。
(8)再次使用目标函数计算每个个体的目标值。
(9)对种群中的个体进行选择及复制操作。
(10)判断是否进化完成,如进化没有完成,则代数计数器加一后转到第(4)步,继续进化过程;否则,输出最优个体,完成优化。
其中,SA算法在FGSA算法中是一个独立的执行体,其算法包括以下步骤:
(1)运用交换钢卷所在堆垛编号的方法产生一个初始最优点,并使用FFD法进行修正,然后计算目标函数值。
(2)设置初始温度。
(3)初始化循环计数器。
(4)采用交换钢卷所在堆垛编号的方法对当前最优点作一随机变动,产生一新的最优点,计算新的目标函数值,并计算目标函数值的增量Δ;
(5)如果Δ>0,则接受该新产生的最优点为当前最优点;如果Δ≤0,则以概率P=exp(-Δ/θ)接受该新产生的最优点为当前最优点。
(6)判断当前温度下的迭代次数是否达到指定的终止步数,如没有达到则循环计数器加一后,转向第(4)步;
(7)如果未到达冷却状态,则改变退火温度,转向第(3)步;如果已到达冷却状态,则输出当前最优点,计算结束。
(实施例)
表1为实例使用的钢卷数据,CD及DQ钢种的钢卷各25卷。其中,CQ钢的热点温度为710℃、冷点温度为660℃,DQ钢的热点温度为710℃、冷点温度为670℃,两种钢不能混装。车间钢卷装炉允许的最大高度为5600mm,对流板高度为50mm。
本发明中的遗传算法部分的设计如下,如图1所示:
(1)染色体编码方式。采用的是符号编码方法,即个体染色体编码串中的基因值取自一个既有数值含义又有代码含义的数字符号集。实际应用中,将钢卷用非零的自然数从1开始编号,编码串的数量为钢卷的个数,每个钢卷所在堆垛编号(也为非零的自然数)作为编码串的基因值。如
X:[1,1,1,2,5,1,...,12,12,12]
表示编号为1,2,3,6的钢卷在编号为1的堆垛中,编号为4,5的钢卷分别在编号为2,5的堆垛中,而最后三个钢卷在编号为12的堆垛中。
(2)选择方式。采用锦标赛选择策略,其方法可描述为:
●随机选择锦标赛的规模n,它与种群规模N相比是一个较小的数;
●从种群中随机选取n个个体,根据目标函数确定出最好的个体,并将该个体加入新的种群中;
●通过N轮这样的锦标赛后,这N个个体就形成了一个新的种群;
●采取“精英保留”策略,即最好的几个个体不经过锦标赛而直接进入新种群。
(3)交叉方式。为了避免破坏一些好的模式,采用单点交叉方式,交叉率Pc=0.95,适应度最好的几个个体不参与交叉运算,具体步骤如下:
●将种群数组中的个体按相邻的奇数下标和偶数下标的个体两两组对;
●找到满足交叉率的某个个体对,每个个体都是一个堆垛方案;
●随机找到交叉点,并在交叉点处交换两个个体中的钢卷;
●重复2~3的步骤,直至所有满足交叉率的个体对完成交叉操作。
(4)变异方式。采用随机交换两钢卷所在堆垛编号的方式进行变异,交换次数不宜过多。算法中交换次数为钢卷总数的5%左右,适应度最好的几个个体不参与变异运算,具体步骤如下:
●在钢卷数组中随机找到两个不同的钢卷;
●交换这两个钢卷所在的堆垛;
●重复(1)~(2)的步骤,直至完成满足变异率的所有变异操作。
(5)约束条件处理方法。交叉及变异操作会导致一些不满足约束条件的染色体编码串(即个体)。常规处理方法是在计算个体的适应度时,处以一个罚函数,从而降低此类个体的适应度,使其遗传到下一代群体的机会减少。但使用罚函数法很可能会导致个体的适应度差异不大,降低了个体之间的竞争力。本发明中采用FFD法修正无效染色体为合理染色体,具体步骤如下:
●找到个体中不满足约束条件的所有堆垛;
●清空这些堆垛中所有钢卷,使其处于待堆垛状态;
●将清理出来的钢卷依秩序尝试向各堆垛中装填;
●若某个堆垛中所装部分钢卷不满足约束条件,则试图将不满足要求的钢卷装到下一个堆垛中;
●若按约束条件,所有堆垛中不能再装入新的钢卷,则建立一个新的堆垛装入超出部分的钢卷,且堆垛的总个数加一。
●重复上述的步骤,直至种群中的所有个体均修正完毕。
表1组合优化算法测试用钢卷数据
模拟退火算法是基于金属退火的机理而建立起的一种全局优化方法,它能够以随机搜索技术从概率的意义上找出目标函数的全局最小(或最大)点。本发明中的SA算法虽然是主算法的一个组成部分,但也有相对独立的执行流程,该算法的构成要素及运算参数的选择如下(具体运算步骤可参考附图2):
(1)搜索空间Ω。也称为状态空间,它由可行解的集合所组成,其中一个状态就代表一个可行解。SA算法中也使用交换两钢卷所在堆垛的编号的方式产生相邻状态的新解,同时使用FFD近似算法对新解进行修正。交换次数为钢卷总数的5%左右为宜。
(2)能量函数E(x)。也就是需要进行优化计算的目标函数,与遗传算法的目标函数相同,其最大点为所求的最优解。
(3)状态转移规则P。是指从一个状态xold(一个可行解)向另一个状态xnew(另一个可行解)的转移概率,与退火温度T有关,可由下面的Metropolis规则来确定:
上式的含义是:当新状态使系统的能量函数值增加时,系统一定接受这个新的状态;而当新状态使系统的能量函数值减少时,系统也以某概率接受这个新的状态。
(4)冷却进度表T(t)。是指从初始温度T0向终止温度Tf变化时的降温管理表。实际应用中,为计算简便,用式T(t)=k·T(t-1)进行温度管理,其中k为温度衰减系数。冷却进度表参数的选取对计算的结果影响很大,按如下经验取值:
●初始温度T0的估计值为T0=ξδ,δ=Emax-Emin。式中ξ为常数,视具体问题而定。本算法中取T0=5。
●温度衰减系数k=0.95。
●终止温度Tf=0.0001。
某一温度下的迭代次数(即马尔可夫链长度)Lk=10。
表2是使用FGSA算法对堆垛优化模型求解运算产生的最好解的结果表。从结果可知,经过本次优化50个卷共分成了12个堆垛,堆垛数最小。
表2堆垛组合优化最好解的结果表
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案,都落入本发明的保护范围。