Bootstrap

2023 研究生数学建模竞赛(D题)建模秘籍&文章代码思路大全

在这里插入图片描述

问题重述

  1. 分析研究区域的碳排放现状及与经济发展、人口、能源消费等的关系。具体包括:

(1)建立评估碳排放的指标体系

(2)分析近年区域碳排放总量变化情况及影响因素

(3)预测未来碳排放量变化趋势

  1. 建立碳排放预测模型,考虑经济发展、人口、能源消费等因素的影响。包括:

(1)基于人口和经济预测能源消费量

(2)建立与人口、经济、能源消费相关的碳排放预测模型

  1. 探索实现区域碳达峰和碳中和的路径。具体包括:

(1)设计不同减排情景

(2)评估不同情景下的碳排放量

(3)提出碳达峰和碳中和的目标路径

总体而言,这个案例的重点在于通过建模分析区域碳排放现状和趋势,并在此基础上探索碳达峰和碳中和的实现路径,为区域低碳发展提供参考。

完整版内容在文末领取噢~

问题一

  1. 建立指标体系

可以考虑建立如下指标体系:

  • 经济指标:GDP总量、第一产业增加值、第二产业增加值、第三产业增加值
  • 人口指标:总人口量
  • 能源消费指标:总能源消费量、各产业能源消费量、各部门能源消费量
  • 碳排放指标:总碳排放量、各产业碳排放量、各部门碳排放量
  1. 建立碳排放预测模型

可以采用Kaya模型来建立碳排放预测模型:

C O 2 = P ∗ G D P P ∗ E G D P ∗ C O 2 E CO_2=P*\frac{GDP}{P}*\frac{E}{GDP}*\frac{CO_2}{E} CO2=PPGDPGDPEECO2

其中:

C O 2 CO_2 CO2:碳排放总量

P P P:人口总量

G D P P \frac{GDP}{P} PGDP:人均GDP

E G D P \frac{E}{GDP} GDPE:单位GDP能耗

C O 2 E \frac{CO_2}{E} ECO2:单位能耗碳排放量

  1. 分析碳排放影响因素

可以从人口、经济发展、能源利用效率、能源结构等方面分析碳排放的影响因素。

  1. 预测模型参数确定

可以根据历史数据确定模型参数,并考虑政策影响、技术进步等因素对参数的影响,确定不同阶段的参数取值。

  1. 建立部门碳排放模型

可以采用类似思路,建立各产业部门和各经济部门的碳排放预测模型。

# 导入需要的库
import pandas as pd
import numpy as np

# 读取各类原始数据 
gdp = pd.read_csv('gdp.csv')  
pop = pd.read_csv('pop.csv')
energy = pd.read_csv('energy.csv')
emission_factor = pd.read_csv('emission_factor.csv')

# 计算碳排放量
co2_total = 0
for i in energy:
    co2_total += energy[i] * emission_factor[i]
    
# 计算碳强度    
co2_intensity = co2_total / gdp['total']

# 计算各部门碳排放量
co2_industry = 0

问题二

  1. 基于人口预测碳排放模型
    E t + 1 = E t × ( 1 + α × ( P t + 1 − P t ) ) E_{t+1} = E_t \times (1+\alpha\times(P_{t+1}-P_t)) Et+1=Et×(1+α×(Pt+1Pt))

其中, E t E_t Et E t + 1 E_{t+1} Et+1分别表示当前期和未来期的能源消费总量, P t P_t Pt P t + 1 P_{t+1} Pt+1分别表示当前期和未来期的人口总量, α \alpha α为人口弹性系数。

(1) 获取未来年份的人口数量预测数据P_{t+1}

(2) P_{t+1}与当前年份人口数据P_t进行比较,计算增长量(P_{t+1}-P_t)

(3) 假设能源消费量与人口数量之间存在比例关系,引入人口弹性系数α

(4) 根据当前年份能源消费量数据E_t,结合未来人口增长量和弹性系数α,可以预测未来年份的能源消费量E_{t+1}

(5) 该模型反映了人口规模变化对未来能源需求和碳排放的影响

  1. 基于GDP预测碳排放模型

E t + 1 = E t × ( 1 + β × ( G t + 1 − G t ) ) E_{t+1} = E_t \times (1+\beta\times(G_{t+1}-G_t)) Et+1=Et×(1+β×(Gt+1Gt))

其中, G t G_t Gt G t + 1 G_{t+1} Gt+1分别表示当前期和未来期的GDP总量, β \beta β为GDP弹性系数。
(1) 获取未来年份的GDP预测数据G_{t+1}

(2) 计算与当前年份GDP数据G_t的增长量(G_{t+1}-G_t)

(3) 假设能源消费量与GDP之间存在比例关系,引入GDP弹性系数β

