资源简介
带有约束条件的粒子群算法代码pso.m
代码片段和文件信息
% 改进的快速粒子群优化算法 (APSO)
function apso
clear all;
Lb=[0.9 0.9 0 0.75 0 0]; %下边界
Ub=[1 1 1 1 12 2500]; %上边界
% 默认参数
para=[25 250 0.95]; %[粒子数,迭代次数,gama参数]
% APSO 优化求解函数
[gbestfmin]=pso_mincon(@cost@constraintLbUbpara);
% 输出结果
Bestsolution=gbest % 全局最优个体
fmin
%% 目标函数
function f=cost(x)
%s=[0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0];%内燃机工作状态
%a=[1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1];%制冷剂工作12小时
%c=[0.524;0.524;0.524;0.524;0.524;0.524;0.524;0.524;0.875;0.875;0.875;1.217;1.217;1.217;1.217;1.217;0.875;0.875;0.875;1.217;1.217;1.217;0.875;0.875];%电价
f=x(1)*0.059*700+x(2)*0.039*4000*5+x(3)*0.0013*13800+x(4)*0.013*1200+x(5)*1000*0.43+x(6)*0.5;
% 非线性约束
function [ggeq]=constraint(x)
% 不等式限制条件
%Pd=xlsread(‘春夏负荷.xlsx‘‘sheet1‘‘C1:C24‘);
%Qh=xlsread(‘春夏负荷.xlsx‘‘sheet1‘‘B1:B24‘);
%Cload=xlsread(‘春夏负荷.xlsx‘‘sheet1‘‘A1:A24‘);
% 如果没有等式约束,则置geq=[];
Pd=9.95;
Qh=17.06;
Cload=1.8;
%Pd=xlsread(‘春夏负荷.xlsx‘‘sheet1‘‘C1:C24‘);
%Qh=xlsread(‘春夏负荷.xlsx‘‘sheet1‘‘B1:B24‘);
%Cload=xlsread(‘春夏负荷.xlsx‘‘sheet1‘‘A1:A24‘);
% 如果没有等式约束,则置geq=[];
g(1)=x(5)+x(1)*0.7+x(2)*4-Pd*1.0001-3.94*x(3);
g(2)=Pd*0.9999-(x(5)+x(1)*0.7+x(2)*4-3.94*x(3));
g(3)=x(1)+x(2)*4+0.8*x(6)/120-x(4)-Qh*1.0001;
g(4)=0.9999*Qh-(x(1)+x(2)*4+0.8*x(6)/120-x(4));
g(5)=1.2*x(4)+13.8*x(3)-Cload*1.0001;
g(6)=Cload*0.9999-(1.2*x(4)+13.8*x(3));
%if x(1)<0.5 x(1)=0;elsex(1)=1;end
geq=[];
%% APSO Solver
function [gbestfbest]=pso_mincon(fhandlefnonlinLbUbpara)
if nargin<=6
para=[25 250 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=[01]粒子随机衰减因子
beta=0.5; % 收敛速度(0->1)=(slow->fast);
% 初始化粒子群
best=init_pso(nLbUb);
相关资源
- 压缩感知off grid代码论文见2013
-
xm
l和matlab格式相互转换工具箱 - matlab神经网络工具箱实现的数字分类
- 本程序是LDPC的Matlab便解码实现
- 热力系统计算模型
- MD5散列函数的MATLAB代码
- 图像分割 直方图阈值双峰法的matlab实
- Matlab模糊聚类算法实现
- 带通滤波器matlab程序
- EEMD总体经验模式分解算法matlab程序
- 卷积码编译码matlab仿真
- matlab FastICA工具箱111010
- 用Matlab实现分支定界法求解整数线性
- GUI设计MATLAB
- black scholes方程式源代码
- matlab实现otsu算法
- DE算法 MATLAB程序
- matlab计算卫星位置及运行速度
- 光孤子通信matlab仿真程序
- 双边滤波bilateral filter matlab代码
- maple toolbox for matlab v13破解文件
- k均值聚类算法MATLAB程序及注释
- pso优化BP的MATLAB代码
- LEACH协议仿真
- 基于MATLAB的LQR控制器设计方法研究
- 用matlab画包络图的
- 蒙特卡罗法模拟matlab源程序
- 生成干涉图的MATLAB程序
- 压缩感知 OMP重构一维二维信号matlab仿
- 常见傅里叶变换matlab代码
评论
共有 条评论