• 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.133
     for Mn=1.59:-0.05:1.30
     for V=0.041:-0.005:0.025
     x=[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.1
     i=i+1;
     a(i,:)=x'; 
     end
     end
     end
     end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    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.133
     for Mn=1.59:-0.05:1.30
     for V=0.041:-0.005:0.025
     x=[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.1
     i=i+1;
     a(i,:)=x'; 
     end
     end
     end
     end
    a
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
  • 相关阅读:
    爬虫之selenium
    Math.Round() “四舍五入“方法
    企业商标信息查询API的优势和应用实例分析
    OpenTLD源码生成VS2010工程和编译过程
    金仓数据库KingbaseES 插件kdb_date_function
    K8s---- Pod进阶(资源限制、健康检查)
    Mybatis中如何传入map参数呢?
    NX二次开发-将工程图上的每个视图导出PNG图片
    【Linux】UDP协议
    [NOIP1999 普及组] 导弹拦截
  • 原文地址:https://blog.csdn.net/weixin_43292788/article/details/134047938