问题 CG: 人见人爱 A ^ B

本文介绍了一种求解“A的B次方”的最后三位数的方法,并提供了两种不同的C语言实现方案,一种采用循环相乘取余的方式,另一种使用快速幂算法。

题目描述

求AB的最后三位数表示的整数。说明:AB的含义是“A的B次方”

输入

输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。

输出

对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。

样例输入 Copy

1 1
7 7
3 7
0 0

样例输出 Copy

1
543
187

代码

#include<stdio.h>
int main()
{
 int a,n,m;
 while(scanf("%d%d",&n,&m)!=EOF)
 {
  if(n==0&&m==0)//当输入的两个数都为0时,输入结束
   break;
  if(n==0&&m!=0)//0的任何次方都为0
   printf("0\n");
  if(n!=0&&m==0)//除0外任何数的0次方都为1
   printf("1\n");
  if(n!=0&&m!=0)//当两个数都不为0时
  {
      int s=n;
      a=m-1;//m次方相乘了m-1次
      while(a--)
     {
        s=s*n;//如果先求出n的m次方,这个数可能会很大,导致溢出,所以每次两个数相乘后就对1000取余
        s=s%1000;//因为是求后三位所以取余1000,其他以此类推
     }
     printf("%d\n",s);
  }
 }
 return 0;
}


