失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【微电网优化】基于粒子群算法求解热电联供型微电网经济运行优化问题含Matlab源码

【微电网优化】基于粒子群算法求解热电联供型微电网经济运行优化问题含Matlab源码

时间:2021-01-27 10:31:04

相关推荐

【微电网优化】基于粒子群算法求解热电联供型微电网经济运行优化问题含Matlab源码

1 简介

面对全球环境污染和能源危机的双重压力,世界各国将焦点转向太阳能、风能等清洁可再生能源。微电网是组织和利用可再生能源发电的重要途径之一。本文以微电网的能量优化调度为研究对象,建立了微电网能量优化调度模型,采用改进型粒子群优化算法对模型进行了求解,并构造实际的微电网平台对研究成果进行设计与实现。论文分析了微电网中各种分布式发电单元的发电原理与调度特性,建立了光伏发电、风力发电、微型燃气轮机、燃料电池和储能装置的参与微电网能量管理的数学模型。考虑微电网内各分布式单元的燃料成本、运行维护成本、污染罚款成本以及和大电网电能交互的电能成本,建立了微电网能量优化调度数学模型,拟定了四种能量管理调度策略。​本文构建微电网平台进行了能量管理系统的开发与设计工作。提出了微电网能量优化调度策略,并在Matlab平台上进行了仿真验证,表明微电网系统能够稳定可靠运行。

2 部分代码

function [ bestPosition, fitValue ] = ...PSOFUN( CostFun,nVar,VarMin,VarMax,MaxIt,nPop )%% PSO ParametersCostFunction=@(x) CostFun(x); % Cost Functionw=1; % Inertia Weightwdamp=0.99;% Inertia Weight Damping Ratioc1=1.5; % Personal Learning Coefficientc2=2.0; % Global Learning CoefficientVarSize=[1 nVar]; % Size of Decision Variables Matrix% Velocity LimitsVelMax=0.1*(VarMax-VarMin);VelMin=-VelMax;%% Initializationempty_particle.Position=[];empty_particle.Cost=[];empty_particle.Velocity=[];empty_particle.Best.Position=[];empty_particle.Best.Cost=[];particle=repmat(empty_particle,nPop,1);GlobalBest.Cost=inf;for i=1:nPop% Initialize Positionparticle(i).Position=unifrnd(VarMin,VarMax,VarSize);% Initialize Velocityparticle(i).Velocity=zeros(VarSize);% Evaluationparticle(i).Cost=CostFunction(particle(i).Position);% Update Personal Bestparticle(i).Best.Position=particle(i).Position;particle(i).Best.Cost=particle(i).Cost;% Update Global Bestif particle(i).Best.Cost<GlobalBest.CostGlobalBest=particle(i).Best;endendBestCost=zeros(MaxIt,1);%% PSO Main Loopfor it=1:MaxItfor i=1:nPop% Update Velocityparticle(i).Velocity = w*particle(i).Velocity ...+c1*rand(VarSize).*(particle(i).Best.Position-particle(i).Position) ...+c2*rand(VarSize).*(GlobalBest.Position-particle(i).Position);% Apply Velocity Limitsparticle(i).Velocity = max(particle(i).Velocity,VelMin);particle(i).Velocity = min(particle(i).Velocity,VelMax);% Update Positionparticle(i).Position = particle(i).Position + particle(i).Velocity;% Velocity Mirror EffectIsOutside=(particle(i).Position<VarMin | particle(i).Position>VarMax);particle(i).Velocity(IsOutside)=-particle(i).Velocity(IsOutside);% Apply Position Limitsparticle(i).Position = max(particle(i).Position,VarMin);particle(i).Position = min(particle(i).Position,VarMax);% Evaluationparticle(i).Cost = CostFunction(particle(i).Position);% Update Personal Bestif particle(i).Cost<particle(i).Best.Costparticle(i).Best.Position=particle(i).Position;particle(i).Best.Cost=particle(i).Cost;% Update Global Bestif particle(i).Best.Cost<GlobalBest.CostGlobalBest=particle(i).Best;endendendBestCost(it)=GlobalBest.Cost;%disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]);w=w*wdamp;endbestPosition = GlobalBest.Position;fitValue = GlobalBest.Cost;disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]);end

3 仿真结果

4 参考文献

[1]程宇旭. 基于改进粒子群算法的微电网能量优化调度研究及实现[D]. 中南大学, .

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

如果觉得《【微电网优化】基于粒子群算法求解热电联供型微电网经济运行优化问题含Matlab源码》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。