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

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

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

1.算法原理

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

T_i^{env} = (1-(c_1+c_2)*(1-t))*rand(0,1)*T_i^{env'} \tag{1}

t=l/L \tag{2}

式中:T_i^{env}为改变后的物体温度;c_1,c_2 为控制变量;T_i^{env'} 为初始的物体温度;l为当前迭代数;L为最大迭代数。

根据前面的步骤和式 (1),然后更新每个对象的新温度,表达式为:
T_i^{new}=T_i^{env}+(T_i^{old}-T_i^{env})exp(-\beta t) \tag{3}

\beta = \frac{cost(object)}{cost(worst\, object)} \tag{4}

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

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

算法步骤:

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

Step2.计算适应度值

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

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

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

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

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

2.实验结果

实验结果

3.参考文献

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

4.Matlab代码

https://mianbaoduo.com/o/bread/YZeYlphy

5.Python代码

https://mianbaoduo.com/o/bread/YZmYlptq

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容