首页 > 行业资讯 > 【微电网优化】基于改进PSO算法求解微电网优化问题附matlab代码

【微电网优化】基于改进PSO算法求解微电网优化问题附matlab代码

时间:2022-02-25 来源: 浏览:

【微电网优化】基于改进PSO算法求解微电网优化问题附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于话题 #智能优化算法及应用 356个

1 简介

当今全球普遍面临着能源危机和环境污染的加重,污染严重的化石能源将逐渐被无污染的清洁能源代替,随着经济的发展和社会的进步,以传统的发电方式已经不能满足当今电力用户对电能高可靠性、稳定性的要求需求。以风、光、储、微型燃气轮机、燃料电池等分布式电源构成的微电网能有效的解决了能源危机和环境污染问题。为了充分发挥清洁能源的效益,微电网系统在电力领域成为了研究热门。微电网中对各分布式微电源的优化调度是一个比较复杂的技术难题,且风能、太阳能发电的随机波动性对微电网本身也造成一定的安全稳定的影响,本文针对这些问题作了比较深入研究。在微电网中优化调度又是核心技术,调度策略的优劣将直接影响微电网运行的经济性、供电的可靠性,对微电网优化调度理论的研究有着重要的理论价值及工程价值,但现阶段对微电网的调度策略仍然不够完善,调度策略与运行模式、市场方案没有一体化。本文的研究内容对微电网优化调度做了些改进。本文建立了风、光、微型燃气轮机、燃料电池、储能装置组成的微电网优化调度模型。比较详细的介绍各单元的数学模型以及运行特性,提出了以综合效益最大化为总目标的目标函数,建立了微电网在不同运行方式具体的约束条件。制定了微电网在并网运行时、孤岛运行时分时段优化调度策略。当微电网并网运行时,起到削峰填谷的作用,孤岛运行时可以保证重要负荷用电的可靠性,从而使整个电网的发电设备得以充分利用。在微电网在并网运行和孤岛运行时分别采用不同的分时段优化调度策略,运用改进的粒子群算法对微电网中数学模型进行求解,确定各个微电源优化后的出力,以实现微电网系统运行的综合效益最大,并通过算例分析验证了本文算法的正确性及可行性。

2 部分代码

function [ParSwarm,OptSwarm]=InitSwarm(SwarmSize,ParticleSize,ParticleScope,AdaptFunc) % 功能描述:初始化粒子群,限定粒子群的位置以及速度在指定的范围内 % [ParSwarm,OptSwarm,BadSwarm]=InitSwarm(SwarmSize,ParticleSize,ParticleScope,AdaptFunc) % % 输入参数:SwarmSize:种群大小的个数 % 输入参数:ParticleSize:一个粒子的维数 % 输入参数:ParticleScope:一个粒子在运算中各维的范围; % ParticleScope格式: % 3维粒子的ParticleScope格式: % [x1Min,x1Max % x2Min,x2Max % x3Min,x3Max] % % 输入参数:AdaptFunc:适应度函数 % % 输出:ParSwarm初始化的粒子群 % 输出:OptSwarm粒子群当前最优解与全局最优解 % % 用法[ParSwarm,OptSwarm,BadSwarm]=InitSwarm(SwarmSize,ParticleSize,ParticleScope,AdaptFunc); % % 异常:首先保证该文件在Matlab的搜索路径中,然后查看相关的提示信息。 % 容错控制 if nargin~=4 error(’输入的参数个数错误。’) end if nargout<2 error(’输出的参数的个数太少,不能保证以后的运行。’); end [row,colum]=size(ParticleSize); if row>1|colum>1 error(’输入的粒子的维数错误,是一个1行1列的数据。’); end [row,colum]=size(ParticleScope); if row~=ParticleSize|colum~=2 error(’输入的粒子的维数范围错误。’); end % 初始化粒子群矩阵 % 初始化粒子群矩阵,全部设为[0-1]随机数 % rand( ’state’ ,0); ParSwarm=rand(SwarmSize,2*ParticleSize+1); % 对粒子群中位置,速度的范围进行调节 for k=1:ParticleSize ParSwarm(:,k)=ParSwarm(:,k)*(ParticleScope(k,2)-ParticleScope(k,1))+ParticleScope(k,1); %调节速度,使速度与位置的范围一致 ParSwarm(:,ParticleSize+k)=ParSwarm(:,ParticleSize+k)*(ParticleScope(k,2)-ParticleScope(k,1))+ParticleScope(k,1); end % 对每一个粒子计算其适应度函数的值 for k=1:SwarmSize ParSwarm(k,2*ParticleSize+1)=AdaptFunc(ParSwarm(k,1:ParticleSize)); end % 初始化粒子群最优解矩阵 OptSwarm=zeros(SwarmSize+1,ParticleSize); % 粒子群最优解矩阵全部设为零 [minValue,row]=min(ParSwarm(:,2*ParticleSize+1)); % 寻找适应度函数值最小的解在矩阵中的位置(行数) OptSwarm=ParSwarm(1:SwarmSize,1:ParticleSize); OptSwarm(SwarmSize+1,:)=ParSwarm(row,1:ParticleSize);

3 仿真结果

4 参考文献

[1]姚景昆. 基于改进粒子群算法的微电网优化调度[D]. 辽宁工业大学, 2016.

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

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

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