[最適化ソリューション] matlab重力探索アルゴリズムに基づく関数最適化分析[Matlabソースコード218を含む]

1.はじめに

重力探索アルゴリズム(重力探索アルゴリズム、GSA)は、2009年にイランのカーマン大学のEsmat Rashedi et al。によって提案された新しいヒューリスティック最適化アルゴリズムです。これは、物理学で重力をシミュレートすることによって生成された母集団から導出されます。インテリジェント最適化アルゴリズム。重力探索アルゴリズムGSAの原理は、探索粒子を空間内を移動するオブジェクトのグループとして扱うことです。オブジェクトは重力相互作用によって引き付けられ、オブジェクトの移動はダイナミクスの法則に従います。値が適度に大きい粒子は慣性質量が大きいため、万有引力によってオブジェクトが最も重いオブジェクトに向かって移動し、それによって最適化問題の最適解に徐々に近づきます。万有引力探索アルゴリズムGSAは、強力なグローバル探索機能と収束速度を備えています。GSAの理論研究の進展に伴い、その応用はますます広範になり、国内外の学者の注目を徐々に集めています。ただし、万有引力探索アルゴリズムGSAは、他のグローバルアルゴリズムと同様に、局所解に陥りやすい、解の精度が商ではないなどの問題があり、改善すべき点がたくさんあります。この章では、プログラミング愛好家の大多数に最も基本的な重力アルゴリズムを紹介することに焦点を当てます。各プログラミング研究者は、この章のアルゴリズムを改善して、実際のケースに適用できます。
ここに画像の説明を挿入
1慣性質量計算
ここに画像の説明を挿入
2重力計算
ここに画像の説明を挿入
3位置更新
ここに画像の説明を挿入
4パラメータ分析
ここに画像の説明を挿入
5万有引力アルゴリズムの実装プロセス
ここに画像の説明を挿入

第二に、ソースコード

% 万有引力搜索算法
clc,clear,close all
warning off
feature jit off
 N=50;           % 粒子数量(智能个体)
 max_it=1000;    % 最大迭代次数
 ElitistCheck=1; % ElitistCheck: 算法执行次数选择
 Rpower=1;       % Rpower: 'R'的次方
 min_flag=1;     % 1: 求函数最小值,0:求函数最大值
 F_index=1;      % 带求解函数选择
 [Fbest,Lbest,BestChart,MeanChart]=GSA(F_index,N,max_it,ElitistCheck,min_flag,Rpower);
 %  输出:
% Fbest: 最优适应度值.
% Lbest: 最优解向量
% BestChart: 适应度变化值.
% MeanChart: 平均适应度变化值
 Fbest,  % 最优适应度值
 Lbest,  % 最优解
%% 绘制适应度曲线
figure('color',[1,1,1])
plot(BestChart,'linewidth',2),
xlabel('\fontsize{12}\bf Iteration');ylabel('\fontsize{12}\bf 最优适应度值');
legend('\fontsize{10}\bf GSA',1);
grid on
% 万有引力搜索算法
function [Fbest,Lbest,BestChart,MeanChart]=GSA(F_index,N,max_it,ElitistCheck,min_flag,Rpower)
%V:   速度
%a:   加速度
%M:   质量.  Ma=Mp=Mi=M;
%dim: 待求解未知量维数
%N:   智能粒子个数
%X:   种群个体位置. dim-by-N matrix.
%R:   种群之间的距离
%[low-up]: 取值范围
%Rnorm:  范数
%Rpower: Power of R 
Rnorm=2;  % 2阶范数,即欧氏距离
% 获取待求解目标方程的未知数个体以及取值范围
[low,up,dim]=test_functions_range(F_index); 
% 随机的初始化个体
X=initialization(dim,N,up,low); 
% 适应度值数组初始化
BestChart=[];
MeanChart=[];
V=zeros(N,dim); % 速度初始化
for iteration=1:max_it  % 迭代开始
%     iteration
    
    % 检查x个体是否在取值范围内
    X=space_bound(X,up,low); 
    % 计算适应度值
    fitness=evaluateF(X,F_index); 
    
    if min_flag==1
        [best best_X]=min(fitness); %minimization.
    else
        [best best_X]=max(fitness); %maximization.
    end        
    
    if iteration==1
       Fbest=best;Lbest=X(best_X,:);
    end
    if min_flag==1
      if best<Fbest  % 极小值求解
       Fbest=best;Lbest=X(best_X,:);
      end
    else 
      if best>Fbest  % 极大值求解
       Fbest=best;Lbest=X(best_X,:);
      end

