2023年最新智能优化算法之——切诺贝利灾难优化器 (CDO),附MATLAB代码和文献

切诺贝利灾难优化器Chernobyl Disaster Optimizer (CDO)是H. Shehadeh于2023年提出的新型智能优化算法。该方法是受到切尔诺贝利核反应堆堆芯爆炸而来的启发。在CDO方法中,放射性的发生是由于核的不稳定性,核爆炸会发出不同类型的辐射。这些辐射中最常见的种类被称为伽马、贝塔和阿尔法粒子。算法主要围绕三种粒子的更新方式展开。

6038b6c6a80101866e52a16a3c2f427f.png

01

bf4cdafb088d04c8c9f6ba817fbc0cf6.png


经作者查阅文献发现,该方法其实与灰狼算法有很大的相似性,大家可以作为参考。在CEC2005函数中结果展示:

ddba1cf55bf8ffe6b21f276970ccc318.png

e0727a8767795ecd5f3410968917d705.png

76689a328227ed6d366a4a9eb9d1e341.png

f6217747251cc706668dd69d6a9cb893.png

% CDO函数,该算法与灰狼算法很像
function [Alpha_score,Alpha_pos,Convergence_curve]=CDO(SearchAgents_no,Max_iter,lb,ub,dim,fobj)
 
% initialize alpha, beta, and gamma particle positions (search radiations (Agents)) 
Alpha_pos=zeros(1,dim);
Alpha_score=inf; %change this to -inf for maximization problems
 
Beta_pos=zeros(1,dim);
Beta_score=inf; %change this to -inf for maximization problems
 
Gamma_pos=zeros(1,dim);
Gamma_score=inf; %change this to -inf for maximization problems
 
%Initialize the positions of search radiations (Agents)
Positions=initialization(SearchAgents_no,dim,ub,lb);
 
Convergence_curve=zeros(1,Max_iter);
 
l=0;% Loop counter
 
% Main loop
while l<Max_iter
    for i=1:size(Positions,1)  
        
       % Return back the search radiations (Agents) that go beyond the boundaries of the search space
        Flag4ub=Positions(i,:)>ub;
        Flag4lb=Positions(i,:)<lb;
        Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;               
        
        % Calculate objective function for each search radiations (Agents)
        fitness=fobj(Positions(i,:));
        
        % Update Alpha, Beta, and Gamma - search radiations (Agents)
       if fitness<Alpha_score 
          Alpha_score=fitness; % Update alpha
          Alpha_pos=Positions(i,:);
        end
        
        if fitness>Alpha_score && fitness<Beta_score 
            Beta_score=fitness; % Update beta
            Beta_pos=Positions(i,:);
        end
        
        if fitness>Alpha_score && fitness>Beta_score && fitness<Gamma_score 
            Gamma_score=fitness; % Update gamma
            Gamma_pos=Positions(i,:);
        end
      
    end
    
    a=3-l*((3)/Max_iter); % a decreases linearly from 3 to 0 Equation(9)
    
    a1 = ((log10((16000-1)*rand(1,1)+16000)));
    a2 = ((log10((270000-1)*rand(1,1)+270000)));
    a3 = ((log10((300000-1)*rand(1,1)+300000)));  
            
            
    % Update the Position of search radiations (Agents)
    for i=1:size(Positions,1)
        for j=1:size(Positions,2)     
             
            %------------------- alpha------------------------------           
 
            r1=rand(); % r1 is a random number in [0,1]
            r2=rand(); % r2 is a random number in [0,1]
            pa=pi*r1*r1/(0.25*a1)- a*rand() ; % Equation (23)
            C1=r2*r2*pi; 
            
            D_alpha=abs(C1*Alpha_pos(j)-Positions(i,j)); 
            va=0.25*(Alpha_pos(j)-pa*D_alpha); % Equation (22)
            
            %------------------- Beta------------------------------           
            r1=rand();
            r2=rand();
            pb=pi*r1*r1/(0.5*a2)- a*rand()  ; % Equation (17)
            C2=r2*r2*pi; 
            
            D_beta=abs(C2*Beta_pos(j)-Positions(i,j)); 
            vb=0.5*(Beta_pos(j)-pb*D_beta); % Equation (16)      
            
           %------------------- Gamma ------------------------------           
 
            r1=rand();
            r2=rand(); 
            py=(pi*r1*r1)/a3- a*rand() ; % Equation (11)
            C3=r2*r2*pi; 
            
            D_gamma=abs(C3*Gamma_pos(j)-Positions(i,j));
            vy=Gamma_pos(j)-py*D_gamma; % Equation (10)             
            Positions(i,j)=(va+vb+vy)/3;% Equation (28)
            
        end
    end
    l=l+1;    
    Convergence_curve(l)=Alpha_score;
end

03

参考文献

[1]H. Shehadeh.Chernobyl Disaster Optimizer (CDO): A Novel Metaheuristic Method for Global Optimization, Neural Computing and Applications. DOI: https://dx.doi.org/10.1007/s00521-023-08261-1

04代码获取方式:后台回复关键词:2023

免费获取2023年智能优化算法合集matlab代码

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: 2023最新优化算法包括霜冰优化算法(Rime optimization algorithm)和诺贝灾难优化器(CDO: Chernobyl Disaster Optimizer)。霜冰优化算法是Hang Su于20232月提出的,通过模拟软霜冰粒子的运动,提出了一种用于算法搜索的霜冰搜索策略\[1\]。诺贝灾难优化器是H. Shehadeh于2023提出的一种全局优化的元启发式方法,它通过模拟诺贝灾难中的辐射扩散过程来进行优化\[3\]。这些算法的提出为解决复杂问题提供了新的思路和方法。 #### 引用[.reference_title] - *1* [2023智能优化算法之霜冰优化算法MATLAB代码,直接复制](https://blog.csdn.net/woaipythonmeme/article/details/131618598)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [2023最新智能优化算法之——IBI逻辑优化算法(IBL),MATLAB代码](https://blog.csdn.net/woaipythonmeme/article/details/131322393)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [2023最新智能优化算法之——诺贝灾难优化器Chernobyl Disaster Optimizer (CDO),MATLAB代码文献](https://blog.csdn.net/woaipythonmeme/article/details/131288863)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

淘个代码_

不想刀我的可以选择爱我

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

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

打赏作者

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

抵扣说明:

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

余额充值