1. 粒子群優化演算法的PSO

這個屬於多目標優化問題,你可以把參考價格、外觀樣式、網路類型、屏幕參數和攝像頭像素等分別給予不同的權重值,作為一個目標函數,目標函數值就是綜合評價得分,然後用微粒群演算法求解。

2. 怎麼把以下的粒子群演算法改成求最小值的優化程序

我文庫中有詳細註解的MATLAB粒子群演算法程序,你只需改動目標函數和幾個參數即可。
希望對你有所幫助

3. 粒子群優化演算法優化pid控制參數程序

這個關鍵是建立評價指標,比如採用超調量、響應時間,或者ITAE等指標最大或者最小,這樣就可以通過粒子群演算法來不斷修正PID參數,從而優化參數了。
一般來講這樣的優化只能離線,不能在線

4. 粒子群演算法優化相關書籍

我正在做關於改進pso演算法的程序,參考的是《精通matlab最優化計算》一書,電子工業出版社出版,龔純 王正林編著。
粒子群演算法本身原理不算復雜,網上即可搜到足夠的相關內容。如果看書的話,深圳大學基金項目有一本專著《粒子群演算法》可以作為輔助參考。
Matlab就看電子工業出版社出版的相關叢書即可,裡面內容非常豐富,詳盡。

5. 粒子群演算法優化支持向量機參數的matlab演算法,小弟畢設做這個課題,非常感謝!

參照書籍 工程優化設計與Matlab實現 李萬祥主編 清華大學出版社2010.2月出版 有源程序 不過裡面的M文件沒有電子版 得自己輸 精通MATLAB最優化計算 這本書里也有

6. 粒子群優化演算法(PSO)的matlab運行程序~~謝謝大家啦!

%不知道你具體的問題是什麼,下面是一個最基本的pso演算法解決函數極值問題,如果是一些大型的問題,需要對速度、慣性常數、和自適應變異做進一步優化,希望對你有幫助
function y = fun(x)
y=-20*exp(-0.2*sqrt((x(1)^2+x(2)^2)/2))-exp((cos(2*pi*x(1))+cos(2*pi*x(2)))/2)+20+2.71289;
%下面是主程序
%% 清空環境
clc
clear

%% 參數初始化
%粒子群演算法中的兩個參數
c1 = 1.49445;
c2 = 1.49445;

maxgen=200; % 進化次數
sizepop=20; %種群規模

Vmax=1;%速度限制
Vmin=-1;
popmax=5;%種群限制
popmin=-5;

%% 產生初始粒子和速度
for i=1:sizepop
%隨機產生一個種群
pop(i,:)=5*rands(1,2); %初始種群
V(i,:)=rands(1,2); %初始化速度
%計算適應度
fitness(i)=fun(pop(i,:)); %染色體的適應度
end

%找最好的染色體
[bestfitness bestindex]=min(fitness);
zbest=pop(bestindex,:); %全局最佳
gbest=pop; %個體最佳
fitnessgbest=fitness; %個體最佳適應度值
fitnesszbest=bestfitness; %全局最佳適應度值

%% 迭代尋優
for i=1:maxgen

for j=1:sizepop

%速度更新
V(j,:) = V(j,:) + c1*rand*(gbest(j,:) - pop(j,:)) + c2*rand*(zbest - pop(j,:));
V(j,find(V(j,:)>Vmax))=Vmax;
V(j,find(V(j,:)<Vmin))=Vmin;

%種群更新
pop(j,:)=pop(j,:)+0.5*V(j,:);
pop(j,find(pop(j,:)>popmax))=popmax;
pop(j,find(pop(j,:)<popmin))=popmin;

%自適應變異(避免粒子群演算法陷入局部最優)
if rand>0.8
k=ceil(2*rand);%ceil朝正無窮大方向取整
pop(j,k)=rand;
end

%適應度值
fitness(j)=fun(pop(j,:));

%個體最優更新
if fitness(j) < fitnessgbest(j)
gbest(j,:) = pop(j,:);
fitnessgbest(j) = fitness(j);
end

%群體最優更新
if fitness(j) < fitnesszbest
zbest = pop(j,:);
fitnesszbest = fitness(j);
end

end
yy(i)=fitnesszbest;

end

%% 結果分析
plot(yy)
title(['適應度曲線 ' '終止代數=' num2str(maxgen)]);
xlabel('進化代數');ylabel('適應度');

7. 一種更簡化而高效的粒子群優化演算法 怎麼樣

針對基本粒子群優化(basic particle swarm optimization,簡稱bPSO)演算法容易陷入局部極值、進化後期的收斂速度慢和精度低等缺點,採用簡化粒子群優化方程和添加極值擾動運算元兩種策 略加以改進,提出了簡化粒子群優化(simple particle swarm optimization,簡稱sPSO)演算法、帶極值擾動粒子群優化(extremum disturbed particle swarm optimization,簡稱tPSO)演算法和基於二者的帶極值擾動的簡化粒子群優化(extremum disturbed and simple particle swarm optimization,簡稱tsPSO)演算法.sPSO去掉了PSO進化方程的粒子速度項而使原來的二階微分方程簡化為一階微分方程,僅由粒子位置控 制進化過程,避免了由粒子速度項引起的粒子發散而導致後期收斂變慢和精度低問題.tPSO增加極值擾動運算元可以加快粒子跳出局部極值點而繼續優化.對幾個 經典測試函數進行實驗的結果表明,sPSO能夠極大地提高收斂速度和精度;tPSO能夠有效擺脫局部極值點;以上兩種策略相結合,tsPSO以更小的種群 數和進化世代數獲得了非常好的優化效果,從而使得PSO演算法更加實
建議你在網路學術裡面查詢一些相關文檔,對你寫論文應該有幫助。

8. 關於粒子群演算法的目標函數優化,優化函數如下圖

function main()
clc;clear all;close all;
tic; %程序運行計時
E0=0.001; %允許誤差
MaxNum=100; %粒子最大迭代次數
narvs=1; %目標函數的自變數個數
particlesize=30; %粒子群規模
c1=2; %每個粒子的個體學習因子,也稱為加速常數
c2=2; %每個粒子的社會學習因子,也稱為加速常數
w=0.6; %慣性因子
vmax=0.8; %粒子的最大飛翔速度
x=-5+10*rand(particlesize,narvs); %粒子所在的位置
v=2*rand(particlesize,narvs); %粒子的飛翔速度
%用inline定義適應度函數以便將子函數文件與主程序文件放在一起,
%目標函數是:y=1+(2.1*(1-x+2*x.^2).*exp(-x.^2/2))
%inline命令定義適應度函數如下:
fitness=inline('1/(1+(2.1*(1-x+2*x.^2).*exp(-x.^2/2)))','x');
%inline定義的適應度函數會使程序運行速度大大降低
for i=1:particlesize
for j=1:narvs
f(i)=fitness(x(i,j));
end
end
personalbest_x=x;