资源简介

一个含有约束的粒子群算法。计算电动汽车在能量调度,也有负荷数据,风电数据和光电数据可以参考

资源截图

代码片段和文件信息

function PSOfirst()
%% 清空环境
clear;
clc;

%% 参数设置
wcmax=0.8;
wcmin=0.7;%权值将影响PSO 的全局与局部搜优能力,
%w的值较大,全局搜优能力强,局部搜优能力弱;反之,则局部搜优能力增强,而全局搜优能力减弱。
c1=0.01;%加速度,影响收敛速度
c2=0.01;
dim=24;%每一维表示在一个小时内的交换功率
swarmsize=100;%粒子群规模,表示有100个解的空间
maxiter=80;%最大循环次数,影响时间
vmax=1;
vmin=-1;
PENUM=[192020201718171718191717201718171816181919192020];%由于电动车主的随机出行,因此每一时刻能完成V2G功能的电动汽车数量不是固定的。

ub=8.*PENUM;%解向量的最大限制,就是充电功率上限
lb=-3.*PENUM;%解向量的最小限制,即放电功率上限

%% 种群初始化
range=ones(swarmsize1)*(ub-lb);
swarm=rand(swarmsizedim).*range+ones(swarmsize1)*lb;%粒子群位置矩阵
%对粒子进行更详细的SOC约束,充放电不能使SOC超出预设范围


%定义速度和位置   
vstep=rand(swarmsizedim)*(vmax-vmin)+vmin;%粒子群速度矩阵
fswarm=zeros(swarmsize1);%预设空矩阵,存放适应值
for i=1:swarmsize
    X=swarm(i:);
    [SUMEVPAf3f2]=f(X);%目标函数,适应度函数

评论

共有 条评论