基于遗传算法的微电网调度(风、光、蓄电池、微型燃气轮机)(Matlab代码实现)

简介: 基于遗传算法的微电网调度(风、光、蓄电池、微型燃气轮机)(Matlab代码实现)

参考文献


微电网作为智能电网的一部分,是分布式电源接入电网的一种有效手段,微电网经济运行是其中一个重要研究方面。考察微电网经济性,通常是从最小运行成本和最小环境污染物排放成本两方面入手进行微电网的多目标优化,通过给适应度函数设置权重系数,将多目标函数转换为单目标函数。结合具体的微电网系统算例进行了仿真研究,结果显示: 运用权重系数法能够使优化目标中经济成本与环境成本达到一个相对平衡的状态,实现了微电网经济运行。


1 绪论

全球各个国家都面临着能源不足的问题,各种可再生能源得到了广泛关注。微电网( Micro-


Grid) 的出现为这些可再生能源的整合提供了一 种方法[1]。微电网是由负荷和各种分布式电源


( 如光伏、风力发电等) 共同组成的系统,同时可以提供热能和电能。微电网有并网与孤岛两种运


行模式,两种模式的平滑切换[2]增加了微电网运行的可靠性,有效降低了发电成本。


本文中的微电网包括微型燃气轮机( MT) 、 燃料电池( FC) 、光伏( PV) 、风机( WT) 、蓄电池


( SB) ,建立了热电联产型微电网模型,针对微电网并网运行,采用遗传算法对微电网进行多目标


优化。运用以热定电的策略,首先让燃气轮机 ( MT) 满足用户热量的同时提供电能,再优先利


用可再生能源发电,以最小化经济成本和最少环境污染物排放成本为目标函数,运用权重系数法


把多目标函数变为单目标函数,结合具体算例实现微电网经济运行。


2 微电网电源模型

1.1 微型燃气轮机( MT)

微型燃气轮机利用天然气、沼气等多种燃料提供热能与电能。燃气轮机的冷热电三联供系统

( CCHP) 的示意图如图 1 所示。温度高的、有较 多可用能量的来发电,温度比较低的经过溴化锂

机组来制冷或者供热,提高了能源利用率,有助于提高经济效益和环境效益。


                           图 1 微型燃气轮机的冷热电三联供示意图

       


1.2  燃料电池( FC)

燃料电池是将化学能转换为电能的装置,不受卡诺循环限制,电能转化率高,清洁、噪声小,

因此很适用于做分布式电源。燃料电池发电成本为:


1.3  光伏电池( PV)

光伏电池将太阳能转化为直流电能,其是一 种非线性电能,电压与电流随着光照强度和温度

的改变呈现出非线性。得出其输出功率为:

                 

                                 

1.4  风力发电( WT)

风力发电是利用风电机组叶片从风中获得能量转换为机械能,然后传送给发电机,转化为电

能,因此风力发电燃料成本和气体排放治理成本为 0。风力发电机组的输出功率与风速有关:

                                   


1.5  蓄电池储能( SB)

微电网中蓄电池充放电过程交替进行,充电达到额定容量后进入放电过程,放电达到 SOC

( 荷电状态) 为额定容量的 30% 时,停止放电,进入充电。


2 微电网的运行优化

2.1 目标函数

( 1) 运行成本目标函数为

                   

                             

2.2  约束条件

                           

3 程序框图

遗传算法( Genetic Algorithm) 是一种通过模拟自然进化过程搜索最优解的方法。它具有组织


性、自适应性和学习性,利用种群的进化总结信息自行搜索,采用概率变迁规则来指导搜索方向,已被广泛用于电力规划领域。


多目标遗传算法( MOGA) 指的是存在多个目标需要同时优化寻求出一组最优解。在实际运算


中对多个目标优化而不能兼顾搜索全局,导致了最优解的遗失,往往是因为权重系数设置不合理。


事先并不知道设置为多少合适,只能做估计和试探,这种做法往往影响了优化结果。本文所采用


的是均值自适应法选取权重系数,算法流程图如图所示


                             

4 运行结果

部分代码:

%% 基于遗传算法的微电网调度(风、光、储能、微型燃气轮机)
clc
clear
tic;
close all
%% 遗传算法参数
MAXGEN=200;                         %进化代数
sizepop=40;                       %种群规模
pcross=0.6;                      %交叉概率
pmutation=0.01;                  %变异概率
lenchrom=ones(1,48);             %变量字串长度,48个变量
%% 导入数据
global Load pv wt price
Load=load('典型日负荷.txt');%负荷
pv=load('PV.txt');%光伏发电
wt=load('WT.txt');%风力发电
price=load('电价.txt');%电价
。。。。。
%% 交叉操作
function ret=Cross(pcross,lenchrom,chrom,sizepop,bound)
% pcorss                input  : 交叉概率
% lenchrom              input  : 染色体的长度
% chrom                 input  : 染色体群
% sizepop               input  : 种群规模
% ret                   output : 交叉后的染色体
for i=1:sizepop 
    % 随机选择两个染色体进行交叉
    pick=rand(1,2);
    while prod(pick)==0
        pick=rand(1,2);
    end
    index=ceil(pick.*sizepop);
    % 交叉概率决定是否进行交叉
    pick=rand;
    while pick==0
        pick=rand;
    end
    if pick>pcross
        continue;
    end
    flag=0;
    while flag==0
        % 随机选择交叉位置
        pick=rand;
        while pick==0
            pick=rand;
        end
        pos=ceil(pick.*sum(lenchrom)); %随机选择进行交叉的位置,即选择第几个变量进行交叉,注意:两个染色体交叉的位置相同
        pick=rand; %交叉开始
        v1=chrom(index(1),pos);
        v2=chrom(index(2),pos);
        chrom(index(1),pos)=pick*v2+(1-pick)*v1;
        chrom(index(2),pos)=pick*v1+(1-pick)*v2; %交叉结束
        flag1=test(lenchrom,bound,chrom(index(1),:));  %检验染色体1的可行性
        flag2=test(lenchrom,bound,chrom(index(2),:));  %检验染色体2的可行性
        if   flag1*flag2==0
            flag=0;
        else flag=1;
        end    %如果两个染色体不是都可行,则重新交叉
    end
