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
没有合适的资源?快使用搜索试试~ 我知道了~
Optimal Scheduling of Microgrid Based on Particle Swarm .zip
共6个文件
m:5个
caj:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 52 下载量 153 浏览量
2021-12-12
15:33:33
上传
评论 31
收藏 1.45MB ZIP 举报
温馨提示
matlab程序复现自《基于改进粒子群算法的微电网优化调度_姚景昆》 微电网孤岛运行方式是当主网系统的供电系统不稳定运行或发生事故时,微电网系 统与主网系统断开,断开后微电网和主网之间的没有电能交易问题。这种模式下,微电 网中所有的微电源出力来承担整个系统的负荷需求,最佳调度方案有:(1)在负荷用电低谷阶段,微电网的调度方案与并网运行时相同,优先利用 WT和PV发电向负荷提供电能,如果有多余的电量,则检测储能装置的荷电状态,决定是否给储能装置进行充电;如果 WT和PV所发的电量达不到负荷的要求时,对比 MT和FC的发电费用由MT和 FC中发电费用较低的单元向用户提供电能,仍然不能满足是由BT 放电提供。 (2)在用电平段阶段内,WT和PV发电不能满足负荷的用电需求,通过优化计算 来确定 MT 和 FC 的出力。若所发电量能满足负荷需求仍有剩余电量,则根据储能装置 的充放电状态给 BT 充电;若果微电网中WT和PV发出全部电能依然不能满足负荷用 电需求时,则考虑利用 BT放电来供负荷使用。 (3)在用电高峰期阶段内,微电网系统中负荷的用电需求达到高峰,WT 和PV的 发电量不能达到负荷需求时,通过优化计算来确定发电单元使用,原则是优先利用发电 费用比较低的单元来满足负荷的用电需求;若微电网所发的全部电量达不到负荷的用电 需求,则利用 BT放电来满足供电,如果储能装置储存的电量全部释放还不能满足负荷 需求的情况时,由负荷的重要程度由低到高切除,以达到微电网系统的功率供需平衡。
资源推荐
资源详情
资源评论
收起资源包目录
Optimal Scheduling of Microgrid Based on Improved Particle Swarm Optimization Algorithm.zip (6个子文件)
基于改进粒子群算法的微电网优化调度_姚景昆.caj 1.76MB
matlab_基于改进粒子群算法的微电网优化调度_姚景昆
objective.m 3KB
PSOFUN.m 3KB
figures.m 653B
gudao_main.m 3KB
parameter.m 2KB
共 6 条
- 1
电磁MATLAB
- 粉丝: 4196
- 资源: 38
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot的极简易课堂对话系统.zip
- (源码)基于JSP+Servlet+MySQL的学生管理系统.zip
- (源码)基于ESP8266的蜂箱监测系统.zip
- (源码)基于Spring MVC和Hibernate框架的学校管理系统.zip
- (源码)基于TensorFlow 2.3的高光谱水果糖度分析系统.zip
- (源码)基于Python框架库的知识库管理系统.zip
- (源码)基于C++的日志管理系统.zip
- (源码)基于Arduino和OpenFrameworks的植物音乐感应系统.zip
- (源码)基于Spring Boot和Spring Security的博客管理系统.zip
- (源码)基于ODBC和C语言的数据库管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页