1.はじめに
1
アリコロニーアルゴリズムの概要アリコロニーアルゴリズムACOは、新しいタイプのシミュレートされた進化的アルゴリズムです。このアルゴリズムは、アリコロニーの機能を使用して食物源を検索し、離散システムの最適化におけるいくつかの困難な問題を解決します。巡回セールスマン問題(TSP問題)、割り当て問題、スケジューリング問題などを解決するために使用する必要があり、一連の良好な実験結果が得られています。
単一のアリの行動は非常に単純ですが、そのような単一の個体で構成されるアリのコロニーは非常に複雑な行動を示します。その理由は、個々のアリがフェロモンと呼ばれる一種のフェロモンを通過するためです。物質は情報を伝達します。アリ、それはそれが移動する経路上に物質を残し、その移動方向を導くことができます。アリは物質が強い方向に動く傾向があります。アリのコロニーの移動方向に障害物が発生した場合、アリは最初は均等に分布しているため、経路の長さに関係なく、アリは常に同じ確率でさまざまな経路を選択します。アリは移動経路上にフェロモンを残すことができます。フェロモンの濃度が高いアリが増えると同時に、短い経路ではフェロモンの濃度が高くなるため、短い経路を選択するアリの数が増えます。特定の経路を移動するアリが多いほど、続くアリがこの経路を選択する可能性が高くなり、その結果、短い経路を選択するアリが増え、他の経路(長い経路)を選択するアリはゆっくりと姿を消します。アリのコロニーは、このフェロモン交換を通じて食物を探し、最終的に最適な経路を選択します。これが、アリのコロニーアルゴリズムの生物学的背景と基本原理です。
2アリコロニーアルゴリズムのパフォーマンス分析
次の利点があります。
(1)強力な堅牢性:基本的なアリコロニーアルゴリズムモデルへのわずかな変更を他の問題に適用できます。
(2)分散コンピューティング:アリコロニーアルゴリズムは、人口に基づく進化的アルゴリズムであり、本質的に並列であり、並列での実装が容易です。
(3)他のインテリジェントアルゴリズムとの組み合わせが簡単:アリコロニーアルゴリズムは、アルゴリズムのパフォーマンスを向上させるために、さまざまなヒューリスティックアルゴリズム(粒子群アルゴリズム、遺伝的アルゴリズムなど)と簡単に組み合わせることができます。
アリコロニーアルゴリズムにもいくつかの欠点があります。
(1)長い探索時間:アリのコロニー内の複数の個体の動きはランダムであるため、情報の伝達は最適な経路に向かって進化する可能性がありますが、コロニーが大きい場合、複雑なものから何もない状態に移動することは困難です。チャプターパス間のパス。
(2)停滞行動が発生しやすい:つまり、検索が特定のレベルに進んだ後、すべての個人によって検出された解はまったく同じであり、解空間をさらに検索することはできません。これは、より良い検索に役立ちません。それらがローカル最適に分類されるように、ソリューション。
(3)連続空間の最適化問題への対処が難しい:各段階での各アリの選択は常に限られているため、離散解空間が必要であり、組み合わせ最適化などの離散最適化問題に非常に適しています。 、ただし線形計画法の場合連続空間最適化問題の解を直接適用することはできません。
第二に、ソースコード
%% 基于蚁群算法ACO的函数优化分析
% Designed by Yu Shengwei, From SWJTU University, 2014 08 12
clc % 清屏
clear all; % 删除workplace变量
close all; % 关掉显示图形窗口
warning off
tic; % 计时开始
%% 取值范围
popmax = 5; % 待寻优阈值最大取值初始化
popmin = -5; % 待寻优阈值最小取值初始化
%% 蚁群算法ACO参数初始化
Ant = 100; % 蚂蚁数量
Times = 100; % 蚂蚁移动次数
Rou = 0.8; % 信息素挥发系数
P0 = 0.2; % 转移概率常数
%% 产生初始粒子和速度
for i=1:Ant
% 随机产生一个种群
for j = 1: 2
pop(i,j) = (rand(1,1) * ( popmax-popmin ) + popmin ); % 初始种群个体
end
% 计算适应度
fitness(i) = Fitness_ACO( pop(i,:), 'aco'); % 染色体的适应度
end
% 找最好的染色体
[bestfitness bestindex]=min(fitness); % 最大适应度值
zbest = pop(bestindex,:); % 全局最佳
gbest = pop; % 个体最佳
fitnessgbest = fitness; % 个体最佳适应度值
fitnesszbest = bestfitness; % 全局最佳适应度值
%% 迭代寻优
for T = 1:Times
disp(['迭代次数: ',num2str(T)]) % 迭代次数
lamda = 1/T; % 随着迭代次数进行,蚂蚁信息素挥发参数
[bestfitness, bestindex]=min(fitness); % 找最好的适应度值
ysw(T) = bestfitness; % 存储最好的适应度值
for i=1:Ant
P(T,i)=(fitness(bestindex)-fitness(i))/fitness(bestindex); % 计算状态转移概率
end
% 蚂蚁个体更新
for i=1:Ant
if P(T,i)<P0 % 局部搜索
temp(i,:) = pop(i,:)+(2*rand-1)*lamda;
else % 全局搜索
temp(i,:) = pop(i,:)+(popmax-popmin)*(rand-0.5);
end
% 越界处理
temp(i,find(temp(i,:)>popmax))=popmax;
temp(i,find(temp(i,:)<popmin))=popmin;
% 判断蚂蚁是否移动
if Fitness_ACO( temp(i,:), 'aco') < Fitness_ACO(pop(i,:), 'aco') % 判断蚂蚁是否移动
pop(i,:) = temp(i,:);
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を含む]
[最適化ソリューション] matlab重力検索アルゴリズムに基づく関数最適化分析[Matlabソースコード218を含む]