end
ret=chrom;


5 Matlab代码实现

👨‍🎓博主课外兴趣:中西方哲学,送予读者:


👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。


    或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎


相关文章
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
【自然语言处理】TF-IDF算法在人工智能方面的应用,附带代码
TF-IDF算法在人工智能领域,特别是自然语言处理(NLP)和信息检索中,被广泛用于特征提取和文本表示。以下是一个使用Python的scikit-learn库实现TF-IDF算法的简单示例,并展示如何将其应用于文本数据。
115 64
|
6天前
|
算法
基于模糊控制算法的倒立摆控制系统matlab仿真
本项目构建了一个基于模糊控制算法的倒立摆控制系统,利用MATLAB 2022a实现了从不稳定到稳定状态的转变,并输出了相应的动画和收敛过程。模糊控制器通过对小车位置与摆的角度误差及其变化量进行模糊化处理,依据预设的模糊规则库进行模糊推理并最终去模糊化为精确的控制量,成功地使倒立摆维持在直立位置。该方法无需精确数学模型,适用于处理系统的非线性和不确定性。
基于模糊控制算法的倒立摆控制系统matlab仿真
|
2天前
|
机器学习/深度学习 人工智能 算法
【人工智能】传统语音识别算法概述,应用场景,项目实践及案例分析,附带代码示例
传统语音识别算法是将语音信号转化为文本形式的技术,它主要基于模式识别理论和数学统计学方法。以下是传统语音识别算法的基本概述
7 2
|
5天前
|
机器学习/深度学习 算法 定位技术
MATLAB - 遗传算法(GA)求解旅行商问题(TSP)
MATLAB - 遗传算法(GA)求解旅行商问题(TSP)
11 3
|
5天前
|
搜索推荐 算法 Java
插入排序算法(Java代码实现)
这篇文章通过Java代码示例详细解释了插入排序算法的实现过程,包括算法的基本思想、核心代码、辅助函数以及测试结果,展示了如何通过插入排序对数组进行升序排列。
|
5天前
|
算法
基于EM期望最大化算法的GMM模型参数估计matlab仿真
此程序在MATLAB 2022a中实现了基于EM算法的GMM参数估计,用于分析由多个高斯分布组成的混合数据。程序通过迭代优化各高斯组件的权重、均值与协方差,直至收敛,并输出迭代过程的收敛曲线及最终参数估计结果。GMM假设数据由K个高斯分布混合而成,EM算法通过E步计算样本归属概率,M步更新参数,循环迭代直至收敛。
|
6天前
|
算法
基于多路径路由的全局感知网络流量分配优化算法matlab仿真
本文提出一种全局感知网络流量分配优化算法,针对现代网络中多路径路由的需求,旨在均衡分配流量、减轻拥塞并提升吞吐量。算法基于网络模型G(N, M),包含N节点与M连接,并考虑K种不同优先级的流量。通过迭代调整每种流量在各路径上的分配比例,依据带宽利用率um=Σ(xm,k * dk) / cm来优化网络性能,确保高优先级流量的有效传输同时最大化利用网络资源。算法设定收敛条件以避免陷入局部最优解。
|
1月前
|
传感器 算法
基于无线传感器网络的MCKP-MMF算法matlab仿真
MCKP-MMF算法是一种启发式流量估计方法,用于寻找无线传感器网络的局部最优解。它从最小配置开始,逐步优化部分解,调整访问点的状态。算法处理访问点的动态影响半径,根据带宽需求调整,以避免拥塞。在MATLAB 2022a中进行了仿真,显示了访问点半径请求变化和代价函数随时间的演变。算法分两阶段:慢启动阶段识别瓶颈并重设半径,随后进入周期性调整阶段,追求最大最小公平性。
基于无线传感器网络的MCKP-MMF算法matlab仿真
|
16天前
|
算法 5G vr&ar
基于1bitDAC的MU-MIMO的非线性预编码算法matlab性能仿真
在现代无线通信中,1-bit DAC的非线性预编码技术应用于MU-MIMO系统,旨在降低成本与能耗。本文采用MATLAB 2022a版本,深入探讨此技术,并通过算法运行效果图展示性能。核心代码支持中文注释与操作指导。理论部分包括信号量化、符号最大化准则,并对比ZF、WF、MRT及ADMM等算法,揭示了在1-bit量化条件下如何优化预编码以提升系统性能。
|
24天前
|
算法
基于kalman滤波的UAV三维轨迹跟踪算法matlab仿真
本文介绍了一种使用卡尔曼滤波(Kalman Filter)对无人飞行器(UAV)在三维空间中的运动轨迹进行预测和估计的方法。该方法通过状态预测和观测更新两个关键步骤,实时估计UAV的位置和速度,进而生成三维轨迹。在MATLAB 2022a环境下验证了算法的有效性(参见附图)。核心程序实现了状态估计和误差协方差矩阵的更新,并通过调整参数优化滤波效果。该算法有助于提高轨迹跟踪精度和稳定性,适用于多种应用场景,例如航拍和物流运输等领域。

热门文章

最新文章