当前位置 : 主页 > 编程语言 > python >

【优化调度】基于粒子群算法求解微电网优化调度问题matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 微电网优化调度的模型是以风、光、储能装置、微型燃气轮机、燃料电池等组成的系统的优化调度模型。在计算系统的运行费用是应考虑各分布式发电单元的运行维护成本和折旧

1 简介

微电网优化调度的模型是以风、光、储能装置、微型燃气轮机、燃料电池等组成的系统的优化调度模型。在计算系统的运行费用是应考虑各分布式发电单元的运行维护成本和折旧费用等。同时,由于环境污染问题越来越严重,在搭建模型时还应注意到微电网的环境污染治理费用;由于微电网中的风能发电和太阳能发电易受到不确定因素制约,虽然在微电网系统中配备储能装置,但其响应速度可能会有所缓慢,故在指定调度方案时微电网稳定性是必不可少制约因素,而调度控制系统是确保微电网安全、稳定、经济运行的关键。


建立微电网优化调度模型的目标函数

微电网的运行费用中包括各分布式单元的运行成本、用户停电损失费用,当微电网是并网运行时还要考虑微电网与主网之间的电能互购成本。发电成本包括各发电单元的燃料消耗费用、维护费用及折损费用,其中,燃料费用和运行维护费用和实际发电量有关,风能发电和太阳能发电消耗的清洁能源,运行过程没有燃料消耗费用,基本上不存在污染物和工业废气体得排放,环境污染比较小,不必考虑发电成本和环境成本。并且,政府对风能发电和太阳能发电的运行成本执行全部补贴,它们的运行成本不作考虑。只有微燃气轮机和燃料电池发电是消耗的燃料发电的以及需要考虑各种费用。通过对微电网中各电源的数学模型研究,综合考虑微电网系统中各分布式电源的出力,已达到微电网的运行成本最小。

2 部分代码


function [ bestPosition, fitValue ] = PSOFUN( CostFun,nVar,VarMin,VarMax,MaxIt,nPop )
%% PSO Parameters
CostFunction=@(x) CostFun(x); % Cost Function
w=1; % Inertia Weight
wdamp=0.99; % Inertia Weight Damping Ratio
c1=1.5; % Personal Learning Coefficient
c2=2.0; % Global Learning Coefficient
VarSize=[1 nVar]; % Size of Decision Variables Matrix
% Velocity Limits
VelMax=0.1*(VarMax-VarMin);
VelMin=-VelMax;
%% Initialization
empty_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 Position
particle(i).Position=unifrnd(VarMin,VarMax,VarSize);
% Initialize Velocity
particle(i).Velocity=zeros(VarSize);
% Evaluation
particle(i).Cost=CostFunction(particle(i).Position);
% Update Personal Best
particle(i).Best.Position=particle(i).Position;
particle(i).Best.Cost=particle(i).Cost;
% Update Global Best
if particle(i).Best.Cost<GlobalBest.Cost
GlobalBest=particle(i).Best;
end
end
BestCost=zeros(MaxIt,1);
%% PSO Main Loop
for it=1:MaxIt
for i=1:nPop
% Update Velocity
particle(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 Limits
particle(i).Velocity = max(particle(i).Velocity,VelMin);
particle(i).Velocity = min(particle(i).Velocity,VelMax);
% Update Position
particle(i).Position = particle(i).Position + particle(i).Velocity;
% Velocity Mirror Effect
IsOutside=(particle(i).Position<VarMin | particle(i).Position>VarMax);
particle(i).Velocity(IsOutside)=-particle(i).Velocity(IsOutside);
% Apply Position Limits
particle(i).Position = max(particle(i).Position,VarMin);
particle(i).Position = min(particle(i).Position,VarMax);
% Evaluation
particle(i).Cost = CostFunction(particle(i).Position);
% Update Personal Best
if particle(i).Cost<particle(i).Best.Cost
particle(i).Best.Position=particle(i).Position;
particle(i).Best.Cost=particle(i).Cost;
% Update Global Best
if particle(i).Best.Cost<GlobalBest.Cost
GlobalBest=particle(i).Best;
end
end
end
BestCost(it)=GlobalBest.Cost;
w=w*wdamp;
end
bestPosition = GlobalBest.Position;
fitValue = GlobalBest.Cost;
%disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]);
end


3 仿真结果

【优化调度】基于粒子群算法求解微电网优化调度问题matlab源码_lua

【优化调度】基于粒子群算法求解微电网优化调度问题matlab源码_维护费用_02

【优化调度】基于粒子群算法求解微电网优化调度问题matlab源码_维护费用_03

【优化调度】基于粒子群算法求解微电网优化调度问题matlab源码_维护费用_04

4 参考文献

[1]刘文胜. 基于粒子群算法的微电网优化配置与低碳调度[D]. 广东工业大学, 2012.

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

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

【优化调度】基于粒子群算法求解微电网优化调度问题matlab源码_lua_05




网友评论