(4) 根据当前年份能源消费量数据E_t,结合GDP增长量和弹性系数β,可以预测未来年份的能源消费量E_{t+1}

(5) 该模型反映了经济增长对未来能源需求和碳排放的影响

  1. 综合预测碳排放量

C O 2 , t + 1 = ∑ i E i , t + 1 × E F i , t + 1 CO_{2,t+1}=\sum_i E_{i,t+1} \times EF_{i,t+1} CO2,t+1=iEi,t+1×EFi,t+1

其中 C O 2 , t + 1 CO_{2,t+1} CO2,t+1为未来期碳排放总量, E i , t + 1 E_{i,t+1} Ei,t+1为未来期第i种能源的消费量, E F i , t + 1 EF_{i,t+1} EFi,t+1为未来期第i种能源对应的碳排放因子。
(1) 将前两步得到的未来年份能源消费量预测值E_{i,t+1}带入碳排放计算公式

(2) 获取未来年份各种能源对应的碳排放因子EF_{i,t+1},考虑政策影响等因素

(3) 计算未来年份的碳排放总量CO_{2,t+1}

# 导入所需库
import pandas as pd

# 加载预测数据
pop_predict = pd.read_csv('pop_predict.csv')
gdp_predict = pd.read_csv('gdp_predict.csv')

# 当前年份数据
pop_t =  10500 #单位:万人
gdp_t = 25000 #单位:亿元
energy_t = 3500 #单位:万吨标准煤

# 人口相关参数
pop_elasticity = 0.8 

# GDP相关参数
gdp_elasticity = 0.5

# 预测未来能源消费总量
energy_pop = energy_t * (1 + pop_elasticity * (pop_predict - pop_t)/pop_t)
energy_gdp = energy_t * (1 + gdp_elasticity * (gdp_predict - gdp_t)/gdp_t)

# 考虑能效提升因素
energy_efficiency = 0.9 

问题三

  1. 情景设计
  • 可以设置3-5种不同情景,表示不同的发展路径

  • 每种情景可确定碳达峰年份、碳中和年份、能效提升目标、非化石能源占比目标等参数

  • 例如:基准情景保持当前趋势不变;积极情景提前达峰中和时间表

  • 设置不同的情景,每种情景需要确定关键参数值,例如:

碳达峰年份 t p e a k t_{peak} tpeak
碳中和年份 t n e u t r a l t_{neutral} tneutral
能效提升比例 r e f f i c i e n c y r_{efficiency} refficiency
非化石能源占比 r n o n f o s s i l r_{nonfossil} rnonfossil

  1. 多情景碳排放预测
  • 利用问题二建立的碳排放预测模型,将不同情景的参数输入,运行模拟

  • 可以考虑关键部门的差异,例如电力部门可提高非化石占比达到100%,但其他部门可能难以实现

  • 得到每个情景下未来年份的碳排放量预测结果

  • 在每个情景下,利用问题二建立的模型预测碳排放趋势:

C O 2 , t + 1 s = ∑ i E i , t + 1 s ⋅ E F i , t + 1 s CO_{2,t+1}^{s}=\sum_{i}E_{i,t+1}^{s}\cdot EF_{i,t+1}^{s} CO2,t+1s=iEi,t+1sEFi,t+1s

其中 s s s表示情景, C O 2 , t + 1 s CO_{2,t+1}^{s} CO2,t+1s为情景 s s s下一期碳排放量。

  1. 确定双碳路径
  • 比较各情景表现,找到既可实现双碳目标又考虑经济社会可承受能力的最优参数组合

  • 将最优参数在规划年份(2025年、2030年等)确定目标值

  • 提出配套政策措施,例如提高能效的经济政策,发展非化石能源的产业政策

  • 确保各项目标能够分阶段渐进实现,最终达成双碳目标

  • 根据各情景表现,确定最优参数组合
    确定间隔年份(2025年、2030年等)参数目标值
    提出实施路径,确定逐步达成参数目标的政策措施

# 情景参数设置
scen_base = {'peak_year':2040, 'neutral_year':2060, 
            'efficiency_improve':0.3, 'nonfossil_ratio':0.4}

scen_advanced = {'peak_year':2030, 'neutral_year':2050,
                 'efficiency_improve':0.5, 'nonfossil_ratio':0.8} 

# 情景碳排放预测
import emission_model # 调用问题二模型

emissions_base = []  
for year in range(2020, 2070):
    data = {'efficiency': scen_base['efficiency_improve'], 
            'nonfossil': scen_base['nonfossil_ratio']}
    emission = emission_model.predict(year, data) 
    emissions_base.append(emission)

emissions_adv = []  
# 同样方式模拟advanced情景  
emissions_adv = []
for year in range(2020, 2070):

完整内容点击下方名片详细了解噢~
一起来关注数学建模小秘籍冲刺华为杯大奖!

;