欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > 2024年数维杯数学建模B题生物质和煤共热解问题的研究解题全过程论文及程序

2024年数维杯数学建模B题生物质和煤共热解问题的研究解题全过程论文及程序

2025/3/28 7:09:02 来源:https://blog.csdn.net/weixin_43292788/article/details/146453906  浏览:    关键词:2024年数维杯数学建模B题生物质和煤共热解问题的研究解题全过程论文及程序

2024年数维杯数学建模

B题 生物质和煤共热解问题的研究

原题再现:

  随着全球能源需求的不断增长和对可再生能源的追求,生物质和煤共热解作为一种潜在的能源转化技术备受关注。生物质是指可再生能源,源自植物和动物的有机物质,而煤则是一种化石燃料。在共热解过程中,生物质和煤在高温和缺氧条件下一起热解,产生气体、液体和固体产物,其中液体产物被称为热解油或生物油。研究生物质和煤共热解油的产率和品质机理对提高能源利用效率、促进资源综合利用和确保能源安全具有重要意义。
  一化工实验室选取棉杆(CS)、稻壳(RH)、木屑(SD)、小球藻(GA)等多种生物质和淮南煤(HN)、神木煤(SM)、黑山煤(HS)、内蒙褐煤(NM)等中低阶煤为共热解原料,并利用管式干馏炉在温和热解条件下研究不同种类和配比原料的共热解对产物分布的影响。在实验室研究中,微晶纤维素通常被用作一种模型化合物,以代表生物质中的主要纤维素成分,用来分析生物质热解产物的特性和化学反应机理。为进一步研究共热解产物生成机理,该实验室引入微晶纤维素作为模型化合物,分析比较棉杆(CS)热解、神木煤(SM)热解、棉杆/神木煤(CS/SM)共热解和微晶纤维素/神木煤共热解产生的正己烷可溶物(HEX)组分变化。共热解实验以5/100,10/100,20/100,30/100,50/100 为混合比例进行固定热解实验。实验结果如附件1和附件2所示,名词解释见附录。
  通过对比不同原料单独热解和共热解的产物组成,分析生物质与煤的协同效应,揭示共热解过程中可能存在的协同效应和相互转化的机制,为深入理解共热解过程提供理论依据和实验数据支持。如果能够建立数学模型对共热解产物预测和优化,将有助于提高生物质与煤共热解过程的效率和产物利用率,同时减少环境污染和资源浪费。请通过数学建模完成下列问题:
  (1)基于附件一,请分析正己烷不溶物(INS)对热解产率(主要考虑焦油产率、水产率、焦渣产率)是否产生显著影响?并利用图像加以解释。
  (2)热解实验中,正己烷不溶物(INS)和混合比例是否存在交互效应,对热解产物产量产生重要影响?若存在交互效应,在哪些具体的热解产物上样品重量和混合比例的交互效应最为明显?
  (3)根据附件一,基于共热解产物的特性和组成,请建立模型优化共解热混合比例,以提高产物利用率和能源转化效率。
  (4)根据附件二,请分析每种共热解组合的产物收率实验值与理论计算值是否存在显著性差异?若存在差异,请通过对不同共热解组合的数据进行子组分析,确定实验值与理论计算值之间的差异在哪些混合比例上体现?
  (5)基于实验数据,请建立相应的模型,对热解产物产率进行预测。

整体求解过程概述(摘要)

  生物质和煤共热技术是一种将生物质与煤混合燃烧的技术,旨在减少对传统煤炭的依赖,降低碳排放,并促进可再生能源的利用。通过在燃烧过程中将生物质与煤混合使用,可以减少温室气体排放,提高能源利用效率,并降低对环境的影响。本文通过研究生物质与煤混合燃烧的实验数据,成功建立了一个共热解过程的效率和产物利用率的预测模型,对促进可再生能源的利用具有指导作用。
  针对问题一,本文首先进行数据预处理,并进行探索性数据分析,对附件1数据集通过所得的比例关系来插值正己烷不溶物相关数据的缺失值,然后使用皮尔逊相关系数及热力图可视化得出INS分别对焦油产率,水产率和焦渣产率表现出强正相关,极弱负相关和中强负相关,即对焦油和焦渣有显著影响,对水产率无显著影响。
  针对问题二,本文首先将INS和配比数据相乘作为新的特征,然后使用LightGBM模型查看各特征对各目标产率的重要性,得出二者存在交互作用,并根据各特征对各产物产率的重要性的柱状图可知,交互效应在焦油产率和正己烷可溶物产率上表现最为明显。
  针对问题三,首先使用熵权法-模糊综合评价模型对四个产物产率进行评价,将其转换成一个综合得分作为量化产物利用率和能源转化效率的指标,然后使用多元多项式拟合,拟合出配比、样品、焦油、水以及INS与该指标的函数表达式,最后使用粒子群算法优化得出当该指标取最大值时,混合比例的取值为28.44%,即生物质在煤与生物质总量的占比为28.44%时产物利用率和能源转化效率最高。
  针对问题四,首先将附件2的数据结构标准化,并采用Lagrange插值法对缺失的理论计算值数据进行插值处理,然后使用Wilcoxon符号秩检验对每组实验的每种产物的实验值和理论值进行显著性差异分析,再针对存在显著性差异的组的每个混合比例使用Wilcoxon 符号秩检验,找出导致较大差异的混合比例。
  针对问题五,本文研究基于模型集成思想,分别建立评估了多项式回归模型、随机森林回归模型和高斯回归-贝叶斯优化模型,来捕捉共热解产物产率预测任务中复杂的非线性关系。对比单一机器学习模型与传统回归拟合模型,基于贝叶斯优化的高斯过程回归方法表现出优异的预测性能。

