智能优化算法:基于梯度的优化算法


文章目录

  • 智能优化算法:基于梯度的优化算法
  • 1.算法原理
  • 1.1初始化
  • 1.2 梯度搜索规则(GSR)
  • 1.3 局部逃逸操作
  • 2.算法结果
  • 3.参考文献
  • 4.Matlab代码



摘要:基于梯度的优化算法(Gradient-based optimizer,GBO)是于2020年提出的一种新型智能优化算法,该算法受基于梯度的牛顿方法启发,具有结构简单,寻优能力强等特点。

1.算法原理

该算法主要使用两种算子:梯度搜索规则(Gradient search rule, GSR)和局部逃逸算子(Local escaping operator, LEO)以及一组向量来探索搜索空间。GSR采用基于梯度的方法来增强搜索趋势并加快收敛速度,从而在搜索空间中获得更好的位置;LEO使得提出的GBO能够避开局部最优解。

1.1初始化

通常,GBO的初始向量在D维搜索空间中随机生成,可定义为:
智能优化算法:基于梯度的优化算法-附代码_机器学习
其中智能优化算法:基于梯度的优化算法-附代码_深度学习_02智能优化算法:基于梯度的优化算法-附代码_机器学习_03分别为变量的上下限。智能优化算法:基于梯度的优化算法-附代码_搜索规则_04为[0,1]之间的随机数。

1.2 梯度搜索规则(GSR)

提出的梯度搜索规则(智能优化算法:基于梯度的优化算法-附代码_算法_05),考虑了优化过程的随机行为,提升了算法的探索能力,避免陷入局部最优。移动方向(Direction of movement, DM)用于产生适合的搜索方向,以提高GBO算法的收敛速度。基于GSR和DM,下列公式用于更新当前向量智能优化算法:基于梯度的优化算法-附代码_深度学习_06的位置:
智能优化算法:基于梯度的优化算法-附代码_算法_07
其中:
智能优化算法:基于梯度的优化算法-附代码_优化算法_08

智能优化算法:基于梯度的优化算法-附代码_搜索规则_09

智能优化算法:基于梯度的优化算法-附代码_机器学习_10

智能优化算法:基于梯度的优化算法-附代码_算法_11

智能优化算法:基于梯度的优化算法-附代码_算法_12

智能优化算法:基于梯度的优化算法-附代码_搜索规则_13

智能优化算法:基于梯度的优化算法-附代码_搜索规则_14

其中,智能优化算法:基于梯度的优化算法-附代码_算法_15智能优化算法:基于梯度的优化算法-附代码_搜索规则_16 分别为0.2和1.2,智能优化算法:基于梯度的优化算法-附代码_算法_17为当前迭代次数,智能优化算法:基于梯度的优化算法-附代码_机器学习_18为最大迭代次数,智能优化算法:基于梯度的优化算法-附代码_优化算法_19表示标准正态分布随机数,智能优化算法:基于梯度的优化算法-附代码_搜索规则_20是[ 0 , 0.1 ] 之间的很小的正数。rand(1:N)是 [0,1]间的N维随机向量智能优化算法:基于梯度的优化算法-附代码_深度学习_21是从 智能优化算法:基于梯度的优化算法-附代码_优化算法_22中随机选择的互不相等的整数, 智能优化算法:基于梯度的优化算法-附代码_优化算法_23是由智能优化算法:基于梯度的优化算法-附代码_优化算法_24智能优化算法:基于梯度的优化算法-附代码_优化算法_25决定的步长。

通过用式(2)中的当前向量智能优化算法:基于梯度的优化算法-附代码_深度学习_06替换最佳向量智能优化算法:基于梯度的优化算法-附代码_算法_27的位置,可以生成如下新向量智能优化算法:基于梯度的优化算法-附代码_搜索规则_28:
智能优化算法:基于梯度的优化算法-附代码_深度学习_29
其中:
智能优化算法:基于梯度的优化算法-附代码_机器学习_30

