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

1 简介

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

2 部分代码

function [ bestPosition, fitValue ] = ...PSOFUN( CostFun,nVar,VarMin,VarMax,MaxIt,nPop )%% PSO Parameters CostFunction=@(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 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    endBestCost=zeros(MaxIt,1);%% PSO Main Loopfor 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;    %     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]. 中南大学, 2014.

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

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值