目录
- 1.背景
 - 2.算法原理
 - 2.1算法思想
 - 2.2算法过程
 
- 3.结果展示
 - 4.参考文献
 - 5.代码获取
 
1.背景
2023年,I Matoušová受到母亲与孩子之间的人际互动启发,提出了母亲优化算法(Mother Optimization Algorithm, MOA)。

 
2.算法原理
2.1算法思想
MOA模拟了母亲与孩子之间的人际互动,其灵感是模拟母亲在教育、建议和养育三个阶段对孩子的照顾。
2.2算法过程
教育(探索阶段)
第一阶段称为“教育”,是受到儿童教育的启发。它旨在通过对种群成员位置进行显著改变,增强探索能力。在MOA中,母亲被视为种群中的最佳成员,她培养孩子的行为被模拟为教育阶段:
  
      
       
        
         
          
          
           
            
            
              x 
             
             
             
               i 
              
             
               , 
              
             
               j 
              
             
             
             
               P 
              
             
               1 
              
             
            
           
             = 
            
            
            
              x 
             
             
             
               i 
              
             
               , 
              
             
               j 
              
             
            
           
             + 
            
            
            
              r 
             
            
              a 
             
            
              n 
             
            
              d 
             
            
           
             ( 
            
           
             0 
            
           
             , 
            
           
             1 
            
           
             ) 
            
           
             ⋅ 
            
           
             ( 
            
            
            
              M 
             
            
              j 
             
            
           
             − 
            
            
            
              r 
             
            
              a 
             
            
              n 
             
            
              d 
             
            
           
             ( 
            
           
             2 
            
           
             ) 
            
           
             ⋅ 
            
            
            
              x 
             
             
             
               i 
              
             
               , 
              
             
               j 
              
             
            
           
             ) 
            
           
          
          
          
          
            (1) 
           
          
         
        
       
         x_{i,j}^{P1}=x_{i,j}+\mathrm{rand}(0,1)\cdot(M_j-\mathrm{rand}(2)\cdot x_{i,j})\tag{1} 
        
       
     xi,jP1=xi,j+rand(0,1)⋅(Mj−rand(2)⋅xi,j)(1)
建议(探索阶段)
在养育孩子中,母亲的一项主要职责是对孩子进行指导。建议阶段通过显著改变种群成员的位置,增加了MOA在探索阶段的能力:
  
      
       
        
         
          
          
           
            
             
              
               
               
                 B 
                
                
                
                  B 
                 
                
                  i 
                 
                
               
              
             
             
              
               
                
               
                 = 
                
               
                 { 
                
                
                
                  X 
                 
                
                  k 
                 
                
               
                 , 
                
                
                
                  F 
                 
                
                  k 
                 
                
               
                 > 
                
                
                
                  F 
                 
                
                  i 
                 
                
               
                 ∧ 
                
               
                 k 
                
               
                 ∈ 
                
               
                 { 
                
               
                 1 
                
               
                 , 
                
               
                 2 
                
               
                 , 
                
               
                 … 
                
               
                 , 
                
               
                 N 
                
               
                 } 
                
               
                 } 
                
               
                 , 
                
                
               
                 where  
                
               
                 i 
                
               
                 = 
                
               
                 1 
                
               
                 , 
                
               
                 2 
                
               
                 , 
                
               
                 … 
                
               
                 , 
                
               
                 N 
                
               
              
             
            
            
             
              
               
              
             
            
            
             
              
               
               
                 x 
                
                
                
                  i 
                 
                
                  j 
                 
                
                
                
                  P 
                 
                
                  2 
                 
                
               
              
             
             
              
               
                
               
                 = 
                
                
                
                  x 
                 
                 
                 
                   i 
                  
                 
                   , 
                  
                 
                   j 
                  
                 
                
               
                 + 
                
               
                 rand 
                
               
                 ( 
                
               
                 0 
                
               
                 , 
                
               
                 1 
                
               
                 ) 
                
               
                 ⋅ 
                
               
                 ( 
                
                
                
                  x 
                 
                 
                 
                   i 
                  
                 
                   , 
                  
                 
                   j 
                  
                 
                
               
                 − 
                
               
                 rand 
                
               
                 ( 
                
               
                 2 
                
               
                 ) 
                
               
                 ⋅ 
                
               
                 S 
                
               
                 B 
                
                
                
                  B 
                 
                 
                 
                   i 
                  
                 
                   , 
                  
                 
                   j 
                  
                 
                
               
                 ) 
                
               
              
             
            
           
          
          
          
          
            (2) 
           
          
         
        
       
         \begin{aligned}BB_i&=\{X_k,F_k>F_i\wedge k\in\{1,2,\ldots,N\}\},\quad\text{where}~i=1,2,\ldots,N\\\\x_{ij}^{P2}&=x_{i,j}+\text{rand}(0,1)\cdot(x_{i,j}-\text{rand}(2)\cdot SBB_{i,j})\end{aligned}\tag{2} 
        
       
     BBixijP2={Xk,Fk>Fi∧k∈{1,2,…,N}},where i=1,2,…,N=xi,j+rand(0,1)⋅(xi,j−rand(2)⋅SBBi,j)(2)
成长(开发阶段)
在教育过程中,母亲使用各种形式鼓励孩子提高他们的技能。养育导致MOA阶段中局部搜索和开发能力的增强:
  
      
       
        
         
          
          
           
            
            
              x 
             
             
             
               i 
              
             
               , 
              
             
               j 
              
             
             
             
               P 
              
             
               3 
              
             
            
           
             = 
            
            
            
              x 
             
             
             
               i 
              
             
               , 
              
             
               j 
              
             
            
           
             + 
            
           
             ( 
            
           
             1 
            
           
             − 
            
           
             2 
            
           
             ⋅ 
            
            
            
              r 
             
            
              a 
             
            
              n 
             
            
              d 
             
            
           
             ( 
            
           
             0 
            
           
             , 
            
           
             1 
            
           
             ) 
            
           
             ) 
            
           
             ⋅ 
            
            
             
             
               u 
              
              
              
                b 
               
              
                j 
               
              
             
               − 
              
             
               l 
              
              
              
                b 
               
              
                j 
               
              
             
            
              t 
             
            
           
          
          
          
          
            (3) 
           
          
         
        
       
         x_{i,j}^{P3}=x_{i,j}+(1-2\cdot\mathrm{rand}(0,1))\cdot\frac{ub_j-lb_j}{t}\tag{3} 
        
       
     xi,jP3=xi,j+(1−2⋅rand(0,1))⋅tubj−lbj(3)
流程图

伪代码

3.结果展示

4.参考文献
[1] Matoušová I, Trojovský P, Dehghani M, et al. Mother optimization algorithm: A new human-based metaheuristic approach for solving engineering optimization[J]. Scientific Reports, 2023, 13(1): 10312.
5.代码获取
【资源清单】代码资源清单导航~



















