目录
- 1.背景
 - 2.算法原理
 - 2.1算法思想
 - 2.2算法过程
 
- 3.结果展示
 - 4.参考文献
 - 5.代码获取
 
1.背景
2024年,ST Javed受到社会环境下家庭儿童的早期社会学习行为启发,提出了儿童学习优化算法(Kids Learning Optimizer, KLO)。

 
2.算法原理
2.1算法思想
KLO灵感来源于孩子们在社会结构中以家庭为单位的早期社会学习行为。在社会中,人们以家庭群体(父母和孩子)的形式组织,他们在家庭内部和外部相互交流,KLO将家庭和他们的互动的分散学习概念映射到新的算法中,其中搜索代理(个体)被组织成家庭,并在生命的不同阶段相互交流以找到最佳解决方案。
 
2.2算法过程
初始化
KLO算法首先初始化若干个家庭(nFamilies)和每个家庭的成员数量(nMembers),每个家庭包括两位父母和(nMembers-2)个孩子。总人口为nPop = nFamilies × nMembers,总父母数为nParents = nFamilies × 2。跟随父母的概率rp和学习参数Epsilon初始为较大值,并随着迭代线性递减,表示孩子随着成长倾向于跟随其他孩子,学习能力随年龄增长降低。最小和最大学习热情(LEmin和LEmax)分别设置为0.1和1。收敛参数Explore设置为floor(nVar/4),允许个体属性的25%发生变化,并在迭代中线性递减,以控制算法的探索能力。父母的属性在采样区间内随机生成,孩子的属性通过父母的随机交叉过程生成,从父亲随机选择部分属性,其余从母亲获得。这样,家庭成员在搜索空间内进行全面探索。

 
更新Gamma
BestSol是群体中最优个体,个体X和Y相互作用:
  
      
       
        
         
          
          
           
           
             ( 
            
           
             t 
            
           
             + 
            
           
             1 
            
           
             ) 
            
           
             = 
            
            
            
              { 
             
             
              
               
                
                 
                 
                   X 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   + 
                  
                 
                   γ 
                  
                 
                   λ 
                  
                 
                   ∥ 
                  
                 
                   X 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   − 
                  
                 
                   Y 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   ∥ 
                  
                 
                   , 
                  
                 
                
               
               
                
                 
                 
                   if 
                  
                  
                  
                    f 
                   
                   
                   
                     o 
                    
                   
                     b 
                    
                   
                     j 
                    
                   
                  
                 
                   ( 
                  
                 
                   X 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   ) 
                  
                 
                   < 
                  
                  
                  
                    f 
                   
                   
                   
                     o 
                    
                   
                     b 
                    
                   
                     j 
                    
                   
                  
                 
                   ( 
                  
                 
                   Y 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   ) 
                  
                 
                
               
              
              
               
                
                 
                 
                   Y 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   + 
                  
                 
                   γ 
                  
                 
                   λ 
                  
                 
                   ∥ 
                  
                 
                   X 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   − 
                  
                 
                   Y 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   ∥ 
                  
                 
                   , 
                  
                 
                
               
               
                
                
                  otherwise 
                 
                
               
              
             
            
           
          
          
          
          
            (1) 
           
          
         
        
       
         (t+1)=\left\{\begin{array}{ll}X(t)+\gamma\lambda\|X(t)-Y(t)\|,&\text{if}f_{obj}(X(t))<f_{obj}(Y(t))\\Y(t)+\gamma\lambda\|X(t)-Y(t)\|,&\text{otherwise}\end{array}\right.\tag{1} 
        
       
     (t+1)={X(t)+γλ∥X(t)−Y(t)∥,Y(t)+γλ∥X(t)−Y(t)∥,iffobj(X(t))<fobj(Y(t))otherwise(1)
 参数表述为:
  
      
       
        
         
          
          
           
           
             λ 
            
           
             = 
            
           
             2 
            
           
             r 
            
           
             − 
            
           
             1 
            
           
          
          
          
          
            (2) 
           
          
         
        
       
         \lambda=2r-1\tag{2} 
        
       
     λ=2r−1(2)
  
      
       
        
         
          
          
           
           
             γ 
            
           
             = 
            
            
            
              ∥ 
             
            
              2 
             
            
              − 
             
             
              
              
                ( 
               
              
                t 
               
              
                mode 
               
              
                 
               
               
               
                 T 
                
                
                
                  C 
                 
                
                  1 
                 
                
               
              
                ) 
               
              
              
              
                ( 
               
               
               
                 T 
                
                
                
                  4 
                 
                 
                 
                   C 
                  
                 
                   1 
                  
                 
                
               
              
                ) 
               
              
             
            
              ∥ 
             
            
           
          
          
          
          
            (3) 
           
          
         
        
       
         \gamma=\left\|2-\frac{\left(t\operatorname{mode}\frac T{C_1}\right)}{\left(\frac T{4C_1}\right)}\right\|\tag{3} 
        
       
     γ= 
              2−(4C1T)(tmodeC1T) 
              (3)
探索所有个体
在KLO算法中,对于每个个体,生成一个具有nVar属性的随机个体IR,并随机选择x个属性进行替换,以模拟探索过程。成年人通过自我反省改进自己,孩子在父母的指导下纠正不合适的行为,这些都体现为算法中的行为矫正操作,帮助个体改进而不变得更糟。在更新过程中,如果新生成个体的成本优于原个体,则以Percent%的概率进行更新;即使新个体成本更高,也有10%的几率选择它,以增加探索潜在更优解的机会。
 
更新儿童与父母
在每次迭代中,整个群体都会被更新,但孩子的更新方式与父母的不同。

 
 
 学生的热情水平(LE):
  
      
       
        
         
          
          
           
           
             L 
            
            
            
              E 
             
            
              i 
             
            
           
             = 
            
           
             L 
            
            
            
              E 
             
            
              min 
             
            
               
             
            
           
             + 
            
           
             ( 
            
           
             L 
            
            
            
              E 
             
            
              max 
             
            
               
             
            
           
             − 
            
           
             L 
            
            
            
              E 
             
            
              min 
             
            
               
             
            
           
             ) 
            
            
             
             
               ( 
              
             
               n 
              
             
               Kids 
              
             
               − 
              
             
               i 
              
             
               ) 
              
             
             
             
               n 
              
             
               Kids 
              
             
            
           
          
          
          
          
            (4) 
           
          
         
        
       
         LE_i=LE_{\min}+(LE_{\max}-LE_{\min})\frac{(n\text{Kids}-i)}{n\text{Kids}}\tag{4} 
        
       
     LEi=LEmin+(LEmax−LEmin)nKids(nKids−i)(4)
 每个儿童会生成一个随机数r,如果r小于一个孩子的热情水平,那么他将向老师学习,否则他将需要额外的辅导和努力来提高:
  
      
       
        
         
          
          
           
           
             x 
            
           
             ( 
            
           
             t 
            
           
             + 
            
           
             1 
            
           
             ) 
            
           
             = 
            
            
            
              { 
             
             
              
               
                
                 
                 
                   X 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   + 
                  
                 
                   γ 
                  
                 
                   λ 
                  
                 
                   ∥ 
                  
                 
                   Teacher 
                  
                 
                   − 
                  
                 
                   T 
                  
                 
                   F 
                  
                 
                   ∗ 
                  
                 
                   M 
                  
                 
                   e 
                  
                 
                   a 
                  
                 
                   n 
                  
                 
                   ∥ 
                  
                 
                   , 
                  
                 
                
               
               
                
                 
                 
                   if  
                  
                 
                   r 
                  
                 
                   < 
                  
                 
                   X 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   . 
                  
                 
                   L 
                  
                 
                   E 
                  
                 
                
               
              
              
               
                
                 
                 
                   BestSol 
                  
                 
                   + 
                  
                 
                   γ 
                  
                 
                   λ 
                  
                 
                   ∥ 
                  
                 
                   X 
                  
                 
                   ( 
                  
                 
                   t 
                  
                 
                   ) 
                  
                 
                   − 
                  
                 
                   BestSol 
                  
                 
                   ∥ 
                  
                 
                   , 
                  
                 
                
               
               
                
                
                  otherwise 
                 
                
               
              
             
            
           
          
          
          
          
            (5) 
           
          
         
        
       
         \left.x(t+1)=\left\{\begin{matrix}X(t)+\gamma\lambda\|\text{Teacher}-TF*Mean\|,&\text{if }r<X(t).LE\\\text{BestSol}+\gamma\lambda\|X(t)-\text{BestSol}\|,&\text{otherwise}\end{matrix}\right.\right.\tag{5} 
        
       
     x(t+1)={X(t)+γλ∥Teacher−TF∗Mean∥,BestSol+γλ∥X(t)−BestSol∥,if r<X(t).LEotherwise(5)

 
 
3.结果展示
论文CEC2017对比
 
4.参考文献
[1] Javed S T, Zafar K, Younas I. Kids Learning Optimizer: social evolution and cognitive learning-based optimization algorithm[J]. Neural Computing and Applications, 2024: 1-49.
5.代码获取
【资源清单】代码资源清单导航~


















