前言:中文期刊网精心挑选了数学建模算法与应用范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
数学建模算法与应用范文1
江汉大学自2002年组队参加全国大学生数学建模竞赛,至今10多年了。最近一年内,在2013年2月派队参加美国数学建模大赛,获得一等奖,在4月份和5月份的网络杯赛中获得多项二等奖和三等奖,培养了一批优秀的数模人才。因此2013年我校的数模协会吸引了更多的学生加入,大家都渴望通过数模学习提高自己的创新能力和综合素质能力,并希望在数模比赛中获得好成绩。为了把将来的培训工作做得更好,我们从以下几个方面提出了培训改革方案,并在我校试点实行。
1.校内公开选拔人才作为后备基础
2013年7月11号开始,统计出《高等代数》或《数学分析》,《线性代数》或《高等代数》,《概率论和数理统计》这几门数学基础课平均分在75分以上的全校大二和大三学生,并向他们发出邀请,欢迎他们加入数学建模小组,再进行集中学习和择优,选出学员参加各类数学建模比赛。虽然数学建模能力与数学成绩没有太大的关系,但是大部分数学基础好的学生除基础知识扎实外,平时的学习积极性也很高,在数学建模小组中会以端正的态度对待,这些是必备的基础。
数学基础稍差的学生也可以参加,但要有一定的特长,如对算法熟悉,或能熟练操作excel,或有较强的写作能力。最重要的是要在培训学习一段时间后,经过考核有明显的进步。例如有一个机电系的学生对模拟退火算法有一定的研究,我们邀请他加入数学建模小组。
2.鼓励较早选修与数模相关的课程
数学建模竞赛的选题一般来源于工业、农业、工程技术和管理科学等方面,经过适当简化加工的实际问题,也就是说在建模中不能死板地用数学知识,而是要和实际知识相结合。
《运筹学》是一门利用统计学、数学模型和算法等方法,寻找复杂问题中的最佳或近似最佳的解答的学科。研究运筹学的基础知识包括图论、随机过程、离散数学,线性规划和非线性规划,优化理论和算法基础等。而在应用方面,多与仓储、物流、优化理论和算法等领域相关。因此运筹学是与应用数学、工业工程、计算机科学等专业密切相关的学科。学好了这门课再加上上述的三门数学基础课,整个数模所要求的知识就掌握了一大部分。因此,我们应该鼓励建模班的学生选修《运筹学》,由于我校采用的是选课制,因此实现起来并不难。同样,熟悉算法和编程能力也是数模中的一大特色和难点,是数学理论和实际应用中结合的重要环节。如果建立了很好的数学模型,不能有效利用计算机求解和计算,最终也是无效的,因此建议学生选修《数值计算方法》或《数学实验》等计算数学方面的至少一门课程。如果一个学生掌握好了三门数学基础课,再加上《运筹学》和《数学实验》(或《数值计算方法》),那他就具备了得奖的必要条件。
我们建议和指导学生选修这两门课,是要他们掌握这些课程中的相关知识,而不是硬要他们非选不可,不要让他们理解为是为了建模而选课。但是,在我校的数学专业,《运筹学》和《数值计算方法》是必修的课程;在工课专业,优化理论和数值计算也是很有必要学习的一门课;在经管等专业,《运筹学》也是必选课。在计算机和网络专业中,在他们的必修课《离散数学》中,也介绍了部分随机过程,图论方面的知识,对算法就更熟悉了。因此从整个参赛队伍来看,无论队员来自哪个专业,都可以在所在的专业学到所需的知识。我们要做的是将上述理由解释给他们听,为了建模而选的课和他们所学专业要求的选修课程并不冲突。但是很多学生习惯在大四时学一些更深的数学知识,我们建议他们较早地选这些课。我校学生大多数在大三时参加数模比赛,这就要他们在大二这一年熟悉优化算法、图论等方面的知识和上机写算法程序方面的能力。
3.充分利用网络教学资源
暑假50多天本是集中学习培训的好时机,但夏天天气热,学生宿舍简朴,只得让他们回家完成作业。今年暑期我们布置的作业之一是:看国防科技大学教授吴孟达主讲的九集视频公开课《数学建模——从自然走向理性》,看同济大学数模网上的资料,等等。到下次到校集中培训时,让他们交流学习体会和作数模专题的报告。
4.集中训练学生
一位基础数学专业的主讲老师负责讲解初等数学模型,微分方程,层次分析法,模糊数学,决策论等模型;一位统计学专业的主讲老师负责讲解统计学方面的模型如:回归分析模型,方差分析模型,主成分分析,MonteCarlo方法等;一位计算数学专业的主讲老师负责讲解:插值和拟合,差分方程和微分方程的数值解法,模拟退火算法或遗传算法,以及算法的编程实现和利用数学软件,如:MATLAB作图,可视化技术等;一位应用数学专业的主讲老师负责讲解综合类的数学建模案例分析和文章的写作等。
5.积极组织学生参加国内的小、中型比赛
每年积极组织学生参加网络杯,华中杯等小、中型赛事。这些比赛可以让学生熟悉建模的过程,综合运用所学知识,加强三人之间的协助能力,训练写作能力;引导学生运用所学的数学知识和计算机技术,提高分析问题、解决问题的能力。如果能在比赛中得奖,将是对他们很大的鼓励。比赛后总结得与失,为下一步的学习做准备。
6.教师需要增强自身建模意识和能力
数学建模的教学活动为学生提供了一个学习的过程,同时对教师也提出了更高的要求。每年的学生都在更替,但指导教师比较固定。当一个教师刚参加数模组时,他可能对该活动有很多不太了解的地方,但是随着他的教学经验和大赛指导经验积累,他会成为在数模这一方向比较专业的人才,这其实就是学校的财富。
每年的竞赛难度都在加大,以2012年A,B题为例,数据明显增多,每题有四个小问题,对学生来说,要想在规定的时间完成是很吃力的,这就是“水涨船高”的现象。要想取得好成绩,指导教师的水平就要大步提高。
我校除了定期在学校内部进行教师之间的学习交流外,还将教师派出参加短中期的培训,提高他们的建模专业能力、领悟能力和组织能力。鼓励他们参加数模教改活动和发表数模科研方面的文章。
数学建模算法与应用范文2
随着新技术和新应用带动数据爆发式的增长,大数据正逐步走进人们生活,并对传统数学建模课程产生深刻的影响。近年来,在美国大学生数学建模大赛中,具有显著大数据特征的赛题不断涌现,以2017年A赛题为例,其关于赞比西河管理问题的解决涉及大量非结构化数据,特别是地理数据,对数学建模能力的考核已经不再表现为分析问题能力和数据执行能力的获取,而是上述两种能力的合取。2018年大赛甚至系统性地专门增加一个数据处理题以反映时代对这方面的要求。因此,在数学建模教学中,任何割裂分析问题能力与数据执行能力联系的做法已经无法应对大数据对数学建模能力提出的挑战。具体到教学改革上,需要我们分析好大数据型问题对数学建模课程的影响,对传统数学建模的课程目标、课程内容、教学手段做出相应调整。
一、构建体现大数据特点的数学建模课程目标
课程目标是教学活动的指导思想,是课程设计的出发点和依托。因此,数学建模课程目标应顺应大数据发展的要求进行相应调整,为构建与大数据处理相适应的,新的课程观、课程目标、课程内容、课程结构和课程活动方式奠定基础。
数学建模的主要目的是培养学生应用数学理论和知识解决实际问题的能力,而应用好数学解决问题的前提是建模时首先能正确地面对数据类型和关系,进行合理假设。人们在自觉和非自觉状态下创造的大量非结构化数据和半结构化大数据,它们有些表现为传统的数、表等结构化特征,有些则表现为诸如文本数据、音频数据和视频数据等现代非结构化数据和半结构化数据,多且杂乱。因此,在数学建模课程目标的设定上首先应体现数据结构的特点对调整数学建模课程目标提出的要求。
大数据具有5V特征,即Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。如,智能制造中设备产生的数据流实时、高速,这些高速数据通过通讯网络快速与控制系统链接,数据流数量级的计算加速大幅提升数据处理与分析的效率,使得机器硬件性能得以充分挖掘,进而提升经营与管理的效益;其他如医学扫描数据、天文数据、网站流量等,其具有低价值密度的特点。这些不同于以往数据的特征要求我们需要有新的数学建模课程目标与之匹配,这主要表现在数据观、数据刻画及数据表现等几个方面。
传统数学建模中,数据收集只能通过随机样本,利用少数的特征对总体的属性进行统计推断。在大数据时代,人们可以通过互联网、即时通讯工具以及数据库,获取各种海量数据。因此,大数据背景下,全数据或海量数据成为样本数据,即样本就是总体,样本就是大数据。
面对这样的全样本或海量数据,随机抽样有时仅表现为一种逻辑上的意义。而在大数据背景下,一方面,?稻菔占?过分地依赖技术手段,很难进行人为的精度控制;另一方面,数据无论在空间和时间方面,来源更加复杂,格式更加多样,这就使得数据的前期清洗处理变得非常困难。由于存在系统性的偏差,很难将全部的杂质项从数据中萃取掉,在秉持“数据多比少好”的情况下,就得接受数据混乱和不确定性的代价。当然,在大数据中,忽略一部分模型的精确性,并不是说不要模型的精确性,而是指我们对于模型精确性的可控性在减弱。所以,新的数学建模分析应更加侧重于发现海量数据下的各种关联细节,这可以成为数学建模逻辑思维能力培养新的补充目标,从而使我们在知识与技能、过程与方法等维度上把握好该课程的教学。
随着数据通讯技术,尤其是移动智能设备的普及发展,人们可以在任何时间和地点信息和获取数据,数据的实时分析成为提高大数据分析效率的必由之路。与传统数据相比,数据不再局限于一条条记录,伴随着大量由物联网、传感器等产生的图片、视频等非结构化数据的产生,实时分析需要学生掌握新的数据挖掘技术,并以集群、分割、孤立点分析及其他算法深入数据内部挖掘价值,从而实现处理数据量和处理数据速度的统一。
此外,数据仓库、联机分析和数据挖掘技术的不断完善,推动着数据以图形和图像等可视化方式的执行,[1]展示数据、理解数据、演绎数据呼唤数据的可视化;从直方图到网状图,从三维地图到动态模拟,从动画技术到虚拟现实,枯燥乏味的数据生动形象起来,爆炸性数据压缩起来,这对于数学建模的数据输出提出新挑战。
二、构建兼顾大数据和信息技术特点的数学建模课程内容
数学建模本质上是一种数学实验,人们在实验、观察和分析的基础上,对实际问题的主要方面做出合理的假设和简化,明确变量和参数,应用数学语言和方法,形成一个明确的数学问题,然后用数学或计算的方法精确或近似地求解该数学问题,进而检验结果是否能说明实际问题的主要现象,能否进行预测。这样的过程多次反复进行,直到能较好地解决问题,这就是数学建模的全过程。
大数据的处理也有自身的步骤,一般来说可以分为6个不同阶段:(1)存储管理阶段,它实现了多维数据的联机分析;(2)数据仓库阶段,它解决数据整合集成问题;(3)联机分析阶段,它实现数据存储管理和快速组织;(4)数据挖掘阶段,它实现探索性分析,发现数据背后模式和有用信息;(5)辅助决策阶段,它综合运用数据仓库、联机分析和数据挖掘,实现结果;(6)大数据分析,它实现非结构化数据、海量数据、实时数据的分析。
因此,面?Υ笫?据,如何实现上述两者的有机融合,必然需要注意新数学建模各阶段表现出的新的特点,如在实验、观察阶段,样本数据收集的信息化与自动化,海量信息和全样本数据成为分析常态。在问题的数学刻画阶段,相关分析可以作为进行模型分析之前数据探索的一个手段,这是因为由于数据的结构复杂,变量众多,数据体量大,有时候很难用一个“普世”函数描述出变量之间的准确关系,在无法综合评价出变量之间关系的情况下,我们可以部分揭示出变量之间的关系。事实上,由于相关分析无需太多模型假设,运算成本较低等众多原因,使得相关关系的分析成为了大数据分析的基础。[2]在模型验证阶段,以数据为中心的非普世和精确化的数学模型往往可以得到海量信息和全样本数据的支撑等。
因此,在数学建模课程内容架构中,应兼顾大数据和信息技术的特点,逐渐改变数据挖掘技术在数学建模教学上辅的作用,将有关计算机和信息技术的教学很好地落实到课程计划、课程标准和教科书中。如在教学中,可以增加通过“网络爬虫”程序直接抓取互联网数据的内容;从传感器、云端直接获取智能制造中现实数据的方法;将并行处理数据的思想引入建模教学;加强相关分析的内容教学等。所有这些可以让计算机的数据采集能力和数据处理能力成为变量间逻辑关系探索、复杂模型构建的有力工具,推动人们对数学建模的认知。
三、强化数学建模中的软件教学
首先,强化数学软件的教学。常见的数学软件有Matlab、Mathematica,Lingo,SAS、SPSS、Eview、
R、Python等,它为计算机解决现代科学技术各领域中所提出的数学问题提供求解手段。
其次,加强数学算法的介绍。常见的数学算法包括运筹学类的算法、概率分析与随机算法、时间序列算法等,其他的如十大经典算法等。
另外,对于以往建模中的数据处理,人们更习惯运用SPSS、Eview等这类封装好的、以体验式为主的方式进行,然而,相比于机械的拖拽软件分析数据,编程分析更加灵活,因为,编程使数据处理无论在体量上,还是在方式的灵活度上,更有利于激发数据分析者的主动性和创造性,因此,能够驾驭软件编程的教学应是更高的数学建模课程的要求。
当然,大数据处理也还有其他特殊的技术,如大规模并行处理数据库、分布式文件系统、分布式数据库、虚拟化和内存计算等,其中,大规模并行数据处理运用的hadoop技术,内存计算的hana工作原理等在教学过程需要予以关注。
数学建模算法与应用范文3
关键词:软测量;神经网络;软件设计
中图分类号:TP18文献标识码:A文章编号:1009-3044(2011)04-0753-04
The Development and Design of the Modeling Software for Soft Sensor
HOU Yan-song, XIE Gang, ZHANG Min, LIU Ya-ru
(Automation Research Institute of Lanzhou Petrochemical Company Petrochina, Lanzhou 730060, China)
Abstract: This paper designs a soft-sensing modeling software for chemical production process, Considering the complexity in the practical industry process, the software applies the linear regression modeling approach and the nonlinear neural network modeling approach to design the measurement software. Practice have been carried on the production process of Ethyl benzene and Starch content prediction, and the results show that the software can fulfill the function of trend prediction.
Key words: soft-sensor; neural network; software development
在工业实际中,产品质量控制是所有工业过程控制的核心。要对产品质量进行实时有效的控制,就必须及时准确的了解产品的质量参数,从而及时调整工艺参数和控制参数,以期获得良好的产品质量监测和控制。然而实际中,过程的质量参数通常是无法直接测量的,即使能够利用分析仪表测量,也存在较大的分析滞后[1],无法完全满足过程控制的需要。总的来说,我国石油化工行业现有的仪表设备很难实时的提供过程控制所需的质量参数信息。基于这种现实,更高一层的先进控制技术,过程优化技术,产品质量的监测管理等上层应用就受到了测量信息不足这一瓶颈问题的极大限制。在这种背景下,工业过程对过程检测的内容和时效性均提出了新的要求。一方面,仅获取流量、温度、压力、液位等常规过程参数的测量信息已不能满足工艺操作指导和质量控制的要求,迫切需要获取诸如成分、物性等与过程工艺操作和质量控制密切相关的检测参数的测量信息。另一方面,测量从静态或稳态向动态测量发展,在许多应用场合还需要综合运用所获得的各种过程测量信息,才能实现有效的过程控制、对生产过程或测量系统进行故障诊断、状态监测。近年来,作为以计算机技术为基础的软测量技术成为了解决上述工业控制瓶颈问题的有效途径之一,越来越受到关注[2-5]。
就苯乙烯、丙烯腈、乙烯及丁二烯抽提等化工装置而言,产品质量数据主要是产品的纯度。针对这一特点,本软件采用基于数据驱动的建模方法,并考虑到实际的工业过程对象复杂多变,软件采用了线性回归建模和非线性神经网络建模两种方法来设计软测量软件。最后,根据工艺机理,我们通过建立苯乙烯装置乙苯塔塔顶乙苯含量软测量数学模型,完成了对塔顶乙苯含量的准确预测。
1 乙苯含量软测量模型的建立
1.1 软测量
软测量的工作原理(见图1),就是在常规检测的基础上,利用辅助变量与主导变量的关系,通过软件计算 ,得到主导变量的测量值。软测量技术的核心是建立用来预测主导变量的可靠的软测量模型。初始软测量模型是对过程变量的历史数据进行辨识而来的。在应用过程中,软测量模型的参数和结构并不是一成不变的,随时间迁移工况和操作点可能发生改变,需要对它进行在线或离线修正,以得到更适合当前状况的软测量模型,提高模型的适合范围。因此,软测量结构可分为历史数据处理、离线建模、在线运行(包括校正)三大模块。
1.2 辅助变量的选择
通过对苯乙烯装置乙苯塔工艺机理研究,我们选择通过DCS收集的1000组过程参数作为建模样本集,300组过程数据作为校验样本集,运用统计学方法将样本数据中隐含的对象信息进行浓缩和提取,通过工程师的经验以及多元回归分析方法,寻找最优变量来建模,从而建立主导变量和辅助变量之间的数学模型,见表1。
2 软测量建模软件的实现
2.1 软件框架
选用微软VC++6.0开发环境[6],软件的整体设计采用面向对象的程序设计方法,考虑到软测量仪表本身侧重于数值计算和参数的频繁传递,因此选用基于对话框的应用程序框架。该软件框架结构简单,易于人机参数传递。从程序的角度来说,软件总共分四个主要模块:主对话框模块、算法模块、矩阵运算模块、图形编辑模块。如图2所示。
1)主对话框模块:即人机界面UI,提供基本的人机交流界面,以及数据文件操作。
2)算法模块:是整个软件的核心,包括了软件中所有的算法程序,并且留有扩充借口,可随时根据软件的升级增加新的算法。软件在调用算法时需要用户传递的参数和算法结果的返回利用子对话框来传递。该模块分为三个子模块:① 数据归一化模块:主要功能是对原始样本数据进行归一化处理;② 样本数据分析模块:主要功能是对辅助变量进行相关性分析和主元分析;③ 建模算法模块:偏最小二乘法建模、神经网络建模。
3)矩阵运算模块:主要功能是为算法模块提供必需的矩阵运算支持。软件中数据归一化、样本分析、建模的大多数算法在数学上表现为大量的矩阵运算,微软MFC基础类库并没有提供可以直接使用的矩阵运算类。为了使得建模算法代码更为简洁,易于修改。矩阵运算模块将常用的矩阵运算操作写成一个类――矩阵类,供算法程序调用。
4)图形编辑模块:主要功能是按照需要对工作空间中的数据进行曲线图形显示。作用是当离线建模完成后,需要对所建立的模型进行拟合试验,将试验结果以曲线的形式表现出来,软件允许用户自己设定坐标范围和图形标题。
2.2 偏最小二乘回归法
偏最小二乘回归是建立在主元分析原理上的化学计量学方法。它通过多元投影变换的方法,分析两个不同矩阵间的相互关系。在主元分析中,提取主元的过程只是强调了主元对辅助变量信息的最大综合能力,并没有考虑主导变量。偏最小二乘法不仅利用对系统中的数据进行分析和筛选的方式辨识系统中的信息和噪声,从而克服变量的多重线性相关性对建模的影响,而且在提取主元时还考虑主元和因变量的相关性,即主元对主导变量的解释作用。因此,偏最小二乘回归可以集多元线性回归,主元分析,典型相关分析的基本功能为一体。
该算法原理如下:
假设有两个数据矩阵X和Y,其中X∈Rn×m,Y∈Rn×1,X和Y之间的关系表示如下:
Y=Xβ+e (1)
式中:e表示残差;β表示自适应因子。
自适应因子β的估计值可以用最小二乘法得到,即:
(2)
如果数据矩阵X具有较强的相关性,则式(2)中存在病态矩阵的求逆,结果误差较大,而部分最小二乘法可以避免对病态矩阵求逆。其基本原理是将式(1)中的X和Y的关系分解为两个内部关系和一个外部关系:式(3)、(4)和(5)。
(3)
(4)
其中,矩阵T=[t1 t2 … tα],U=[u1 u2 …uα];分别称为X和Y的得分矩阵,而th和uh分别称为矩阵X和Y的第h主元。P=[p1 p2 … pα]和Q=[Q1 Q2 … Qα]称为荷载矩阵,U和T之间的关系表示如下:
(5)
式中:E、F、R为残差矩阵。
该算法将高维空间信息投影到由几个隐含变量组成的低维信息空间中,隐含变量包含了原始数据的重要信息,且隐含变量间是互相独立的。
2.3 神经网络法
基于人工神经网络(Artificial Neural Network,ANN)的软测量建模方法是近年来研究最多、发展很快和应用范围很广泛的一种软测量建模方法[7-8]。能适用于高度非线性和严重不确定性系统,因此它为解决复杂系统过程参数的软测量问题提供了一条有效途径。
化工装置产品含量预测建模通常处理的是非线性建模问题,而多层前向网络已被证明具有以任意精确度进行复杂非线性函数的拟合能力[7],因此选择前向网络结构。网络层数方面,除了网络必须包含的输入输出层外,对于化工装置产品含量预测这类软测量建模,问题的复杂程度一般要求隐层数目为1。因此,软件中采用包含一个隐含层的三层结构前馈网络。
确定好网络结构后,神经网络用于软测量建模实际上就是利用产品的历史数据经过一定的算法来确定网络的连接权值和阈值。BP算法是应用较早的学习算法,它充分利用了前向网络的结构优势,在正反传播过程中的每一层计算都是并行的。但BP算法存在两个缺点,即训练时间长和容易陷入局部最小。针对此缺陷,本软件在设计时采用了带动量因子的改进方法来加快网络训练速度。改进的BP神经网络的网络设置和参数设置如图3所示。
神经网络建模算法采用BP算法,算法不再是简单的矩阵操作。根据前馈神经网络的结构将神经网络用两个类来描述,即神经网络类和神经网络层类。经过处理后,主程序算法简洁,可读性强。如果要改进BP算法,代码的修改只需在类的方法中修改即可,不必修改主程序。神经网络类的设计和神经网络层类的设计主要代码如下:
神经网络类
属性:
输入层:CNeuralNetworkLayerInputLayer;
隐层: CNeuralNetworkLayerHiddenLayer;
输出层:CNeuralNetworkLayer OutputLayer;
方法:
void Initialize(int nNodesInput, int nNodesHidden, int nNodesOutput); // 初始化函数确定了三层网络的层次关系,有点类似构造函数
void SetInput(int i, double value); // 网络输入函数
double GetOutput(int i); // 网络输出函数
void SetDesiredOutput(int i, double value); // 设置网络期望输出函数
void LoadWeight(const CMatrix& I_H, const CMatrix& H_O, const CMatrix& H, const CMatrix& O); // 给网络加载权值和阈值
void FeedForward(void); // 前向计算函数
void BackPropagate(void);// 反向权值调整函数(标准的最速梯度下降法)
void Levenberg_Marquardt(void);// 反向权值调整函数(Levenberg_Marquardt法)
double CalculateError(void); // 计算网络全局误差函数
void SetLearningRate(double rate1,double rate2); // 设置学习效率
void SetLinearOutput(bool useLinear); // 是否线性输出
void SetMomentum(bool useMomentum, double factor); // 设置动量因素
神经网络层类
属性:
int NumberOfNodes; // 层中神经元数目
int NumberOfChildNodes; // 子层神经元数目
int NumberOfParentNodes; // 父层神经元数目
double**Weights; // 网络权值数组
double**WeightChanges; // 权值改变数组
double* NeuronValues; // 神经元值
double* DesiredValues; // 导师信号
double* Errors; // 局部误差
double* BiasWeights; // 偏差权值
double* BiasValues; // 偏差值
doubleLearningRate; // 学习效率
boolLinearOutput; // 是否线性输出
boolUseMomentum; // 是否有动量因素
doubleMomentumFactor; // 动力因素大小值
CNeuralNetworkLayer* ParentLayer; // 父层
CNeuralNetworkLayer* ChildLayer; // 子层
方法:
void Initialize(int NumberOfNodes, CNeuralNetworkLayer* parent, CNeuralNetworkLayer* child); // 初始化(分配存储空间)
void RandomizeWeights(void); // 权值初始化函数
void OrderWeights(const CMatrix& WeightsMatrix,const CMatrix& BiasWeightsMatrix); // 权值给定函数
void CalculateErrors(void); // 计算局部误差函数
void AdjustWeights(void); // 调整权值函数
void CalculateNeuronValues(void); // 计算神经元值函数
void CleanUp(void); // 清除网络层(有析构函数的作用)
2.4 软测量模型的在线校正
由于软测量对象的时变性、非线性及模型的不完整性等因素,必须经过模型的在线校正才能适应新工况。根据被估计变量的离线测量值与软测量估计值的误差,对软测量模型进行在线修正,使软测量仪表能跟踪系统特性的缓慢变化,提高静态自适应能力。一般采用在线校正算法为常数项修正法,即通过化验值或分析值计算新的偏差,并把新的偏差写入软测量仪表,修正偏差。即:
新偏差=(采样时刻计算值-化验值)×偏差权重+旧偏差×(1-偏差权重)
3 工业应用
乙苯含量是乙苯精馏塔塔釜采出产品中一个十分重要的质量控制指标[9],通过辅助变量塔顶压力、塔顶温度、塔灵敏板温度、回流量及塔釜温度来预测乙苯含量变化趋势。通过本软件进行仿真,乙苯含量软测量偏最小二乘建模数据拟合图如图4所示。其中,红线为实际值,绿线为拟合值。误差平方和:0.765762856683714,均方误差:0.0033294037247118。
针对某装置淀粉含量预测问题选择神经网络方法进行仿真研究,均方误差:9.14971253690028e-009;拟合曲线:红线为化验值,绿线为拟合值。淀粉含量软测量神经网络建模数据拟合图如图5所示。
4 结束语
本文采用了微软基础类库(MFC)提供的基于对话框的应用程序框架实现了软测量建模软件的开发。软件主要是从数学的角度分别研究了线性和非线性软测量建模算法,重点强调了建模算法对给定历史数据的拟合和泛化能力。在具体的应用中,根据工艺知识对软测量问题进行初步数学抽象,然后以本软件作为一种工具建模,辅以必要的工艺机理分析检验模型的合理性。通过对实际中两个化工过程进行的仿真表明,该软件基本具备了软测量建模预测产品含量变化趋势的能力,可以得到较好的效果。
参考文献:
[1] 王树青.先进控制技术及应用[M].北京:化学工业出版社,2005.
[2] Morris A J,Montague G A,Tham M T.Soft-sensors in industrial process control[C].London,UK:Applied developments in process control,1989.
[3] 王跃宣.先进控制策略与软件实现及应用研究[D].杭州:浙江大学,2003.
[4] 俞金寿.软测量技术及其在石油化工中的应用[M].北京:化学工业出版社,2000.
[5] 马勇,黄德先,金以慧.动态软测量建模方法初探[J].化工学报,2005,56(8):1516-1519.
[6] 侯俊杰.深入浅出MFC[M].2版.武汉:华中科技大学出版社,2001.
[7] 薄翠梅,张,李俊,等.基于神经网络的软测量技术在精馏塔上的应用[J].过程工程学报,2003,3(4):371-375.
数学建模算法与应用范文4
关键字:汉字手写识别;英文手写识别;联机识别;连笔识别;手写识别
中图分类号:TP391 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.005
本文著录格式:[1]黄弋石,梁艳.手写识别建模数学方法研究[J].软件,2013,34(8):13-15
0 引言
我们成功的解决了汉字与英文手写识别的建模。[1-7]本文,将最有特色得到数学算法加以公布。在国内一定是首创,在国内外还没有查到类似报道。
识别算法,在常见的网格背景中运算。点阵大小为WIDTH×HEIGTH = 80×80。因为网格的精度很低,手写笔的触点精度与之对应,因此,不存在笔画细化的难题。所以我们不使用高分辨率的图形处理惯例,而只用低分辨率对应的数学算法。
网格背景使得汉字可以依照二值数字点阵来描述,其中,“1”表示笔画,“0”表示空白背景。这个方法极其巧妙,甚至不需要高深的数学才能与复杂的数学公式,就可以轻松的解决手写笔算法问题。从工作量上计算,也是极其少量的。
1 中英文字的基本定义
这里从我们对中英文手写识别研究中挑出,一组有代表性的基本定义,[1][2]来演示本文算法。我们的算法,只要能区分这一组定义,就可以理解,它也能适用于其它文字中的类似的基本定义。可以推理得到,它是有效的适合任何手写识别的基本算法,比如藏文等中国少数民族文字。
(1) 竖、横与斜。手写的竖与横,都有一定的摇摆幅度。斜介于竖横之间。
(2) 角与圆角。接近与V与U,在手写特征下的区别是有拐点与无拐点。
(3) 圈与近圈。也就是,封闭的圆与接近封闭的圆。这个定义在楷书中用不上,只适用行书、草书以及下文所提的连笔识别。
(4) 短划与点。与竖与横的区别是方向性不强,在方格中,通过边比特征可以区分。
(5) 交叉与连续。交叉,是指基本定义的笔画相交叉,分T型交叉,和X型交叉,也可简化为一种交叉。连续,是指,基本定义的笔画从起点到终点(或笔画的两端)是连续的且无分叉,可平滑,也可转折。
(6) 相对位置与方向。基本定义的字元之间的关系,有上、下、左、右、上左、上右、下左、下右。比如一个斜线可以分为,左斜、右斜、下斜、上斜、(左上斜、左下斜、右上斜、右下斜)。
2 算法的定义
使用穷举法,在九方格中列出一个点与周围点的二十七种拓扑逻辑关系,算法见图1到图7。然后使用这二十七种拓扑关系,去描述并识别上面的那组基本定义,就可以轻松识别手写汉字。
3 算法应用例举
我们从研究挑出楷书系列拆解分类,字就是由该组单位构成。如图8。[1][2]这样,可以来对算法做一演示。我们成功的用本文算法区分笔画。显然,用来区分笔画时使用的数学方法非常简单,没有任何复杂的公式。
4 算法的广泛使用性
我们,通过研究,归纳得到32到87个特异结构,来描述行书。这些特异结构都互为独立。[1][2]这里列出其中的部分笔画,见图9。我们利用本文算法,同样能够解决问题。草书的定义与分类类似于英文在线连笔识别的方法,也可以顺利解决。
5 结论
我们成功的解决了中英手写识别,可以预见,这一套理论可以轻易的移植到别的任何一个文字。本法绕开了传统数学中的线条的常规概念。使用最简单的拓扑几何学方法,系统化的建模应用,解决了复杂的二维计算机图形学的难题。这套建模方法的意义,是,对所有种类的手写文字可以机动灵活的移植,将复杂的手写识别,简化到使用最简单的数学语言描述。希望广大同仁,广泛应用于各种民族的手写文字识别之中。
参考文献
[1] 黄弋石,梁艳.英文手写联机识别的基础模型[J]. 软件,2012,33(7):141-145.
[2] 黄弋石,梁艳,陆峥嵘.汉字联机手写建模方法[J]. 软件,2013,34(5):67-70.
[3] 梁艳, 黄弋石. 英文连笔手写图形输入方法研究[J]. 科学研究月刊,2005,1(5):18,26.
[4] 黄弋石, 梁艳. 手写文字识别的体分类模糊数学模型[OL]. 中国科技论文在线(http://), 2005年6月.
[5] Huang Yishi, Liang Yan. A Modeling Project of Chinese's Handwriting Character Online Recognition [OL]. 中国科技论文在线(http://), 2013年7月.
数学建模算法与应用范文5
关键词:数学软件;实践教学;教学改革
中图分类号:G642.0 文献标识码:A 文章编号:1674-9324(2012)07-0110-02
一、课程简介
随着科学技术的快速发展,数学模型已经在社会各个领域得到广泛的应用,数学软件就是建立数学模型的强有力工具,MATLAB、Mathematica、SAS等都是很优秀、应用广泛的数学软件[1]。数学建模,数学实验等一系列基于应用的数学课程需要有数学软件的支撑,数学算法思维被引入实践教学当中,数学软件的应用正是算法思维得以实现的程序设计工具[2]。高校数学相关专业开设了数学软件课程。数学软件课程主要针对只讲定理、推导、计算,理论性比较强的课程,如高等数学、线性代数、微分方程、图论等,讲授如何运用MATLAB、Mathematica等数学软件,结合数学模型、算法设计和软件应用,分析推导过程,计算结果,通过理论与实践相结合加强学生对所学知识的感性认识[3]。
二、《数学软件》课程的现状
面向21世纪高速发展的科技,高等教育肩负着培养基础扎实、知识全面、有创新思维的实践性人才,而高等教育主要以课堂讲授、理论教学为主,这对于《数学软件》等实践性较强的课程教学远远不够[4]。
1.大纲教材难定。数学软件引入高校教学的时间不长,推广过程中还存在各种问题[1-2]。其中的关键问题是教学大纲难以确定,究其原因,主要是目前数学软件的授课内容无法指定,可以选择教学的软件多不胜数,如MATLAB、Java、Mathematica、Lingo等,不同高校、不同专业所安排的教学内容各不相同。从而,各单位也只是根据具体的大纲来选定教材,整个《数学软件》课程的教学大纲、教材和教学参考书都没有形成规范,难以统一。
2.课时安排偏少。《数学软件》课程安排偏少,课时数不足[4]。以我校为例,在课程安排上,仅为数学系学生在第5学期开设数学软件选修课,这意味着并不是全部学生都会选修,而在此之前并没有其他正式的课程介绍数学软件,学生没有机会系统地学习软件计算。课程总计只有48学时,其中16学时为授课,32学时上机训练,在这么短的时间内,要将科学计算的理念讲授给学生,使他们在将来能运用数学软件工具来解决问题,这对教师的教学能力要求过高。
3.理论考核欠妥。《数学软件》作为一门以实践训练为主的课程,在理论传授、实践训练以及考核方式上面都应该以实际操作为主线[4-5],然而,现在的教学除了稍微加大了实践训练课时之外,在其他方面未见有改变,特别是考核方式,很多高校不能摆脱传统的考核模式,还是采用理论考核,以卷面成绩作为对学生掌握数学软件程度的评价。实际上,理论考试成绩优秀的学生,其实际动手能力不一定很强,而编程能力强的学生,其理论考试成绩往往处于中等或中上,因此,实践课程只做理论考核明显是不合理的。
三、教学改革初探
数学软件作为算法设计和数学建模不可或缺的工具,很有必要在高校的数学相关专业开设该课程,让学生学习并掌握相关编程技巧。针对我校数学软件课程设置与课堂教学的不足,初步提出以下教学改革措施。
1.转变教学形式。在《数学软件》教学过程中,时刻联系数学建模的方法与模型,把数学建模的思想融入课程教学当中,重视如何将实际问题抽象成为数学问题,重视模型算法的理论推导和优化运算。在教学中强调相关的数学建模知识点,提高学生的思维能力,引导学生提出解决问题的方法,并能够运用数学软件自行设计算法并编写程序,最终解决问题。
2.拟定教纲教材。《数学软件》课程作为数学专业学生的专业课程,需要确定教学大纲。我们首先应该借鉴其他优秀高校的教学经验,由教学课题组的教师一起讨论,教学大纲应该以实践为主题,可以安排MATLAB、Mathematica、SAS、Java等的一种或多种数学软件的教学,给学生安排更多的机会上机训练,训练应该突出重点,强化学生动手能力。合适的教材可以不只一本,教材的内容应该是以实践指导为主体,结合我校学生的实际情况进行选取,同时可以选择实践训练指导用书。此外,结合课题组各位老师的教学经验,参阅数学建模、数值分析、算法逼近等相关课程的经典教材,自行编著适用于我校数学软件教学的教材。
3.加强理论授课。实践训练必须有相关的理论基础,《数学软件》总的课时量应课程安排有部分课时用于理论授课,我校安排理论授课的课时比例比较合理,但该增加。在理论课程中,给学生讲解数学建模中常用的算法模型和经典的案例,由浅入深、由表及里地讲解每一个重点和难点,深化学生对理论知识的理解,强化学生利用数学软件来解决实际问题的手段和方法,培养学生使用计算机程序处理问题的能力。为学生的实践训练奠定理论基础。
4.激发学生积极性。我校《数学软件》课程作为专业选修课开设,本专业学生选修应该是兴趣所致,但教学过程中发现,学生学习缺乏应有的热情,特别是上机训练的课时,学生动手练习的积极性不足,对于课堂练习和课后作业都应付了事。针对这种情况,教学需要调动学生的学习兴趣,关键在于开课的前几个课时,特别是第一课时,可以通过介绍生活中的工程建模引入数学软件,由此引入课程教学。在授课过程中,不仅要介绍某个函数的功能作用,而且还要介绍该函数的使用方法和使用技巧。运用类似这样的教学技巧,有望提高学生的学习积极性。
5.转变考核形式。《数学软件》课程应该以实践考核为主。减少理论考试所占的比重,重点考核学生实际编程解决问题的能力。上机考核给学生提出实际工程中所面临的实质性问题,让学生根据自己所掌握的知识基础,提出自己的想法,建立数学模型,并使用数学软件来整理算法,编写、编译、运行程序,最终解决问题。
数学软件已经成为数学建模解决实际问题中不可或缺的技术型工具。为了培养学生丰富的数学算法思想,为他们的想法提供了实践平台,在高校的《数学软件》课程教学中应该考虑利用多种有效的教学手段,开启学生的算法设计与构造模型的思维和技巧,鼓励他们大胆创新,促进学生对于一种或几种数学软件的偏好,达到提高教学质量的目的,为新时代的发展培养技术型人才。
参考文献:
[1]王海英.数学知识、数学建模、现代数学软件关系与结合途经的探讨[J].中国地质教育,2011,(1):95-97.
[2]吝维军,季素月.数学实验——数学方法、数学软件和数学应用的融合[J].大学数学,2011,27(1):153-156.
[3]刘智,黄磊.数学软件在高等数学教学中应用及价值分析[J].价值工程,2011,(30):238.
[4]宁,赵珅,宋方臻.MATLAB教学应重视科学计算能力的培养[J].中国现代教育装备,2009,(5):73-75.
[5]杨夷梅,杨玉军.Matlab教学中的方法与实践[J].中国电力教育,2008,(127):59-60.
数学建模算法与应用范文6
关键词:数学建模 思想 小学数学 建构
中图分类号:G623.5 文献标识码:C 文章编号:1672-1578(2016)12-0242-01
在小学数学新课程改革的背景下,注重发展学生的数感、符号意识、空间观念、推理运算能力和模型思想,它在数学教学课程的设计思路之下,注重学生已有的知识和经验,根据现实世界的实际问题,将其进行概括和抽象化,从而构建数学模型并对其进行分析,最终寻求问题的结果,实现问题的解决,因而,在小学数学教学中,要渗透数学建模思想,提升小学生的数学建模能力。
1 小学数学建模现状及问题分析
1.1 数学建模思想的目标定位模糊
在小学数学实践教学过程中,大多注重数学知识与技能目标维度的教学,而缺乏生活原型的渗透和引导,使学生在数学学习中缺乏生活的原型,缺乏探索数学规律的激情,无法与现实相联系,生成对数学思想的深入体验和数学方法的把握。在小学数学教学中,更多的是对于数学知识之间的演绎设计过程,而对于学生的数学应用意识和能力较少关注,对于数学建模思想的目标定位也较为模糊。
1.2 数学实践应用的深度不够
在小学数学的生活化学习中,数学与生活的联系大多是浅表性的,缺少对多样化算法的共性分析、提炼和优化过程,缺乏稳定性的一般算法模型引领和指导,只是一种单纯的技能训练和机械的反复过程,而没有建模和“用模”的应用实践。
1.3 数学评价创新度不够
由于一些数学教师的建模意识较为淡薄,在对小学数学的评价之上,基本注重对知识深度的考量,难以培养学生的建模意识,也没有检测到学生的建模能力,因而,对于小学数学的教学评价还有待创新和完善。
2 数学建模思想在小学数学教学中的知识建构策略
2.1 精心创设问题情境,引发学生的建模兴趣
教师要让学生基于现实生活情境为背景,进行数学模型的建构,并以解决现实实际问题为出发点,精心选择适宜的问题,创设相关的情境,从而激发学生的数学建模兴趣和激情。例如,在苏教版小学数学《平均数》教学设计中,可以建构相关的数学模型,创设相关的问题情境,即:组织四名男生为一组,五名女生为另外一组,分别进行套圈游戏,并比较哪个组套圈的数量最多?水平更高?学生纷纷发表自己的看法,有的提出比较各组的总分,有的提出比较每组中的最好成绩,然而这些都不是最佳的选择,于是便催生出“平均数”的数学概念,产生构建“平均数”的数学模型的需求,引发学生的建模意识和兴趣,进入数学内容的学习之中。
2.2 引领学生感知生活实践内容,奠定数学建模基础
对于数学模型的构建的关键在于提炼事物的共同普遍性规律,为了更为全面的揭示和提炼出现实生活的共同普遍性规律,首先需要学生对各类生活素材进行充分而全面的感知,教师要引导学生对生活中的数学问题进行多维度、多方位的感知和体会,要明晰相关事物的数量依存关系及其重要特征,从而为数学模型的建构奠定基础。
2.3 增进对数学知识的抽象提炼,实现数学模型建构的跃进
在实际生活内容向抽象数学模型建构的过渡过程中,需要注重由具体生动的问题情境向抽象数学模型的跃进教学,如果一味地传授生活化内容,而没有将具体的生活化内容加以抽象化和提炼,则无法进行数学模型的有效建构。例如:在苏教版小学数学的“平行与相交”教学内容中,如果只是限于让学生感知具体生活中的火车铁轨、跑道线、双杠等具体而形象的生活题材,则只是一种浅表性的认知,而缺乏对具体生活内容的抽象化提炼过程,因而,教师要根据学生地生活化内容的感知,将其现象中的本质抽离出来,使学生意识到“平行线”的数学模型并不是具有一般意义的数学模型,它可以呈现出多种具体形态,其数学本质可以提炼归纳为“同一平面内两条直线间距离保持不变”,教师要将学生的注意力由具体形态上升为两条直线间的宽度上来,并提出相关的问题情境:这两条直线为什么会永远不相交呢?并让学生动手在两条平行线之间作垂直线段,将平行线的本质剥离出来,完成由物理模型向数学模型的建构转变。
2.4 注重数学建模思想的渗透,提炼数学建模优化方法
在小学数学的数学模型建构过程中,对于数学建模思想的渗透是重要的内容,而在数学模型建构的过程中,数学思维方法的树立是灵魂,教师要在教学中引导学生树立数学思维方法,渗透数学建模思想和方法,提炼和优化学习方法。例如:在苏教版小学数学《圆柱的体积》教学中,构建体积公式的数学建模,要突出数学思想和方法,要运用数学转化思想、数学极限思想,将一个圆形转化为一个类似的长方形,催生出“圆柱的体积”模型的建构,要用高度概括的数学思想方法,逐渐提升数学建构的理性思维。
3 结语
总而言之,小学数学知识应用性较强,在这门基础性学科之中,需要引入数学知识的核心内容――数学建模思想和方法,教师要在教学中精心设计现实问题情境,在数学问题采集的过程中,将具体形象的实际问题数学化、抽象化,对其进行提炼和归纳,建构数学模型,从而增强学生解决现实实际问题的意识和能力,培养学生的数学建模意识,简化数学知识的各种数量关系,使他们在实践和思考过程中,建构起知识的内在联系,增强数学素养。
参考文献:
[1] 陈蕾.小学数学建模教学的三个关注点[J].上海教育科研,