本程序是对《考虑源荷两侧不确定性的含风电电力系统低碳调度》的方法复现,主要实现了基于模糊机会约束的源荷两侧不确定性对含风电电力系统低碳调度的影响,将源荷不确定性采用清晰等价类进行处理,最终采用matlab+cplex进行求解。

目录

1 主要内容

2代码问题与程序测试

3下载链接


1 主要内容

目标函数:

约束条件:

功率平衡约束

新能源出力约束

常规水电机组约束

火电机组出力、爬坡、最小启停时间约束

储能约束

旋转备用约束

程序亮点总结:

  1. 非线性处理,很显然,火电机组成本目标函数里含有两个非线性项:分别是平方项和两个布尔变量乘积,但是源程序这里还是存在问题的,详细看第二节程序运行对比。

  2. 火电机组最小启停时间约束,这个程序理解可以看文末视频。

2代码问题与程序测试

该程序代码为本人早期编写,代码弱点也很清楚,经过n次打磨,现可以就这部分问题进行分享,一是线性化处理的部分缺少一个约束,导致线性化处理不等价,存在严重偏差。

平方项分段线性化代码如下:

%分段线性化gn=5;gl1=(Pgmax-Pgmin)./gn;gl2=zeros(5,gn+1);for i=1:5gl2(i,:)=Pgmin(i):gl1(i):Pgmax(i);endcons = [cons, x_pf(1,:)==gl2(1,:).^2*gw1];cons = [cons, x_pf(2,:)==gl2(2,:).^2*gw2];cons = [cons, x_pf(3,:)==gl2(3,:).^2*gw3];cons = [cons, x_pf(4,:)==gl2(4,:).^2*gw4];cons = [cons, x_pf(5,:)==gl2(5,:).^2*gw5];cons = [cons, gw1(1,:)<=gz1(1,:)];for i=2:gn    cons = [cons, gw1(i,:)<=gz1(i-1,:)+gz1(i,:)];endcons = [cons, gw1(gn+1,:)<=gz1(gn,:)];cons = [cons, sum(gz1)==ones(1,Horizon)];cons = [cons, gw2(1,:)<=gz2(1,:)];for i=2:gn    cons = [cons, gw2(i,:)<=gz2(i-1,:)+gz2(i,:)];endcons = [cons, gw2(gn+1,:)<=gz2(gn,:)];cons = [cons, sum(gz2)==ones(1,Horizon)];cons = [cons, gw3(1,:)<=gz3(1,:)];for i=2:gn    cons = [cons, gw3(i,:)<=gz3(i-1,:)+gz3(i,:)];endcons = [cons, gw3(gn+1,:)<=gz3(gn,:)];cons = [cons, sum(gz3)==ones(1,Horizon)];cons = [cons, gw4(1,:)<=gz4(1,:)];for i=2:gn    cons = [cons, gw4(i,:)<=gz4(i-1,:)+gz4(i,:)];endcons = [cons, gw4(gn+1,:)<=gz4(gn,:)];cons = [cons, sum(gz4)==ones(1,Horizon)];cons = [cons, gw5(1,:)<=gz5(1,:)];for i=2:gn    cons = [cons, gw5(i,:)<=gz5(i-1,:)+gz5(i,:)];endcons = [cons, gw5(gn+1,:)<=gz5(gn,:)];cons = [cons, sum(gz5)==ones(1,Horizon)];cons = [cons, PG(1,:)==gl2(1,:)*gw1];cons = [cons, PG(2,:)==gl2(2,:)*gw2];cons = [cons, PG(3,:)==gl2(3,:)*gw3];cons = [cons, PG(4,:)==gl2(4,:)*gw4];cons = [cons, PG(5,:)==gl2(5,:)*gw5];

平方线性化的理论很简单,分段采用直线代替曲线,很多文献都采用这种方法来处理,这段线性化约束中x_pf为PG的平方项变量,因为没有设定x_pf大于等于0的约束,导致程序结果出现严重错误,下图为截取的部分运行结果,优化结果中x_pf存在小于0的数值,这是严重不对的。

设备出力运行结果:

