%% APSO Solver
function [gbest,fbest]=pso_mincon(fhandle,fnonlin,Lb,Ub,para)
if nargin<=4,
para=[20 150 0.95];
end
n=para(1);% 粒子种群大小
time=para(2); %时间步长,迭代次数
gamma=para(3); %gama参数
scale=abs(Ub-Lb); %取值区间
% 验证约束条件是否合乎条件
if abs(length(Lb)-length(Ub))>0,
disp('Constraints must have equal size');
return
end
alpha=0.2; % alpha=[0,1]粒子随机衰减因子
beta=0.5; % 收敛速度(0->1)=(slow->fast);
% 初始化粒子群
best=init_pso(n,Lb,Ub);
fbest=1.0e+100;
% 迭代开始
for t=1:time,
%寻找全局最优个体
for i=1:n,
fval=Fun(fhandle,fnonlin,best(i,:));
% 更新最有个体
if fval<=fbest,
gbest=best(i,:);
fbest=fval;
end
end
% 随机性衰减因子
alpha=newPara(alpha,gamma);
% 更新粒子位置
best=pso_move(best,gbest,alpha,beta,Lb,Ub);
% 结果显示
str=strcat('Best estimates: gbest=',num2str(gbest));
str=strcat(str,' iteration='); str=strcat(str,num2str(t));
disp(str);
fitness1(t)=fbest;
plot(fitness1,'r','Linewidth',2)
grid on
hold on
title('适应度')
end
没有合适的资源?快使用搜索试试~ 我知道了~
matlab-基于matlab的带罚函数的自适应粒子群算法-源码
共12个文件
m:12个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 2 浏览量
2021-09-30
21:22:50
上传
评论
收藏 5KB RAR 举报
温馨提示
matlab_基于matlab的带罚函数的自适应粒子群算法_源码
资源推荐
资源详情
资源评论
收起资源包目录
matlab_基于matlab的带罚函数的自适应粒子群算法_源码.rar (12个子文件)
matlab_基于matlab的带罚函数的自适应粒子群算法_源码
1基于matlab的带罚函数的自适应粒子群算法
Runme.m 371B
func
findrange.m 262B
constraint.m 634B
pso_mincon.m 1KB
newPara.m 85B
getH.m 93B
pso_move.m 315B
init_pso.m 146B
Fun.m 155B
cost.m 89B
getconstraints.m 328B
geteqH.m 95B
共 12 条
- 1
资源评论
mYlEaVeiSmVp
- 粉丝: 1944
- 资源: 19万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功