2024 辽宁省大学数学建模竞赛B 题 钢铁产品质量优化完整思路 代码 结果分享(仅供学习)

news2024/11/15 12:07:53

冷轧带钢是钢铁企业的高附加值产品,其产品质量稳定性对于钢铁企业的经济效益具有非常重要的影响。在实际生产中,冷连轧之后的带钢需要经过连续退火处理来消除因冷轧产生的内应力并提高其机械性能。连续退火的工艺流程如图1 所示,一般包括加热、保温、缓冷、快冷、过时效、淬火等加工阶段。首先,带钢在加热炉中被加热到指定的温度,然后在均热炉中进行保温使得带钢内外的温度一致;接着,带钢依次穿过缓冷炉、快冷炉、过时效炉、火炉等阶段,以实现带钢内部金属组织的再结品,达到需要的力学性能。处理完成后的板卷会通过实验室对其机械性能进行离线检测,如果性能不达标则会产生经济损失。

由于连续退火工序中各阶段的工艺参数之间存在耦合性(加热炉的温度设定会影响后续均热与冷却温度的设定,以及带钢穿行速度),导致难以建立该工序的机理模型,从而为在线的产品质量控制与优化带来挑战。为了实现对连退带钢产品质量的优化,从实际生产中获得了许多带钢产品的生产过程工艺参数和对应的带钢机械性能数据,其中:带钢规格数据包括厚度、宽度、碳含量、硅含量,控制工艺参数包括带钢速度、加热炉温度、均热炉温度、缓冷炉温度、过时效炉温度、快冷炉温度、淬火温度、平整机张力,性能指标为带钢的硬度。附件1给出了某一批带钢产品的规格数据、工艺参数与性能指标数据,请根据这些数据或自行收集的数据完成以下任务:

问题一:1.请帮助现场操作人员确定哪些参数对于带钢的机械性能具有重要影响?

冷轧带钢是钢铁企业的重要高附加值产品,其质量稳定性直接影响企业的经济效益。为了提升冷轧带钢的机械性能,连续退火工艺被广泛应用于生产中。连续退火工艺包括多个阶段,每个阶段的工艺参数都会对带钢的最终机械性能(如硬度)产生影响。因此,识别并优化这些关键工艺参数对提升产品质量具有重要意义。

1、数据描述

从实际生产中,我们获得了一批带钢产品的生产过程数据,包括规格数据、工艺参数和性能指标。具体参数如下:

规格数据:带钢厚度、带钢宽度、碳含量、硅含量

工艺参数:带钢速度、加热炉温度、均热炉温度、缓冷炉温度、过时效炉温度、快冷炉温度、淬火温度、平整机张力

性能指标:带钢的硬度

2、相关性分析

为了确定哪些工艺参数对带钢硬度具有重要影响,我们首先进行相关性分析。相关性矩阵显示了各个参数之间的线性关系。相关性系数的计算公式如下:

其中,rxy表示变量x与变量y之间的皮尔逊相关系数,xi和yi分别是变量x和变量y的第i个观测值,xˉ和yˉ分别是变量x和变量y的均值。

通过计算相关性矩阵,我们可以直观地看到哪些工艺参数与硬度之间具有较强的相关性。

3、随机森林特征重要性分析

为了进一步量化各工艺参数对硬度的影响,我们采用随机森林回归模型进行特征重要性分析。随机森林模型是一种基于决策树的集成学习方法,通过多棵决策树的集成提高预测精度。其特征重要性可以帮助我们识别出哪些参数在模型中起到了重要作用。随机森林模型的特征重要性计算公式如下:

对于第j个特征的重要性:

其中,T是决策树的数量,Impj(t)表示在第t棵树中第j个特征的重要性。

在具体实现中,我们首先将数据分为特征变量和目标变量,然后对特征变量进行标准化处理,最后训练随机森林回归模型并计算特征重要性。

4、模型建立与分析

数据标准化:由于不同工艺参数的量纲不同,我们首先对特征变量进行标准化处理,使其均值为0,标准差为1。

其中,X为原始特征矩阵,μ为特征均值向量,σ为特征标准差向量。

随机森林训练:将标准化后的特征矩阵和目标变量输入随机森林回归模型进行训练。训练过程中,模型会自动选择最优的决策树数量和最大深度等超参数。

特征重要性计算:模型训练完成后,提取各特征的重要性,并进行排序和可视化。通过条形图展示各特征的重要性,可以直观地看到哪些工艺参数对硬度影响最大。

问题二:请帮助现场操作人员建立一个数据驱动的带钢产品质量在线检测模型,并分析该模型的性能;

