水光互补优化调度】基于非支配排序遗传算法的多目标水光互补优化调度(Matlab代码实现)

简介: 水光互补优化调度】基于非支配排序遗传算法的多目标水光互补优化调度(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


1.1 水光互补


1.2 水光互补模型——目标函数和约束条件


1.3 多目标遗传算法


📚2 运行结果


🌈3 Matlab代码实现


🎉4 参考文献


💥1 概述

参考文献:


df030a680ee9449fa2129fbecc7bbaf6.png


然后本文换一个算法进行解决,也算一个创新点吧:


基于非支配排序遗传算法的多目标水光互补优化调度,然后用Matlab实现之。


近些年,人类对环境问题和资源枯竭关注日益增大,使得以光伏为代表的新能源发电得到了大规模的发展。截至2015年底,中国光伏发电累计装机容量4318万千瓦,成为全球光伏发电装机容量最大的国家[1]。但是,光伏具有“随机性、间歇性和波动性”的特点[2-4]。光伏发电的并网对电力系统的规划、安全、调度和控制等方面的影响也越来越大。虽然光伏的装机容量很大,但是并网消纳仍是一个有待解决的问题[5-6]。水电是一种清洁可再生的能源,其出力具有快速调节的优良性能,在电力系统中常常担任调峰的任务[7]。利用水电出力的特点来平衡光伏出力的波动,可以为电网提供更多的优质电能。世界上第一座水光互补电站2009年在青海玉树建成[8],到2015年全球最大的龙羊峡水光互补电站的建成[9],水光互补已得到了全世界的广泛关注。


1.1 水光互补

水光互补是指水电和光伏联合运行,利用水电机组快速调节的优良特性以及水电站的库容调节光伏出力的“随机性、波动性和间歇性”,同时光伏可以在水电匮乏时给予联合系统电量上的支持。


水电和光伏在年际、年内、日内有很好的互补特性。


.年际、年内互补特性


水电的发电量取决于径流的多少,径流在年内和年际间相差悬殊,年际有丰水年和枯水年之分,年内有丰、枯水期。水电在丰水年发电多、枯水年发电少,冬春季发电量少、夏秋季发电量多。相对而言,太阳能年际间波动很小,光电的年发电量几乎是恒定值;光伏发电还具有冬春季发电量大、夏秋季发电量小的季节性特点。光伏在水电匮乏时可以为联合系统提供电量上的支撑,减少系统负荷的缺额,因此,水电和光伏发电在年际和年内都存在很好地互补关系。


日内互补特性


光伏发电取决于环境条件,光伏出力呈现“间歇性、随机性和波动性”地特点。在一天之内,水电可以利用机组的快速调节性能来平抑光伏出力的“随机性和波动性”;光伏只在白天出力,在夜间的出力几乎为零,水电可以平衡光伏出力的“间歇性”[10]。因此,水电和光伏发电在日内也存在着很好的互补关系,如图1所示。


        a8bbfe778a6b40de96d2cba0223f94c4.png      


1.2 水光互补模型——目标函数和约束条件

水光互补的运行模式为以水电和光伏联合运行,以光伏出力为基荷,用水电来调节光伏出力,为了保证下游的用水,水电站在调度期内的出库流量恒定。在此模式下,建立水光互补调峰能力的模型,并考虑了各种约束条件。


目标函数


0f3cfdfe5b63492181b79f5088598091.png


两个目标,所有本文考虑用多目标优化算法解决之,没有用参考文献的方法。


水电出力的约束


9a64a15e26b043968db2463410c64d4b.png


ac102722c4ba411d9142227e5f90bba5.png



功率平衡约束


1a5a1e9362c74d888d273d17a5218d9b.png


其他约束


89a72675fd1a439ab35424000c52f7e9.png


1.3 多目标遗传算法

多目标优化NSGA-II(非支配排序常见于遗传算法)


📚2 运行结果


74b3fde84ee240a3a63c6754cb9c690b.png

4fd31b6fe7fe4c1d8c5200eceb1b8e9a.png


🌈3 Matlab代码实现

部分代码:

%% NSGA-II Parameters
MaxIt=70;      % Maximum Number of Iterations
nPop=80;        % Population Size
pCrossover=0.7;                         % Crossover Percentage
nCrossover=2*round(pCrossover*nPop/2);  % Number of Parnets (Offsprings)
pMutation=0.4;                          % Mutation Percentage
nMutation=round(pMutation*nPop);        % Number of Mutants
mu=0.02;                    % Mutation Rate
sigma=0.1*(VarMax-VarMin);  % Mutation Step Size
%% Initialization
empty_individual.Position=[];
empty_individual.Cost=[];
empty_individual.Rank=[];
empty_individual.DominationSet=[];
empty_individual.DominatedCount=[];
empty_individual.CrowdingDistance=[];
pop=repmat(empty_individual,nPop,1);
disp('产生初始可行解...')
for i=1:nPop   
    flag=0;
    while flag==0
        tmp=[];
        for j=1:1:nVar
            tmp = [tmp unifrnd(VarMin(j),VarMax(j),1)];
        end
        flag = test(tmp);     % 检查约束 约束不满足就重新生成解
    end
    pop(i).Position=tmp;
    pop(i).Cost=CostFunction(pop(i).Position);
end
% pause
% Non-Dominated Sorting
[pop, F]=NonDominatedSorting(pop);
% Calculate Crowding Distance
pop=CalcCrowdingDistance(pop,F);
% Sort Population
[pop, F]=SortPopulation(pop);
%% NSGA-II Main Loop
for it=1:MaxIt
    % 交叉
    popc=repmat(empty_individual,nCrossover/2,2);
    for k=1:nCrossover/2
        i1=randi([1 nPop]);
        p1=pop(i1);
        i2=randi([1 nPop]);
        p2=pop(i2);
        [popc(k,1).Position, popc(k,2).Position]=Crossover(p1.Position,p2.Position,VarMin,VarMax);
        if test(popc(k,1).Position)+test(popc(k,2).Position)==2
            popc(k,1).Cost=CostFunction(popc(k,1).Position);
            popc(k,2).Cost=CostFunction(popc(k,2).Position);
        else
            popc(k,1)=p1;
            popc(k,2)=p2;
        end


🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]丁航,安源,王颂凯,王浩. 水光互补的短期优化调度[C]//.2016第二届能源,环境与地球科学国际会议论文集.[出版者不详],2016:21-26.

相关文章
|
8天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
|
8天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
14天前
|
算法
基于WOA鲸鱼优化的购售电收益与风险评估算法matlab仿真
本研究提出了一种基于鲸鱼优化算法(WOA)的购售电收益与风险评估算法。通过将售电公司购售电收益风险计算公式作为WOA的目标函数,经过迭代优化计算出最优购电策略。实验结果表明,在迭代次数超过10次后,风险价值收益优化值达到1715.1万元的最大值。WOA还确定了中长期市场、现货市场及可再生能源等不同市场的最优购电量,验证了算法的有效性。核心程序使用MATLAB2022a实现,通过多次迭代优化,实现了售电公司收益最大化和风险最小化的目标。
|
11天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。
|
1天前
|
供应链 算法 调度
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
224 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
139 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
106 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)