【水光互补优化调度】基于非支配排序遗传算法的多目标水光互补优化调度(Matlab代码实现)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
欢迎来到本博客❤️❤️
博主优势博客内容尽量做到思维缜密逻辑清晰为了方便读者。
⛳️座右铭行百里者半于九十。
本文目录如下
目录
1 概述
参考文献
然后本文换一个算法进行解决也算一个创新点吧
基于非支配排序遗传算法的多目标水光互补优化调度然后用Matlab实现之。
近些年人类对环境问题和资源枯竭关注日益增大使得以光伏为代表的新能源发电得到了大规模的发展。截至2015年底中国光伏发电累计装机容量4318万千瓦成为全球光伏发电装机容量最大的国家[1]。但是光伏具有“随机性、间歇性和波动性”的特点[2-4]。光伏发电的并网对电力系统的规划、安全、调度和控制等方面的影响也越来越大。虽然光伏的装机容量很大但是并网消纳仍是一个有待解决的问题[5-6]。水电是一种清洁可再生的能源其出力具有快速调节的优良性能在电力系统中常常担任调峰的任务[7]。利用水电出力的特点来平衡光伏出力的波动可以为电网提供更多的优质电能。世界上第一座水光互补电站2009年在青海玉树建成[8]到2015年全球最大的龙羊峡水光互补电站的建成[9]水光互补已得到了全世界的广泛关注。
1.1 水光互补
水光互补是指水电和光伏联合运行利用水电机组快速调节的优良特性以及水电站的库容调节光伏出力的“随机性、波动性和间歇性”同时光伏可以在水电匮乏时给予联合系统电量上的支持。
水电和光伏在年际、年内、日内有很好的互补特性。
.年际、年内互补特性
水电的发电量取决于径流的多少径流在年内和年际间相差悬殊年际有丰水年和枯水年之分年内有丰、枯水期。水电在丰水年发电多、枯水年发电少冬春季发电量少、夏秋季发电量多。相对而言太阳能年际间波动很小光电的年发电量几乎是恒定值光伏发电还具有冬春季发电量大、夏秋季发电量小的季节性特点。光伏在水电匮乏时可以为联合系统提供电量上的支撑减少系统负荷的缺额因此水电和光伏发电在年际和年内都存在很好地互补关系。
日内互补特性
光伏发电取决于环境条件光伏出力呈现“间歇性、随机性和波动性”地特点。在一天之内水电可以利用机组的快速调节性能来平抑光伏出力的“随机性和波动性”光伏只在白天出力在夜间的出力几乎为零水电可以平衡光伏出力的“间歇性”[10]。因此水电和光伏发电在日内也存在着很好的互补关系如图1所示。
1.2 水光互补模型——目标函数和约束条件
水光互补的运行模式为以水电和光伏联合运行以光伏出力为基荷用水电来调节光伏出力为了保证下游的用水水电站在调度期内的出库流量恒定。在此模式下建立水光互补调峰能力的模型并考虑了各种约束条件。
目标函数
两个目标所有本文考虑用多目标优化算法解决之没有用参考文献的方法。
水电出力的约束
功率平衡约束
其他约束
1.3 多目标遗传算法
2 运行结果
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.