1153: sum

本文介绍了一个简单的求和算法实现,该算法用于计算从1累加到n的总和,并通过示例展示了输入输出的具体形式。

1153: sum

1.描述

Hey, welcome toPDSU OJPingdingshan University Online Judge). In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + … + n.

输入
The input will consist of a series of integers n, and n>=0,end of file EOF,one integer per line.

输出
For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.

样例输入
1
100
样例输出
1

5050

2.代码

非常简单的一道题,具体意思可以去百度翻译

#include <stdio.h>
int main()
{
  int n,i,m,x=0,j;
  while(scanf("%d",&n)!=EOF)
  {
      x=0;
      for(i=1;i<=n;i++)
      {x+=i;}
      printf("%d\n\n",x);
  }
    return 0;
}
检查以下代码,指出需要优化的地方:clc clear %% 设置条件 N=6; T=24; P_DJC_max=80; P_DJC_b=10; n_DJC=0.87; N_DJC=0; %% 决策变量初始化 P_CCHP_e=sdpvar(1,T); %CCHP的输出电功率 P_CCHP_h=sdpvar(1,T); %CCHP的输出热功率 P_CCHP_c=sdpvar(1,T); %CCHP的输出冷功率 P_g_CCHP=sdpvar(1,T); %CCHP消耗天然气功率 P_e_DJC=sdpvar(N,T); %电解槽的用电功率 P_DJC_H2=sdpvar(N,T); %电解槽的产氢功率 I=binvar(N,T); %停机 S=binvar(N,T); %冷待机 L=binvar(N,T); %变载运行 R=binvar(N,T); %过载运行 V=binvar(N,T); %低载运行 Y=binvar(N,T); %启动间隔 Z=binvar(N,T); %关机间隔 W=binvar(N,T); %制氢惩罚 X=binvar(N,T); %从停机到完全启动的标志 P_H_MR=sdpvar(1,T); %输入MR设备的氢能功率 P_MR_g=sdpvar(1,T); %MR设备输出的天然气功率 P_H_HFC=sdpvar(1,T); %输入HFC设备的氢能功率 P_HFC_e=sdpvar(1,T); %HFC设备输出的电功率 P_HFC_h=sdpvar(1,T); %HFC设备输出的热功率 P_PV=sdpvar(1,T); %光伏消纳功率 P_e_GB=sdpvar(1,T); %输入GB设备的天然气功率 P_GB_h=sdpvar(1,T); %GB设备输出的热功率 %储能部分(电ES1、热ES2、气ES3、氢ES4) P_ES1_cha=sdpvar(1,T);P_ES2_cha=sdpvar(1,T);P_ES3_cha=sdpvar(1,T);P_ES4_cha=sdpvar(1,T); %充放功率 P_ES1_dis=sdpvar(1,T);P_ES2_dis=sdpvar(1,T);P_ES3_dis=sdpvar(1,T);P_ES4_dis=sdpvar(1,T); S_1=sdpvar(1,T);S_2=sdpvar(1,T);S_3=sdpvar(1,T);S_4=sdpvar(1,T); %各储能的实时容量状态 %引入充放标志二进制变量 B_ES1_cha=binvar(1,T);B_ES2_cha=binvar(1,T);B_ES3_cha=binvar(1,T);B_ES4_cha=binvar(1,T); %充标志 B_ES1_dis=binvar(1,T);B_ES2_dis=binvar(1,T);B_ES3_dis=binvar(1,T);B_ES4_dis=binvar(1,T); %放标志 P_e_buy=sdpvar(1,T); %购电功率 P_g_buy=sdpvar(1,T); %购气功率 %% 导入常数参数 %购电价格 jf=0.7; %峰段电价 jg=0.25; %谷段电价 jp=0.6487; %平段电价 c_e_buy=[jg.*ones(1,7) jf.*ones(1,5) jp.*ones(1,5) jf.*ones(1,4) jp.*ones(1,3)]; %电价情况 %电负荷 P_e_load=[1632.49275595938,1572.19275595938,1548.99275595938,1609.29275595938,1660.29275595938,1957.29275595938,2244.89275595938,1623.55187999109,1878.75187999109,2022.55187999109,2124.65187999109,2138.55187999109,2418.68481725823,2418.68481725823,2460.38481725823,2441.88481725823,2529.98481725823,2249.95187999109,2180.35187999109,2004.05187999109,1748.85187999109,2019.68481725823,1374.68481725823,1203.08481725823]; %热负荷 P_h_load=[1015.4 917.9 919.6 885.9 1192.2 1661.6 1603.7 1497.3 1570.9 1681.9 1378.7 1412.1 1512.3 1435.7 1476.2 1560.3 1666.7 1746 1780.5 2031.2 2152.3 1905.2 1705.6 1153.8]; %冷负荷 P_c_load=[229.916897506925;224.376731301939;216.066481994460;221.606648199446;224.376731301939;252.077562326870;268.698060941828;288.088642659280;299.168975069252;288.088642659280;293.628808864266;282.548476454294;279.778393351801;271.468144044321;271.468144044321;268.698060941828;277.008310249307;293.628808864266;307.479224376731;304.709141274238;293.628808864266;285.318559556787;277.008310249307;265.927977839335]'; %光伏出力最大值 P_PV_max=[1870+100 1760+100 1362.5+250 1500.1 1220.2+150 1360.7 1394.7 1067.08+200 1370.8 1192.7 1321.4 1340 1280 1428.2 1560.7 1600 1572 1739 1660.1 1677 1800 1756.8 1790.1 1856.6 ]; %购气价格 c_g_buy=0.35*ones(1,T); %% 导入约束条件 C=[]; C=C+[P_DJC_H2==0.9*(P_e_DJC-P_DJC_b*S)]; %电氢转换关系 C=C+[P_DJC_b*S+0.3*P_DJC_max*L+P_DJC_max*R+0.2*P_DJC_max*V<=P_e_DJC<=0.3*P_DJC_max*V+1.5*P_DJC_max*R+P_DJC_b*S+P_DJC_max*L]; %PEM功率限制 C=C+[-I(:,1:T-2)+I(:,2:T-1)-I(:,3:T)<=0]; %停机时间约束 C=C+[L+S+I+R+V==1]; %状态互斥约束 C=C+[V(:,2:T)+R(:,2:T)+L(:,2:T)+S(:,2:T)+I(:,1 :T-1)-1<=Y(:,2:T)]; %启停间隔约束 C=C+[R(:,1:T-1)+L(:,1:T-1)+S(:,1:T-1)+I(:,1:T-1)-1<=Z(:,2:T)]; %启停间隔约束 C=C+[W(:,2:T)<=S(:,1:T-1)]; C=C+[W<=L+R+V]; C=C+[W(:,2:T)>=S(:,1:T-1)+L(:,2:T)+R(:,2:T)+V(:,2:T)-1]; %过载、低载时间限制 C=[C,sum(R)<=3]; for i=1:T-2 C=C+[R(:,i)+R(:,i+1)+R(:,i+2)<=2]; end for i=1:T-2 C=C+[V(:,i)+V(:,i+1)+V(:,i+2)<=2]; end C=[C, %CHP的电-气能量转换约束 0<=P_g_CCHP<=1200, %CHP消耗的气功率上下限约束 P_CCHP_e==0.35*P_g_CCHP, P_CCHP_h==0.45*P_g_CCHP, -500<=P_g_CCHP(2:T)-P_g_CCHP(1:23)<=500, %CHP的爬坡约束(1-24时段) ]; C=[C, P_MR_g==0.6*P_H_MR, %MR(甲烷反应器)的气-氢能量转换约束 0<=P_H_MR<=300, %MR消耗的氢功率的上下限约束 -0.2*300<=P_H_MR(2:T)-P_H_MR(1:23)<=0.5*300, %MR的爬坡约束(1-24时段) ]; C=[C, P_HFC_e+P_HFC_h==0.95*P_H_HFC, %HFC(氢燃料电池)的电-氢能量转换约束 0<=P_H_HFC<=500, %HFC消耗的氢功率上下限约束 0.5*P_HFC_e<=P_HFC_h, %HFC的热电比上下限 P_HFC_h<=2.1*P_HFC_e,%HFC的热电比上下限 -0.2*500<=P_H_HFC(2:T)-P_H_HFC(1:23)<=0.2*500, %HFC的爬坡约束(1-24时段) ]; C=[C, 0<=P_PV<=P_PV_max, %风电出力约束 P_GB_h==0.90*P_g_GB, %GB的热-气能量转换约束 0<=P_g_GB<=1200, %GB的出力上下限约束 -500<=P_g_GB(2:T)-P_g_GB(1:23)<=500, %GB的爬坡约束(1-24时段) ]; C=[C, 0<=P_ES1_cha<=B_ES1_cha*0.5*1000, %储电设备的最大充电功率约束 0<=P_ES2_cha<=B_ES2_cha*0.5*1000, %储热设备的最大充热功率约束 0<=P_ES3_cha<=B_ES3_cha*0.5*1000, %储气设备的最大充气功率约束 0<=P_ES4_cha<=B_ES4_cha*0.5*400, %储氢设备的最大充氢功率约束 0<=P_ES1_dis<=B_ES1_dis*0.5*1000, %储电设备的最大放电功率约束 0<=P_ES2_dis<=B_ES2_dis*0.5*1000, %储热设备的最大放热功率约束 0<=P_ES3_dis<=B_ES3_dis*0.5*1000, %储气设备的最大放气功率约束 0<=P_ES4_dis<=B_ES4_dis*0.5*400, %储氢设备的最大放氢功率约束 S_1(1)==0.1*1000, %储电设备的初始容量 S_2(1)==0.1*1000, %储热设备的初始容量 S_3(1)==0.1*1000, %储气设备的初始容量 S_4(1)==80, %储氢设备的初始容量 %储能爬坡约束 -0.2*1000<=P_ES1_cha(2:T)-P_ES1_cha(1:23)<=0.2*1000 -0.2*1000<=P_ES1_dis(2:T)-P_ES1_dis(1:23)<=0.2*1000 -0.2*1000<=P_ES2_cha(2:T)-P_ES2_cha(1:23)<=0.2*1000 -0.2*1000<=P_ES2_dis(2:T)-P_ES2_dis(1:23)<=0.2*1000 -0.2*1000<=P_ES3_cha(2:T)-P_ES3_cha(1:23)<=0.2*1000 -0.2*1000<=P_ES3_dis(2:T)-P_ES3_dis(1:23)<=0.2*1000 -80<=P_ES4_cha(2:T)-P_ES4_cha(1:23)<=80 -80<=P_ES4_dis(2:T)-P_ES4_dis(1:23)<=80 %始末状态守恒约束 S_1(T)==S_1(1), S_2(T)==S_2(1), S_3(T)==S_3(1), S_4(T)==S_4(1), %充放状态唯一 B_ES1_cha+B_ES1_dis<=1, B_ES2_cha+B_ES2_dis<=1, B_ES3_cha+B_ES3_dis<=1, B_ES4_cha+B_ES4_dis<=1, %储能容量上下限约束 0.1*1000<=S_1<=0.9*1000, 0.1*1000<=S_2<=0.9*1000, 0.1*1000<=S_3<=0.9*1000, 80<=S_4<=400, %储能容量变化约束 S_1(2:T)==S_1(1:23)+0.95*P_ES1_cha(2:T)-P_ES1_dis(2:T)/0.95, S_2(2:T)==S_2(1:23)+0.95*P_ES2_cha(2:T)-P_ES2_dis(2:T)/0.95, S_3(2:T)==S_3(1:23)+0.95*P_ES3_cha(2:T)-P_ES3_dis(2:T)/0.95, S_4(2:T)==S_4(1:23)+0.95*P_ES4_cha(2:T)-P_ES4_dis(2:T)/0.95, ]; C=[C, sum(0.95*P_ES1_cha)-sum(P_ES1_dis/0.95)==0]; C=[C,sum(0.95*P_ES2_cha)-sum(P_ES2_dis/0.95)==0]; P_PEM_H2_N=sum(P_DJC_H2); P_PEM_E_N=sum(P_e_DJC); %% 功率平衡条件 C=[C, P_e_buy==P_e_load+P_PEM_E_N+P_ES1_cha-P_ES1_dis-P_PV-P_CCHP_e-P_HFC_e, %电功率平衡约束 P_HFC_h+P_CCHP_h+P_GB_h==P_h_load+P_ES2_cha-P_ES2_dis, %热功率平衡约束 P_g_buy==P_c_load+P_ES3_cha-P_ES3_dis+P_g_CCHP+P_g_GB-P_MR_g, %气功率平衡约束 P_PEM_H2_N==P_H_MR+P_H_HFC+P_ES4_cha-P_ES4_dis, %氢功率平衡约束 0<=P_e_buy<=5000, %购电功率约束 0<=P_g_buy<=5000, %购气功率约束 ]; %% 阶梯碳交易 %碳排放权配额模型 E_e_buy=0.728*sum(P_e_buy); %购电配额 E_CHP=0.57*sum(P_CCHP_h+6/3.6*P_CCHP_e); %CHP配额 E_GB=0.57*sum(P_GB_h); %GB配额 E_IES=E_e_buy+E_CHP+E_GB; %IES总碳排放配额 %实际碳排放模型 E_e_buy_a=1.08*sum(P_e_buy); E_CHP_a=0.6101*sum(P_CCHP_h+6/3.6*P_CCHP_e); E_GB_a=0.6101*sum(P_GB_h); E_MR_a=0.5*sum(P_MR_g); %实际MR减少的碳排放 E_IES_a=E_e_buy_a+E_CHP_a+E_GB_a; E=E_IES_a; %实际IES总碳排放 %阶梯碳交易成本(分段线性化) E_v=sdpvar(1,5) %每段区间内的长度,分为5段,每段长度是2000 lamda=0.267; %碳交易基价 E_C= E-E_IES; C=[C, E_C==sum(E_v), %总长度等于E 0<=E_v(1:4)<=1000, %除了最后一段,每段区间长度小于等于2000 0<=E_v(5), ]; %碳交易成本 C_CO2=0; for v=1:5 C_CO2=C_CO2+(lamda+(v-1)*0.25*lamda)*E_v(v); end %% 总目标函数 CY=30*sum(sum(Y)); obj=c_e_buy*P_e_buy'+c_g_buy*P_g_buy'+0.2*sum(P_PV_max-P_PV)+C_CO2+CY; %购能成本+弃风成本+碳交易成本+启停成本 C_E_BUY=c_e_buy*P_e_buy'; C_G_BUY=c_g_buy*P_g_buy'; C_wind=0.2*sum(P_PV_max-P_PV); %% 求解器相关配置 ops=sdpsettings('solver','cplex','verbose',2,'usex0',0); ops.cplex.mip.tolerances.mipgap=1e-6; %% 进行求解计算 result=optimize(C,obj,ops); if result.problem==0 % problem =0 代表求解成功 % do nothing! else error('求解出错'); end
09-15
检查以下代码,指出需要修改的地方:clc clear %% 导入常数参数 % 电负荷 P_e_load = [1632.49275595938,1572.19275595938,1548.99275595938,1609.29275595938,1660.29275595938,1957.29275595938,2244.89275595938,1623.55187999109,1878.75187999109,2022.55187999109,2124.65187999109,2138.55187999109,2418.68481725823,2418.68481725823,2460.38481725823,2441.88481725823,2529.98481725823,2249.95187999109,2180.35187999109,2004.05187999109,1748.85187999109,2019.68481725823,1374.68481725823,1203.08481725823]; % 热负荷 P_h_load = [1015.4 917.9 919.6 885.9 1192.2 1661.6 1603.7 1497.3 1570.9 1681.9 1378.7 1412.1 1512.3 1435.7 1476.2 1560.3 1666.7 1746 1780.5 2031.2 2152.3 1905.2 1705.6 1153.8]; % 冷负荷 P_c_load = [229.916897506925;224.376731301939;216.066481994460;221.606648199446;224.376731301939;252.077562326870;268.698060941828;288.088642659280;299.168975069252;288.088642659280;293.628808864266;282.548476454294;279.778393351801;271.468144044321;271.468144044321;268.698060941828;277.008310249307;293.628808864266;307.479224376731;304.709141274238;293.628808864266;285.318559556787;277.008310249307;265.927977839335]'; % 光伏出力预测值 P_PV_max = [1870+100 1760+100 1362.5+250 1500.1 1220.2+150 1360.7 1394.7 1067.08+200 1370.8 1192.7 1321.4 1340 1280 1428.2 1560.7 1600 1572 1739 1660.1 1677 1800 1756.8 1790.1 1856.6 ]; % 购电、气价格 c_e_buy=[0.25.*ones(1,7), 0.78.*ones(1,5), 0.64.*ones(1,5), 0.78.*ones(1,4) , 0.64.*ones(1,3)]; % 电价情况 c_g_buy=0.35*ones(1,24); %% 决策变量初始化 Num = 6; Time = 24; P_EL_max = 80; P_EL_b = 10; P_g_CCHP = sdpvar(1,Time); % CCHP消耗天然气功率 P_CCHP_e = sdpvar(1,Time); % CCHP的输出电功率 P_CCHP_h = sdpvar(1,Time); % CCHP的输出热功率 P_CCHP_c = sdpvar(1,Time); % CCHP的输出冷功率 P_g_GB=sdpvar(1,Time); % 输入GB设备的天然气功率 P_GB_h=sdpvar(1,Time); % GB设备输出的热功率 P_e_EL = sdpvar(Num,Time); %电解槽的用电功率 P_EL_H2 = sdpvar(Num,Time); % 电解槽的产氢功率 P_H2_MR = sdpvar(1,Time); % 输入甲烷化设备的氢能功率 P_MR_g = sdpvar(1,Time); % 甲烷化设备输出的天然气功率 P_H2_HFC = sdpvar(1,Time); % 输入燃料电池的氢能功率 P_HFC_e = sdpvar(1,Time); % 燃料电池输出的电功率 P_HFC_h = sdpvar(1,Time); % 燃料电池输出的热功率 P_PV_e = sdpvar(1,Time); % 光伏实际消纳功率 % 储能部分(电ES1、热ES2、气ES3、氢ES4) P_ES1_cha = sdpvar(1,Time); P_ES2_cha = sdpvar(1,Time); P_ES3_cha = sdpvar(1,Time); P_ES4_cha = sdpvar(1,Time); % 充放功率 P_ES1_dis = sdpvar(1,Time); P_ES2_dis = sdpvar(1,Time); P_ES3_dis = sdpvar(1,Time); P_ES4_dis = sdpvar(1,Time); SOC_1 = sdpvar(1,Time); SOC_2 = sdpvar(1,Time); SOC_3 = sdpvar(1,Time); SOC_4 = sdpvar(1,Time); % 各储能的实时容量状态 % 引入充放标志二进制变量 B_ES1_cha = binvar(1,Time); B_ES2_cha = binvar(1,Time); B_ES3_cha = binvar(1,Time); B_ES4_cha = binvar(1,Time); % 充标志 B_ES1_dis = binvar(1,Time); B_ES2_dis = binvar(1,Time); B_ES3_dis = binvar(1,Time); B_ES4_dis = binvar(1,Time); % 放标志 P_e_buy = sdpvar(1,Time); % 购电功率 P_g_buy = sdpvar(1,Time); % 购气功率 I = binvar(Num,Time); % 停机运行 S = binvar(Num,Time); % 待机运行 L = binvar(Num,Time); % 变载运行 R = binvar(Num,Time); % 过载运行 V = binvar(Num,Time); % 低载运行 Y = binvar(Num,Time); % 启动间隔 Z = binvar(Num,Time); % 关机间隔 W = binvar(Num,Time); % 制氢惩罚标志 X = binvar(Num,Time); % 从停机到完全启动的标志 %% 导入约束条件 Cons = []; Cons = Cons + [P_EL_H2==0.9*(P_e_EL-P_EL_b*S)]; % 电-氢转换关系 Cons = Cons + [P_EL_b*S+0.3*P_EL_max*L+P_EL_max*R+0.2*P_EL_max*V<=P_e_EL<=0.3*P_EL_max*V+1.5*P_EL_max*R+P_EL_b*S+P_EL_max*L]; % PEM功率限制 Cons = Cons + [-I(:,1:Time-2)+I(:,2:Time-1)-I(:,3:Time)<=0]; % 停机时间约束 Cons = Cons + [L+S+I+R+V==1]; % 状态互斥约束 Cons = Cons + [V(:,2:Time)+R(:,2:Time)+L(:,2:Time)+S(:,2:Time)+I(:,1 :Time-1)-1<=Y(:,2:Time)]; % 启停间隔约束 Cons = Cons + [R(:,1:Time-1)+L(:,1:Time-1)+S(:,1:Time-1)+I(:,1:Time-1)-1<=Z(:,2:Time)]; % 启停间隔约束 Cons = Cons + [W(:,2:Time)<=S(:,1:Time-1)]; Cons = Cons + [W<=L+R+V]; Cons = Cons + [W(:,2:Time)>=S(:,1:Time-1)+L(:,2:Time)+R(:,2:Time)+V(:,2:Time)-1]; % 过载、低载时间限制 Cons = [Cons,sum(R)<=3]; for i=1:Time-2 Cons = Cons + [R(:,i)+R(:,i+1)+R(:,i+2)<=2]; end for i=1:Time-2 Cons = Cons + [V(:,i)+V(:,i+1)+V(:,i+2)<=2]; end Cons = [Cons, % CCHP的电-气能量转换约束 0<=P_g_CCHP<=1200, % CCHP消耗的气功率上、下限约束 P_CCHP_e==0.35*P_g_CCHP, P_CCHP_h==0.45*P_g_CCHP, -500<=P_g_CCHP(2:Time)-P_g_CCHP(1:23)<=500, % CCHP的爬坡约束(1-24时段) ]; Cons = [Cons, P_MR_g==0.6*P_H2_MR, % 甲烷反应器的气-氢能量转换约束 0<=P_H2_MR<=300, % 甲烷反应器消耗的氢功率的上、下限约束 -0.2*300<=P_H2_MR(2:Time)-P_H2_MR(1:23)<=0.5*300, % 甲烷反应器的爬坡约束(1-24时段) ]; Cons = [Cons, P_HFC_e+P_HFC_h==0.95*P_H2_HFC, % 燃料电池的电-氢能量转换约束 0<=P_H2_HFC<=500, % 燃料电池消耗的氢功率上、下限约束 0.5*P_HFC_e<=P_HFC_h, % 燃料电池的热电比下限 P_HFC_h<=2.1*P_HFC_e, % 燃料电池的热电比上限 -0.2*500<=P_H2_HFC(2:Time)-P_H2_HFC(1:23)<=0.2*500, % 燃料电池的爬坡约束(1-24时段) ]; Cons = [Cons, 0<=P_PV_e<=P_PV_max, % 风电出力约束 P_GB_h==0.90*P_g_GB, % GB的热-气能量转换约束 0<=P_g_GB<=1200, % GB的出力上、下限约束 -500<=P_g_GB(2:Time)-P_g_GB(1:23)<=500, % GB的爬坡约束(1-24时段) ]; Cons = [Cons, 0<=P_ES1_cha<=B_ES1_cha*0.5*1000, % 储电设备的最大充电功率约束 0<=P_ES2_cha<=B_ES2_cha*0.5*1000, % 储热设备的最大充热功率约束 0<=P_ES3_cha<=B_ES3_cha*0.5*1000, % 储气设备的最大充气功率约束 0<=P_ES4_cha<=B_ES4_cha*0.5*400, % 储氢设备的最大充氢功率约束 0<=P_ES1_dis<=B_ES1_dis*0.5*1000, % 储电设备的最大放电功率约束 0<=P_ES2_dis<=B_ES2_dis*0.5*1000, % 储热设备的最大放热功率约束 0<=P_ES3_dis<=B_ES3_dis*0.5*1000, % 储气设备的最大放气功率约束 0<=P_ES4_dis<=B_ES4_dis*0.5*400, % 储氢设备的最大放氢功率约束 SOC_1(1)==0.1*1000, % 储电设备的初始容量 SOC_2(1)==0.1*1000, % 储热设备的初始容量 SOC_3(1)==0.1*1000, % 储气设备的初始容量 SOC_4(1)==80, % 储氢设备的初始容量 % 储能爬坡约束 -0.2*1000<=P_ES1_cha(2:Time)-P_ES1_cha(1:23)<=0.2*1000 -0.2*1000<=P_ES1_dis(2:Time)-P_ES1_dis(1:23)<=0.2*1000 -0.2*1000<=P_ES2_cha(2:Time)-P_ES2_cha(1:23)<=0.2*1000 -0.2*1000<=P_ES2_dis(2:Time)-P_ES2_dis(1:23)<=0.2*1000 -0.2*1000<=P_ES3_cha(2:Time)-P_ES3_cha(1:23)<=0.2*1000 -0.2*1000<=P_ES3_dis(2:Time)-P_ES3_dis(1:23)<=0.2*1000 -80<=P_ES4_cha(2:Time)-P_ES4_cha(1:23)<=80 -80<=P_ES4_dis(2:Time)-P_ES4_dis(1:23)<=80 % 始末状态守恒约束 SOC_1(Time)==SOC_1(1), SOC_2(Time)==SOC_2(1), SOC_3(Time)==SOC_3(1), SOC_4(Time)==SOC_4(1), % 充放状态唯一 B_ES1_cha+B_ES1_dis<=1, B_ES2_cha+B_ES2_dis<=1, B_ES3_cha+B_ES3_dis<=1, B_ES4_cha+B_ES4_dis<=1, % 储能容量上下限约束 0.1*1000<=SOC_1<=0.9*1000, 0.1*1000<=SOC_2<=0.9*1000, 0.1*1000<=SOC_3<=0.9*1000, 0.1*1000<=SOC_4<=0.4*1000, %储能容量变化约束 SOC_1(2:Time)==SOC_1(1:23)+0.95*P_ES1_cha(2:Time)-P_ES1_dis(2:Time)/0.95, SOC_2(2:Time)==SOC_2(1:23)+0.95*P_ES2_cha(2:Time)-P_ES2_dis(2:Time)/0.95, SOC_3(2:Time)==SOC_3(1:23)+0.95*P_ES3_cha(2:Time)-P_ES3_dis(2:Time)/0.95, SOC_4(2:Time)==SOC_4(1:23)+0.95*P_ES4_cha(2:Time)-P_ES4_dis(2:Time)/0.95, ]; Cons=[Cons, sum(0.95*P_ES1_cha)-sum(P_ES1_dis/0.95)==0]; Cons=[Cons,sum(0.95*P_ES2_cha)-sum(P_ES2_dis/0.95)==0]; P_PEM_H2_N = sum(P_EL_H2); P_PEM_E_N = sum(P_e_EL); %% 功率平衡条件 Cons = [Cons, P_e_buy==P_e_load+P_PEM_E_N+P_ES1_cha-P_ES1_dis-P_PV_e-P_CCHP_e-P_HFC_e, % 电功率平衡约束 P_HFC_h+P_CCHP_h+P_GB_h==P_h_load+P_ES2_cha-P_ES2_dis, % 热功率平衡约束 P_g_buy==P_c_load+P_ES3_cha-P_ES3_dis+P_g_CCHP+P_g_GB-P_MR_g, % 气功率平衡约束 P_PEM_H2_N==P_H2_MR+P_H2_HFC+P_ES4_cha-P_ES4_dis, % 氢功率平衡约束 0<=P_e_buy<=5000, % 购电功率约束 0<=P_g_buy<=5000, % 购气功率约束 ]; %% 阶梯碳交易 %碳排放权配额模型 E_e_buy=0.728*sum(P_e_buy); %购电配额 E_CHP=0.57*sum(P_CCHP_h+6/3.6*P_CCHP_e); %CHP配额 E_GB=0.57*sum(P_GB_h); %GB配额 E_IES=E_e_buy+E_CHP+E_GB; %IES总碳排放配额 %实际碳排放模型 E_e_buy_a=1.08*sum(P_e_buy); E_CHP_a=0.6101*sum(P_CCHP_h+6/3.6*P_CCHP_e); E_GB_a=0.6101*sum(P_GB_h); E_MR_a=0.5*sum(P_MR_g); %实际MR减少的碳排放 E_IES_a=E_e_buy_a+E_CHP_a+E_GB_a; E=E_IES_a; %实际IES总碳排放 %阶梯碳交易成本(分段线性化) E_v=sdpvar(1,5) %每段区间内的长度,分为5段,每段长度是2000 lamda=0.267; %碳交易基价 E_C= E-E_IES; Cons=[Cons, E_C==sum(E_v), %总长度等于E 0<=E_v(1:4)<=1000, %除了最后一段,每段区间长度小于等于2000 0<=E_v(5), ]; %碳交易成本 C_CO2=0; for v=1:5 C_CO2=C_CO2+(lamda+(v-1)*0.25*lamda)*E_v(v); end %% 总目标函数 CY=30*sum(sum(Y)); obj=c_e_buy*P_e_buy'+c_g_buy*P_g_buy'+0.2*sum(P_PV_max-P_PV_e)+C_CO2+CY; %购能成本+弃风成本+碳交易成本+启停成本 C_E_BUY=c_e_buy*P_e_buy'; C_G_BUY=c_g_buy*P_g_buy'; C_wind=0.2*sum(P_PV_max-P_PV_e);
09-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤米先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值