#include<cstdio>
int fastpow(int a,int b,int kkk){
    int ans=1;
    while(b > 0){
        if(b & 1){
            ans = ans*a%kkk;
        }
        b >>= 1;
        a= a*a%kkk;
    }
    return ans;
}
int main()
{
    int a,b;
    int sum;
    while(scanf("%d %d",&a,&b)!=EOF&&(a!=0&&b!=0)){
        sum = fastpow(a,b,1000);
        printf("%d\n",sum);
    }

    return 0;
}
请你检查以下代码,指出逻辑不对需要修改的地方:clc clear %% DIES:综合能源系统1 % 电系统:风机、光伏、燃气轮机 % 热系统:余热锅炉、燃气锅炉、蓄热罐 % 冷系统:吸收式制冷机、蓄冰槽 %% 导入电/热/冷负荷和气负荷 P_Load_e = [6150,5347,4737,4886,4960,4830,4998,6056,7004,9140,9938,10645,11331,11443,11499,11292,11212,11595,10822,9441,9092,7794,7174,6777]; P_Load_h = [5986,5952,6033,5722,5977,6060,5872,5815,5562,5424,5320,5124,4962,4986,4962,5019,5017,5179,5181,5305,5454,5643,5964,6033]; P_Load_c = [4626,4725,4947,4822,4977,5060,4872,4815,4662,4484,4290,4184,3992,3986,3923,4089,4017,4179,4261,4383,4458,4724,5012,5423]; P_Load_g = [3516,3872,3998,3852,4077,4260,4054,3982,3598,3326,3024,2815,2765,2756,2654,3125,3098,3254,3452,3578,3872,4425,4799,5125]; %% 计算风机、光伏出力功率 % 光照辐射度 gz = [0;0;0;0;0.0708300000000000;0.170690000000000;0.325740000000000;0.380270000000000;0.340240000000000;0.453630000000000;0.855530000000000;0.742260000000000;0.666500000000000;0.699100000000000;0.535630000000000;0.227290000000000;0.179330000000000;0.0335400000000000;0;0;0;0;0;0]; for t=1:24 Pstc=0.26; Gstc=100; n=0.9645; PV_C=50; P_pv_max(t)=(Pstc*gz(t)/Gstc*n)*PV_C; end % 风速大小 fs=[10.7391000000000;11.6160000000000;9.85170000000000;9.98270000000000;10.5166000000000;5.91910000000000;4.21130000000000;4.73580000000000;2.89860000000000;5.54320000000000;4.93960000000000;2.99680000000000;3.64480000000000;5.17060000000000;2.45990000000000;5.43100000000000;6.83090000000000;10.5836000000000;10.8847000000000;12.3629000000000;14.4617000000000;12.1296000000000;10.5531000000000;12.8199000000000]; for t=1:24 Vci=3; Vco=25; Vr=11; Pwt_r=10; WT_C=50; if all(fs(t)<Vci)||all(fs(t)>Vco) P_wt_max(t)=0*WT_C; elseif all(fs(t)>=Vci)&&all(fs(t)<=Vr) P_wt_max(t)=[Pwt_r*(fs(t)-Vci)/(Vr-Vci)]*WT_C; elseif all(fs(t)>Vr)&&all(fs(t)<=Vco) P_wt_max(t)=10*WT_C; end end %% 外部市场数据:电力市场、碳市场、绿证市场、天然气市场 % 电力市场数据 % 绿电市场能源价格: C_P_ge = [0.42,0.45,0.43,0.42,0.42,0.38,0.42,1.26,1.29,1.24,1.29,1.18,0.72,0.78,0.76,0.79,0.74,0.72,1.28,1.25,1.25,1.21,0.46,0.34]; % 常规能源市场价格: C_P_ce = [0.30,0.32,0.33,0.35,0.35,0.34,0.36,1.16,1.19,1.14,1.16,1.15,0.62,0.73,0.70,0.64,0.71,0.65,1.17,1.12,1.11,1.12,0.34,0.28]; % 碳市场数据 C_P_co = 0.0415; % 上海交易均价,元/吨CO2;0.0415元/kgCO2 % 天然气价格数据(元/m3)辽宁省是2.33元/m3 C_P_gas = [2.58*ones(1,8),2.18*ones(1,14),2.58*ones(1,1),2.18*ones(1,1)]; %% 决策变量初始化 % 蓄电池 SOC_ESS = sdpvar(1,24,'full'); % 储电设备的储电余量 P_Ess_cha = sdpvar(1,24,'full'); % 储电设备的充电功率 P_Ess_dis = sdpvar(1,24,'full'); % 储电设备的放电功率 B_Ess_cha = binvar(1,24,'full'); % 储电设备的放电状态位,取1时为放电,0为未放电 B_Ess_dis = binvar(1,24,'full'); % 储电设备的充电状态位,取1时为充电,0为未充电 % 蓄热罐 SOC_HSS = sdpvar(1,24,'full'); % 储热设备的储热余量 P_Hss_cha = sdpvar(1,24,'full'); % 储热设备的充热功率 P_Hss_dis = sdpvar(1,24,'full'); % 储热设备的放热功率 B_Hss_cha = binvar(1,24,'full'); % 储热设备的放热状态位,取1时为放热,0为未放热 B_Hss_dis = binvar(1,24,'full'); % 储热设备的充热状态位,取1时为充热,0为未充热 % 蓄冰槽 SOC_CSS = sdpvar(1,24,'full'); % 储冷电设备的储冷余量 P_Css_cha = sdpvar(1,24,'full'); % 储冷设备的充冷功率 P_Css_dis = sdpvar(1,24,'full'); % 储冷设备的放冷功率 B_Css_cha = binvar(1,24,'full'); % 储冷设备的放冷状态位,取1时为放冷,0为未放冷 B_Css_dis = binvar(1,24,'full'); % 储冷设备的充冷状态位,取1时为充冷,0为未充冷 % 风机、光伏 P_wt_e = sdpvar(1,24,'full'); % 风力的实际出力值 P_pv_e = sdpvar(1,24,'full'); % 光伏的实际出力值 %% CCHP机组 % 燃气轮机(GT) P_GT_e = sdpvar(1,24,'full'); % 燃气轮机的实际电出力值 P_GT_fh = sdpvar(1,24,'full'); % 燃气轮机的发出废热 % 余热锅炉(HB) P_HB_h = sdpvar(1,24,'full'); % 余热锅炉的实际热出力值 P_fh_HB = sdpvar(1,24,'full'); % 余热锅炉吸收的废热 % 吸收式制冷机(AC) P_AC_c = sdpvar(1,24,'full'); % 吸收式制冷机的实际冷出力值 P_fh_AC = sdpvar(1,24,'full'); % 吸收式制冷机吸收的废热 % 燃气锅炉(GB) P_GB_h=sdpvar(1,24,'full'); %% 市场交易变量 % 电力市场(绿电市场、常规能源市场) Temp_net = binvar(1,24,'full'); % 电网购|售电标志 P_e_net = sdpvar(1,24,'full'); % 电力市场净购电量=购电量-售电量 P_e_buy = sdpvar(1,24,'full'); % 电力市场购电量 % 绿电日前市场 P_ld_buy = sdpvar(1,24,'full'); % 向外电网的购买的绿电功率 B_ld_buy = binvar(1,24,'full'); % 向外电网的购买的绿电标志,取1则买绿电,取0则卖绿电 % 常规能源日前市场 P_cg_buy = sdpvar(1,24,'full'); % 向外电网的购买的常规能源发电功率 B_cg_buy = binvar(1,24,'full'); % 向外电网的购买的常规能源发电标志,取1则买常规能源,取0则卖常规能源 %% 碳交易市场(碳配额) % 向其他系统购买的碳配额 PET_N_CET = sdpvar(1,1,'full'); % 国家管理中心分配给系统1的免费碳配额 SJT_P_CET = sdpvar(1,1,'full'); % 系统1实际碳排放 % 碳市场交易量 P_PET_buy = sdpvar(1,1,'full'); % 向外电网的购买的碳配额 P_PET_sell = sdpvar(1,1,'full'); % 向外电网的售出的碳配额 P_PET_net = sdpvar(1,1,'full'); % 系统持有的净碳配额,净碳配额=实际碳排放量-强制碳配额要求 B_PET_buy = binvar(1,1,'full'); % 向外电网的碳配额购买标志,取1则买碳配额,取0卖碳配额 B_PET_sell = binvar(1,1,'full'); % 向外电网的碳配额售卖标志,取1则卖碳配额,取0买碳配额 B_PET_net = binvar(1,1,'full'); % 系统持有的净碳配额标志,取1则净碳配额>0→购买碳配额,取0则净碳配额<0→售卖碳配额 %% 天然气交易市场(天然气) Gas_all = sdpvar(1,24,'full'); % 系统的总耗气量 Gas_GT = sdpvar(1,24,'full'); % 燃气轮机的天然气耗气量 Gas_GB = sdpvar(1,24,'full'); % 燃气锅炉的天然气耗气量 Gas_buy_g = sdpvar(1,24,'full'); % 综合能源系统1购买天然气量 %% 绿证交易市场(绿证配额) % 向其他系统购买的碳配额 PEL_N_GET = sdpvar(1,1,'full'); % 国家管理中心分配给系统1的免费绿证配额 PEL_P_GET = sdpvar(1,1,'full'); % 系统1实际绿证(可再生能源发电量,1绿证=1000kw.h) % 绿证市场交易量 P_PEL_buy = sdpvar(1,1,'full'); % 向外电网的购买的绿证配额 P_PEL_sell = sdpvar(1,1,'full'); % 向外电网的售出的绿证配额 P_PEL_net = sdpvar(1,1,'full'); % 系统持有的净绿证配额 % 向其他系统购买的绿证配额(绿电是针对用电侧,绿证配额是针对发电企业) B_PEL_buy = binvar(1,1,'full'); % 向外电网的购买的绿证配额,取1则买绿证配额,取0卖绿证配额 B_PEL_sell = binvar(1,1,'full'); % 向外电网的售出的绿证配额,取1则卖绿证配额,取0买绿证配额 B_PEL_net = binvar(1,1,'full'); % 系统持有的净绿证配额标志 %% 设备数据 % CCHP机组:燃气轮机、余热锅炉、吸收式制冷机 k_eff_CCHP_e = 0.38; k_eff_CCHP_h = 0.46; k_eff_CCHP_c = 0.52; % 燃气轮机(GT) % 燃气最大出力 P_GT_max = 8000; % 燃气轮机热损率 rs_GT = 0.03; % 余热锅炉(HB) P_HB_h_max = 8000; % 吸收式制冷机(AC) P_AC_max = 6000; % 燃气锅炉 % 燃气锅炉最大出力 P_GB_max = 5000; % 燃气锅炉效率 k_eff_GB = 0.85; % 储能电池 k_eff_ebess_cha = 0.95; % 蓄电池充电效率 k_eff_ebess_dis = 0.95; % 蓄电池放电效率 SOC_ESS(1) = 0.5; P_Ebess_cha_max = 4800; P_Ebess_dis_max = 4800; Eb_ess = 5000; % 蓄热罐 k_eff_hbess_cha = 0.85; % 蓄热罐充热效率 k_eff_hbess_dis = 0.85; % 蓄热罐放热效率 SOC_HSS(1) = 0.5; P_Hbess_cha_max = 4500; P_Hbess_dis_max = 4500; Hb_ess = 5000; % 蓄冷槽 k_eff_cbess_cha = 0.85; % 蓄冰槽充冷效率 k_eff_cbess_dis = 0.85; % 蓄冰罐放冷效率 SOC_CSS(1) = 0.5; P_Cbess_cha_max = 4500; P_Cbess_dis_max = 4500; Cb_ess = 5000; %% 约束条件 Cons=[]; % 1.CCHP机组(冷热电三联供) % 燃气轮机GT: % 1)最大出力约束 for t=1:24 Cons=[Cons,0<=P_GT_e(t)<=P_GT_max, P_GT_e(t)==Gas_GT(t)*k_eff_CCHP_e*9.88, P_GT_fh(t)==P_GT_e(t)*(1-k_eff_CCHP_e-rs_GT)/k_eff_CCHP_e]; end % 2)爬坡约束 for t=1:23 Cons=[Cons,-0.2*2000<=P_GT_e(t+1)-P_GT_e(t)<=0.2*2000]; end % 余热锅炉HB: % 1) 最大出力约束 for t=1:24 Cons=[Cons,P_HB_h(t)==P_fh_HB(t)*k_eff_CCHP_h, 0<=P_HB_h(t)<=P_HB_h_max,] end % 2) 爬坡约束 Cons=[Cons,-0.2*1000 <=P_HB_h(2:24)-P_HB_h(1:23)<=0.2*1000]; % 吸收式制冷机AC: for t=1:24 Cons=[Cons, 0<=P_AC_c(t)<=P_AC_max, P_AC_c(t)==P_fh_AC(t)*k_eff_CCHP_c]; end % CCHP机组废气约束 for t=1:24 Cons=[Cons,P_fh_HB(t)+0.56*P_fh_AC(t)<=P_GT_fh(t)]; end % 蓄电池约束条件 % 1)蓄电池的约束条件:蓄电池功率约束在[min,max]内,且统一时刻只允许充电、放电、不充不放的三种状态中的一种 Cons=[Cons,P_Ess_cha>=0,P_Ess_cha<=P_Ebess_cha_max*B_Ess_cha, 0<=P_Ess_dis,P_Ess_dis<=P_Ebess_dis_max*B_Ess_dis, B_Ess_cha+B_Ess_dis<=1]; % 充、放电状态唯一 % 2)蓄电池的约束条件:蓄电池功率与容量耦合约束,始末时刻负荷电量相等约束,与容量被限制在[min,max] for i=1:23 Cons=[Cons,SOC_ESS(i+1)==SOC_ESS(i)+(P_Ess_cha(i)*k_eff_ebess_cha-P_Ess_dis(i)/k_eff_ebess_dis)/Eb_ess]; end Cons=[Cons,SOC_ESS(24)==SOC_ESS(1),SOC_ESS>=0.2,SOC_ESS<=0.9]; % 蓄热约束条件 % 1)蓄热罐的约束条件:蓄热罐功率约束在[min,max]内,且统一时刻只允许充热、放热、不充不放的三种状态中的一种 Cons=[Cons,P_Hss_cha>=0,P_Hss_cha<=P_Hbess_cha_max*B_Hss_cha, P_Hss_dis>=0,P_Hss_dis<=P_Hbess_dis_max*B_Hss_dis, B_Hss_cha+B_Hss_dis<=1];%充放电状态唯一 % 2)蓄热罐的约束条件:蓄热罐功率与容量耦合约束,始末时刻负荷电量相等约束,与容量被限制在[min,max] for i=1:23 Cons=[Cons,SOC_HSS(i+1)==SOC_HSS(i)+(P_Hss_cha(i)*k_eff_hbess_cha-P_Hss_dis(i)/k_eff_hbess_dis)/Hb_ess]; end Cons=[Cons,SOC_HSS(24)==SOC_HSS(1),SOC_HSS>=0.2,SOC_HSS<=0.9]; % 蓄冰槽约束条件 % 1)蓄冰槽的约束条件:蓄冰槽功率约束在[min,max]内,且统一时刻只允许充冷、放冷、不充不放的三种状态中的一种 Cons=[Cons,P_Css_cha>=0,P_Css_cha<=P_Cbess_cha_max*B_Css_cha, P_Css_dis>=0,P_Css_dis<=P_Cbess_dis_max*B_Css_dis, B_Css_cha+B_Css_dis<=1];%充放电状态唯一 % 2)蓄冰槽的约束条件:蓄冰槽功率与容量耦合约束,始末时刻负荷电量相等约束,与容量被限制在[min,max] for i=1:23 Cons=[Cons,SOC_CSS(i+1)==SOC_CSS(i)+(P_Css_cha(i)*k_eff_cbess_cha-P_Css_dis(i)/k_eff_cbess_dis)/Cb_ess]; end Cons=[Cons,SOC_CSS(24)==SOC_CSS(1),SOC_CSS>=0.2,SOC_CSS<=0.9]; % 燃气锅炉GB Cons=[Cons,P_GB_h(t)==Gas_GB(t)*k_eff_GB*9.88, 0<=P_GB_h(t)<=P_GB_max, -0.2*1200 <=P_GB_h(2:24)-P_GB_h(1:23)<=0.2*1200]; % 天然气购买约束条件 for t=1:24 Cons=[Cons, % GB耗气量约束,CCHP发电效率=CCHPt时刻天然气消耗量*燃气轮机发电效率*天然气燃烧热值转换系数 Gas_all(t)==Gas_GT(t)+Gas_GB(t), % 总耗气量约束 0<=Gas_all(t)<=12000, 0<=Gas_GT(t)<=6000, 0<=Gas_GB(t)<=6000]; end % 光伏、风机约束条件 for t=1:24 Cons=[Cons, 0<=P_wt_e(t)<=P_wt_max(t), 0<=P_pv_e(t)<=P_pv_max(t)]; end %% 电力交易市场【绿电日前市场(用电负荷侧)、常规能源市场、实时市场】 for t=1:24 Cons=[Cons,P_e_buy(t)==0.78*P_ld_buy(t)+P_cg_buy(t),P_e_buy(t)>=0,P_e_buy(t)<=10000]; end % 绿电日前市场预测购、售电功率 for t=1:24 Cons=[Cons,200<=P_ld_buy(t),P_ld_buy(t)<=8000*B_ld_buy(t)]; end % 常规能源日前市场预测购、售电功率 for t=1:24 Cons=[Cons,0<=P_cg_buy(t),P_cg_buy(t)<=8000*B_cg_buy(t)]; end % 电力净购买量,若P_E_net>0,则不需要买电;若P_E_net<0,需要买电 for t=1:24 Cons=[Cons,P_e_net(t)==P_wt_e(t)+P_pv_e(t)+P_GT_e(t)+P_Ess_dis(t)-P_Ess_cha(t)-P_Load_e(t)]; end % 电力购售量 for t=1:24 Cons=[Cons,implies(Temp_net(1,t),[P_e_net(1,t)>=0,P_e_buy(1,t)==0]), implies(Temp_net(1,t),[P_e_net(1,t)<=0,P_e_buy(1,t)==-P_e_net(1,t)])]; end %% 绿证-碳耦合交易机制核算碳市场、绿证市场交易量约束 % 核算绿证市场交易量 Cons=[Cons, PEL_N_GET==0.5*(sum(P_wt_e)+sum(P_pv_e)+sum(P_GT_e)+sum(P_Ess_dis))/1000, % 单位kg/kwh PEL_P_GET==(sum(P_wt_e)+sum(P_pv_e)+sum(P_ld_buy))/1000; P_PEL_net==PEL_P_GET-PEL_N_GET,P_PEL_buy>=0,P_PEL_sell>=0, % 绿证配额净持有量,若P_GP_net>0,则卖绿证,P_GP_net<0,则买绿证。 implies(B_PEL_net,[P_PEL_net>=0,P_PEL_buy==0,P_PEL_sell==P_PEL_net]), % 碳配额净值=实际碳排放量-免费碳配额 implies(B_PEL_net,[P_PEL_net<=0,P_PEL_buy==-P_PEL_net,P_PEL_sell==0])]; % 核算碳市场交易量 Cons=[Cons, PET_N_CET==sum(P_cg_buy)*0.728+(sum(P_GT_e)/(0.375*9.88)+(sum(P_GB_h)/(0.82*9.88)))*0.385, % 单位kg/kwh SJT_P_CET==1.08*sum(P_cg_buy)+0.234*(sum(P_GT_e)/(0.375*9.88)+sum(P_GB_h)/(0.82*9.88)), % 这里Eccs碳捕集捕捉的CO2,DIES1没这个设备 P_PET_net==SJT_P_CET-PET_N_CET,P_PEL_net==PEL_P_GET-PEL_N_GET,P_PET_buy>=0,P_PET_sell>=0, implies(B_PET_net,[P_PET_net>=0&P_PEL_net>=0,P_PET_buy==P_PET_net-P_PEL_net*1000*0.81,P_PET_sell==0]), % 碳配额净值=实际碳排放量-免费碳配额 implies(B_PET_net,[P_PET_net>=0&P_PEL_net<=0,P_PET_buy==P_PET_net,P_PET_sell==0]), implies(B_PET_net,[P_PET_net<=0,P_PET_buy==0,P_PET_sell==-P_PET_net])]; %% 考虑碳-绿证耦合的阶梯碳交易成本 E=sdpvar(1,3); d=binvar(3,1); % 碳排放权配额模型 E_e_buy=0.728*sum(P_cg_buy); % 购电配额 E_CCHP=0.102*3.6*sum((P_GT_e)/(0.375*9.88)); % CCHP配额(产生CO2的机组) E_GB=0.385*sum((P_GB_h)/(0.82*9.88)); % GB配额(产生CO2的机组) PET_N_CET=E_e_buy+E_CCHP+E_GB; % IES总碳排放配额 E1=0.728*(P_cg_buy)+0.102*3.6*((P_GT_e)/(0.375*9.88))+0.385*(P_GB_h)/(0.82*9.88); % 实际碳排放模型 E_e_buy_a=1.08*sum(P_cg_buy); % 实际购电产生的等价CO2 E_CCHP_a=0.789*sum(sum(P_GT_e)/(0.375*9.88)); % 实际CCHP运行过程产生的CO2,0.789kg/kWh E_GB_a=0.25*sum(sum(P_GB_h)/(0.82*9.88)); % 实际GB运行过程产生的CO2,0.25kg/kWh E=E_e_buy_a+E_CCHP_a+E_GB_a-PET_N_CET; % 实际IES总碳排放 E2=1.08*(P_cg_buy)+0.789*((P_GT_e)/(0.375*9.88))+0.25*(P_GB_h)/(0.82*9.88); E3=(0.5*((P_wt_e)+(P_pv_e)+(P_GT_e)+(P_Ess_dis))/1000)*50, % 单位kg/kwh E4=(((P_wt_e)+(P_pv_e)+(P_ld_buy))/1000)*50; Model=[sum(d)==1, implies(d(1),[P_PET_net>=0&P_PEL_net<=0,E==P_PET_net]), implies(d(2),[P_PET_net>=0&P_PEL_net>=0,E==P_PET_net-P_PEL_net*1000*0.81]), implies(d(3),[P_PET_net<=0,E==-P_PET_net])]; % 阶梯碳交易成本(分段线性化) E_v=sdpvar(1,7); % 每段区间内的长度,分为5段,每段长度是2000 lamda=0.250; % 碳交易基价 Cons=[Cons, E==sum(E_v), % 总长度等于E 0<=E_v(1:6)<=2000, % 除了最后一段,每段区间长度小于等于2000 0<=E_v(7)]; % 碳交易成本 Cost_Co2 = 0; for v=1:7 Cost_Co2=Cost_Co2+(lamda+(v-1)*0.25*lamda)*E_v(v); end %% 电平衡约束、热平衡约束、冷平衡约束 for t=1:24 Cons=[Cons,P_wt_e(t)+P_pv_e(t)+P_GT_e(t)+P_Ess_dis(t)+P_e_buy(t)==P_Load_e(t)+P_Ess_cha(t), % 电平衡 P_HB_h(t)+P_Hss_dis(t)+P_GB_h(t)==P_Load_h(t)+P_Hss_cha(t), % 热平衡 P_AC_c(t)+P_Css_dis(t)==P_Load_c(t)+P_Css_cha(t), % 冷平衡 Gas_buy_g(t)==P_Load_g(t)+ Gas_GB(t)+ Gas_GT(t)] ; end %% 目标函数(市场成本+运维成本+环境成本) Cost_f1 = sum(P_ld_buy)*C_P_ge*ones(1,24)'+sum(P_cg_buy)*C_P_ce*ones(1,24)'+sum(Gas_all)*C_P_gas*ones(1,24)'+(sum(P_PEL_buy)-sum(P_PEL_sell))*50; Cost_f2 = sum(P_GT_e)*0.04+sum(P_HB_h)*0.025+sum(P_AC_c)*0.025+0.024*sum(P_GB_h)+sum(P_wt_e)*0.016+sum(P_pv_e)*0.018+sum(P_Hss_cha)*0.016+sum(P_Hss_dis)*0.016+sum(P_Css_cha)*0.017+sum(P_Css_dis)*0.017+sum(P_Ess_cha)*0.018+sum(P_Ess_dis)*0.018; Cost_f3 = Cost_Co2; Cost_all = Cost_f1+Cost_f2+Cost_f3; %% 求解器相关配置 ops=sdpsettings('solver','cplex','verbose',0,'showprogress',0); ops.cplex.mip.tolerances.mipgap=1e-6; % 进行求解计算 sol=optimize(Cons,Cost_all,ops); if sol.problem==0 disp('>>求解成功!') else disp('>>求解失败,失败原因:') disp(sol.info) end Cost_all=value(Cost_all); display(['通过Yalmip求得的园区综合能源系统1独立运行成本的最优规划值为 : ', num2str(Cost_all)]); Cost_f1=value(Cost_f1); display(['1、园区综合能源系统1市场交易成本为 : ', num2str(Cost_f1)]); Cost_f2=value(Cost_f2); display(['2、园区综合能源系统1机组运维成本为 : ', num2str(Cost_f2)]); Cost_f3=value(Cost_f3); display(['3、园区综合能源系统1阶梯式碳交易成本为 : ', num2str(Cost_f3)]); Cost_GZ=(PEL_P_GET-PEL_N_GET)*50; Cost_GZ=value(Cost_GZ); display(['园区综合能源系统1独立运行市场绿证交易成本为 : ', num2str(Cost_GZ)]);
最新发布
09-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值