zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【减速机设计、焊接梁设计、拉伸/压缩弹簧设计、压力容器设计】用于准确快速建模光伏模块/组串发生器的NLBBODE优化器及其在解决实际约束优化问题中的应用(Matlab代码实现)

MATLAB建模应用模块代码 实现 解决 快速
2023-09-14 09:05:24 时间

 👨‍🎓个人主页:研学社的博客  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

本文用于准确快速建模光伏模块/组串发生器的NLBBODE优化器及其在解决实际约束优化问题中的应用。

要解决问题,请在“test_case”中选择相应的数字;主代码文件中的第 16 行。问题的顺序如下:

  1. 多片盘式离合器制动器设计问题。
  2. 减速机设计问题
  3. 焊接梁设计问题
  4. 拉伸/压缩弹簧设计问题
  5. 压力容器设计问题
  6. 光伏组件/串建模问题。

📚2 运行结果

主函数代码:

% Settings parameters of Optimizer
    NP=30;            % Number of population(Population Size)   
    nbrloop = 1;     % Number loops (for Standard Deviation StD calculation)
    NFE_max=50000;    % Maximum number of Function Evaluation (Number of Cost function calls)    
    limo = 6000;      % Relative limit for reaching the best NFE
    
%%%%%% Settings for cost function selection
    test_case = 6;    % Put here the number of the problem as mentinned below
    
switch test_case
    case 1
   fun = 1; 
% Cost Function for Multi-plate disc clutch brake design problem

    case 2
   fun = 2;
% Cost Function for Speed reducer design problem     

    case 3
  fun = 3;
% Cost Function for Welded beam design problem       

    case 4
  fun = 4;
% Cost Function for the Tension/compression spring design problem  

    case 5
  fun = 5;
% Cost Function for the Pressure vessel design problem   

    case 6
  fun = 6;
% Cost Function for RMSE_photovmodel (Here the RTC France cell in SDM is chosen, for the other problems go to the RMSE_photovmodel function file and chose the corresponding problem)
    otherwise
          disp('Unkown test case or still under preperation');
          return
end

[Tab_Records,VALI_ind]=NLBBODE(fun,NFE_max,nbrloop,NP,limo);

%% Cost Function Plot (Fitness function graph)
figure1 = figure;
axes1 = axes('Parent',figure1);
hold(axes1,'on');
semilogy(Tab_Records(VALI_ind,:),'DisplayName','A','LineWidth',3);
xlabel('Number of function evaluations');
title('Welded beam design');   
ylabel('Objective function (log)');
xlim(axes1,[0 50000]);
box(axes1,'on');
set(axes1,'FontName','Times','FontSize',12,'YGrid','on','YMinorTick','on','YScale','log');

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Belkacem Aoufi, Oussama Hachana, Mohamed Amine Sid, Giuseppe Marco Tina (2023) NLBBODE optimizer for accurate and fast modeling of photovoltaic module/string generator and its application to solve real-world constrained optimization problems

🌈4 Matlab代码实现