补充上x_pf大于等于0的约束后,x_pf就不会出现负值。将PG进行平方和x_pf进行对比看一下误差情况。

这是1个火电机组的优化结果对比,PG的平方远比其线性化后的平方值大,这和火电机组运行区间以及线性化的精细度相关,但是这种偏差会导致结果与预期差距大,并且找不出程序原因。

大家可以翻看一下上一篇文章的资料,里面有关于非线性的例子,我们采用直接非线性约束的方式进行优化,看一下优化结果。

为了对比一下优化结果的差异性,见下面对比图。

很明显存在较大差异,再来看一下平方项的对比图。

两条曲线完全重合,说明采用非线性化约束得到的结果没有问题,对于哪种情况下可以直接非线性约束哪种情况需要线性化,后期我专题分享一下这部分内容。

本次将线性化处理后的程序和非线性约束直接表达的程序一并打包,以供大家在学术过程中做个对比,方便大家不断探索和进步,下面贴出其他部分程序代码。

Pgmin=[230 200 150 120 70]';%火电机组功率下限Pgmax=[460 400 350 300 150]';%火电机组功率上限Phmin=0;%水电下限Phmax=280;%水电上限rud=[240 210 150 120 70]';%火电爬坡On_min=[8 7 6 4 3]';%开机时间Off_min=[8 7 6 4 3]';%关机时间a=1e-5.*[1.02 1.21 2.17 3.42 6.63]';%火电机组表格数据,下同b=[0.277 0.288 0.29 0.292 0.306]';c=[9.2 8.8 7.2 5.2 3.5]';Sit=[25.6 22.3 16.2 12.3 4.6]';e=[0.877 0.877 0.877 0.877 0.979]';lam=[0.94 0.94 0.94 0.94 1.03]';%储能参数capmax=400;EESmax=100;EESmin=0;socmax=0.9;socmin=0.2;theta=0.01;%自放电率yita=0.95;%-------------w=50;d=100;tao=0.25;%碳交易价格、区间长度、增长幅度Horizon=24;%时间参数ngen=5;%火电机组数量%% 决策变量PG = sdpvar(ngen, Horizon);%火电PH = sdpvar(1, Horizon);%水电x_P_ch = sdpvar(1, Horizon);%充电x_P_dis = sdpvar(1, Horizon);%放电x_P_w = sdpvar(1, Horizon);%风电x_P_v = sdpvar(1, Horizon);%水电x_u_ch = binvar(1, Horizon);%充电状态x_u_dis = binvar(1, Horizon);%放电状态OnOff = binvar(ngen,Horizon);%火电机组状态lin = sdpvar(1, Horizon);%目标3中间变量%P的平方线性化参数gn=5;x_pf=sdpvar(ngen, Horizon);gw1=sdpvar(gn+1,Horizon);gw2=sdpvar(gn+1,Horizon);gw3=sdpvar(gn+1,Horizon);gw4=sdpvar(gn+1,Horizon);gw5=sdpvar(gn+1,Horizon);gw6=sdpvar(gn+1,Horizon);gz1=binvar(gn, Horizon);gz2=binvar(gn, Horizon);gz3=binvar(gn, Horizon);gz4=binvar(gn, Horizon);gz5=binvar(gn, Horizon);%模型构建%% 约束条件生成cons = [];%火电机组 cons_gen = getConsGen1(PG,Pgmax,Pgmin,rud, Horizon,OnOff,On_min,Off_min); cons = [cons, cons_gen];%水电机组cons = [cons, repmat(Phmin,1,Horizon)<=PH<=repmat(Phmax,1,Horizon)];%储能约束 cons_ees = getConsEES(x_P_ch, x_P_dis, x_u_ch, x_u_dis, EESmax, EESmin, capmax, Horizon,theta); cons = [cons, cons_ees];%新能源出力约束cons = [cons,0 <= x_P_w <=pw, 0 <= x_P_v <=pv];

3点击进入下载链接

