資源簡介
基于粒子群算法的多目標搜索算法,結合具體的案例進行了分析,驗證了粒子群算法的可行性
代碼片段和文件信息
%%?該函數演示多目標perota優化問題
%清空環境
clc
clear
load?data
%%?初始參數
objnum=size(P1);?%類中物品個數
weight=92;????????%總重量限制
%初始化程序
Dim=5;?????%粒子維數
xSize=50;??%種群個數
MaxIt=200;?%迭代次數
c1=0.8;????%算法參數
c2=0.8;????%算法參數?
wmax=1.2;??%慣性因子
wmin=0.1;??%慣性因子
x=unidrnd(4xSizeDim);??%粒子初始化
v=zeros(xSizeDim);??????%速度初始化
xbest=x;???????????%個體最佳值
gbest=x(1:);??????%粒子群最佳位置
%?粒子適應度值?
px=zeros(1xSize);???%粒子價值目標
rx=zeros(1xSize);???%粒子體積目標
cx=zeros(1xSize);???%重量約束
%?最優值初始化
pxbest=zeros(1xSize);?%粒子最優價值目標
rxbest=zeros(1xSize);?%粒子最優體積目標
cxbest=zeros(1xSize);??%記錄重量,以求約束
%?上一次的值
pxPrior=zeros(1xSize);%粒子價值目標
rxPrior=zeros(1xSize);%粒子體積目標
cxPrior=zeros(1xSize);%記錄重量,以求約束
%計算初始目標向量
for?i=1:xSize
????for?j=1:Dim?%控制類別
????????px(i)?=?px(i)+P(x(ij)j);??%粒子價值
????????rx(i)?=?rx(i)+R(x(ij)j);??%粒子體積
????????cx(i)?=?cx(i)+C(x(ij)j);??%粒子重量
????end
end
%?粒子最優位置
pxbest=px;rxbest=rx;cxbest=cx;
%%?初始篩選非劣解
flj=[];
fljx=[];
fljNum=0;
%兩個實數相等精度
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????422??2010-12-28?22:11??chapter10\data.mat
?????文件????????6048??2010-12-28?22:11??chapter10\main.m
?????目錄???????????0??2018-01-02?21:38??chapter10\
評論
共有 條評論