2023 研究生数学建模竞赛(D题)建模秘籍&文章代码思路大全
数字商品 教育 / 知识

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

数学建模小秘籍 · 2 · 0

商品介绍
铛铛!小秘籍来咯!
进阶版已来!小秘籍团队20+人联手打造的精华内容,有需求的同学可以点击以下链接了解~
(进阶版)2023 数学建模高教社杯 研赛(D题)建模秘籍&文章代码思路大全
小秘籍希望大家都能轻松建模呀,研赛也会持续给大家放松思路滴~
抓紧小秘籍,我们出发吧~
来看看研赛D题的题目~

## 问题重述

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

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

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

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

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

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

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

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

(1)设计不同减排情景

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

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

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

## 问题一

1. 建立指标体系

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

- 经济指标:GDP总量、第一产业增加值、第二产业增加值、第三产业增加值
- 人口指标:总人口量
- 能源消费指标:总能源消费量、各产业能源消费量、各部门能源消费量
- 碳排放指标:总碳排放量、各产业碳排放量、各部门碳排放量

2. 建立碳排放预测模型

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

$CO_2=P*\frac{GDP}{P}*\frac{E}{GDP}*\frac{CO_2}{E}$

其中:

$CO_2$:碳排放总量

$P$:人口总量 

$\frac{GDP}{P}$:人均GDP

$\frac{E}{GDP}$:单位GDP能耗

$\frac{CO_2}{E}$:单位能耗碳排放量

3. 分析碳排放影响因素

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

4. 预测模型参数确定

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

5. 建立部门碳排放模型

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

```python
# 导入需要的库
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 \times (1+\alpha\times(P_{t+1}-P_t))$$

其中,$E_t$和$E_{t+1}$分别表示当前期和未来期的能源消费总量,$P_t$和$P_{t+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) 该模型反映了人口规模变化对未来能源需求和碳排放的影响

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

$$E_{t+1} = E_t \times (1+\beta\times(G_{t+1}-G_t))$$

其中,$G_t$和$G_{t+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) 该模型反映了经济增长对未来能源需求和碳排放的影响

3. 综合预测碳排放量

$$CO_{2,t+1}=\sum_i E_{i,t+1} \times EF_{i,t+1}$$

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

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

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

```python
# 导入所需库
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_{peak}$
碳中和年份 $t_{neutral}$
能效提升比例 $r_{efficiency}$
非化石能源占比 $r_{nonfossil}$

2. 多情景碳排放预测

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

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

- 得到每个情景下未来年份的碳排放量预测结果
- 在每个情景下,利用问题二建立的模型预测碳排放趋势:

$$CO_{2,t+1}^{s}=\sum_{i}E_{i,t+1}^{s}\cdot EF_{i,t+1}^{s}$$

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

3. 确定双碳路径

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

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

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

- 确保各项目标能够分阶段渐进实现,最终达成双碳目标
- 根据各情景表现,确定最优参数组合
确定间隔年份(2025年、2030年等)参数目标值
提出实施路径,确定逐步达成参数目标的政策措施

```python
# 情景参数设置
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):
```

同店推荐

包含文件 · 5 · 254.9 KB

  • 01_问题1.py 1.5 KB
  • 02_问题2.py 1.6 KB
  • 03_问题3.py 1.7 KB
  • 04_D代码+思路.docx 12.8 KB
  • 05_D代码+思路.pdf 237.4 KB
支付金额 ¥14.24