基于改进蚁狮优化算法的黄酒发酵过程模型的参数辨识
2021-01-29宗原刘登峰刘以安
宗原,刘登峰,2*,刘以安
1(江南大学 物联网工程学院,江苏 无锡,214122)2(轻工过程控制教育部重点实验室(江南大学),江苏 无锡,214122)
在我国酿酒史中,黄酒是最悠久的酒种之一,与啤酒、葡萄酒并称世界三大古酒[1]。随着黄酒生产规模的扩大,仅凭熟练工人师傅的经验逐渐不能适应工厂日益增长的需求,为了使酿造出来的黄酒口感更好,利用数学模型与计算机结合对发酵过程中的参数进行辨识,进而对发酵过程进行优化控制,可以提高黄酒品质的稳定性,对黄酒行业的发展起着至关重要的作用。
近年来,针对黄酒前发酵过程的建模和参数辨识工作已经有团队展开了系统的研究,吕美[2]主要通过对黄酒发酵过程中的酸败预测角度进行建模和参数辨识来实现在线检测发酵醪液的酸败情况,但只在测试函数上验证了模型的好坏,没有在实际发酵过程中去验证其优劣;LIU等[3]则针对女儿红黄酒前发酵过程,从模拟曲和温度控制角度[4]分析两者对黄酒发酵进程的影响,并建立了黄酒前发酵的机理—数据驱动混合模型[5-6],并基于Levenberg-Marquardt方法实现了发酵过程的参数辨识[7],在此基础上,基于遗传算法,以温度为关键控制变量,以实现黄酒中酒精含量最大化为目的,实现了黄酒前发酵过程的优化[8]。但是黄酒发酵过程的参数辨识与优化是典型的多目标优化过程,并且利用基于Levenberg-Marquardt方法实现了发酵过程模型的参数辨识时存在易陷入局部最优,收敛速度慢,很难准确获取具有强泛化能力的模型参数的问题。因此,发展出一个适应于多目标优化的算法,并克服目前算法存在的问题,成为研究的关键。
在国外,蚁狮算法被用应用于多目标变压器设计优化[9]、电力系统的优化[10]、无线电传感器网络[11]、无人机航线规划问题[12]等领域。在国内,徐钦帅等[13]提出了具有边界收缩因子的蚁狮优化算法,但其仍然具有收敛速度慢的缺点;张振兴等[14]利用混沌算子优化蚁狮算法,虽然能够快速准确的得到1条满足实验要求的航迹,但缺乏和其他算法的对比,没有足够的说服性;于建芳等[15]用莱维飞行和黄金正弦优化蚁狮算法,虽然实验表明寻优效果良好,但只在测试函数上进行了测试,没有在工程问题上进行实验来验证其算法的效果。
莱维飞行是一种在搜索区域内随机游走的搜寻方式,在搜索的过程中会出现较大的跃动,运动方向也会随机产生变化,就使得算法可以尽快跳出局部寻优。LIU等[16]利用莱维飞行和差分进化融合鲸鱼优化算法解决了车间作业的调度问题;YANG等[17]将莱维飞行和启发式算法引入粒子群优化算法设计出一种新的快速局部搜索算法,有效地提高了无线传感器节点的定位精度。LI等[18]在蝙蝠算法的位置更新中引入莱维飞行使算法保持了良好的种群多样性,提高了全局搜索能力,在求解具有约束和未知搜索空间中有更高的优化性能。
柯西变异具有原点概率密度大、两端密度小、分布较长的特点,可以加快算法的收敛速度和精度。SAPRE等[19]在飞蛾扑火算法的基础上利用柯西变异对约束边界进行处理,提高了算法的收敛性,YANG等[20]将柯西变异结合鸽群算法应用到调整舰载机自动着陆系统的参数中,提高了任务的效率。
基于莱维飞行和柯西变异的优点,针对基于Levenberg-Marquardt方法辨识黄酒发酵过程模型参数时易陷入局部最优、收敛速度慢、很难准确获取具有强泛化能力的模型参数的问题,本文提出了一种具有莱维飞行和柯西变异的蚁狮优化算法(ant lion optimization with Levy flight and Cauchy mutation,LACLO)。Levy飞行[21]能够提高算法的全局寻优能力;柯西变异能够提高算法的收敛性和稳定度[22],在寻找全局最优解时具有很好的调节能力。本文选择6个测试函数对LACLO进行测试,并与遗传算法(genetic algorithm,GA)、粒子群优化算法(particle swarm optimization,PSO)和原始蚁狮优化算法(ant lion optimization,ALO)进行对比,结果表明LCALO具有更高的寻优精度和收敛速度。最后将其应用于黄酒发酵过程模型的参数辨识中,仿真结果表明该改进算法具备良好的优化能力。
1 蚁狮优化算法
ALO是由澳大利亚学者MIRJALILI[23]通过研究蚁狮捕食蚂蚁的行为所提出的一种智能优化算法。该算法调节参数少,精确度高,鲁棒性好,被国内外学者采用并对其进行改进。
蚁狮是一种肉食性昆虫,以昆虫为食,幼虫生活于干燥的地表下,在沙质土中造成漏斗状陷阱以用来诱捕猎物(图1),当猎物掉入陷阱后,蚁狮为防止猎物逃走会向外刨出沙土,使猎物滑入陷阱底部从而进食。MIRJALILI根据其习性提出了蚁狮优化算法,步骤如下。
图1 蚁狮猎食示意图
1.1 蚂蚁随机游走
蚂蚁在寻找食物时采用随机游走,按照公式(1)产生随机游走的蚂蚁种群:
X(t)=[0, cumsum(2r(t1)-1), cumsum(2r(t2)-1),…, cumsum(2r(tn)-1)]
(1)
式中:cumsum是蚂蚁游走位置的累加和,n是最大的迭代值,t为随机游走的步长,r(t)定义了一个如公式(2)所示的随机函数:
(2)
式中:rand是在[0,1]的均匀分布。
在每次优化过程中,都会更新蚂蚁的位置,但公式(1)不能直接用于蚂蚁位置的更新,需要保证其在求解空间内进行搜索,对其游走位置进行转换,如公式(3)所示:
(3)
1.2 蚂蚁游走的范围
蚂蚁在游走过程中,会受到蚁狮陷阱大小的影响,因此对该行为方式进行数学建模,提出公式(4)和公式(5):
(4)
(5)
1.3 蚂蚁掉入陷阱后
蚂蚁调入陷阱后,蚁狮为了防止猎物逃跑,会立即向外抛出沙土,防止猎物逃跑,这种行为会使陷阱范围的大小自适应的调整,对该行为进行建模得到公式(6)和公式(7):
(6)
(7)
式中:I=10w·t/T,t为当前迭代次数,T为最大迭代次数,w为基于当前迭代次数定义的一个常数(t>0.1T时w=2,t>0.5T时w=3,t>0.75T时w=4,t>0.9T时w=5,t>0.95T时w=6)。
1.4 更新蚁狮位置
当蚁狮捕猎到猎物后,会将其拉到沙土下并吞噬其身体,将自己的位置转移到捕食到蚂蚁的地点;为此提出公式(8):
(8)
1.5 精英化
在每次迭代过程中,都会将适应度最好的蚁狮的位置保存下来作为精英蚁狮,所以会影响到蚂蚁的游走,如公式(9)所示:
(9)
2 改进算法
针对ALO的缺点,本文引入LACLO。将服从莱维分布的随机数用于围绕更新蚁狮游走的蚂蚁种群中,增加蚂蚁种群的多样性,提高全局的搜索能力。同时引入柯西变异用于防止陷入局部最优和提高算法的全局搜索能力和收敛速度。
2.1 Levy飞行
Levy飞行是由法国数学家保罗·列维于1937年提出的一种搜索策略,而后有学者发现多生物群体的活动方式都可以按照该行为方式进行游走[24];自然界中很多动物在不确定的环境中搜索食物,采用该策略保证在短距离内可以仔细寻找和偶尔长距离的跳跃又保证可以进入到另一个搜索空间内寻找。
利用Levy飞行具有突变性的特点在探索大范围空间问题上具有很大的优势,可以对求解区域进行充分遍历,提高算法的全局搜索能力[25],实现对求解范围内的充分寻找。
Levy飞行的概率密度函数服从Levy分布,函数如公式(10)所示:
(10)
式中:0<α≤2,控制分布图形的锐度,γ>0控制分布图形的跨度。当α=2时,等同于高斯分布,当α=1时,Levy分布为柯西分布。通过模拟的办法随机地产生Levy分布的步长,位置更新如公式(11)所示:
(11)
式中:α是步长,为矢量运算, Levy(λ)为随机搜索路径,表达如公式(12)~公式(14)所示:
(12)
式中:当β=1.5时,μ,v服从标准正态分布。
(13)
(14)
式中:τ(1+β)是标准伽马函数。
2.2 柯西变异
针对蚁狮容易陷入局部最优的缺点,利用柯西变异可以增加种群的多样性[26],提高算法的收敛精度和速度。柯西分布的概率密度函数如公式(15)所示:
(15)
式中:t为位置参数,s为比例参数,当t=0,s=1时,我们称其为标准柯西分布,即如公式(16)所示:
(16)
由柯西分布可以得出,柯西分布函数在原点处的峰值较小,但在两端的分布较长,蚁狮在变异后可以以较短的时间来搜索相邻区间,跳出局部最优解,可以保证算法有较好的全局寻优能力,针对以上缺点可以利用柯西分布跳出局部最优,如公式(17)所示:
x′=x+φCauchy(0,1)
(17)
式中:x为初始位置,x′是经过柯西变异后的位置,Cauchy(0,1)是标准柯西分布,参数用来控制柯西分布变异的强度,本文中我们令φ=0.8。
LCALO的流程图如图2所示。
图2 改进蚁狮算法流程图
3 测试对比分析与应用
算法所在实验平台为Windows 7、64bit系统、4G内存,采用Matlab2019a进行仿真实验。本文采用ALO,GA,PSO和LCALO进行对比,所有算法设置统一的参数,种群规模为30,迭代次数100次,以保证实验的公平性和合理性。
3.1 测试函数
本节通过6个标准函数测试LCALO的寻优精度和收敛速度,测试函数设置如表1所示。
表1 标准测试函数
3.2 实验结果
本节分别对以上测试函数重复寻优20次,从最优值、平均值和方差来评估改进后的蚁狮优化算法的全局寻优能力和稳定性,实验结果如表2所示。
表2 实验结果
根据实验结果可知,对于测试函数,本文提出LACLO的平均值、方差均优于ALO和GA,部分函数仅次于PSO。为了更加简明直观的对比LCALO算法和其他算法的寻优能力,图3给出了6个测试函数在实验20次中其中1次的收敛曲线。
由图3可知,LCALO可以更快的找到最优值,说明LCALO的收敛速度快,具有较强的开发性,有效提高了算法的全局搜索能力和局部开发能力,在优化函数方面表现良好。
3.3 基于黄酒发酵模型参数的辨识
目前米类被广泛用于酒类的生产,但国内很少有人设计黄酒发酵过程的建模,国际中也仅有一些利用玉米淀粉来生产酒精的建模研究及应用可以作为参考。酒精是黄酒前发酵过程中发酵酒醪的主要成分,是衡量黄酒品质的重要指标,同时也是黄酒酒体口感形成的主要成分[27],为了得到口感更好的黄酒,需要建立精确的发酵模型,基于对现场采集的数据,对模型参数进行辨识。
a-Schaffer N.2;b-Sphere;c-Ackley;d-Schwefel;e-Rosenbrock;f-Griewank
在黄酒酿造过程中同时糖化和发酵工程中会产生如下反应[5]。
淀粉与麦曲以k1的速率结合生成中间产物,在这个过程中淀粉的消耗速率如公式(17)所示:
(17)
式中:S为淀粉浓度,E为麦曲浓度。淀粉链与α-淀粉酶结合的中间产物(C5)通过酶的作用以k2、k3、k4的速率生成产物麦芽三糖、麦芽二糖和葡萄糖,同时葡萄糖、麦芽二糖、麦芽三糖分别以k5、k6、k8的速率为酵母生长提供碳源,模型如公式(18)~公式(23)所示:
(18)
(19)
(20)
(21)
(22)
(23)
式中:常数1.037,1.056,1.111,0.538和0.511分别为依据底物和其对应产物分子质量计算得出的得率系数;剩余常数由Balling方程求得;ks1~ks6是每种底物的饱和常数。
酶浓度和中间产物浓度的变化率如公式(24)和公式(25)所示:
(24)
(25)
将LCALO应用于该模型,采用室温下采集的数据对模型中的k1~k9进行寻优,适应度函数采用均方误差来评价模型的好坏,表3为模型参数的取值范围。
表3 模型参数取值范围
为了比较算法的优劣,分别用GA、PSO、ALO和LCALO对模型进行10次仿真,仿真结果如表4所示。在10次仿真过程中PSO和ALO的求解精度相差不大,ALO略高于PSO,LCALO的方差为3.05e+04,比ALO缩小了近6倍,稳定性更好。
表4 模型仿真误差结果
4种算法的仿真结果如图4所示。LCALO模拟值的误差相对于GA,PSO和ALO误差更小,说明该改进算法具有更好的优化能力。
4 结论
本文针对目前已经报道的算法求解黄酒发酵模型时预测精度低和利用ALO辨识黄酒发酵过程模型时具有收敛速度慢、易陷入局部最优的缺点,成功建立了一种融合莱维飞行和柯西变异的蚁狮优化算法。更新围绕蚁狮游走的蚂蚁种群,增加蚂蚁种群的多样性以增加算法的全局寻优能力;采用柯西变异可以使蚁狮个体受局部最优值的约束力下降,快速跳出局部最优,在很大程度上改善算法的寻优能力。最后将LCALO应用于黄酒发酵模型中进行模拟,仿真结果说明该算法具有较好的优化能力。
a-GA;b-PSO;c-ALO;d-LCALO