国外新型智能优化算法
——北极熊算法

2020-04-07 10:16毅2邓丽丽
计算机测量与控制 2020年3期
关键词:北极熊水泵蒸汽

张 亮,韩 毅2,邓丽丽

(1.浙江工业大学 管理学院,杭州 310023; 2.浙江树人大学 基础学院,浙江 绍兴 312028)

0 引言

北极熊是生活在北极冰封区域的哺乳动物,在该区域内它们体型最大,靠捕猎其他动物为生。这种优势源自它们能够适应周围环境并且具有特殊的捕猎行为。它们对于外部环境的适应性起到了关键作用,厚厚的一层脂肪防止它们的自身器官被冻坏,并且它们白色的皮毛在冰和雪的背景下掩盖了它们的行迹。其他因素也使得它们能够进行捕猎并生存下来,比如北极熊可以在海面上很远的距离以外,以迅速的移动方式和极快的捕猎速度抓住猎物。对于北极熊来说,它们的繁衍环境非常严酷,但是它们成功地存活下来成为北极的统治者。

在严寒的气候条件下,北极熊这种食肉哺乳动物也整年都很活跃。这种环境虽然不利于其他动物,但北极熊却早已适应,无论在冰面或是在水中它们都能毫不费力地在大范围内进行搜索和捕捉猎物,如图1所示。

图1 北极熊游走和觅食行为整体活动示意图[1]

北极熊可以跳上浮冰并随冰漂浮到更好的捕猎地点,它们的这种位置变换模式如图2所示。在到达它们的目的地之后,北极熊通过在猎物周围绕圈的方式逐渐靠近,从而寻找最佳位置来完成攻击。这种捕猎行为在算法中采用三叶草叶片形态的函数来模拟,图3展示了北极熊在攻击之前的移动路径。

图2 北极熊跳上浮冰向猎物靠近行为示意图[1]

基于北极熊寻找食物和狩猎方式的新颖运算模型,可以作为各种理论和实践问题的有效优化方法。优化问题与自然界非常相似,自然界中动物寻找最佳的繁衍环境的过程类似于优化问题中的寻找数学模型最优解的过程。

文献[1]将北极熊在严寒的北极冰地上和海洋中寻找食物时的行为建模为优化策略,北极熊的特性为北极熊算法运算机制模型的研究提供了灵感。

在模型中,北极的极端条件可以想象为解空间,空间中的最优解的位置无从得知,如同北极熊不知道在哪里可以找到海豹或其他食物一样。在算法寻优过程中,算法会陷入局部最优状态,这会阻止算法进行全局搜索。由此,优化目标和函数的本质就难以获知,因此需要一些特定的策略来避免错误。北极熊寻找食物,但北极的环境会使它们被困甚至死亡,因此它们进化出了非常有效的机制帮助他们成功生存下来。北极熊的捕猎策略有两个阶段,在北极熊算法中,执行机制将北极熊在北极冰地和海洋中行进的过程作为全局搜索策略,将北极熊的具体捕猎行为作为局部搜索策略。此外,北极熊算法采用了控制种群出生和死亡的机制来模拟自然条件下北极熊的繁衍生存行为。

1 北极熊算法(PBO)

1.1 条件假设

在北极熊算法中,假设种群由k个北极熊组成,每个北极熊代表解空间中的一个具有n个维度的点x=(x0,x1, …,xn-1),在第t次迭代时第i个点的第j维度的坐标用(xji)t表示。

1.2 浮冰漂移(全局搜索)策略

如果一只饥饿的北极熊在它最近邻范围内找不到任何东西吃,那么它就站上一个大而稳定的浮冰,浮冰在很长一段时间内不会因为北极熊体重太大而破裂。北极熊利用浮冰朝远处可能有海豹的聚集地漂移。漂移可能需要几天时间,在这段时间内北极熊也在周围的冰面和水域中寻找食物。北极熊的浮冰漂移现象在算法中用公式(1)来表示。

(1)

α是区间(0,1]之间的随机数,γ是[0,w]区间内的随机数,sign(w)函数是分段函数,根据w的取值({负,0,正})sign(w)函数的结果为{-1,0,1},w是两个北极熊之间的欧式距离(公式(2))。

(2)

在北极熊算法的迭代过程中的每个个体都根据公式(1)进行全局搜索探索,但是只有在某只熊探索到比当前位置更好的位置时,才更新该只熊的位置。因为只有在熊距离海豹聚集地更近的时候,它才有很大希望捕成功(如图2所示)。

1.3 海豹捕捉(局部搜索)策略

r=4acos(φ0)sin(φ0)

(3)

