Optimal scheduling of carbon capture and waste incineration virtual power plants taking into account power-to-gas synergy (matlab code)

Table of contents

1 Main content

system structure

CCPP-P2G-gas unit subsystem

Nonlinear processing flaws

2 parts of code

3 Program results

4 program link


Main content

This program refers to the "Optimal Scheduling of Carbon Capture and Waste Incineration Virtual Power Plants Considering Power-to-Gas Synergy" model, and mainly implements the optimal dispatch model of carbon capture and waste incineration virtual power plants that takes into account power-to-gas synergy. By introducing a collaborative utilization framework of carbon capture power plants-power-to-gas-gas units, the carbon captured CO2 can be used as the raw material for power-to-gas, and the generated natural gas is supplied to the gas units; and through joint dispatching, carbon capture energy consumption and flue gas treatment The energy consumption is transferred to the load to smooth the fluctuation of renewable energy, making wind power/photovoltaic indirect dispatchable and flexibly utilized.

This program uses the mixed integer linear programming (MILP) algorithm to solve the problem (the original text uses a new inverse cotangent compound differential evolution algorithm). This program uses matlab+yalmip to run, and the basic sentences are annotated to facilitate learning.

However, the program has flaws in the nonlinear processing part, which will be explained in detail later. Please be careful when shooting. The overall program logic is still good. Yes, worth your reference!

  • system structure

In addition to CHP units, each generating unit can provide energy consumption to the carbon capture system and flue gas treatment system. By installing a gas storage device, the relationship between flue gas treatment and power generation can be decoupled, and different energy resources can be used in terms of energy/power. The spatio-temporal complementarity makes scheduling optimization more flexible to coordinate with changes in the output of renewable energy sources and to smooth out net load fluctuations. The collaborative operation scheduling instructions of each unit rely on the energy market electricity price and renewable energy forecasted after collecting data information from the energy management system. It is formulated according to the output and electric heating load.
  • CCPP-P2G-gas unit subsystem

The main highlight of this article is the integration of CCPP, P2G and gas-fired units, innovating the research on this type of VPP framework model. Therefore, there are many directions for innovation, and we cannot just focus on the method level.
  • Nonlinear processing flaws

The partial flue gas split ratio of the carbon capture power plant is non-linear. It is difficult for yalmip to handle this non-linearity, so this part of the program has not been implemented.

Partial charge

P_CHP=sdpvar(1,24); %Output electric power of CHP unit
H_CHP=sdpvar(1,24); %Output thermal power of CHP unit
V_CHP=sdpvar(1,24); %The amount of natural gas consumed by the CHP unit
H_GB=sdpvar(1,24); % output thermal power of gas boiler
V_GB=sdpvar(1,24); % the amount of natural gas consumed by the gas boiler
S_ES=sdpvar(1,24); % The amount of electricity stored in the electric energy storage at the end of period t, in MW
P_ESC=sdpvar(1,24); % charging power of electric energy storage
P_ESD=sdpvar(1,24); %discharge power of electrical energy storage
S_TS=sdpvar(1,24); % heat storage capacity of thermal energy storage at the end of period t, unit is MW
H_TSC=sdpvar(1,24); % charging power of thermal energy storage
H_TSD=sdpvar(1,24); % heat release power of thermal energy storage
P_EM=sdpvar(1,24); % system’s power purchase from the power grid
P_CUT=sdpvar(1,24); %The sum of interrupt load power at all levels
lamda_CC=sdpvar(1,24); % flue gas split ratio of carbon capture system
P_Cmax=sdpvar(1,24); % upper limit of operating energy consumption of carbon capture system
miu_ESC=binvar(1,24); %charged Boolean variable
miu_ESD=binvar(1,24); %Discharge Boolean variable
miu_TSC=binvar(1,24); %heating Boolean variable
miu_TSD=binvar(1,24); %Exothermic Boolean variable
lambda_WI=sdpvar(1,24); % flue gas split ratio
V_WIalpha=sdpvar(1,24); % gas storage capacity of flue gas storage tank
alpha_2=sdpvar(1,24); %The amount of gas flowing into the flue gas storage tank
Q_CS=sdpvar(1,24); %The gas volume flowing into the flue gas storage tank
Q_P2G=sdpvar(1,24); %The gas volume flowing into the flue gas storage tank
%
P_A=15*ones(1,24); %CCPP-P2G system energy consumption (set to a fixed value due to a small proportion), the unit is MW
%Forecasted output of wind turbines
P_W=[232.75,247.44,219.09,188.78,239.58,232.84,188.52,159.84,111.45,51.23,119.88,137.29,141.39,115.78,135.24,143.44,151.64,1 95.69,159.70,180.94,203.38,193.64,155.32,247.43 ]; 
%Forecasted output of photovoltaic units
P_V=[0,0,0,0,0,22,63,97,110,118,128,132,133,136,131,133,120,85,37,0,0,0,0,0]; 
%electrical load
P_EL=[457,319,296,228,184,297,406,509,607,687,803,857,845,793,832,801,795,731,640,593,554,518,525,409];
%Thermal power
H_HL=[109,131,158,153,139,121,111,98,82,57,22,12,42,62,89,99,122,131,148,160,139,131,119,74];
%Purchase price of electricity
k_EM=[38.85,39.18,36.89,35.57,39.84,43.77,51.31,64.10,74.59,77.21,85.41,89.02,82.46,80.49,83.11,81.80,78.52,73.93,69.67,76.89 ,74.26,66.39,55.57,46.72 ];
S_ES_init=60;S_TS_init=30;
%% Constraints
C=[];
%CCPP-P2G system energy consumption and CCPP output
for t=1:24
    C=[C,
       P_C2P(t)==P_P2G(t)+P_CC(t), %CCPP-P2G system total energy consumption constraint
       P_P2G(t)==P_WA(t)+P_VA(t), %Constraint on the amount of abandoned wind and light absorbed by P2G
       P_CC(t)==P_A(t)+P_OP(t), %carbon capture energy consumption constraint
       P_GN(t)==P_G(t)-P_GC(t)-P_Galpha(t), % carbon capture power plant power constraint
      ];