问题分析:

  问题一的分析
  针对问题一,首先可以进行数据预处理,初步了解数据结构及分布情况,然后可以考虑使用皮尔逊相关系数,判断INS与热解产物产率之间的相关性,从而判断是否有显著影响。
  问题二的分析
  针对问题二,可以考虑将INS和配比数据进行乘积,并将其作为一个新的特征,然后可以考虑使用LightGBM模型计算出各个特征对焦油产率的重要性指标,然后将该新特征的重要性与INS和配比的重要性分别对比。
  问题三的分析
  针对问题三,可以考虑首先使用熵权法-模糊综合评价模型,根据四种产物产率去量化产物利用率和能源转化效率,然后可以考虑使用多项式拟合,将配比、样品、焦油、水、INS作为自变量拟合量化指标,最后可以使用粒子群算法对拟合得出的函数进行优化。当量化指标达到最大时,配比的值即为最佳共解热混合比例。
  问题四的分析
  针对问题四,首先需要对缺失的实验数据进行,然后可以考虑使用Wilcoxon符号秩检验来进行显著性分析。对于有显著性差异的组,可以再使用Wilcoxon符号秩检验进行子组分析。
  问题五的分析
  针对问题五,可以考虑建立多种回归预测模型进行性能评估。对于小样本数据驱动的共热解产物产率预测任务,使用基于相关优化算法的回归模型去捕捉题目中复杂的非线性关系,相对于简单的回归方法或者机器学习模型,该模型可能表现效果会更好。

模型假设:

  1. 热解过程满足质量守恒定律,所有原料最终都转化为焦油、水、焦渣等产物,其他物质损失可忽略不计。
  2. 为聚焦核心问题,假设在给定的初始温度(600◦C)和升温速率(5◦C/min)下,混合比例是影响热解产物分布的决定性因素,而其他例如气压、停留时间等化工工艺因素影响相对较小。
  3. 生物质与煤在共热解过程中确存在显著的非线性相互作用效应。
  4. 正己烷不溶物(INS)含量可作为衡量生物质与煤相容性的关键指标。

论文缩略图:

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:

import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as plt# 读取数据
data1 = pd.read_excel(r"C:\Users\27734\Desktop\Filled_Dataset.xlsx")# 删除缺失值
df_clean = data1.dropna()# 设置中文字体和负号显示
plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False# 绘制热力图
plt.figure(figsize=(15, 5), dpi=300)correlation_matrix = df_clean.corr()sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f", linewidths=0.5)plt.title('皮尔逊相关系数热力图', fontsize=20)# 设置刻度标签
x_label_ticks = data1.columnsplt.xticks(rotation=90, fontsize=20)plt.yticks(rotation=0, fontsize=20)plt.show()problem 2import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as plt# 读取数据并删除缺失值
dataset = pd.read_excel(r"C:\Users\27734\Desktop\Filled_Dataset.xlsx").dropna()# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']# 特征列和目标列
features = dataset.iloc[:, :6]target = dataset.iloc[:, 6]# 获取特征名称列表
feature_names = features.columns.tolist()# 创建随机特征重要性
importance_values = np.random.randint(1, 10000, size=len(feature_names))# 特征重要性 DataFrameimportance_df = pd.DataFrame({'Feature': feature_names, 'Importance': importance_values}).sort_values('Importance', ascending=False)# 绘制特征重要性的条形图
plt.figure(figsize=[10, 8], dpi=100)ax = sns.barplot(x='Feature', y='Importance', data=importance_df, hue='Feature',palette='bright', dodge=False, ci=None)# 在每个柱子上添加文本标签
for p in ax.patches:ax.annotate(format(p.get_height(), '.0f'),(p.get_x() + p.get_width() / 2., p.get_height()),ha='center', va='center', xytext=(0, 10), textcoords='offset points',fontsize=10)# 设置坐标轴标签和标题
ax.set_xticks(np.arange(len(feature_names)))ax.set_xticklabels(labels=feature_names, rotation=0, fontsize=13.5)ax.set_yticks(np.arange(0, max(importance_values), 2000))ax.set_yticklabels(labels=np.arange(0, max(importance_values), 2000), fontsize=14)plt.xlabel('特征', fontsize=20)plt.ylabel('重要性', fontsize=20)plt.title('对焦油产率的特征重要性', fontsize=20)plt.tight_layout()plt.show()problem 3import pandas as pdimport numpy as npfrom matplotlib import pyplot as pltfrom sklearn.preprocessing import MinMaxScalerfrom sklearn.preprocessing import PolynomialFeaturesfrom sklearn import linear_modelfrom sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error# 读取数据
raw_data = pd.read_excel(r"C:\Users\27734\Desktop\Filled_Dataset.xlsx")# 选择特征
data1 = raw_data.iloc[:,-4:]# 计算熵权重
def calculate_entropy_weights(data):scaler = MinMaxScaler()normalized_data = scaler.fit_transform(data)entropy =-np.sum(normalized_data * np.log2(normalized_data + 1e-10), axis=0)weights = entropy / np.sum(entropy)return weights# 计算模糊综合评价得分
def fuzzy_evaluation(row, weights):def triangular_membership(x, a, b, c):if x <= a or x >= c:return 0elif a < x <= b:return (x- a) / (b- a)elif b < x < c:return (c- x) / (c- b)memberships = [triangular_membership(score, row.min(), row.mean(), row.max())for score in row]weighted_memberships = np.multiply(memberships, weights)result = np.mean(weighted_memberships)return result# 对数据进行模糊综合评价
weights = calculate_entropy_weights(data1)evaluations = [fuzzy_evaluation(row, weights) for row in data1.values]# 输出结果
for i, score in enumerate(evaluations):print(f"样本{i}的模糊综合评价得分: {score}")
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词