随着钢铁工业的快速发展,冷轧带钢作为一种高附加值产品,其产品质量的在线检测和控制对于提高企业的经济效益和产品竞争力至关重要。在实际生产中,冷连轧后的带钢需要经过连续退火处理,以消除冷轧产生的内应力并提高其机械性能。本文将通过数据驱动的方法,建立一个基于机器学习的带钢产品质量在线检测模型,并对其性能进行详细分析。

一、数据预处理

在建立模型之前,需要对原始数据进行预处理,以确保模型训练的有效性和稳定性。主要包括以下几个步骤:

1.数据加载与分离:将原始数据集加载到内存中,并将特征变量(工艺参数)和目标变量(硬度)分离。

2.标准化处理:由于不同工艺参数的量纲不同,需要对特征变量进行标准化处理,使其均值为0,标准差为1。

3.训练集和测试集划分:将数据集划分为训练集和测试集。

二、模型选择与训练

为了建立带钢产品质量的在线检测模型,我们选择使用梯度提升决策树(Gradient Boosting Decision Tree, GBDT)模型。GBDT是一种基于决策树的集成学习方法,通过多个弱学习器(决策树)的集成,提高模型的预测性能。

梯度提升决策树模型:GBDT模型通过迭代的方式训练一系列决策树,每一棵新树都在前一棵树的基础上进行改进,目标是最小化损失函数。GBDT模型的损失函数可以表示为:

其中,l是损失函数,yi是实际值,Fm−1(xi)是前m−1棵树的预测值,ρ是第m棵树的权重,hm(xi)是第m棵树的预测值。

超参数调优:为了提高模型性能,需要对GBDT模型的超参数进行调优。主要超参数包括:

决策树的数量(n_estimators)

学习率(learning_rate)

决策树的最大深度(max_depth)

节点最小分裂样本数(min_samples_split)

叶节点最小样本数(min_samples_leaf)

超参数调优通常通过网格搜索和交叉验证进行,以选择最优的参数组合。网格搜索的目标是找到使交叉验证误差最小的参数组合。

三、模型评估

模型训练完成后,需要对模型的性能进行评估,主要评估指标包括均方误差(Mean Squared Error, MSE)和决定系数(R²)。评估公式如下:

(1)均方误差(MSE):

其中,yi为实际值,y^i为预测值,n为样本数量。

(2)决定系数(R²):

其中,yˉ为目标变量的均值。

问题三:现场操作人员通常是根据个人经验对带钢产品的工艺参数进行设定,你能否帮助他们建立一个带钢工艺参数优化的解决方案?

完整内容获取:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Datawhale AI 夏令营 Task1

记录第一次参加Kaggle上的比赛,通过一站式的教程,没有一点阻碍的跑通了baseline 夏令营方向的选择 我选择的夏令营是关于CV方向的,因为本身对于cv方向比较感兴趣,而且这次夏令营的方式我很喜欢,通过比赛来促进学习&a…

板级调试小助手(5)基于Python访问千帆大模型

一、前言 千帆大模型是百度提供的可以使用API接口调用GPT模型,使用Python调用其实是很简单的:去千帆大模型申请账号->使用python调用API即可,具体可以参考这位大佬的博客,这里就不赘述了。 【教程】如何用Python调用百度的千帆…

基于Java+SpringMvc+Vue技术的药品进销存仓库管理系统设计与实现系统(源码+LW+部署讲解)

注:每个学校每个老师对论文的格式要求不一样,故本论文只供参考,本论文页数达到60页以上,字数在6000及以上。 基于JavaSpringMvcVue技术的在线学习交流平台设计与实现 目录 第一章 绪论 1.1 研究背景 1.2 研究现状 1.3 研究内容…

数据结构和算法(0-1)----递归

定义​ 递归是一种在程序设计中常用的技术,它允许一个函数调用自身来解决问题。递归通常用于解决那些可以被分解为相似的子问题的问题,这些问题的解决方式具有自相似性。在数据结构和算法中,递归是一种重要的解决问题的方法,尤其是…

项目范围管理-系统架构师(二十九)

1、(重点)软件设计包括了四个独立又相互联系的活动,高质量的()将改善程序结构的模块划分,降低过程复杂度。 A程序设计 B数据设计 C算法设计 D过程设计 解析: 软件设计包含四个,…

Golang | Leetcode Golang题解之第232题用栈实现队列

