✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
本研究提出了一种新颖的加权平均 F 向量优化器(INFO) ,用于不同问题的优化。INFO 是一种改进的加权平均方法,其中加权平均思想被用于实体结构和更新向量的位置使用三个核心程序: 更新规则,向量组合和局部搜索。更新规则阶段基于均值法和收敛加速度生成新的向量。该向量组合阶段将获得的向量与更新规则相结合,得到一个有希望的解。改进了 INFO 中的更新规则和向量组合步骤,提高了勘探开发能力。此外,局部搜索阶段有助于该算法避免低精度解,提高开发和收敛性。利用48个数学试验函数和5个约束工程试验案例,包括10个油藏系统和4个油藏系统的优化设计,对 INFO 的性能进行了评价。根据文献资料,结果表明,INFO 方法在勘探和开发方面优于其他基本方法和先进方法。在工程问题的情况下,结果表明,INFO 可以收敛到全局最优解的0.99% 。因此,INFO 算法是优化问题最优化设计的一个有前途的工具,这是由于该算法在约束情况下的优化效率相当高。
⛄ 部分代码
%---------------------------------------------------------------------------------------------------------------------------
% weIghted meaN oF vectOrs (INFO)
clear
close all
clc
nP=30; % Number of Population
Func_name='F16'; % Name of the test function, range from F1-F23
MaxIt=500; % Maximum number of iterations
% Load details of the selected benchmark function
% [lb,ub,dim,fobj]=BenchmarkFunctions(Func_name);
[lb,ub,dim,fobj]=Get_Functions_details(Func_name);
[Best_fitness,BestPositions,Convergence_curve] = INFO(nP,MaxIt,lb,ub,dim,fobj);
%% Draw objective space
figure('Position',[290 206 648 287])
%Draw the search space
subplot(1,2,1);
func_plot(Func_name);
title('Test function')
xlabel('x_1');
ylabel('x_2');
zlabel([Func_name,'( x_1 , x_2 )'])
grid off
shading interp;
light;
lighting phong;
shading interp;
%Draw the convergence curve
subplot(1,2,2);
hold on
semilogy(Convergence_curve,'Color','r','LineWidth',4);
title('Convergence curve')
xlabel('Iteration');
ylabel('Best fitness obtained so far');
axis tight
grid off
box on
legend('INFO')
⛄ 运行结果
⛄ 参考文献
[1] Iman Ahmadianfar, Ali Asghar Heidari, Saeed Noshadian. INFO: An efficient optimization algorithm based on weighted mean of vectors[J]. Expert Systems With Applications, 2022, 195: 116516.