【matlab测试与修正】考虑源荷两侧不确定性的含风电电力系统低碳调度相关推荐

  1. 电力系统机组调度 考虑了源荷不确定性 考虑源荷两侧不确定性的含风电的低碳调度,引入模糊机会约束,程序包括储能、风光、火电机组及水电机组

    电力系统机组调度 考虑了源荷不确定性 求解:matlab+yalmip+gurobi作为求解器) 内容:考虑源荷两侧不确定性的含风电的低碳调度,引入模糊机会约束,程序包括储能.风光.火电机组及水电机组 ...

  2. 计及碳捕集电厂低碳特性的含风电电力系统源–荷多时间尺度调度方法(Matlab代码实现)

  3. matlab代码:计及碳捕集电厂低碳特性电力系统源-荷多时间尺度调度方法(电机工程学报)

    MATLAB yalmip+cplex,多时间尺度电热综合能源系统低碳经济调度模型,源侧在碳捕集电厂中装设 烟气旁路系统与溶液存储器,形成碳捕集电厂综合灵活运 行方式进而与风电协调配合:荷侧调用不同响 ...

  4. MATLAB代码:基于雨流计数法的源-荷-储双层协同优化配置

    MATLAB代码:基于雨流计数法的源-荷-储双层协同优化配置 关键词:双层规划 雨流计算法 储能优化配置 参考文档:<储能系统容量优化配置及全寿命周期经济性评估方法研究>第三章 仿真平台: ...

  5. 考虑源荷不确定性的微网优化(含matlab程序)

    目录 一.前言 二.含可再生能源的CHP型微网系统 三.CCP理论 四.具体模型 五.不含随机变量分析的matlab程序设计 1.粒子群寻优功能代码段 2.目标函数子程序 3.其他代码段 六.基于CC ...

  6. 【光学】基于matlab涡旋光束全息与拓扑荷仿真【含Matlab源码 1945期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab涡旋光束全息与拓扑荷仿真[含Matlab源码 1945期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

  7. WebBench压力测试工具(详细源码注释+分析)

    WebBench压力测试工具(详细源码注释+分析) 本文适合人群:对WebBench实现感兴趣的人 WebBench原理: Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程 ...

  8. matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...

    一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...

  9. 【飞轮储能】基于matlab simulink飞轮储能(永磁同步电机)仿真【含Matlab源码 2421期】

    一.⛄获取代码方式 获取代码方式1: 完整代码已上传我的资源:[飞轮储能]基于matlab simulink飞轮储能(永磁同步电机)仿真[含Matlab源码 2421期] 点击上面蓝色字体,直接付费下 ...

最新文章

  1. 【LeetCode】13. Roman to Integer
  2. tomcat安装问题解决
  3. [Swift]LeetCode210. 课程表 II | Course Schedule II
  4. Access注入偏移爆字段
  5. python中与label类似的控件是_Python高级进阶教程021期 pyqt5label控件进阶使用,设置兄弟控件,广告植入...
  6. 美国体验圣帕特里克节(St.Patrick's Day)
  7. SDN的发展壮大确实在蚕食物理网络基础设施的阵地
  8. OpenShift ocp packages
  9. Delphi 与 DirectX 之 DelphiX(83): TDIB.FilterLine()、FilterRect();
  10. java虚拟机学习笔记(五)---运行时的数据区域
  11. PostgreSQL与MySQL的区别收集
  12. 雪花算法详解及存在问题
  13. 最近200篇文章汇总
  14. 【牛腩】FreeTextBox
  15. Win10清理C盘垃圾
  16. 计算机链接局域网,window7连接局域网的方法
  17. 专访平安科技方国伟:全面解读金融云中CaaS的技术选型
  18. 2017年问题汇总-待整理
  19. 人生忠告:给男人和女人(ZT)
  20. pagerank算法详解

热门文章

  1. 2020版java学习线路图(内附资源)
  2. 来师大后五体发展状况概述
  3. 《JavaScript高级程序设计 (第3版)》学习笔记15:chapter_5 - 6 基本包装类型
  4. Machine Learning第六周笔记一:评估学习算法和bias/variance
  5. python学习 2
  6. 11月2日随堂笔记-表格
  7. 2021-2027全球与中国五轴激光切割机市场现状及未来发展趋势
  8. eos代码阅读笔记10 -使用boost单元测试
  9. php http keep alive,HTTP的KeepAlive是开启还是关闭?
  10. 关于long long