3、実行中の結果

ここに画像の説明を挿入
ここに画像の説明を挿入

四、備考

完全なコードまたは書き込み追加QQ1564658423過去のレビュー
>>>>>>
[最適化] matlab粒子群最適化に基づくグレイウルフアルゴリズム[Matlabソースコード006を含む]
[最適化] matlab多目的グレイウルフ最適化アルゴリズムMOGWOに基づく[Matlabを含むソースコードの問題007]
[最適化されたソリューション] matlab粒子群アルゴリズムに基づく充電ステーションの最適なレイアウト[Matlabソースコード012を含む]
[最適化されたソリューション] matlab遺伝子アルゴリズムに基づく複数移動セールスマンの問題[Matlabソースコード016を含む]
[最適化解決策】matlab遺伝子アルゴリズムに基づいて最短パスを見つける[Matlabソースコード023を含む]
[最適化ソリューション] matlab遺伝子およびシミュレートされたアニーリングに基づく3Dパッキング問題[Matlabソースコード031を含む]
[最適化ソリューション]車両出発間隔の最適化を解決するmatlab遺伝子アルゴリズムに基づく問題[Matlabソースコード132を含む]
[最適化ソリューション] Krillswarmアルゴリズム[matlabソースコード133を含む]
[最適化ソリューション]微分進化アルゴリズム[Matlabソースコード134を含む]
[最適化ソリューション]に基づくペナルティ関数法matlab制約の最適化[Matlabソースコード163期間を含める]
[最適化ソリューション]重油熱分解モデルを解決するためのmatlab改良グレイウルフアルゴリズムに基づく[Matlabソースコード164期間を含める]
[最適化ソリューション] matlabantコロニーアルゴリズム配布ネットワーク障害に基づく場所[Matlabソースコード165期間を含む]
[島の材料補充最適化問題を解決するためのmatalb遺伝子アルゴリズムに基づく最適化ソリューション[Matlabソースコード172を含む]
[最適化ソリューション]コロナウイルス集団免疫最適化アルゴリズム(CHIO)[Matlabソースコード186を含む]
[最適化ソリューション]ゴールデンイーグル最適化アルゴリズム(GEO))【Matlabソースコード187期間を含める]
[多目的最適化ソリューション] matlabゴールデンイーグルアルゴリズム(MOGEO)に基づく多目的最適化ソリューション[Matlabソースコード188を含む]
[最適化ソリューション] matlabGUIインターフェイスに基づくBPニューラルネットワーク最適化ソリューション[Matlabソースコード208]
[最適化ソリューション] matlabGUIインターフェイスに基づく遺伝的アルゴリズム最適化ソリューション[Matlabソースコード209を含む]
[最適化ソリューション] matlab免疫アルゴリズムに基づく数値近似最適化分析[Matlabソースコード211を含む]
[最適化ソリューション] matlabヒューリスティックアルゴリズムに基づく関数最適化分析[Matlabソースコード212を含める]
[最適化ソリューション] MATLAB改良遺伝的アルゴリズム(GA + IGA)に基づく都市交通信号の最適化[Matlabソースコード213期間を含める]
[最適化ソリューション] MATLAB改良遺伝的アルゴリズムGAに基づく都市交通信号の最適化[ Matlabソースコード214期間を含む]

[最適化ソリューション] matalb改良遺伝子アルゴリズムIGAに基づく都市交通信号の最適化[Matlabソースコード215を含む]
[最適化ソリューション] Matlabペナルティ関数ベースの粒子群最適化関数最適化[Matlabソースコード216を含む]
[最適化ソリューション]関数最適化分析matlab細菌採餌アルゴリズムに基づく[Matlabソースコード217を含む]

おすすめ

転載: blog.csdn.net/TIQCmatlab/article/details/113642950
おすすめ