基于改进粒子群算法的混合储能系统容量优化matlab

简介: 基于改进粒子群算法的混合储能系统容量优化matlab

一、主要内容

为了调高风光互补发电储能系统的经济性,减少其运行费用,研究风光互补发电储能系统的容量优化配置模型,探讨粒子群算法的改进及混合储能容量优化方法。首先通过对全生命周期费用静态模型的介绍,利用蓄电池和超级电容器作为风光互补系统混合储能装置,以其全生命周期费用最小为目标,以系统的缺电率等运行指标为约束条件,建立了一种混合储能系统容量优化配置模型,其次,通过优化不对称加速因子进而改进了粒子群算法,最后利用算例在 Matlab 中进行了仿真与求解,结果表明,该方法不仅优化了蓄电池的工作状态,降低了储能系统的全生命周期费用,而且加快了收敛速度。

模型的建立风光互补发电系统中,将蓄电池-超级电容器混合作为储能装置,系统构成如图 1 所示,它由风力发电机组、光伏阵列、蓄电池、超级电容器、变流器、负载等组成。

二、部分代码

%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.49445;
c2 = 1.49445;
maxgen=400;    %进化次数  
sizepop=100;    %种群规模
Vmax=10;      %速度最大值
Vmin=-10;     %速度最小值
popmax=[49060 9847457]; %粒子最大值
popmin=[1400 295198];   %粒子最小值 
​    %% 产生初始粒子和速度
    for i=1:sizepop
        %随机产生一个种群
        pop(i,1)=(49060-1400)*rand+1400;    %初始种群
        pop(i,2)=(9847457-295198)*rand+295198;
        V(i,:)=0.5*rands(1,2);  %初始化速度
        %计算适应度
        fitness(i)=funm(pop(i,:));   %染色体的适应度
    end
    %% 个体极值和群体极值
    [bestfitness bestindex]=min(fitness); %找最小适应度
    zbest=pop(bestindex,:);   %全局最佳
    gbest=pop;    %个体最佳 
    fitnessgbest=fitness;   %个体最佳适应度值
    fitnesszbest=bestfitness;   %全局最佳适应度值
    %% 迭代寻优
    for i=1:maxgen
    
        for j=1:sizepop
        
            %计算权重
            weight=1;
            weight=0.9+(0.9-0.4)*exp(-20*(i^6)/(maxgen^6));
            %计算学习因子
            %速度更新
            V(j,:) = weight*V(j,:) + c1*rand*(gbest(j,:) - pop(j,:)) + c2*rand*(zbest - pop(j,:));
            V(j,find(V(j,:)>Vmax))=Vmax;
            V(j,find(V(j,:)<Vmin))=Vmin;
            %种群更新
            pop(j,:)=pop(j,:)+V(j,:);
            for k=1:2
                if pop(j,k)>popmax(k)
                    pop(j,k)=popmax(k);
                end
            end
            for k=1:2
                if pop(j,k)<popmin(k)
                    pop(j,k)=popmin(k);
                end
            end
        
            %适应度值
            fitness(j)=funm(pop(j,:)); 
         
        end
        
        for j=1:sizepop
            %个体最优更新
            if fitness(j) < fitnessgbest(j)
                gbest(j,:) = pop(j,:);
                fitnessgbest(j) = fitness(j);
            end
            %群体最优更新
            if fitness(j) < fitnesszbest
                zbest = pop(j,:);
                fitnesszbest = fitness(j);
            end
        end 
        yy(i)=fitnesszbest;    %保存下每一代的最优值
    end
%% 结果分析
plot(yy,'k')
title('最优个体适应度','fontsize',12);
xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);
zbest
fitnesszbest


相关文章
|
2月前
|
存储 传感器 分布式计算
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
245 0
|
2月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
123 0
|
2月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
168 8
|
2月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
172 8
|
2月前
|
机器学习/深度学习 供应链 算法
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
103 0
|
2月前
|
传感器 机器学习/深度学习 算法
【无人机协同】动态环境下多无人机系统的协同路径规划与防撞研究(Matlab代码实现)
【无人机协同】动态环境下多无人机系统的协同路径规划与防撞研究(Matlab代码实现)
186 0
|
2月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
159 0
|
2月前
|
机器学习/深度学习 算法 新能源
基于动态非合作博弈的大规模电动汽车实时优化调度电动汽车决策研究(Matlab代码实现)
基于动态非合作博弈的大规模电动汽车实时优化调度电动汽车决策研究(Matlab代码实现)
|
2月前
|
机器学习/深度学习 存储 人工智能
基于双层共识控制的直流微电网优化调度(Matlab代码实现)
基于双层共识控制的直流微电网优化调度(Matlab代码实现)
119 0

热门文章

最新文章