题目: 题解: type MyQueue struct {inStack, outStack []int }func Constructor() MyQueue {return MyQueue{} }func (q *MyQueue) Push(x int) {q.inStack append(q.inStack, x) }func (q *MyQueue) in2out() {for len(q.inStack) > 0 {q.outStack…

Linux权限相关

目录 Linux中的用户 Linux权限管理 Linux的文件访问者分类 Linux的文件类型和访问权限 文件类型 文件权限 文件权限的修改 文件所有者修改 文件所有者所在组修改 目录权限 粘滞位 文件掩码 在Linux中,权限包括用户的权限和文件的权限 Linux中的用户 在…

Android 儿童绘本/汉语拼音实现

有这样一个项目&#xff0c;开发一个电子绘本&#xff0c;需要在绘本上显示&#xff0c;汉语拼音。 界面布局 <androidx.core.widget.NestedScrollViewandroid:layout_width"match_parent"android:layout_height"match_parent"android:fillViewport&quo…

路径规划 | 飞蛾扑火算法求解二维栅格路径规划(Matlab)

目录 效果一览基本介绍程序设计参考文献 效果一览 基本介绍 路径规划 | 飞蛾扑火算法求解二维栅格路径规划&#xff08;Matlab&#xff09;。 飞蛾扑火算法&#xff08;Firefly Algorithm&#xff09;是一种基于自然界萤火虫行为的优化算法&#xff0c;在路径规划问题中也可以应…

C++·多态

1. 多态的概念 多态通俗讲就是多种形态&#xff0c;就是指去完成某个行为&#xff0c;当不同对象去做时会产生不同的结果或状态。 比如买火车票这个行为&#xff0c;同样是买票的行为&#xff0c;普通成年人买到全价票&#xff0c;学生买到半价票&#xff0c;军人优先买票。这个…

Qt MV架构-视图类

一、基本概念 在MV架构中&#xff0c;视图包含了模型中的数据项&#xff0c;并将它们呈现给用户。数据项的表示方法&#xff0c;可能和数据项在存储时用的数据结构完全不同。 这种内容与表现分离之所以能够实现&#xff0c;是因为使用了 QAbstractItemModel提供的一个标准模…

Go语言---TCP服务端以及客服端的实现

TCP的C/S架构 TCP服务器的实现 监听的底层实现 func Listen(network, address string) (Listener, error) {var lc ListenConfigreturn lc.Listen(context.Background(), network, address) }type Listener interface {// Accept waits for and returns the next connection …

Jenkins中Node节点与构建任务

目录 节点在 Jenkins 中的主要作用 1. 分布式构建 分布式处理 负载均衡 2. 提供不同的运行环境 多平台支持 特殊环境需求 3. 提高资源利用率 动态资源管理 云端集成 4. 提供隔离和安全性 任务隔离 权限控制 5. 提高可扩展性 横向扩展 高可用性 Jenkins 主服务…

【深度学习入门篇 ⑤ 】PyTorch网络模型创建

【&#x1f34a;易编橙&#xff1a;一个帮助编程小伙伴少走弯路的终身成长社群&#x1f34a;】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官…

注册中心与配置中心,是分?是合?

一零年代初&#xff0c;我还自己动手写过socket连接来做服务注册发现&#xff0c;后来有了zookeeper就方便多了&#xff0c;那时候zookeeper也直接做配置中心使用。后来出现了一些专门的服务注册发现组件如Eureka\etcd\consul&#xff0c;专门的配置中心比如spring cloud confi…

2024年上半年信息系统项目管理师——综合知识真题题目及答案(第1批次)(2)

2024年上半年信息系统项目管理师 ——综合知识真题题目及答案&#xff08;第1批次&#xff09;&#xff08;2&#xff09; 第21题&#xff1a;在一个大型信息系统项目中&#xff0c;项目经理发现尽管已经建立了沟通机制&#xff0c;但团队间的沟通依然不畅&#xff0c;项目风险…

【JavaScript】解决 JavaScript 语言报错:Uncaught SyntaxError: Unexpected token

文章目录 一、背景介绍常见场景 二、报错信息解析三、常见原因分析1. 缺少必要的语法元素2. 使用了不正确的字符或符号3. JSON 格式错误4. 字符串未正确闭合 四、解决方案与预防措施1. 检查语法元素2. 正确使用符号和字符3. 修正 JSON 格式4. 字符串闭合 五、示例代码和实践建议…

C++基础语法:STL之迭代器

前言 "打牢基础,万事不愁" .C的基础语法的学习 引入 C基础:STL概述-CSDN博客 上一篇梳理了一些同STL有关的概念.同时对理解迭代器需要的类包含,内部类,链表等内容做了分析,这篇从<C Prime Plus> 6th Edition(以下称"本书")的P684,大标题16.4泛型编…

Sortable.js板块拖拽示例

图例 代码在图片后面 点赞❤️关注&#x1f64f;收藏⭐️ 页面加载后显示 拖拽效果 源代码 由于js库使用外链&#xff0c;所以会加载一会儿 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name&qu…

Pycharm 导入 conda 环境

使用时经常在此处卡壳&#xff0c;在此做个记录。 这个位置选择 conda 安装路径下的 python.exe 文件即可