r作用于每只熊自身移动过程中每一维度上的坐标的更新过程中,如公式(4)所示。

(4)

每个φ的取值为[0,2π),公式中的“+”号表示北极熊向前探寻,如果位置不理想,北极熊就向“-”号方向探寻,两个方向都不理想,北极熊就原地不动。如果北极熊是在二维平面上进行捕猎,则它的行进路径与三叶草某片叶子的形状极其相似(图3)。

1.4 饥饿引发熊群繁衍与灭绝策略(动态种群规模调整策略)

在算法执行初期,熊群规模只是最大容量的75%,剩余的25%为后期的熊群增长、最好个体繁殖后代和最差解的消亡作准备。在算法的每一次迭代中,个体会因饥饿而死亡或者在成功捕猎后繁殖后代。这个机制代表了北极的严酷条件,算法引入k作为[0,1]区间上的随机数,采用公式(5)确定熊的死亡或生存决策。

(5)

死亡策略是针对最虚弱的一只熊,熊死亡的条件是:种群数量要保证多于种群容量的50%。繁衍是针对第t次迭代中,除了最好解之外前10%个最好个体中的1个解,繁衍行为按公式(6)进行。

(6)

1.5 算法步骤

1)定义参数:适应值f、解维度、迭代次数T、种群最大容量n和视野最大距离等;

2)随机生成初始种群75%n并记录最好解;

3)对种群中的每个北极熊,随机设置每个维度的斜角度值φ;

4)利用公式(3)计算搜索半径r;

5)在“+”号作用下采用公式(4)计算北极熊新位置,如果新位置更好,更新当前位置;

6)在“-”号作用下采用公式(4)计算北极熊新位置,如果新位置更好,更新当前位置;

7)根据公式(1)和w,决策北极熊的位置;

8)对种群进行排序,选出排序第一位的北极熊判断是否更新全局最好解;

9)随机从当前种群10%个最好解中,选择1个与全局最好解不同的解;

10)随机产生k值,如果k<0.25且熊数量大于50%n,则移除种群中排序在最后一名的解;

11)如果熊的数量小于n-1,则根据公式(6)繁衍1只新熊加入种群;

12)判断是否达到最大迭代次数,是则转13),否则跳转到3);

13)输出全局最好解和适应值,退出算法。

2 PBO算法应用领域

PBO算法是2017年才提出的最新智能优化算法,纵观所有与PBO相关的国内外文献,目前只有2篇国外文献描述了PBO算法在工程优化领域的应用情况。

2.1 工程问题[1]

文献[1]将北极熊算法应用于高压容器设计问题、齿轮组设计问题、焊接梁设计问题和压缩弹簧设计问题中。

2.1.1 高压容器设计问题

高压容器设计问题考虑设计能够承受1 000帕气压和最小容量为750立升的罐体,罐体由一个圆柱体和两端的两个半球型钢组成(图4)。问题考虑4个因素,圆柱体皮层厚度x1,半球缸体的皮层厚度x2,圆柱体不含皮层的半径大小x3以及圆柱体长度x4。x1,x2∈[0,99],x3,x4∈[10,200]。问题是如何最小化生产成本,也就是最小化罐子的重量,目标函数用公式(7)表示,约束条件如公式(8)所示。计算结果显示,北极熊算法的效果优于飞蛾扑火算法和粒子群算法。

图4 高压罐体示意图[1]

(7)

(8)

2.1.2 齿轮组设计问题

齿轮组设计问题考虑4个次轮间的轮齿大小问题,从而使得次轮的齿数比最小,目标函数用公式(9)表示,x1,x2,x3,x4∈[12,60]代表了图5所示的齿轮组的轮齿大小。计算结果表明,北极熊算法的计算效果优于飞蛾扑火算法。

图5 齿轮组示意图[1]

(9)

2.1.3 焊接梁设计问题

焊接梁设计问题考虑梁和焊接点两方面因素,目的是在保证梁不会弯曲的要求下,最小化焊接成本和梁的材料成本。问题的目标函数如公式(10)所示,问题的约束条件如公式(11)和公式(12)所示。x1,x4∈[0.1,2],x2,x3∈[0.1,10],P=6 000,L=14,τmax=13 600,E=30*106,γmax=0.25,G=12*106,σmax=30 000(图6)。

图6 焊接梁模型示意图[1]

(10)

根据计算结果来看,北极熊算法稍逊于粒子群和飞蛾扑火算法,但仍优于蝙蝠算法、萤火虫算法、蜻蜓算法、布谷鸟算法、花朵授粉算法和水波优化算法等[2-12]。

(11)

(12)

2.1.4 压缩弹簧设计问题

