2018.7.19
粒子群演算法
function [xm,fv] = pso( fitness,n,c1,c2,w,m,d )
%本函式用粒子群演算法實現優化
%%%%給定初始化條件
% c1 學習因子1
% c2 學習因子2
% w 慣性權重
% m 最大迭代次數
% d 搜尋空間維數
% n 初始化群體個體數目
% [xm,fv] = pso( fitness,n,c1,c2,w,m,d )
%%%%%%初始化種群的個體(可以限定位置和速度的範圍)%%%%%%
format long;
for i=1:n
for j=1:d
x(i,j)=randn; %以正態分佈隨機初始化位置
v(i,j)=randn;
endend%%%%先計算各個粒子的適應度,並初始pi和pg
for i=1:n
p(i)=fitness(x(i,:));
y(i,:)=x(i,:);
endpg=x(n,:); %pg為全域性最優
for i=1:(n-1)
if fitness(x(i,:))用matlab實現的第乙個智慧型演算法,應該紀念一下,雖然有些模糊,不過還是大致看懂了。
以前認為非常高大上+困難的東西 或許不過如此
不過越是感到好理解,越能體會到智慧型演算法的有趣和實用性,以及裡面蘊含的博大精深的智慧型。
明天繼續學習遺傳演算法
智慧型的魅力,在於有人。
PSO粒子群演算法及matlab實現
1原理 根據鳥類尋食的仿生學,結合個體的最優解和群體的最優解不斷地迭代來尋找區域的最優解。在n維的目標空間中,有m個粒子組成乙個群體,第i個粒子的位置表示為 每個位置對應乙個潛在解,把 代入適應函式中即可得到對應的適應值。粒子個體經過的最好的位置為 整個群體的最優位置為 粒子i的速度為 粒子群位置根...
粒子群優化的matlab實現
在youtube上依葫蘆畫瓢寫了乙個matlab的粒子群演算法來實現多變數函式的優化,程式最終能輸出迭代後的最優解,並以半對數座標的形式展示出每一代的最優解。對於不同的問題只需修改costfunction 待優化的函式 nvar 待優化函式的變數個數 varmin和varmax 待優化函式變數的上下...
粒子群演算法(PSO)介紹及matlab實現
pso模擬鳥群的捕食行為。設想這樣乙個場景 一群鳥在隨機搜尋食物。在這個區域裡只有一塊食物。所有的鳥都不知道食物在那裡。但是他們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。由於每個鳥都不知道食物在 但是卻知道距離多遠,所以每次可以知...