智能优化算法:基于梯度的优化算法-附代码_深度学习_31

智能优化算法:基于梯度的优化算法-附代码_算法_32

基于位置智能优化算法:基于梯度的优化算法-附代码_深度学习_33和当前位置智能优化算法:基于梯度的优化算法-附代码_优化算法_34,下一次迭代产生的新位置智能优化算法:基于梯度的优化算法-附代码_算法_35定义为:
智能优化算法:基于梯度的优化算法-附代码_算法_36
其中:
智能优化算法:基于梯度的优化算法-附代码_搜索规则_37
其中智能优化算法:基于梯度的优化算法-附代码_算法_38智能优化算法:基于梯度的优化算法-附代码_深度学习_39为[0,1]之间的随机数。

1.3 局部逃逸操作

LEO的引入提高了GBO算法求解复杂问题的效率。LEO通过使用多个解生成一个性能优越的解智能优化算法:基于梯度的优化算法-附代码_机器学习_40,其中包括最佳位置智能优化算法:基于梯度的优化算法-附代码_机器学习_41 、位置智能优化算法:基于梯度的优化算法-附代码_深度学习_33智能优化算法:基于梯度的优化算法-附代码_优化算法_34、两个随机位置智能优化算法:基于梯度的优化算法-附代码_机器学习_44智能优化算法:基于梯度的优化算法-附代码_机器学习_45以及一个新的随机位置智能优化算法:基于梯度的优化算法-附代码_搜索规则_46 。新的位置智能优化算法:基于梯度的优化算法-附代码_机器学习_40由以下公式产生:
智能优化算法:基于梯度的优化算法-附代码_搜索规则_48
其中,智能优化算法:基于梯度的优化算法-附代码_优化算法_49为[-1,1]的随机数,智能优化算法:基于梯度的优化算法-附代码_算法_50为标准正态分布随机数,智能优化算法:基于梯度的优化算法-附代码_深度学习_51为一个概率值,智能优化算法:基于梯度的优化算法-附代码_算法_52为三个随机整数,其计算如下:
智能优化算法:基于梯度的优化算法-附代码_搜索规则_53

智能优化算法:基于梯度的优化算法-附代码_搜索规则_54

智能优化算法:基于梯度的优化算法-附代码_优化算法_55

其中,智能优化算法:基于梯度的优化算法-附代码_搜索规则_56是一个值为0或1的二进制参数,如果参数智能优化算法:基于梯度的优化算法-附代码_算法_57,则智能优化算法:基于梯度的优化算法-附代码_搜索规则_56的值为1,否则为0。为了确定式(5)中的智能优化算法:基于梯度的优化算法-附代码_机器学习_59 ,采用以下方案:
智能优化算法:基于梯度的优化算法-附代码_深度学习_60
其中智能优化算法:基于梯度的优化算法-附代码_优化算法_61是在种群中随机选择的一个解,智能优化算法:基于梯度的优化算法-附代码_深度学习_62是[0,1]之间的随机数。式(5-4)可以简化为:
智能优化算法:基于梯度的优化算法-附代码_机器学习_63
其中,智能优化算法:基于梯度的优化算法-附代码_算法_64是一个值为0或1的二进制参数,如果参数智能优化算法:基于梯度的优化算法-附代码_深度学习_62小于0.5,则智能优化算法:基于梯度的优化算法-附代码_搜索规则_56的值为1,否则为0。

算法伪代码如下:

智能优化算法:基于梯度的优化算法-附代码_搜索规则_67

2.算法结果

智能优化算法:基于梯度的优化算法-附代码_机器学习_68

3.参考文献

[1] Iman Ahmadianfar, Omid Bozorg-Haddad, Xuefeng Chu. Gradient-based optimizer: A new metaheuristic optimization algorithm[J]. Information Sciences, 2020, 540: 131-159.

4.Matlab代码