压缩弹簧设计问题考虑弹簧对它上面放置的负载进行张力压缩反应时,弹簧的体积尽量达到最小(图7)。公式(13)给出了问题的目标函数,公式(14)给出了问题的约束条件。x1∈[2,15],x2∈[0.25,1.3],x3∈[0h05,2]。

图7 压缩弹簧模型示意图[1]

(13)

(14)

计算结果显示,北极熊算法和粒子群算法的效果稍稍优于其他优化算法。

2.2 热量生产优化问题[13]

工业系统的能源效率对于优化利用资源和降低用户能源成本起到关键的作用。文献[13]考虑区域供热系统的最大供热效率问题,针对各种天气条件下的区域热源厂运作情况,提出了厂区运作的目标函数,建立了相关的数学模型,设计了北极熊算法校正热源厂系统的工作参数。模型描述了一个典型的区域热源厂,厂内的两个换热器由受控泵供水。热源厂及其在不同条件下的效率受到多种因素的影响。通过生产设备内部结构调整、有效的子系统运用和运行参数的完全控制,热源厂的效率就能够得到优化(图8~10)。

图8 区域热源厂内部运行系统示意图[13]

图9 区域热源厂供热网络示意图[13]

图10 区域热源厂业务处理流程示意图[13]

热源厂通常将热和电一起进行生产,这种模式被称为热电联产。从热力学的角度来看,这种模式是非常有效的。在同一生产过程中产生电能和热,比分别单独生产两类产品所消耗的燃料要少得多。大多数热电厂使用蒸汽冷凝法加热冷水,冷水变成热水后就供给小区每户居民。在燃煤或燃气锅炉中产生的蒸汽带动汽轮机,进而带动发电机。在不同的压力水平下,蒸汽的一部分从涡轮中抽取出来。抽取的蒸汽或用于热再生系统(提高循环效率),或用于专用水加热器(产生热量)。热是一种比电的市场价格低得多的产品,抽取蒸汽去生产热能意味着降低了电能的出产量,由此所带来的负经济效益称为蒸汽成本。此外,热电厂的部分电力消耗在了驱动压力泵的过程中。在图10中可以看到,一个泵系统由3个独立的并行水泵组成,加压水通过2个热交换器进行加热处理。

水加热器在生产热能的过程中,在两种压力水平下消耗蒸汽。回流的冷水流入系统(0),然后流过三个相同的泵1a、1b和1c(取决于系统设置)和泵控制阀门2a、2b和2c。三个泵里出来的水进入第一个热交换器3。部分零冷水(10%到100%不等)使用蒸汽2.0(蒸汽温度达到120度)进行加热(3a),其余的冷水流过第一个旁路(3b)。然后,加热后的水(4a)和旁路中的水(4b)混合后(5),再次分流:一部分水(从10%到100%不等)流经第二热交换器(5a),并通过蒸汽6.2加热(蒸汽温度高达160度)。剩余部分的水通过第二旁通控制阀(5b)。二次加热后的水(6a)和旁路水(6b)混合后输送送至供热网络。在整个水加热过程中,北极熊算法是帮助找出泵、控制阀和换热器运行参数的最优可行配置,这样的话热水就足以保障大型居民区的供暖。

2.2.1 水泵工作原理

水泵是用来输送水和提高回水压力的,由于区域供热回路上的水压损失,必须提高回水压力。某一个水泵的泵压差与它的体积有关,两者构成了一种近似于二次非线性函数的关系。

Δp=AV2+BV+C

(15)

A,B和C是水泵的经验常数,体积V等于质量m除以密度ρ。

(16)

(17)

通过一组已知的参考状态参数,可以预测流经液压系统(例如管道和换热器)的水阻力压降。

(18)

δp为质量为m的水阻力压降,δp0是参考状态的水助力压降值(常数),m0是参考状态下的质量(常数)。

在一个稳定状态下,泵压差等于来自于各个设备(例如管道、阀门、喷嘴、热交换器和孔口等)的水阻力压降值。

(19)

该条件对应于泵压差曲线与系统内水阻力压降曲线的交点,如图11所示。泵的驱动器耗电量可以由公式(20)得出。

(20)

图11 泵压差和水阻力压降交叉曲线图[2]

Nel是电力,V是体积,Δp是压力差,ηip是水泵绝热效率,ηem是泵驱动器电机效率。水泵绝热效率倚赖水泵工况,它是水泵效力和水泵旋转速度的函数。如果水泵转速为常数,则绝热效率可以用二次函数表示(公式21)。D、E和F是经验常数,绝热效率函数可以在合理参数配置下达到最大值。

(21)

2.2.2 换热器(热交换器)