end
%CCPP-P2G system carbon utilization and natural gas generation
for t=1:24
    C=[C,
       Q_CC(t)==P_OP(t)/0.269, %The total amount of CO2 captured by the CCPP-P2G system and the energy consumption constraints
       Q_P2Gsum(t)==0.2*0.6*P_P2G(t), %CO2 consumption and electric power constraints of P2G equipment
       V_P2G(t)==3.6*0.6*P_P2G(t)/39, %The volume of natural gas generated by P2G equipment
      ];
end
%Waste incineration power plant flue gas treatment model
for t=1:24
    C=[C,P_alpha(t)==0.513*(alpha_1(t)+alpha_3(t)),]; % flue gas treatment system energy consumption
end
% Carbon capture-waste incineration-wind power-photovoltaic joint operation strategy
for t=1:24
    C=[C,
       P_GC(t)+P_WC(t)+P_VC(t)+P_WIC(t)==P_CC(t), % carbon capture energy consumption equation constraint
       P_OP(t)==0.269*Q_CC(t), %The total amount of CO2 captured by the CCPP-P2G system and the energy consumption constraints (this seems to be repeated with the previous constraints)
       P_Valpha(t)+P_Walpha(t)+P_Galpha(t)+P_WIalpha(t)==P_alpha(t), % flue gas treatment energy consumption equation constraints
       P_WA(t)+P_WN(t)+P_WC(t)+P_Walpha(t)==P_W(t), %Output constraint of wind turbine unit
       P_VA(t)+P_VN(t)+P_VC(t)+P_Valpha(t)==P_V(t), % output constraint of photovoltaic unit
       P_WIN(t)+P_WIC(t)+P_WIalpha(t)==P_WI(t), %Output constraints of waste incineration power plant
       Q_N(t)==0.96*P_G(t)-Q_CC(t), %Carbon emission constraints of carbon capture power plants
      ];
end
%CHP unit and gas boiler model
for t=1:24
    C=[C,
       P_PH(t)==P_CHP(t)+H_CHP(t), %Output power constraint of CHP unit
       P_CHP(t)==V_CHP(t)*39*0.35, %Output electric power constraint of CHP unit
       H_CHP(t)==V_CHP(t)*39*0.40, %Output thermal power constraint of CHP unit
       H_GB(t)==V_GB(t)*39*0.40, %Output thermal power constraint of CHP unit
      ];
end
%Energy storage device model
for t=2:24
    C=[C,
       S_ES(t)==S_ES(t-1)*(1-0.001)+0.95*P_ESC(t)-P_ESD(t)/0.95, %electric energy storage operation constraints
       S_TS(t)==S_TS(t-1)*(1-0.01)+0.88*H_TSC(t)-H_TSD(t)/0.88, % thermal energy storage operation constraints
      ];
end
%Electrical power and thermal power balance constraints
for t=1:24
    C=[C,
       P_GN(t)+P_WIN(t)+P_CHP(t)+P_WN(t)+P_VN(t)+P_ESD(t)+P_EM(t)==P_P2G(t)+P_EL(t)+P_ESC(t) , % Electric power balance constraint
       H_CHP(t)+H_GB(t)+H_TSD(t)==H_HL(t)+H_TSC(t), % thermal power balance constraint
      ];
end
%Carbon Capture Power Plant Constraints
for t=1:24
    C=[C,
       100<=P_G(t)<=400, % upper and lower limit constraints on carbon capture power plant output
       %lamda_CC(t)==Q_CC(t)/(0.96*P_G(t)), % flue gas split ratio of the carbon capture system (the possibility of piecewise linearity must be considered)
       %0<=lamda_CC(t)<=1, %The upper and lower limits of the flue gas split ratio %% are due to nonlinearity
       0<=Q_CC(t)<=0.96*400, 
       15<=P_GC(t)+P_WC(t)+P_VC(t)+P_WIC(t)<=P_Cmax(t), % upper and lower limit of operating energy consumption of carbon capture system
       P_Cmax(t)==0.269*0.96*P_G(t), % Assignment of the upper limit of operating energy consumption of the carbon capture system
      ];
end
for t=2:24
    C=[C,
       -60<=P_G(t)-P_G(t-1)<=60, % Carbon capture power plant output ramp rate constraint
       -65<=P_GC(t)+P_WC(t)+P_VC(t)+P_WIC(t)-P_GC(t-1)-P_WC(t-1)-P_VC(t-1)-P_WIC(t-1 )<=65, % Carbon capture power plant carbon capture energy consumption ramp rate constraint
      ];
end
%CHP unit electric heating output and climbing constraints
for t=1:24
    C=[C,
       0<=P_CHP(t)<=140, %CHP’s electric power output constraint
       0<=H_CHP(t)<=160, %CHP thermal power output constraint
      ];
end

Procedure result

4 program link

See contact details below

Guess you like

Origin blog.csdn.net/zhangxd212489/article/details/133800982