0


智能优化算法:卷积优化算法-2023 附代码

智能优化算法:卷积优化算法 2023

摘要:将二维卷积运算引入智能优化算法的种群位置更新过程,提出一种新的智能优化算法,即卷积优化算法(Convolution Optimization Algorithm,COA)。 该算法主要包括卷积搜索和解质量增强 2 种机制:在卷积搜索过程中,分别定义纵向卷积核、横向卷积核和区域卷积核,依次进行二维卷积运算并更新种群的位置向量,然后将 3 种卷积核更新后的种群的位置向量进行随机权重或等比例权重相加,进一步更新种群的位置向量;在解质量增强过程中,对最优解的搜索空间逐维进行带非惯性权重的高斯变异,并对最优解进行扰动,从而提高算法的局部搜索能力。

1.卷积优化算法

COA 主要包括卷积搜索和解质量增强 2 种机制,其中:卷积搜索机制的是通过矩阵卷积运算增强搜索趋势并加快收敛速度,从而在搜索空间中获得更好的位置;解质量增强机制通过提高解的质量,避免每次迭代中出现局部最优。

1.1 种群初始化

  1. C
  2. O
  3. A
  4. \mathrm{COA}
  5. COA 中, 个体的位置向量
  6. X
  7. p
  8. (
  9. p
  10. =
  11. 1
  12. ,
  13. 2
  14. ,
  15. \boldsymbol{X}_p(p=1,2, \cdots
  16. Xp​(p=1,2,⋯,
  17. n
  18. n
  19. n ) 为优化问题的候选解, 定义
  20. X
  21. p
  22. \boldsymbol{X}_p
  23. Xp 用于在
  24. d
  25. d
  26. d 维空间 中搜索,其中
  27. d
  28. d
  29. d 为决策变量的维度。这样, 在卷积 优化算法中, 种群的位置向量
  30. X
  31. \boldsymbol{X}
  32. X 由维度为
  33. d
  34. d
  35. d
  36. n
  37. n
  38. n 个个体组成, 则种群的位置向量
  39. X
  40. \boldsymbol{X}
  41. X
  42. n
  43. ×
  44. d
  45. n \times d
  46. n×d 阶矩阵 构成,有
  47. X
  48. =
  49. [
  50. X
  51. 1
  52. X
  53. n
  54. ]
  55. =
  56. [
  57. x
  58. 11
  59. x
  60. 1
  61. d
  62. x
  63. n
  64. 1
  65. x
  66. n
  67. d
  68. ]
  69. (1)
  70. \boldsymbol{X}=\left[\begin{array}{c} \boldsymbol{X}_1 \\ \vdots \\ \boldsymbol{X}_n \end{array}\right]=\left[\begin{array}{ccc} x_{11} & \cdots & x_{1 d} \\ \vdots & & \vdots \\ x_{n 1} & \cdots & x_{n d} \end{array}\right] \tag{1}
  71. X=​X1​⋮Xn​​​=​x11​⋮xn1​​⋯⋯​x1d​⋮xnd​​​(1)

  1. C
  2. O
  3. A
  4. \mathrm{COA}
  5. COA 中, 种群的位置向量
  6. X
  7. X
  8. X 的适应度值为
  9. F
  10. X
  11. =
  12. [
  13. f
  14. (
  15. X
  16. 1
  17. )
  18. f
  19. (
  20. X
  21. n
  22. )
  23. ]
  24. =
  25. [
  26. f
  27. (
  28. [
  29. x
  30. 11
  31. x
  32. 12
  33. x
  34. 1
  35. d
  36. ]
  37. )
  38. f
  39. (
  40. [
  41. x
  42. n
  43. 1
  44. x
  45. n
  46. 2
  47. x
  48. n
  49. d
  50. ]
  51. )
  52. ]
  53. (2)
  54. \boldsymbol{F}_X=\left[\begin{array}{c} f\left(\boldsymbol{X}_1\right) \\ \vdots \\ f\left(\boldsymbol{X}_n\right) \end{array}\right]=\left[\begin{array}{rrrr} f\left(\left[\begin{array}{rrrr} x_{11} & x_{12} & \cdots & x_{1 d} \end{array}\right]\right) \\ & \vdots & & \\ f\left(\left[\begin{array}{rrrr} x_{n 1} & x_{n 2} & \cdots & x_{n d} \end{array}\right]\right) \end{array}\right]\tag{2}
  55. FX​=​f(X1​)⋮f(Xn​)​​=​f([x11​​x12​​⋯​x1d​​])f([xn1​​xn2​​⋯​xnd​​])​⋮​​​​(2)

式中:

  1. f
  2. (
  3. X
  4. p
  5. )
  6. f\left(\boldsymbol{X}_p\right)
  7. f(Xp​) 表示适应度函数, 也称目标函数。

  1. C
  2. O
  3. A
  4. \mathrm{COA}
  5. COA 中,初始种群的位置向量
  6. X
  7. 0
  8. \boldsymbol{X}^0
  9. X0
  10. d
  11. d
  12. d 维搜 索空间中随机生成, 每个个体的位置向量
  13. X
  14. p
  15. 0
  16. \boldsymbol{X}_p^0
  17. Xp0 的初始 化可定义为
  18. X
  19. p
  20. 0
  21. =
  22. l
  23. p
  24. +
  25. r
  26. a
  27. n
  28. d
  29. (
  30. u
  31. p
  32. ,
  33. l
  34. p
  35. )
  36. (3)
  37. \boldsymbol{X}_p^0=\boldsymbol{l}_p+\mathrm{rand} \cdot\left(\boldsymbol{u}_p, \boldsymbol{l}_p\right)\tag{3}
  38. Xp0​=lp​+rand⋅(up​,lp​)(3)

式中:

  1. l
  2. p
  3. \boldsymbol{l}_p
  4. lp 为一个
  5. 1
  6. ×
  7. d
  8. 1 \times d
  9. 1×d 阶矩阵, 为第
  10. p
  11. p
  12. p 个个体的下限;
  13. u
  14. p
  15. \boldsymbol{u}_p
  16. up 为一个
  17. 1
  18. ×
  19. d
  20. 1 \times d
  21. 1×d 阶矩阵, 为第
  22. p
  23. p
  24. p 个个体的上限; rand
  25. [
  26. 0
  27. ,
  28. 1
  29. ]
  30. [0,1]
  31. [0,1] 之间的随机数。

1.2 卷积搜索机制

卷积搜索过程分为纵向卷积位置更新、横向卷积位置更新、区域卷积位置更新和综合位置更新 4个步骤。

1.2.1 纵向卷积位置更新

定义纵向卷积核为

  1. K
  2. L
  3. =
  4. 2
  5. ×
  6. rand
  7. (
  8. k
  9. ,
  10. 1
  11. )
  12. I
  13. L
  14. (4)
  15. \boldsymbol{K}_{\mathrm{L}}=2 \times \operatorname{rand}(k, 1)-\boldsymbol{I}_{\mathrm{L}}\tag{4}
  16. KL​=2×rand(k,1)−IL​(4)

式中:

  1. K
  2. L
  3. \boldsymbol{K}_{\mathrm{L}}
  4. KL 为一个
  5. k
  6. ×
  7. 1
  8. k \times 1
  9. k×1 阶矩阵, 为纵向卷积核, 其中
  10. k
  11. k
  12. k 为纵向卷积核的高, 1 为纵向卷积核的宽;
  13. rand
  14. (
  15. k
  16. ,
  17. 1
  18. )
  19. \operatorname{rand}(k, 1)
  20. rand(k,1) 为一个
  21. k
  22. ×
  23. 1
  24. k \times 1
  25. k×1 阶矩阵,每个元素为
  26. [
  27. 0
  28. ,
  29. 1
  30. ]
  31. [0,1]
  32. [0,1] 之间的随机 数;
  33. I
  34. L
  35. \boldsymbol{I}_{\mathrm{L}}
  36. IL 为一个
  37. k
  38. ×
  39. 1
  40. k \times 1
  41. k×1 阶矩阵, 所有元素为 1 定义纵向卷积为
  42. X
  43. L
  44. t
  45. =
  46. X
  47. t
  48. K
  49. L
  50. (5)
  51. \boldsymbol{X}_{\mathrm{L}}^t=\boldsymbol{X}^t * \boldsymbol{K}_{\mathrm{L}}\tag{5}
  52. XLt​=XtKL​(5)

式中:

  1. t
  2. t
  3. t 为当前迭代次数;
  4. X
  5. t
  6. X^t
  7. Xt 为一个
  8. n
  9. ×
  10. d
  11. n \times d
  12. n×d 阶矩阵,
  13. t
  14. t
  15. t 代种群的位置向量;
  16. X
  17. L
  18. t
  19. X_{\mathrm{L}}^t
  20. XLt 为一个
  21. n
  22. ×
  23. d
  24. n \times d
  25. n×d 阶矩阵,
  26. t
  27. t
  28. t 代纵向卷积位置更新后的种群的位置向量。

比较

  1. X
  2. L
  3. t
  4. \boldsymbol{X}_{\mathrm{L}}^t
  5. XLt
  6. X
  7. t
  8. \boldsymbol{X}^t
  9. Xt 中每个个体位置的适应度值的大 小,择优替换掉
  10. X
  11. t
  12. \boldsymbol{X}^t
  13. Xt 中个体位置, 则有
  14. X
  15. p
  16. t
  17. =
  18. {
  19. X
  20. L
  21. p
  22. t
  23. ,
  24. f
  25. (
  26. X
  27. L
  28. p
  29. t
  30. )
  31. <
  32. f
  33. (
  34. X
  35. p
  36. t
  37. )
  38. ;
  39. X
  40. p
  41. t
  42. ,
  43. else
  44. (6)
  45. \boldsymbol{X}_p^t=\left\{\begin{array}{l} \boldsymbol{X}_{\mathrm{Lp}}^t, f\left(\boldsymbol{X}_{\mathrm{Lp}}^t\right)<f\left(\boldsymbol{X}_p^t\right) ; \\ \boldsymbol{X}_p^t, \text { else } \end{array}\right.\tag{6}
  46. Xpt​={XLpt​,f(XLpt​)<f(Xpt​);Xpt​, else 。​(6)

式中:

  1. X
  2. p
  3. t
  4. \boldsymbol{X}_p^t
  5. Xpt 为第
  6. t
  7. t
  8. t 代种群的第
  9. p
  10. p
  11. p 个个体位置;
  12. X
  13. L
  14. p
  15. t
  16. \boldsymbol{X}_{\mathrm{L} p}^t
  17. XLpt
  18. t
  19. t
  20. t 代纵向卷积位置更新后的种群的第
  21. p
  22. p
  23. p 个个体 位置。

1.2.2 横向卷积位置更新

定义横向卷积核为

  1. K
  2. T
  3. =
  4. 2
  5. ×
  6. rand
  7. (
  8. k
  9. ,
  10. 1
  11. )
  12. I
  13. T
  14. (7)
  15. \boldsymbol{K}_{\mathrm{T}}=2 \times \operatorname{rand}(k, 1)-\boldsymbol{I}_{\mathrm{T}} \tag{7}
  16. KT​=2×rand(k,1)−IT​(7)

式中:

  1. K
  2. T
  3. \boldsymbol{K}_{\mathrm{T}}
  4. KT 为一个
  5. 1
  6. ×
  7. k
  8. 1 \times k
  9. 1×k 阶矩阵, 为横向卷积核, 其中 1 为横向卷积核的高,
  10. k
  11. k
  12. k 为横向卷积核的宽;
  13. rand
  14. (
  15. 1
  16. ,
  17. k
  18. )
  19. \operatorname{rand}(1, k)
  20. rand(1,k) 为一个
  21. 1
  22. ×
  23. k
  24. 1 \times k
  25. 1×k 阶矩阵,每个元素为
  26. [
  27. 0
  28. ,
  29. 1
  30. ]
  31. [0,1]
  32. [0,1] 之间的随机 数;
  33. I
  34. T
  35. \boldsymbol{I}_{\mathrm{T}}
  36. IT 为一个
  37. 1
  38. ×
  39. k
  40. 1 \times k
  41. 1×k 阶矩阵,所有元素为 1

定义横向卷积为

  1. X
  2. T
  3. t
  4. =
  5. X
  6. t
  7. K
  8. T
  9. (8)
  10. \boldsymbol{X}_{\mathrm{T}}^t=\boldsymbol{X}^t * \boldsymbol{K}_{\mathrm{T}} \tag{8}
  11. XTt​=XtKT​(8)

式中:

  1. X
  2. T
  3. t
  4. \boldsymbol{X}_{\mathrm{T}}^t
  5. XTt 为一个
  6. n
  7. ×
  8. d
  9. n \times d
  10. n×d 阶矩阵, 为横向卷积更新后的 种群的位置向量。

比较

  1. X
  2. T
  3. t
  4. \boldsymbol{X}_{\mathrm{T}}^t
  5. XTt
  6. X
  7. t
  8. \boldsymbol{X}^t
  9. Xt 中每个个体位置的适应度值的大 小,择优替换掉
  10. X
  11. t
  12. \boldsymbol{X}^t
  13. Xt 中个体位置,则有
  14. X
  15. p
  16. t
  17. =
  18. {
  19. X
  20. T
  21. p
  22. t
  23. ,
  24. f
  25. (
  26. X
  27. T
  28. p
  29. t
  30. )
  31. <
  32. f
  33. (
  34. X
  35. p
  36. t
  37. )
  38. ;
  39. X
  40. p
  41. t
  42. ,
  43. else
  44. (9)
  45. \boldsymbol{X}_p^t=\left\{\begin{array}{l} \boldsymbol{X}_{\mathrm{T}_p}^t, f\left(\boldsymbol{X}_{\mathrm{T}_p}^t\right)<f\left(\boldsymbol{X}_p^t\right) ; \\ \boldsymbol{X}_p^t, \text { else } \end{array}\right.\tag{9}
  46. Xpt​={XTpt​,f(XTpt​)<f(Xpt​);Xpt​, else ​(9)

式中:

  1. X
  2. T
  3. p
  4. t
  5. X_{\mathrm{T}_p}^t
  6. XTpt 为第
  7. t
  8. t
  9. t 代横向卷积位置更新后的种群的第
  10. p
  11. p
  12. p 个个体位置。

1.2.3 区域卷积位置更新

定义区域卷积核为

  1. K
  2. R
  3. =
  4. 2
  5. ×
  6. rand
  7. (
  8. k
  9. ,
  10. 1
  11. )
  12. I
  13. R
  14. (10)
  15. \boldsymbol{K}_{\mathrm{R}}=2 \times \operatorname{rand}(k, 1)-\boldsymbol{I}_{\mathrm{R}} \tag{10}
  16. KR​=2×rand(k,1)−IR​(10)

式中:

  1. K
  2. R
  3. \boldsymbol{K}_{\mathrm{R}}
  4. KR 为一个
  5. k
  6. ×
  7. k
  8. k \times k
  9. k×k 阶矩阵, 为区域卷积核, 其中
  10. k
  11. k
  12. k 为区域卷积核的高和宽;
  13. rand
  14. (
  15. k
  16. ,
  17. k
  18. )
  19. \operatorname{rand}(k, k)
  20. rand(k,k) 为一个
  21. k
  22. ×
  23. k
  24. k \times k
  25. k×k 矩阵,每个元素为
  26. [
  27. 0
  28. ,
  29. 1
  30. ]
  31. [0,1]
  32. [0,1] 之间的随机数;
  33. I
  34. R
  35. \boldsymbol{I}_{\mathrm{R}}
  36. IR 为一个
  37. k
  38. ×
  39. k
  40. k \times k
  41. k×k 阶矩阵,所有元素为 1

定义区域卷积为

  1. X
  2. R
  3. t
  4. =
  5. X
  6. t
  7. K
  8. R
  9. (11)
  10. \boldsymbol{X}_{\mathrm{R}}^t=\boldsymbol{X}^t * \boldsymbol{K}_{\mathrm{R}} \tag{11}
  11. XRt​=XtKR​(11)

式中:

  1. X
  2. R
  3. t
  4. \boldsymbol{X}_{\mathrm{R}}^t
  5. XRt 为一个
  6. n
  7. ×
  8. d
  9. n \times d
  10. n×d 阶矩阵, 为区域卷积更新后的 种群的位置向量。

比较

  1. X
  2. R
  3. t
  4. \boldsymbol{X}_{\mathrm{R}}^t
  5. XRt
  6. X
  7. t
  8. \boldsymbol{X}^t
  9. Xt 中每个个体位置的适应度值的大 小,择优替换掉
  10. X
  11. t
  12. X^t
  13. Xt 中个体位置, 则有
  14. X
  15. p
  16. t
  17. =
  18. {
  19. X
  20. R
  21. p
  22. t
  23. ,
  24. f
  25. (
  26. X
  27. R
  28. p
  29. t
  30. )
  31. <
  32. f
  33. (
  34. X
  35. p
  36. t
  37. )
  38. ;
  39. X
  40. p
  41. t
  42. ,
  43. else
  44. (12)
  45. \boldsymbol{X}_p^t=\left\{\begin{array}{l} \boldsymbol{X}_{\mathrm{R} p}^t, f\left(\boldsymbol{X}_{\mathrm{R} p}^t\right)<f\left(\boldsymbol{X}_p^t\right) ; \\ \boldsymbol{X}_p^t, \text { else } \end{array}\right. \tag{12}
  46. Xpt​={XRpt​,f(XRpt​)<f(Xpt​);Xpt​, else ​(12)

式中:

      X 
     
     
     
       R 
      
     
       p 
      
     
    
      t 
     
    
   
  
    X_{\mathrm{R} p}^t 
   
  
XRpt​ 为第  
 
  
   
   
     t 
    
   
  
    t 
   
  
t 代区域卷积位置更新后的种群的第  
 
  
   
   
     p 
    
   
  
    p 
   
  
p 个个体位置。

1.2.4 综合位置更新

在综合位置更新阶段, 将第

     t 
    
   
  
    t 
   
  
t 代纵向卷积更新 后的种群的位置向量  
 
  
   
    
    
      X 
     
    
      L 
     
    
      t 
     
    
   
  
    X_{\mathrm{L}}^t 
   
  
XLt​, 第  
 
  
   
   
     t 
    
   
  
    t 
   
  
t 代横向卷积更新后的 种群的位置向量  
 
  
   
    
    
      X 
     
    
      T 
     
    
      t 
     
    
   
  
    X_{\mathrm{T}}^t 
   
  
XTt​ 和第  
 
  
   
   
     t 
    
   
  
    t 
   
  
t 代区域卷积更新后的种 群的位置向量  
 
  
   
    
    
      X 
     
    
      R 
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{R}}^t 
   
  
XRt​, 采用随机权重或等比例权重相加 合并为  
 
  
   
    
    
      X 
     
    
      s 
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{s}}^t 
   
  
Xst​, 即

  
   
    
     
      
      
       
        
        
          X 
         
        
          S 
         
        
          t 
         
        
       
         = 
        
        
         
          
          
            r 
           
          
            1 
           
          
         
           × 
          
          
          
            X 
           
          
            L 
           
          
            t 
           
          
         
           + 
          
          
          
            r 
           
          
            2 
           
          
         
           × 
          
          
          
            X 
           
          
            T 
           
          
            t 
           
          
         
           + 
          
          
          
            r 
           
          
            3 
           
          
         
           × 
          
          
          
            X 
           
          
            R 
           
          
            t 
           
          
         
         
          
          
            r 
           
          
            1 
           
          
         
           + 
          
          
          
            r 
           
          
            2 
           
          
         
           + 
          
          
          
            r 
           
          
            3 
           
          
         
        
       
      
      
      
      
        (13) 
       
      
     
    
   
     \boldsymbol{X}_{\mathrm{S}}^t=\frac{r_1 \times \boldsymbol{X}_{\mathrm{L}}^t+r_2 \times \boldsymbol{X}_{\mathrm{T}}^t+r_3 \times \boldsymbol{X}_{\mathrm{R}}^t}{r_1+r_2+r_3} \tag{13} 
    
   
 XSt​=r1​+r2​+r3​r1​×XLt​+r2​×XTt​+r3​×XRt​​(13)

式中:

      r 
     
    
      1 
     
    
   
     、 
    
    
    
      r 
     
    
      2 
     
    
   
     、 
    
    
    
      r 
     
    
      3 
     
    
   
  
    r_1 、 r_2 、 r_3 
   
  
r1​、r2​、r3​ 均为  
 
  
   
   
     [ 
    
   
     0 
    
   
     , 
    
   
     1 
    
   
     ] 
    
   
  
    [0,1] 
   
  
[0,1] 之间的随机数, 特别地, 可 以令  
 
  
   
    
    
      r 
     
    
      1 
     
    
   
     = 
    
    
    
      r 
     
    
      2 
     
    
   
     = 
    
    
    
      r 
     
    
      3 
     
    
   
  
    r_1=r_2=r_3 
   
  
r1​=r2​=r3​, 以便进行等比例权重相加。

比较

      X 
     
    
      s 
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{s}}^t 
   
  
Xst​ 和  
 
  
   
    
    
      X 
     
    
      t 
     
    
   
  
    \boldsymbol{X}^t 
   
  
Xt 中每个个体位置的适应度值的大 小,择优替换掉  
 
  
   
    
    
      X 
     
    
      t 
     
    
   
  
    X^t 
   
  
Xt 中个体位置, 则有

  
   
    
     
      
      
       
        
        
          X 
         
        
          p 
         
        
          t 
         
        
       
         = 
        
        
        
          { 
         
         
          
           
            
             
              
              
                X 
               
               
               
                 s 
                
               
                 p 
                
               
              
                t 
               
              
             
               , 
              
             
               f 
              
              
              
                ( 
               
               
               
                 X 
                
                
                
                  s 
                 
                
                  p 
                 
                
                  p 
                 
                
               
                 t 
                
               
              
                ) 
               
              
             
               < 
              
             
               f 
              
              
              
                ( 
               
               
               
                 X 
                
               
                 p 
                
               
                 t 
                
               
              
                ) 
               
              
             
               ; 
              
             
            
           
          
          
           
            
             
              
              
                X 
               
              
                p 
               
              
                t 
               
              
             
               , 
              
             
                else  
              
             
            
           
          
         
        
       
      
      
      
      
        (14) 
       
      
     
    
   
     \boldsymbol{X}_p^t=\left\{\begin{array}{l} \boldsymbol{X}_{\mathrm{sp}}^t, f\left(\boldsymbol{X}_{\mathrm{spp}}^t\right)<f\left(\boldsymbol{X}_p^t\right) ; \\ \boldsymbol{X}_p^t, \text { else } \end{array}\right. \tag{14} 
    
   
 Xpt​={Xspt​,f(Xsppt​)<f(Xpt​);Xpt​, else ​(14)

式中:

      X 
     
     
     
       s 
      
     
       p 
      
     
    
      t 
     
    
   
  
    X_{\mathrm{s} p}^t 
   
  
Xspt​ 为第  
 
  
   
   
     t 
    
   
  
    t 
   
  
t 代综合位置更新后的种群的第  
 
  
   
   
     p 
    
   
  
    p 
   
  
p 个 个体位置。

最后, 计算

      X 
     
    
      t 
     
    
   
  
    \boldsymbol{X}^t 
   
  
Xt 中所有个体位置的适应度值, 并根据适应度值的大小进行排序, 选出最优 解  
 
  
   
    
    
      X 
     
     
     
       b 
      
     
       s 
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{bs}}^t 
   
  
Xbst​ 。

1.3 解质量增强机制

     C 
    
   
     O 
    
   
     A 
    
   
  
    \mathrm{COA} 
   
  
COA 中,解质量增强机制是对最优解  
 
  
   
    
    
      X 
     
     
     
       b 
      
     
       s 
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{bs}}^t 
   
  
Xbst​ 的  
 
  
   
   
     d 
    
   
  
    d 
   
  
d 维搜索空间逐维进行带非惯性权重的高斯变异, 对最优解  
 
  
   
    
    
      X 
     
     
     
       b 
      
     
       s 
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{bs}}^t 
   
  
Xbst​ 进行扰动, 从而提高算法的局部搜 索能力。

对最优解

      X 
     
     
     
       b 
      
     
       s 
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{bs}}^t 
   
  
Xbst​ 中  
 
  
   
   
     d 
    
   
  
    d 
   
  
d 维搜索空间逐维进行带非惯性权重的高斯变异, 则有

  
   
    
     
      
      
       
        
        
          X 
         
         
          
          
            n 
           
          
            b 
           
          
            s 
           
          
         
           ( 
          
         
           q 
          
         
           ) 
          
         
        
          t 
         
        
       
         = 
        
       
         ω 
        
       
         ⋅ 
        
        
        
          X 
         
        
          q 
         
        
          t 
         
        
       
         + 
        
       
         randn 
        
       
         ⁡ 
        
       
         ⋅ 
        
        
        
          X 
         
         
          
          
            b 
           
          
            s 
           
          
         
           ( 
          
         
           q 
          
         
           ) 
          
         
        
          t 
         
        
       
      
      
      
      
        (15) 
       
      
     
    
   
     \boldsymbol{X}_{\mathrm{nbs}(q)}^t=\omega \cdot \boldsymbol{X}_q^t+\operatorname{randn} \cdot \boldsymbol{X}_{\mathrm{bs}(q)}^t \tag{15} 
    
   
 Xnbs(q)t​=ω⋅Xqt​+randn⋅Xbs(q)t​(15)

式中:

      X 
     
     
      
      
        b 
       
      
        s 
       
      
     
       ( 
      
     
       q 
      
     
       ) 
      
     
    
      t 
     
    
   
     = 
    
    
     
     
       [ 
      
      
       
        
         
          
          
            x 
           
           
           
             1 
            
           
             q 
            
           
          
         
        
        
         
          
          
            x 
           
           
           
             2 
            
           
             q 
            
           
          
         
        
        
         
         
           ⋯ 
          
         
        
        
         
          
          
            x 
           
           
           
             n 
            
           
             q 
            
           
          
         
        
       
      
     
       ] 
      
     
    
      T 
     
    
   
  
    \boldsymbol{X}_{\mathrm{bs}(q)}^t=\left[\begin{array}{llll}x_{1 q} & x_{2 q} & \cdots & x_{n q}\end{array}\right]^{\mathrm{T}} 
   
  
Xbs(q)t​=[x1q​​x2q​​⋯​xnq​​]T 为一个  
 
  
   
   
     n 
    
   
     × 
    
   
     1 
    
   
  
    n \times 1 
   
  
n×1 阶 矩阵, 为最优解  
 
  
   
    
    
      X 
     
     
     
       b 
      
     
       s 
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{bs}}^t 
   
  
Xbst​ 中  
 
  
   
   
     d 
    
   
  
    d 
   
  
d 维搜索空间中的第  
 
  
   
   
     q 
    
   
     ( 
    
   
     q 
    
   
     = 
    
   
     1 
    
   
  
    q(q=1 
   
  
q(q=1,  
 
  
   
   
     2 
    
   
     , 
    
   
     ⋯ 
     
   
     , 
    
   
     d 
    
   
     ) 
    
   
  
    2, \cdots, d) 
   
  
2,⋯,d) 维的位置;  
 
  
   
   
     ω 
    
   
     = 
    
   
     1 
    
   
     − 
    
    
     
     
       ( 
      
     
       t 
      
     
       / 
      
      
      
         iter  
       
      
        max  
       
      
     
       ) 
      
     
    
      2 
     
    
   
  
    \omega=1-\left(t / \text { iter }_{\text {max }}\right)^2 
   
  
ω=1−(t/ iter max ​)2, 其中 iter  
 
  
   
    
     
    
      max  
     
    
   
  
    _{\text {max }} 
   
  
max ​ 为最大迭代次数; randn 为一个满足均值为 0 , 方差 为 1 的标准正态分布的随机数;  
 
  
   
    
    
      X 
     
     
      
      
        n 
       
      
        b 
       
      
        s 
       
      
     
       ( 
      
     
       q 
      
     
       ) 
      
     
    
      t 
     
    
   
  
    X_{\mathrm{nbs}(q)}^t 
   
  
Xnbs(q)t​ 为一个  
 
  
   
   
     n 
    
   
     × 
    
   
     1 
    
   
  
    n \times 1 
   
  
n×1 阶矩阵, 为对最优解  
 
  
   
    
    
      X 
     
     
     
       b 
      
     
       s 
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{bs}}^t 
   
  
Xbst​ 的第  
 
  
   
   
     q 
    
   
  
    q 
   
  
q 维进行带非惯性权重 高斯变异后的第  
 
  
   
   
     q 
    
   
  
    q 
   
  
q 维位置。

令对第

     q 
    
   
  
    q 
   
  
q 维进行带非惯性权重高斯变异后的个 体位置为  
 
  
   
    
    
      X 
     
     
     
       ( 
      
     
       q 
      
     
       ) 
      
     
        nbs  
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{(q) \text { nbs }}^t 
   
  
X(q) nbs t​, 比较  
 
  
   
    
    
      X 
     
     
     
       ( 
      
     
       q 
      
     
       ) 
      
     
        nbs  
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{(q) \text { nbs }}^t 
   
  
X(q) nbs t​ 和  
 
  
   
    
    
      X 
     
     
     
       b 
      
     
       s 
      
     
    
      t 
     
    
   
  
    \boldsymbol{X}_{\mathrm{bs}}^t 
   
  
Xbst​ 的适应度值的大 小,择优替换掉  
 
  
   
    
    
      X 
     
     
     
       b 
      
     
       s 
      
     
    
      t 
     
    
   
  
    X_{\mathrm{bs}}^t 
   
  
Xbst​ 的个体位置,则有

  
   
    
     
      
      
       
        
        
          X 
         
         
         
           b 
          
         
           s 
          
         
        
          t 
         
        
       
         = 
        
        
        
          { 
         
         
          
           
            
             
              
              
                X 
               
               
               
                 ( 
                
               
                 q 
                
               
                 ) 
                
                
                
                  n 
                 
                
                  b 
                 
                
                  s 
                 
                
               
              
                t 
               
              
             
               , 
              
             
            
           
           
            
             
             
               f 
              
              
              
                ( 
               
               
               
                 X 
                
                
                
                  ( 
                 
                
                  q 
                 
                
                  ) 
                 
                 
                 
                   n 
                  
                 
                   b 
                  
                 
                   s 
                  
                 
                
               
                 t 
                
               
              
                ) 
               
              
             
               < 
              
             
               f 
              
              
              
                ( 
               
               
               
                 X 
                
                
                
                  b 
                 
                
                  s 
                 
                
               
                 t 
                
               
              
                ) 
               
              
             
               ; 
              
             
            
           
          
          
           
            
             
              
              
                X 
               
               
               
                 b 
                
               
                 s 
                
               
              
                t 
               
              
             
               , 
              
             
            
           
           
            
            
               else 。 
             
            
           
          
         
        
       
      
      
      
      
        (16) 
       
      
     
    
   
     \boldsymbol{X}_{\mathrm{bs}}^t= \begin{cases}\boldsymbol{X}_{(q) \mathrm{nbs}}^t, & f\left(\boldsymbol{X}_{(q) \mathrm{nbs}}^t\right)<f\left(\boldsymbol{X}_{\mathrm{bs}}^t\right) ; \\ \boldsymbol{X}_{\mathrm{bs}}^t, & \text { else } 。\end{cases} \tag{16} 
    
   
 Xbst​={X(q)nbst​,Xbst​,​f(X(q)nbst​)<f(Xbst​); else 。​(16)

**

      C 
     
    
      O 
     
    
      A 
     
    
   
     \mathrm{COA} 
    
   
 COA 运行过程的伪代码如下:**

输人: 种群大小为

     n 
    
   
  
    n 
   
  
n, 个体位置的维度为  
 
  
   
   
     d 
    
   
  
    d 
   
  
d, 最大 迭代次数为 iter  
 
  
   
    
     
    
      max  
     
    
   
  
    _{\text {max }} 
   
  
max ​, 卷积核参数为  
 
  
   
   
     k 
    
   
  
    k 
   
  
k 和适应度函数为  
 
  
   
   
     f 
    
    
    
      ( 
     
     
     
       X 
      
     
       p 
      
     
    
      ) 
     
    
   
     ( 
    
   
     p 
    
   
     = 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     , 
    
   
     ⋯ 
     
   
     , 
    
   
     n 
    
   
     ) 
    
   
  
    f\left(\boldsymbol{X}_p\right)(p=1,2, \cdots, n) 
   
  
f(Xp​)(p=1,2,⋯,n)

输出:最优解及其位置
1 : 初始化种群, 计算每个个体位置的适应度值, 选出最优个体的适应度值及其位置
2 : While

     t 
    
   
     ⩽ 
    
   
  
    t \leqslant 
   
  
t⩽ iter  
 
  
   
    
     
    
      max  
     
    
   
  
    _{\text {max }} 
   
  
max ​ do

3 : 在纵向卷积位置更新阶段, 由式 (4)- (6) 更 新种群的位置向量
4 : 在横向卷积位置更新阶段, 由式 (7)- (9) 更 新种群的位置向量
5 : 在区域卷积位置更新阶段, 由式 (10)-(12) 更新种群的位置向量
6 : 在综合位置更新阶段, 由式 (13)、(14) 更新 种群的位置向量
7 : 计算种群个体位置的适应度值, 选出最优解
8 : for

     q 
    
   
     = 
    
   
     1 
    
   
  
    q=1 
   
  
q=1 to  
 
  
   
   
     d 
    
   
  
    d 
   
  
d do

9 : 在解增强阶段, 由式 (15)、(16) 更新最优解 及其位置
10 : end for
11 : 更新全局最优解及其位置

     12 
    
   
     : 
    
   
     t 
    
   
     = 
    
   
     t 
    
   
     + 
    
   
     1 
    
   
  
    12: t=t+1 
   
  
12:t=t+1

13 : end while

2.实验结果

在这里插入图片描述

3.参考文献

[1]陈克伟,魏曙光,张嘉曦.基于二维卷积运算的智能优化算法[J].装甲兵学报,2023,2(01):102-108.

4.Matlab

5.Python


本文转载自: https://blog.csdn.net/u011835903/article/details/130000907
版权归原作者 智能算法研学社(Jack旭) 所有, 如有侵权,请联系我们删除。

“智能优化算法:卷积优化算法-2023 附代码”的评论:

还没有评论