换热器是用来将热量从一种介质转移到另一种介质的设备一个蒸汽-水换热器通常是壳管式冷凝器,如图12所示。水通过密封壳内的一束管子流动,蒸汽凝结成水滴附在管道的外表面并向下滴落,而水在管束内被加热。蒸汽能够持续获得恒定温度靠的是压力。假定水的热容是恒定的,则热水器中水流所获得的热量可以用能量平衡公式(22)来表示。

图12 换热器示意图[2]

(22)

此处Q是热负荷,cp是等压比热,Tout和Tin是水的流出和流入温度。另一方面,换热器的热负荷受蒸汽温度、加热能力和复杂热传导现象的限制。对于这种特殊类型的换热器(冷凝器),热负荷可以根据水和蒸汽之间的温差来计算。蒸汽的饱和温度可以通过公式(23)计算得出。

(23)

U为总传热系数,H为热传导区域。与水阻力压降一样,冷凝器的传热系数U取决于被加热过的水的质量m。

(24)

U0为总传热系数参考状态,k根据经验取0.8。在所考虑的系统中,一部分水流通过热交换器,剩下的部分是被阀门挡住后只能流过旁流管,然后与热交换器出来的热水混合。在热交换器内,热水量与总流量之比作为分裂因子R。

(25)

集中供热系统的热量需求取决于室外条件,如:空气温度和风速。因此,随着时间的推移,生产热量的过程在热负荷和系统出水温度方面会有很大变化,必须为每个操作节点找到最经济的参数配置。使用所提出的模型,一些非设计操作状态是分析了每一种情况下热生产成本的全局最小值。

表1 基本参数信息表[2]

在研究问题时,文献[13]设计了如下假设条件:在运行中,水泵之间的水流是均匀分布的;水密度ρ假定为常数(与温度和压力无关);水的比热cp是恒定的指数(与温度和压力有关);换热器的水阻力压降不影响传热效果;对环境的热损失忽略不计;回水的参数是常数。

表2 不同情况下的热生产需求表[13]

2.2.3 目标函数

目标函数用来评价解的质量,供热系统的最佳工作状态倚赖高运作效率、满足边界条件(温度、泵运行范围、热负荷和泵控制阀压降)和尽可能最低的运行成本。启发式算法必须在上述因素之间找到折衷方案,并选择最合适的运行参数。问题目标函数φ是由经营成本Ctotal和四个边界控制惩罚函数组成。

(26)

Ctotal是总运作成本,CEL为用电成本,EEL为电消耗量,s2.0和s6,2为蒸汽成本,Qstream2.0和Qstream6.2是蒸汽消耗量。

Qstream2.0=Q1·0.0036

(27)

Qstream6.2=Q2·0.0036

(28)

Q1是第一个热交换器的热负荷,Q2是第二个热交换器的热负荷。

除了公式(26),其他四个因素(正确的热负荷、系统出水温度、泵控制阀水阻力压降和泵工作条件)也考虑进总目标函数中。

φ=Ctotal+p1+p2+p3+p4

(29)

(30)

(31)

(32)

(33)

|Q-Qset|是所需要的热负荷与算法给出的热负荷值的差值绝对值,Qset=Q1+Q2。|T-Tset|是实际需要温度与算法给出的温度之间的差值绝对值,δpvalves是泵控制阀水助力压降(不能为负值),每个水泵的工作条件取决于通过的水量V,V的取值范围在120和300之间,否则水泵无法工作。

根据最终的计算结果,北极熊算法比粒子群优化算法体现出了微弱的优势,验证了北极熊算的有效性和适用性。

3 结束语

本文介绍了近年来国外学者最新提出的一种模仿自然界

生物的智能优化算法——北极熊算法,基本按照原文献的描述还原了算法的背景、生物特性、局部搜索算子、全局搜索算法和种群控制算子。通过详细介绍算法的执行步骤,为领域内的相关学者提供了有价值的参考和借鉴。文章后半部分描述了算法的应用领域,呈现了算法在实际生产生活中的重要作用。目前算法尚处于研究初期,可以围绕北极熊算法在其他工程领域、混合算法领域(北极熊算法混合帝国竞争算法和狮群算法等[14-15])和多目标问题研究领域进行进一步的深入探讨和挖掘。

猜你喜欢
北极熊水泵蒸汽
发电厂水泵常见问题及应对策略
打胶”无法保密封 水泵安装有讲究
煤、铁、蒸汽与工业革命
车坛往事3:蒸汽时代步入正轨!
泵到尽头 覆水难收
蒸汽闪爆
绝望的北极熊
蒸汽变戏法
变身的水泵
北极熊为什么不怕冷?