【微电网优化】基于粒子群算法求解热电联供型微电网经济运行优化问题含Matlab源码
生活随笔
收集整理的這篇文章主要介紹了
【微电网优化】基于粒子群算法求解热电联供型微电网经济运行优化问题含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;?%% 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; % disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]); w=w*wdamp; end?bestPosition = GlobalBest.Position;fitValue = GlobalBest.Cost;disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]);??end??3 仿真結果
4 參考文獻
[1]程宇旭. 基于改進粒子群算法的微電網能量優化調度研究及實現[D]. 中南大學, 2014.
博主簡介:擅長智能優化算法、神經網絡預測、信號處理、元胞自動機、圖像處理、路徑規劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。
部分理論引用網絡文獻,若有侵權聯系博主刪除。
總結
以上是生活随笔為你收集整理的【微电网优化】基于粒子群算法求解热电联供型微电网经济运行优化问题含Matlab源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二证券|扶持政策频发,教育板块再度爆发
- 下一篇: 计算机组成原理相关话题,“计算机组成原理