2016年亚太杯APMCM数学建模大赛B题化学元素对变形钢筋性能的影响求解全过程文档及程序
2016年亚太杯APMCM数学建模大赛
B题 化学元素对变形钢筋性能的影响
原题再现
热轧带肋钢筋通常被称为变形钢筋,它主要用于钢筋混凝土构件的骨架,在使用中需要一定的机械强度、弯曲和变形性能、制造焊接性。钢中的化学成分是影响热轧钢最终组织性能的基本因素。大多数变形钢筋采用微合金化方法,即在钢中加入昂贵的微量元素(如Mn合金材料、V合金材料等),调整成分比例,提高组织性能。一个好的组成设计可以在保证性能的同时有效地控制生产成本。钢中的Cr元素可以显著提高强度、硬度和耐磨性。当公司使用富含铬的矿山时,液态铁中的铬含量会显著增加。因此,有一个问题:当Cr含量增加时,我们能否减少合金材料的用量以控制成本?
变形钢筋的抗拉强度、屈服强度和断裂伸长率等性能与C、Mn、S、P、Si、Cr、Mo、Cu、Ni、Alt、V等元素及其他影响因素之间没有明显的相关性,因此,请根据附件1中的数据,应用现代数学和统计方法,模拟变形钢筋性能对化学元素的影响,并优化成分。具体要求如下:
(1) 分析了影响变形钢筋性能的主要因素和次要因素,如屈服强度、抗拉强度和断裂伸长率,并分析了这些因素之间的相关性。
(2) 建立了变形钢筋性能与C、Mn、Cr、V、Ni等化学元素之间的影响规律模型。
(3) 研究了提高Cr含量对变形钢筋性能允许范围内Mn、V等合金材料的还原作用,提出了Mn、V含量等的改性范围,并设计了成分优化方案。
附件一:某企业近两年的生产数据。其中:本规范按螺纹钢筋直径分类,表中仅有两种产品;每个元素的含量以百分比表示;屈服强度的单位,抗拉强度为MPa,断裂后伸长率以百分比表示。
整体求解过程概述(摘要)
随着中国钢铁冶炼技术的不断发展,技术人员不仅已经知道了冶金产品中元素的确切配比,而且能够精确控制合金元素的配比。2015年,中国钢铁厂生产了110亿吨钢铁产品,产量居世界第一。对于中国钢铁厂来说,最重要的任务之一是在提高钢铁强度的同时降低成本。由于钢中掺入的元素会在一定程度上影响其性能,因此研究元素的组成比例是解决上述问题的关键。
首先,本文选取附件1中某企业的生产数据作为统计对象。根据材料的实际性能和生产数据,丢弃不利于得出正确结论的异常数据。然后,为了找出影响钢材性能的主要因素,基于统计产品和服务解决方案(SPSS),采用逐步回归法,以元素C、Mn、S、P、Si、Cr、Mo、Cu、Ni、Alt、V为决定变量,以抗拉强度、屈服强度和伸长率为因变量。
其次,排除影响钢筋性能的次要因素,保留决定因素,采用逐步多元线性回归分析了变形钢筋性能与化学元素的关系。散点图采用SPSS软件绘制;建立了各种可能的拟合曲线(如指数模型、对数模型、逻辑模型、线性模型),确定了定量曲线关系。研究表明,化学元素的影响既不是简单的线性关系,也不是非线性关系,而是一个复杂的多变量耦合系统。BP神经网络是一种由非线性变换单元组成的前馈网络,能够实现多层前馈神经权值的调整,智能地处理高度非线性的问题。因此,本文利用MATLAB对B.P.神经网络模型进行了设计和修改。该模型对钢的性能和化学元素之间的反射进行了反复训练。根据问题的要求,在训练误差极小的条件下,得到了的数学模型。使用从附件1中提取的系统采样数据对修改后的模型进行检查。通过预测值与实际值的比较,证明了修正模型的高度拟合。
最后,分析了螺纹钢性能的变化趋势,利用控制变量法,利用MATLAB编制了化学元素组成比例和生产成本的优化程序。
模型假设:
1) 假设产品1和产品2加工的设备和技术没有显著变化。
2) 忽略除化学元素组成比例外其他因素对钢力学性能的影响。
3) 假设在拉伸强度、屈服强度和伸长率的测量实验中,同类试样的形状、尺寸和长度相同。
4) 假设钢的化学成分不会随时间变化。
5) 忽略材料机械性能(疲劳性能、耐腐蚀性和耐高温性)对拉伸强度、屈服强度和伸长率的影响。
问题分析:
研究背景和意义
热轧带肋钢筋通常被称为变形钢筋,它主要用于钢筋混凝土构件的骨架,在使用中需要一定的机械强度、弯曲和变形性能、制造焊接性。钢中的化学成分是影响热轧钢最终组织性能的基本因素。大多数变形钢筋采用微合金化方法,即在钢中加入昂贵的微量元素(如Mn合金材料、V合金材料等),调整成分比例,提高组织性能。
抗拉强度是指将绳索、金属丝或结构梁等物体拉到断裂点所需的力。材料的抗拉强度是指在失效(例如断裂)之前所能承受的最大拉伸应力。它反映了材料的抗断裂性能。屈服强度是金属材料屈服行为的极限,即抵抗微塑性变形的能力。如果零件受到的外力大于该强度,则该零件将永久失效,无法恢复。断裂后伸长率是金属材料拉伸断裂后材料的伸长率与原始长度的比值。它反映了指标的塑性变形能力。
试验表明,在冶炼过程中加入一些昂贵的微量元素,可以显著提高钢材的主要力学性能指标抗拉强度、屈服强度和断裂伸长率。中国是世界上最大的钢铁材料生产国之一,因此降低平均生产成本对国家的环境保护和发展仍有很大好处。在这方面,鞍钢、武钢等大型钢铁生产企业组织了大量的研究人员,对钢材的性能指标进行研究和检验,旨在以最低的成本获得最高的回报。由此可见,元素组成比例的研究对钢铁等相关行业具有重要意义。
钢中的Cr元素可以显著提高强度、硬度和耐磨性。当工厂使用富含铬的矿山时,液态铁中的铬含量会显著增加。因此,如果能够在Cr含量增加时将昂贵的合金材料如Mn和V的含量降低到允许范围内,工厂将成功地控制成本。本文将建立数学模型来分析和处理某企业提供的生产数据,并解决以下问题:
1) 找出影响变形钢筋性能的主要因素,如屈服强度、抗拉强度和断裂伸长率,并分析这些因素之间的相关性。
2) 模拟变形钢筋性能与C、Mn、Cr、V和N等化学元素之间的影响规律。
3) 研究了提高Cr含量对变形钢筋性能允许范围内Mn、V等合金材料的还原作用,提出了主要元素的含量变化范围和设计成分优化方案。
问题分析
变形钢筋的性能与微观结构有关,而微观结构与元素的种类和加工工艺有关。因此,元素类型和含量对变形钢筋性能的影响是一个多元变量的统计回归问题,即多个自变量和多个因变量之间存在映射关系。通过分析映射关系,我们可以从已知的自变量中预测因变量的值,从而建立合金元素类型和含量对变形棒性能的影响模型。
问题1:附件1中的大量数据被排序和过滤,并且去除了死像素。通过SPSS逐步线性回归分析,分析了各元素对变形钢筋性能的影响及其相互关系。得出了影响该钢性能的主要因素。
问题2:本部分研究了单个变量与变形钢筋性能的相关性。据调查,化学元素的影响既不是简单的线性关系,也不是非线性关系,而是一个复杂的多变量耦合系统。因此,修改算法和模型是必不可少的。通过BP神经网络和MATLAB编程,得到了一个包含主因子输入层、10个交点的隐层和抗拉强度、屈服强度和断裂伸长率输出层的神经网络模型。控制变量用于逐一分析变量以获得相关性,经过50000次训练后,该相关性具有更高的置信度。
问题三:这个问题具有很强的现实价值和意义。在回答前两个问题的基础上,添加程序,使用循环语句,将钢的变形强度控制在允许范围内。然后增加Cr含量以最大限度地减少昂贵金属(如Mn和V)的量,从而平衡性能和成本并节约能源。
模型的建立与求解整体论文缩略图
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:
部分程序如下:
clear;
load bpnerve1.mat;
Input_layer=Input_layer';
Output_layer=Output_layer';
net=newff(minmax(Input_layer),[10,3],{'tansig','pureli
n'},'trainrp');
net.trainParam.epochs=50000;
net.trainParam.show=2000;
net.trainParam.lr=0.15;
net.trainParam.mc=0.7;
net.trainParam.goal=0.0000001;
net=train(net,Input_layer,Output_layer);
Y=sim(net,Input_layer);
x=[0.22;1.43;0.022;0.03;0.012;0.024;0.027;0.47];
y=sim(net,x)
BP Neural network model of steel 2
clear;
load bpnerve2.mat;
Input_layer2=Input_layer2';
Output_layer2=Output_layer2';
net=newff(minmax(Input_layer2),[10,3],{'tansig','purel
in'},'trainrp');
net.trainParam.epochs=50000;
net.trainParam.show=2000;
net.trainParam.lr=0.15;
net.trainParam.mc=0.7;
net.trainParam.goal=0.0000001;
net=train(net,Input_layer2,Output_layer2);
Y=sim(net,Input_layer2);
x=[0.21;1.35;0.02;0.033;0.5;0.46;0.03;0.035];
y=sim(net,x)
Optimization algorithm among Cr,Mn and V of steel 1
clear;
load bpnerve1.mat;
Input_layer=Input_layer';
Output_layer=Output_layer';
net=newff(minmax(Input_layer),[10,3],{'tansig','pureli
n'},'trainrp');
net.trainParam.epochs=50000; % 50000 epochs
net.trainParam.show=2000;
net.trainParam.lr=0.15;
net.trainParam.mc=0.7;
net.trainParam.goal=0.0000001; % the min error is
0.0000001
net=train(net,Input_layer,Output_layer);
Y=[769.31322;558.99737;31.5];
i=0;a=[];
for Cr=0:0.05:0.133for Mn=1.59:-0.05:1.30for V=0.041:-0.005:0.025x=[Cr;Mn;V];y=sim(net,x);diff=(y-Y)./Y;diff=abs(diff);if diff(1)<=0.1&&diff(2)<=0.1&&diff(3)<=0.1i=i+1;a(i,:)=x'; endendendend
clear;
load bpnerve2.mat;
Input_layer=Input_layer';
Output_layer=Output_layer';
net=newff(minmax(Input_layer),[10,3],{'tansig','pureli
n'},'trainrp');
net.trainParam.epochs=50000; % 50000 epochs
net.trainParam.show=2000;
net.trainParam.lr=0.15;
net.trainParam.mc=0.7;
net.trainParam.goal=0.0000001; % the min error is
0.0000001
net=train(net,Input_layer,Output_layer);
Y=[769.31322;558.99737;31.5];
i=0;a=[];
for Cr=0:0.05:0.133for Mn=1.59:-0.05:1.30for V=0.041:-0.005:0.025x=[Cr;Mn;V];y=sim(net,x);diff=(y-Y)./Y;
diff=abs(diff);if diff(1)<=0.1&&diff(2)<=0.1&&diff(3)<=0.1i=i+1;a(i,:)=x'; endendendend
a
clear
load question_steel1.mat
plot3(Cr,Mn,tensile_strength,'bo')
grid on;
xlabel('Cr'); % the x label is Cr
ylabel('Mn'); % the y label is Mn
zlabel('tensile_strength'); % the z label is
tensile_strength
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:

2016年亚太杯APMCM数学建模大赛B题化学元素对变形钢筋性能的影响求解全过程文档及程序
2016年亚太杯APMCM数学建模大赛 B题 化学元素对变形钢筋性能的影响 原题再现 热轧带肋钢筋通常被称为变形钢筋,它主要用于钢筋混凝土构件的骨架,在使用中需要一定的机械强度、弯曲和变形性能、制造焊接性。钢中的化学成分是影响热轧钢最终组织性能的基…...

美颜SDK集成指南:为应用添加视频美颜功能
随着社交媒体和直播应用的兴起,视频美颜功能已成为用户追求的一项热门特性。用户希望能够在拍摄照片或进行实时视频直播时,使用美颜功能来增强其外观。为了满足这一需求,开发者可以考虑集成美颜SDK,为其应用增加这一吸引人的功能。…...

AquilaChat2-34B 主观评测接近GPT3.5水平,最新版本Base和Chat权重已开源!
两周前,智源研究院发布了最强开源中英双语大模型AquilaChat2-34B 并在 22项评测基准中综合能力领先,广受好评。为了方便开发者在低资源上运行 34B 模型,智源团队发布了 Int4量化版本,AquilaChat2-34B 模型用7B量级模型相近的GPU资…...

useGeneratedKeys=“true“ keyProperty=“id“
1、xml中 useGeneratedKeys"true" keyProperty"id"2、db id bigint(20) AUTO_INCREMENT 3、场景 一般用于 先将DO写入dbinsert成功后,再将JDBC自增主键值AUTO_INCREMENT,回写到DO的id属性字段后续可能会从DO中获取此id值进行查询…...

Java 浅拷贝会带来的问题
Java 浅拷贝会带来的问题 一,常见问题 Java 中的浅拷贝是指在对象拷贝时,只复制对象的引用,而不是对象本身。这意味着浅拷贝会导致多个对象共享同一块内存空间,当一个对象修改共享内存时,其他对象也会受到影响。 下…...

Monocle 3 | 太牛了!单细胞必学R包!~(二)(寻找marker及注释细胞)
1写在前面 昨天又是不睡觉的一天,晚上还被家属讲了一通,理由是我去急诊了,没有在办公室待着,他老公疼没人去看。🫠 我的解释是只有我一个值班医生,不可能那么及时,而且也不是什么急症啊。&#…...

简述JVM
文章目录 JVM简介JVM运行时数据区堆(线程共享)方法区/元空间/元数据区(线程共享)栈程序计数器 JVM类加载类加载过程双亲委派模型 垃圾回收机制(GC)判断对象是否为垃圾判断是否被引用指向 如何清理垃圾, 释放对象? JVM简介 JVM 是 Java Virtual Machine 的简称, 意为Java虚拟机…...

【多线程面试题 六】、 如何实现线程同步?
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官: 如何实现线程同步&…...

地面文物古迹保护方案,用科技为文物古迹撑起“智慧伞”
一、行业背景 当前,文物保护单位的安防系统现状存在各种管理弊端,安防系统没有统一的平台,系统功能不足、建设标准不同,产品和技术多样,导致各系统独立,无法联动,形成了“信息孤岛”。地面文物…...

k8s之Flannel网络插件安装提示forbidden无权限
一、问题描述 在安装k8s的网络插件时,提示如下信息,各种forbidden无权限 [rootzzyk8s01 scripts]# kubectl apply -f kube-flannel.yml Error from server (Forbidden): error when retrieving current configuration of: Resource: "policy/v1b…...

在微信小程序云开发中引入Vant Weapp组件库
介绍 Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。 介绍 - Vant Weapp (youzan.github.io) Vant Weapp需要安装 node.js&…...

Vue+ElementUI项目打包部署到Ubuntu服务器中
1、修改config/index.js中的assetsPublicPath: /,修改为assetsPublicPath: ./ assetsPublicPath: ./2、在build/utils.js中增加publicPath: ../../ publicPath: ../../3、打开终端,在根目录下执行npm run build进行打包,打包成功后会生成dist npm run…...

面试题收集——Java基础部分(一)
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、Java有没有goto? java中的保留字…...

Vue中this指向问题
文章目录 1 由Vue管理的函数2 不被Vue管理的函数3 总结 1 由Vue管理的函数 computed 计算属性watch 监视属性filters (Vue3中已弃用且不再支持) 过滤器methods 上述属性里配置的函数this指向Vue实例,不要采用箭头函数写法,因为箭头函数没有自己的this对…...

【iPad已停用】解锁教程
iPad多次输错密码时,会自动锁定并停用,这时候你可以使用iTuens或Tenorshare进行解锁。 一、使用iTunes解锁 下载并安装iTunes 使用数据线将iPad连接上电脑 让iPad进入恢复模式,同时安装iPad电源键和Home键,直到Logo出现也不要松…...

python不调用heapq库 实现大顶堆,小顶堆
参考了博客,并对其进行了堆的push() 和 降序排序的补充 【精选】图解堆排序及其Python实现_python 实现小顶堆-CSDN博客 目录 大顶堆 调用结果展示: 小顶堆: 调用结果展示: 此结果与调用heapq库中的heapify(arr)函数等效 …...

STM32F4X SDIO(二) SDIO协议
上一节简单介绍了SD卡的分类,本节将会介绍SD卡的通信协议,也就是SDIO协议。 STM32F4X SDIO(二)SDIO协议 SD 卡管脚和寄存器SD卡管脚分布SD卡通信协议SD卡寄存器SD卡内部结构 SDIO总线SDIO总线拓扑SDIO总线协议SDIO协议的基本结构…...

设计模式--7个原则
单一职责原则:一个类负责一项职责。 里氏替换原则:继承与派生的规则。 依赖倒置原则:高层模块不应该依赖基层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程࿰…...

AltiumDesigner原理图编译错误报告信息解释
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、ViolationsAssociated with Buses 有关总线电⽓错误的各类型(共 12 项)二、ViolationsAssociated Components 有关元件符号电⽓错误…...

使用 Visual Studio Code 编写 TypeScript程序
安装 TypeScript 首先,确保你已经安装了 TypeScript,如果没有安装,请参考https://blog.csdn.net/David_house/article/details/134077973?spm1001.2014.3001.5502进行安装 创建 新建一个文件夹,用vs code打开,在文…...

科大讯飞发布讯飞星火 3.0;开源AI的现状
🚀 科大讯飞发布讯飞星火 3.0,综合能力超越ChatGPT(非GPT-4版) 摘要:科大讯飞在2023全球1024开发者节上宣布讯飞星火 3.0正式发布,号称综合能力已超越ChatGPT。据介绍,星火认知大模型 V3.0在文…...

公网远程访问macOS本地web服务器
# 公网访问macOS本地web服务器【内网穿透】 文章目录 1. 启动Apache服务器2. 公网访问本地web服务2.1 本地安装配置cpolar2.2 创建隧道2.3 测试访问公网地址3. 配置固定二级子域名3.1 保留一个二级子域名3.2 配置二级子域名4. 测试访问公网固定二级子域名 以macOS自带的Apache…...

windows 安装小乌龟
这是什么 这里简单描述一下在windows上如何安装GIT代码管理工具和使用小乌龟版本来调用GIT,并且配置一下git相关信息,可以使用小乌龟来操作代码。也有一些常规git使用方法。 需要的资源 Git-2.42.0-64-bit.exe(这个是git代码管理工具&…...

toon boom harmony基础
以下都是tbh快捷键使用,或者一些常用功能介绍 1、在节点视图中,按回车可直接弹出节点库搜索框 2、中心线编辑器 只能编辑用笔刷画出来的线条,铅笔画出来的线条无法编辑。 3、镜头标记 1 右键箭头方向,可弹出下拉,&am…...

JPA联合主键
在实际工作中,我们会经常遇到联合主键的情况,所以我用简单例子列举JPA两种实现联合主键的方式。 1、如何通过IdClass 实现联合主键 第一步:新建一个UserInfoID类,里面是联合主键 Data Builder NoArgsConstructor AllArgsConstructor pu…...

水性杨花:揭秘CSS响应式界面设计,让内容灵活自如,犹如水之变幻
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 ⭐ 专栏简介 📘 文章引言 一、是…...

fio performance test
fio参数解释 可以使用fio -help查看每个参数,具体的参数左右可以在官网查看how to文档,如下为几个常见的参数描述 filename/dev/emcpowerb 支持文件系统或者裸设备,-filename/dev/sda2或-filename/dev/sdb 或 -filename/dev/nvme0n1direct…...

DevOps持续集成-Jenkins(1)
文章目录 DevOpsDevOps概述Code阶段工具(centos7-gitlab主机)Windows下安装Git(作用是:使我们可以上传代码到GitLab)Linux下安装GitLab⭐(作用是:运行一个GitLab接收代码)环境准备先…...

Pytorch代码入门学习之分类任务(二):定义数据集
一、导包 import torch import torchvision import torchvision.transforms as transforms 二、下载数据集 2.1 代码展示 # 定义数据加载进来后的初始化操作: transform transforms.Compose([# 张量转换:transforms.ToTensor(),# 归一化操作&#x…...

oracle 里常用的一些 create insert update table
1、获得数据库里某个指定的库 SELECT COUNT(*) FROM ALL_TABLES ut WHERE ut.OWNERTJFX AND ut.TABLE_NAME CUR_TIME_BILL; 2、创建一个表,里面的数据可以从一个已存在的表里转移过来 CREATE TABLE temptable AS SELECT * FROM old_tbName //使用现有的表创建一…...