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名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/40152.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络——物理层设备

目录 ​编辑 中继器 集线器&#xff08;Hub&#xff09; 集线器&#xff0c;中继器的一些特性 集线器和中继器不能“无限串联” 集线器连接的网络&#xff0c;物理上是星型拓扑&#xff0c;逻辑上是总线型拓扑 集线器连接的各网段会“共享带宽” 中继器 如果我们想要网络…

NVIDIA NeMo 全面教程:从入门到精通

NVIDIA NeMo 全面教程&#xff1a;从入门到精通 文章目录 NVIDIA NeMo 全面教程&#xff1a;从入门到精通目录框架介绍NeMo的核心特点NeMo的架构NeMo与其他框架的比较NeMo的模型集合NeMo的工作流程NeMo 2.0的新特性 安装指南系统要求使用Docker容器安装步骤1&#xff1a;安装Do…

Chrome 134 版本开发者工具(DevTools)更新内容

Chrome 134 版本开发者工具&#xff08;DevTools&#xff09;更新内容 一、隐私与安全面板 旧的 Security 面板已演变为隐私与安全面板&#xff0c;并新增了一个专注于隐私的部分。在该部分中&#xff0c;可以&#xff1a; 在 DevTools 打开时&#xff0c;临时限制第三方 Co…

顺序表和链表

目录 线性表顺序表概念与结构分类静态顺序表动态顺序表 动态顺序表的实现SeqList.hSeqLIst.c 和 test.c初始化SLInit增容SLCheckCapacity尾插SLPushBack打印SLPrint头插SLPushFront尾删SLPopBack头删SLPopFront查找SLFind任意插SLInsert任意删SLErase销毁顺序表SLDestroy 顺序表…

性能测试、负载测试、压力测试的全面解析

在软件测试领域&#xff0c;性能测试、负载测试和压力测试是评估系统稳定性和可靠性的关键手段。​它们各自关注不同的测试目标和应用场景&#xff0c;理解这些差异对于制定有效的测试策略至关重要。 本文对性能测试、负载测试和压力测试进行深入分析&#xff0c;探讨其定义、…

FPGA_YOLO(二)

上述对cnn卷积神经网络进行介绍,接下来对YOLO进行总结,并研究下怎么在FPGA怎么实现的方案。 对于一个7*7*30的输出 拥有49个cell 每一个cell都有两个bbox两个框,并且两个框所包含的信息拥有30个 4个坐标信息和一个置信度5个,剩下就是20个类别。 FPGA关于YOLO的部署 1…

Windows系统安装Node.js和npm教程【成功】

0.引言——Node.js和npm介绍 项目描述Node.js基于Chrome V8引擎的JavaScript运行环境&#xff0c;使JavaScript可用于服务器端开发。采用单线程、非阻塞I/O及事件驱动架构&#xff0c;适用于构建Web服务器、实时应用和命令行工具等npmNode.js的包管理器与大型软件注册表。拥有…

使用外部事件检测接入 CDH 大数据管理平台告警

CDH 大数据管理平台 CDH&#xff08;Cloudera Distribution Hadoop&#xff09;是一个企业级的大数据平台&#xff0c;由 Cloudera 公司提供&#xff0c;它包含了 Apache Hadoop 生态系统中的多种开源组件&#xff0c;并对其进行了优化和集成&#xff0c;以支持大规模数据存储…

Node.js的安装和环境配置

漂亮女同事想了解Node.js的安装和环境配置。首先&#xff0c;我说需要回忆一下自己安装Node.js的经历&#xff0c;确保步骤是正确的。可能用户是刚接触开发的新手&#xff0c;所以需要详细但清晰的指导。 首先&#xff0c;应该介绍Node.js是什么&#xff0c;不过用户可能已经知…

在普通用户下修改root用户密码

1 从普通用户切换到root用户 sudo -s 再输入密码。 2 输入passwd ,会提醒你输入当前用户密码&#xff0c;验证后会提醒你输入root用户密码。 3 切换到root用户&#xff0c;使用修改过的密码登陆。 4 成功进入root用户。

【#2】介绍第三方库

一、JsonCpp 库 &#x1f525; JSONCPP 是一个开源的 C 库&#xff0c;用于解析和生成 JSON&#xff08;JavaScript Object Notation&#xff09;数据。它提供了简单易用的接口&#xff0c;支持 JSON 的序列化和反序列化操作&#xff0c;适用于处理配置文件、网络通信数据等场…

Qt开发:QInputDialog的使用

文章目录 一、QInputDialog的介绍二、 QInputDialog的基本用法三、使用 QInputDialog的实例四、QInputDialog的信号与槽 一、QInputDialog的介绍 QInputDialog 是 Qt 提供的一个对话框类&#xff0c;用于获取用户输入的文本、整数或浮点数。它提供了简单易用的静态方法和可定制…

SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测

SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测 目录 SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【SCI一区级】Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测&#xff08;程…

Vulnhub-Thales通关攻略

第0步&#xff1a;网卡配置 靶机端&#xff1a;将下载好的靶机环境&#xff0c;导入 VritualBox&#xff0c;设置为 Host-Only 模式 Kali端&#xff1a;将 VMware 中桥接模式网卡设置为 VritualBox 的 Host-only 第一步&#xff1a;确定靶机IP #靶机IP 192.168.56.101#KaliIP 1…

JVM 02

今天是2025/03/23 19:07 day 10 总路线请移步主页Java大纲相关文章 今天进行JVM 3,4 个模块的归纳 首先是JVM的相关内容概括的思维导图 3. 类加载机制 加载过程 加载&#xff08;Loading&#xff09; 通过类全限定名获取类的二进制字节流&#xff08;如从JAR包、网络、动态…

Python学习笔记(7)关于列表创建,增加,删除

列表 **Python中一切都是对象 存放多个值的连续内存空间 大小可变 增加元素 a a[50]#➕运算符操作&#xff0c;产生了新对象 list.append(x) #将元素x增加至list尾部 list.extend(alist) #将列表alist增加至list尾部 list.insert(index.x) #将元素x插入list指定index位置 …

【图片识别Excel表格】批量将图片上的区域文字识别后保存为表格,基于WPF和阿里云的项目实战总结

一、项目背景 在信息处理和文档管理中,经常会遇到需要从大量图片中提取文字并进行整理的场景。例如,财务部门需要从大量报销票据中提取金额、日期等信息;法务部门需要从合同文档中提取关键条款;教育行业需要从试卷中提取学生的答题内容等。传统的手工处理方式不仅耗时长、…

【C语言】文件操作(详解)

个人主页 今天我们来讲一下有关文件的相关操作&#xff0c;希望看完这篇文章对你有所帮助&#xff0c;大力感谢你对博主的支持&#xff01; 文章目录 ⭐一、为什么使用文件&#x1f389;二、什么是文件2.1 程序文件2.2 数据文件2.3 文件名 &#x1f3a1;三、二进制文件和文本…

数据库中不存在该字段

mybatisplus 定义的类中某些字段是数据库里面没有的&#xff0c;我们可用tablefield(existfalse)来注解&#xff0c;演示如下&#xff1a;

计算机组成原理———I\O系统精讲<1>

本篇文章主要介绍输入输出系统的发展概况 一.输入输出系统的发展概况 1.早期阶段 该阶段的特点是I/O设备与主存交换信息都必须通过CPU 当时的I/O设备有如下几个特点&#xff1a; &#xff08;1&#xff09;每个I\O设备都必须配有一套独立的逻辑电路与CPU相连&#xff0c;用来…