哪位大神指点一下粒子群优化算法(PSO)的输入和输入分别是什么

哪位大神指点一下粒子群优化算法(PSO)的输入和输入分别是什么,第1张

PSO的接口楼上已经说了,我跟你说下关于你的图像聚类的问题怎么选适应度函数,聚类的目的一般是选出C个质心,采用近邻原则通过C个质心对样本点进行聚类。

所以关于你的问题,首先要确定你想聚类成几类,假设为C类

初始化每个粒子的位置向量为C个质心的位置(假设你的样本维数D,初始化每一个粒子为一个CD的向量)

适应度函数:计算每个样本点到C个质心的位置,选择最短的距离,假设d,计算所有样本的距离d相加,这就是适应度函数

下面的代码是量子群优化算法,你参照着改下:

popsize=20;

MAXITER=2000;

dimension=30;

irange_l=-512;

irange_r=512;

xmax=10;

sum1=0;

sum2=0;

mean=0;

st=0;

runno=10;

data1=zeros(runno,MAXITER);

for run=1:runno

T=cputime;

x=(irange_r- irange_l)rand(popsize,dimension,1) + irange_l;

pbest=x;

gbest=zeros(1,dimension);

for i=1:popsize

f_x(i)=f3(x(i,:));

f_pbest(i)=f_x(i);

end

g=min(find(f_pbest==min(f_pbest(1:popsize))));

gbest=pbest(g,:);

f_gbest=f_pbest(g);

MINIUM=f_pbest(g);

for t=1:MAXITER

beta=(1-05)(MAXITER-t)/MAXITER+05;

mbest=sum(pbest)/popsize;

for i=1:popsize

fi=rand(1,dimension);

p=fipbest(i,:)+(1-fi)gbest;

u=rand(1,dimension);

b=beta(mbest-x(i,:));

v=-log(u);

y=p+((-1)^ceil(05+rand(1,dimension)))bv;

x(i,:)=y;

x(i,:)=sign(y)min(abs(y),xmax);

f_x(i)=f3(x(i,:));

if f_x(i)<f_pbest(i)

pbest(i,:)=x(i,:);

f_pbest(i)=f_x(i);

end

if f_pbest(i)<f_gbest

gbest=pbest(i,:);

f_gbest=f_pbest(i);

end

MINIUM=f_gbest;

end

data1(run,t)=MINIUM;

if MINIUM>1e-007

mean=t;

end

end

sum1=sum1+mean;

sum2=sum2+MINIUM;

%MINIUM

time=cputime-T;

st=st+time;

end

av1=sum1/10; %输出平均收验代数

av2=sum2/10; %输出平均最优解

st/10 %就是最后anw输出的解

随着分布式电源(distributed generation,DG)在配电网中安装比例逐年增加,配电自动化应加强对DG的优化调度功能,发挥DG对配电网优化的有利作用。配电网重构是配电网优化的重要措施,DG联网后,DG注入配电网功率直接影响配电网重构结果。为使配电网性能达到整体最优,提出了一种基于粒子群优化算法(particle swarm optimization,PSO)的配电网重构和DG注入功率综合优化算法。该算法根据PSO并行计算的特点,采用PSO和二进制粒子群优化算法(binary particle swarm optimization,BPSO)相结合的方式,对转换开关状态和DG注入功率2种控制变量同时处理,达到配电网网损、电压偏差最小的目的。将DG作为可调度设备,对配电网重构和DG注入功率进行综合优化,提高了含DG配电网的电能质量和供电可靠性。将该算法应用到3馈线配电系统,仿真结果验证了所提算法的有效性。

解决方案1:

m

;unitcircle;;\\\m

\;;\\\psoplotswarmm

m

;ackleysfcnm

;psoiterate;psopt20100414\;;m

;voidm

\m

m

;initstate\\\;\;;;;dropwavefcnm

\\\\m

\m

\\\m

;;;rosenbrocksfcn;griewangksfcn;;\\m

\;testfcns

\\\;templatefcn\\;;m

;m

\;\;;license;;;rastriginsfcn;pso;;psogenerateoutputmessage\;testfcn1\unitdiskm

\;psocheckbounds\m

;\\;\\;;\\\m

\\;psocheckinitialpopulation\\;overlaysurface\psorunhybridfcn;;psooptimset;heart;psoplotswarmsurf;psopt\;\\\releasenotes\\m

m

\\\;\\\;\\psocheckpopulationinitrange\\\\\;m

;private\\\\;\;\;testfcns\;;quadrifolium\m

;;;;langermannsfcn;\;m

\;overlaycontour\\\\\\;psoplotscorediversity;nonlinearconstrdemo\m

;;;psocreationuniform\;m

m

;;private

\;\;psodemom

\;;;\;;dejongsfcn\\\\\\m

;;psoplotbestf;m

;schwefelsfcn;\;\\\\;m

\;m

txt

txt

m

我来说一种可行但不唯一的方案:

PSO求适应度函数F=f(x1,x2,,xn)的最小值,如果你想添加比如x1+x2<2这样的不等式,就可以在计算完适应度函数F后,判断变量是否满足你所要求的约束不等式,如果不满足,则可以给适应度函数值加入一个惩罚因子,比如原先函数值是215,加入惩罚因子inf(无穷大),就使得适应度函数值变成了无穷大,这就达到了约束的效果;而如果满足约束不等式,就不加入惩罚因子。

就是这样子,不懂追问。

以上就是关于哪位大神指点一下粒子群优化算法(PSO)的输入和输入分别是什么全部的内容,包括:哪位大神指点一下粒子群优化算法(PSO)的输入和输入分别是什么、求把MATLAB的pso源代码算法修改为 qpso算法 要求返回参数相同、求大神给一个分布式电源在配电网优化配置的matlab程序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10067320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存