智能优化算法:热交换优化算法 - 附代码

智能优化算法:热交换优化算法


摘要:热交换优化 (Thermal Exchange Optimization,TEO)算法是于2017年提出的一种基于牛顿冷却定律的新型优化算法,具有收敛快寻优强的特点。

1.算法原理

热交换优化 (Thermal Exchange Optimization,TEO)算法是一种基于牛顿冷却定律的新型优化算法,在该算法中,物体的热损失率与物体和其周围环境的温度差成正比 。在 TEO 算法中,一些 Agent 被定义为冷却对象,其余 Agent 代表环境。更新对象之间的温度公式定义为:

T i e n v = ( 1 − ( c 1 + c 2 ) ∗ ( 1 − t ) ) ∗ r a n d ( 0 , 1 ) ∗ T i e n v ′ (1) T_i^{env} = (1-(c_1+c_2)*(1-t))*rand(0,1)*T_i^{env'} \tag{1} Tienv=(1(c1+c2)(1t))rand(0,1)Tienv(1)

t = l / L (2) t=l/L \tag{2} t=l/L(2)

式中: T i e n v T_i^{env} Tienv为改变后的物体温度; c 1 , c 2 c_1,c_2 c1,c2 为控制变量; T i e n v ′ T_i^{env'} Tienv 为初始的物体温度; l l l为当前迭代数; L L L为最大迭代数。

根据前面的步骤和式 (1),然后更新每个对象的新温度,表达式为:
T i n e w = T i e n v + ( T i o l d − T i e n v ) e x p ( − β t ) (3) T_i^{new}=T_i^{env}+(T_i^{old}-T_i^{env})exp(-\beta t) \tag{3} Tinew=Tienv+(TioldTienv)exp(βt)(3)

β = c o s t ( o b j e c t ) c o s t ( w o r s t   o b j e c t ) (4) \beta = \frac{cost(object)}{cost(worst\, object)} \tag{4} β=cost(worstobject)cost(object)(4)

当一个对象的性质已降低 β,温度会进行交换。每个对象的 β 值根据式 (4)进行评估。

为防止物体温度落入局部最优,设置参数 P r o Pro Pro,它指定是否必须更改每个冷却对象的组件。如果 r a n d ( 0 , 1 ) < P r o rand(0,1)<Pro rand(0,1)<Pro,则随机选取第 i i i 个物体的一个维度,其值再生的表达式为:
T i , j = T i , m i n + r a n d ( 0 , 1 ) ∗ ( T j , m a x − T j , m i n ) (5) T_{i,j}=T_{i,min}+rand(0,1)*(T_{j,max}-T_{j,min})\tag{5} Ti,j=Ti,min+rand(0,1)(Tj,maxTj,min)(5)
式中: T i , j T_{i,j} Ti,j 为第 i i i A g e n t Agent Agent 的第 j j j 个变量。 T j , m a x T_{j,max} Tj,max
T j , m i n T_{j,min} Tj,min为第 j j j 个变量的上界和下界。

算法步骤:

Step1.设置参数,初始化种群

Step2.计算适应度值

Step3.根据式(1)更新温度(即位置)

Step4.根据式(3)更新温度

Step5.根据选择概率Pro利用式(5)进行变异

Step6.记录并更新全局最优位置。

Step7.判断是否满足停止条件,如果满足,则输出最优位置,否则重复步骤Step2-Step7.

2.实验结果

在这里插入图片描述

3.参考文献

[1]杨明昊,李云龙.基于热交换优化算法的多阈值图像分割方法[J].科技创新与生产力,2019(05):57-59.

4.Matlab代码

热交换优化算法

5.Python代码

上述代码见个人资料介绍

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值