智能优化算法:混沌博弈优化算法-附代码

智能优化算法:混沌博弈优化算法


摘要:混沌博弈优化算法(Chaos Game Optimization (CGO))是于2020年提出的一种基于混沌理论原理的优化算法。

1.算法原理

1.1 初始化

该算法的初始化,与其他智能优化算法的初始化一样,在搜索空间范围内进行随机初始化。
x i j ( 0 ) = x i , m i n j + r a n d . ( x i , m a x j − x i , m i n j ) , i = 1 , 2 , . . . , n , j = 1 , 2 , . . . , d (1) x_i^j(0)=x_{i,min}^j+rand.(x_{i,max}^j-x_{i,min}^j),i=1,2,...,n,j=1,2,...,d\tag{1} xij(0)=xi,minj+rand.(xi,maxjxi,minj)i=1,2,...,n,j=1,2,...,d(1)
其中 n n n为候选点的数量, d d d​为候选点的维度。 x i j ( 0 ) x_i^j(0) xij(0)为合格的初始位置, x i , m i n j , x i , m a x j x_{i,min}^j,x_{i,max}^j xi,minj,xi,maxj为上下限。

1.2 第一种子位置更新

第一种子位置更新数学描述如下:
S e e d i 1 = X i + α i ∗ ( β i ∗ G B − γ i ∗ M G i ) (2) Seed_i^1=X_i+\alpha_i*(\beta_i*GB-\gamma_i*MG_i)\tag{2} Seedi1=Xi+αi(βiGBγiMGi)(2)
其中 X i X_i Xi为第 i i i个候选解。 G B GB GB为当前最优解。 M G i MG_i MGi为初始合格点的平均值,这些点被认为是第一个临时三角形的三个顶点。 α i \alpha_i αi为是随机生成的矩阵,用于模拟种子的运动位置限制,而 β i \beta_i βi γ i \gamma _i γi每个和表示0或1的随机整数。

1.3 第二种子位置更新

第二种子位置更新数学描述如下:
S e e d i 2 = G B + α i ∗ ( β i ∗ X i − γ ∗ M G i ) (3) Seed_i^2=GB+\alpha_i*(\beta_i*X_i-\gamma*MG_i)\tag{3} Seedi2=GB+αi(βiXiγMGi)(3)
其中 X i X_i Xi为第 i i i个候选解。 G B GB GB为当前最优解。 M G i MG_i MGi为初始合格点的平均值,这些点被认为是第一个临时三角形的三个顶点。 α i \alpha_i αi为是随机生成的矩阵,用于模拟种子的运动位置限制,而 β i \beta_i βi γ i \gamma_i γi每个和表示0或1的随机整数。

1.4 第三种子位置更新

第三种子位置更新数学描述如下:
S e e d i 3 = M G i + α i ∗ ( β i ∗ X i − γ i ∗ G B ) (4) Seed_i^3=MG_i+\alpha_i*(\beta_i*X_i-\gamma_i*GB)\tag{4} Seedi3=MGi+αi(βiXiγiGB)(4)
其中 X i X_i Xi为第 i i i个候选解。 G B GB GB为当前最优解。 M G i MG_i MGi为初始合格点的平均值,这些点被认为是第一个临时三角形的三个顶点。 α i \alpha_i αi为是随机生成的矩阵,用于模拟种子的运动位置限制,而 β i \beta_i βi γ i \gamma_i γi每个和表示0或1的随机整数。

1.5 第四种子位置更新

第四种子位置更新数学描述如下:
S e e d i 4 = X i ( x i k = x i k + R ) , k = [ 1 , 2 , . . , d ] (5) Seed_i^4=X_i(x_i^k=x_i^k+R),k=[1,2,..,d]\tag{5} Seedi4=Xi(xik=xik+R),k=[1,2,..,d](5)
其中 k k k [ 1 , d ] [1,d] [1,d]内的随机整数向量。 R R R [ 0 , 1 ] [0,1] [0,1]内均匀分布随机数。为了控制和调整所提出的新的 C G O CGO CGO算法的探索和开发速度, α i \alpha_i αi可根据公式(6)确定。
α i = { R a n d 2 ∗ R a n d δ ∗ R a n d + 1 ξ ∗ R a n d + ( − ξ ) (6) \alpha_i=\begin{cases} Rand\\ 2*Rand\\ \delta*Rand + 1\\ \xi*Rand+(-\xi) \end{cases}\tag{6} αi=Rand2RandδRand+1ξRand+(ξ)(6)
其中 R a n d Rand Rand为[0,1]内的随机向量。 δ \delta δ ξ \xi ξ为[0,1]内的随机向量。

算法流程:

步骤1:利用随机选择方法定义了搜索空间中候选解X或初始合格点的初始位置。

步骤2:根据初始合格点的自相似性计算初始候选解的适应度值。

步骤3:确定全局最佳合格点及全局最优值 G B GB GB

步骤4:对于搜索空间中的每个合格点 X i X_i Xi,由随机选择过程确定的平均值 M G i MG_i MGi

步骤5:对于搜索空间中的每个合格点 X i X_i Xi,用三个顶点 X i , M G i , G B i X_i,MG_i,GB_i Xi,MGi,GBi确定一个临时三角形。

步骤6:对于每个临时三角形,四个种子位置更新。

步骤7:重新评估种子位置并更新适应度值。

步骤8:判断是否满足最大迭代次数,若满足,则输出最优位置和全局最优解,否则,返回步骤3重新迭代计算

2.算法结果

请添加图片描述

3.参考文献

[1]Talatahari, S., Azizi, M., Optimization of Constrained Mathematical and Engineering Design Problems Using Chaos Game Optimization, Computers & Industrial Engineering (2020).

4.Matlab代码

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值