资源简介
关于机组组合优化的matlab程序,包含原始数据,已经输出到表格里,可直接运行
代码片段和文件信息
clear
clc
yalmip;
Cplex;
%%系统参数
%所有参数均用有名值表示
paragen=xlsread(‘excel2017‘‘机组参数‘);
loadcurve=xlsread(‘excel2017‘‘负荷曲线‘);
netpara=xlsread(‘excel2017‘‘网络参数‘);
branch_num=size(netpara);%网络中的支路
branch_num=branch_num(11);
PL_max=netpara(:6);%线路最大负荷
PL_min=netpara(:7);%线路最小负荷
limit=paragen(:3:4);%机组出力上下限//limit(:1)表示上限,limit(:2)表示下限
para=paragen(:5:7);%成本系数//para(:1)表示系数apara(:2)表示系数bpara(:3)表示系数c。
price=100;
para=price*para;%价格换算
lasttime=paragen(:9);%持续时间
Rud=paragen(:8);%上下爬坡速率//因题中简化上坡下坡速度相同
H=paragen(:10);%启动成本
J=paragen(:11);%关停成本
u0=[1 1 1 1 1 1];%初始状态
%% 规模变量
%机组数
gennum=size(paragen);
gennum=gennum(11);
%节点数
numnodes=size(loadcurve);
numnodes=numnodes(11)-1;
%时间范围
T=size(loadcurve);
T=T(12)-1;
%线性化分段数(按需要更改)
m=4;
%各时刻节点总负荷
PL=loadcurve(numnodes+12:T+1);
%%
%决策变量
u=binvar(gennumT‘full‘);%状态变量
p=sdpvar(gennumT‘full‘);%即各机组实时功率p(it)
Ps=sdpvar(gennumTm‘full‘);%分段出力
costH=sdpvar(gennumT‘full‘);%启动成本
costJ=sdpvar(gennumT‘full‘);%关停成本
sum_PowerGSDF=sdpvar(Tbranch_numnumnodes‘full‘);%发电机的输出功率转移总和
%% 目标函数线性化
MaxPs=zeros(gennumTm);%这里表示分段出力的上限
st=[];%st约束初始化
for i=1:gennum %目标函数线性化后分段出力的不等式约束
for t=1:T
for s=1:m
MaxPs(its)=(limit(i1)-limit(i2))/m;
st=st+[Ps(its)>=0Ps(its)<=MaxPs(its)];
end
end
end
K=zeros(gennumm);%煤耗函数的斜率值
for i=1:gennum
for s=1:m
K(is)=2*para(i1)*(2*s-1)*MaxPs(i11)+para(i2);%推导简化后的煤耗斜率
end
end
%目标函数线性化后分段出力的等式约束
for i=1:gennum
for t=1:T
st=st+[p(it)==(sum(Ps(it:)3)+u(it)*limit(i2))];
end
end
%% 目标函数
totalcost=0;%机组费用成本最小
%线性化的最优成本目标
for i=1:gennum
for t=1:T
for s=1:m
totalcost=totalcost+K(is)*Ps(its);%线性化煤耗成本
end
totalcost=totalcost+u(it)*(para(i2)*limit(i2)+para(i1)*limit(i2)^2+para(i3));%加上表示机组开机并以最小出力 运行产生的煤耗
totalcost=totalcost+costH(it)+costJ(it);%加上机组启停产生的开停机成本
end
end
%原二次函数式的最优成本目标
% for i=1:gennum
% for t=1:T
% totalcost=totalcost+para(i1)*p(it).^2+para(i2)*p(it)+para(i3)*u(it); %煤耗成本
% totalcost=totalcost+costH(it); %启动成本
% totalcost=totalcost+costJ(it); %关停成本
% end
% end
%%
for t=1:T
st=st+[sum(p(:t))==PL(1t)];%负荷平衡约束;
end
%%
for t=1:T
for i=1:gennum
st=st+[u(it)*limit(i2)<=p(it)<=u(it)*limit(i1)];%机组出力上下限约束
end
end
%% 机组爬坡约束
%按下式进行推导编程
% %启动最大升速率
% Su=(Pmax+Pmin)/2;
% %停机最大降速率
% Sd=(Pmax+Pmin)/2;
%Ru=Rud;Rd=Rud;
% %上爬坡约束
% for t=2:T
% st=st+[p(:t)-p(:t-1)<=u(:t-1).*(Ru-Su)+Su];
% end
% %下爬坡约束
% for t=2:T
%st=st+[p(:t-1)-p(:t)<=u(:t).*(Rd-Sd)+Sd];
% end
%展开表达式:
for t=2:T
for i=1:gennum
% st=st+[-Rud(i1)*u(it)+(u(it)-u(it-1))*limit(i2)-limit(i1)*(1-u(it))<=p(it)-p(it-1)];
% st=st+[p(it)-p(it-1)<=Rud(i1)*u(it-1)+(u(it)-u(it-1))*limit(i2)+limit(i1)*(1-u(it))];
%由于原式可能关机以后就无法再开动了,改用下式
st=st+[p(it-1)-p(it)<=Rud(i1)*u(it)+(1-u(it))*(limit(i2)+l属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 53760 2017-11-13 19:03 电力系统机组组合优化\excel2017.xls
文件 7584 2017-11-24 21:46 电力系统机组组合优化\jizuzuheyouhua.m
文件 184428 2017-11-26 13:35 电力系统机组组合优化\基本要求.docx
文件 34092 2017-11-24 21:53 电力系统机组组合优化\热备用0.05机组各时段最优出力图表.vsdx
文件 69120 2017-11-24 22:16 电力系统机组组合优化\热备用0.05状态下的机组组合问题求解结果.xls
文件 36685 2017-11-24 22:23 电力系统机组组合优化\热备用0.2下的机组最优出力.vsdx
文件 69632 2017-11-24 22:21 电力系统机组组合优化\热备用0.2状态下的机组组合问题求解结果.xls
目录 0 2019-04-19 19:20 电力系统机组组合优化
----------- --------- ---------- ----- ----
455301 8
相关资源
- 四旋翼MATLAB仿真文件+实验报告
- 串行级联cpm系统MATLAB仿真
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
川公网安备 51152502000135号
评论
共有 条评论