数学建模算法与程序范文
时间:2023-12-22 17:53:38
导语:如何才能写好一篇数学建模算法与程序,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
随着上世纪80年代数学建模竞赛以及相关课程的开展,高校教育工作者逐渐意识到将数学建模思想以及计算机实现融入到大学数学基础课教学中的重要性,进行相关教学改革的研究并取得了许多研究成果。如王高峡[2]进行了大学生数学建模竞赛软件教学内容安排的研究;胡建伟[3]对数学建模课程中的软件教学进行了探讨;陈陵[4]讨论了如何利用Matlab软件推进高职数学建模教学;周甄川[5]介绍了Lingo软件在数学建模中的应用等。这些研究侧重于从不同角度对建模竞赛培训中数学软件教学进行了研究。但研究研究的深度、系统性还有所不足。本文从数学软件课程本身的特点出发对其教学方法进行了更加细致、全面的讨论。
数学建模竞赛培训中数学软件教学的特点分析
数学软件是数学理论算法的计算机程序实现。与理论课程相似,数学软件的学习在内容和难度上都是前后衔接、循序渐进的过程。数学软件的学习可分为基础入门、巩固深入以及综合提高三个阶段。第一阶段专门针对数学软件知识点进行教学,后两个阶段则分别在理论算法补充和实际应用问题的模拟练习过程中同步进行。同时,两者也存在若干不同之处:在理论知识层面,数学软件涉及到更多的数学理论知识(不管是代数几何、概率统计等基本理论,还是人工智能、模式识别等现代算法都归入其中);在教学方式上,数学软件的上机实践环节比课堂知识讲授更重要;在计算机实现上,数学软件更注重严谨性和规范性;在实际应用中,数学软件更注重创新性和适用性。数学建模中数学软件的培训与教学应根据这些不同特点采取针对性的措施,以提高学习效果。目前,我国大多数普通高校的竞赛数学软件培训与教学中表现出的一些较普遍问题,大都是由于对这些特点的认识不足或处理不当导致,如日常教学中相关课程设置不够合理、上机实践环节的重视力度不够以及集中培训环节培训相关内容和难度安排不够合理等。
数学建模竞赛培训中数学软件教学策略
制定有效的数学软件培训与教学策略对于高校教学改革研究、学生实践能力的培养以及数学建模竞赛成绩的提高具有重要作用。当然,它本身是一个系统工程,应该从多方面综合入手,有计划的展开相关工作,具体列举如下:加强竞赛指导教师的算法实现指导水平在数学软件教学过程中,学生会有各种相应的问题需要教师帮助解决。竞赛指导教师的软件指导水平对于培训效果十分重要。为此,需要按计划请专家讲学、举行与数学软件教学相关的教师培训班等方式提高指导教师的业务水平。同时,通过优化竞赛指导团队的成员组成,使各教师的专业背景能大体覆盖数学建模所涉及的问题领域。这样能够保证对不同问题领域中较复杂算法实现以及具有较深专业背景的问题都有充足的师资保证,从广度和深度上保障数学软件的教学和培训效果。合理安排数学软件的教学内容和进度应该从两个方面对对数学软件的教学内容进行合理安排。首先,在数学软件教学内容的选择上。当前的数学软件相关产品数量众多,但大致上可分为通用型和专业型两类。通用型如Matlab、Mathematic、Maple、MathCAD等;专业型如统计软件SPSS和SAS、图论软件Pajek、数据挖掘软件Weka等。面对品种众多,特点各异的软件产品,可以采用深入学习与大致了解相结合的方式。需要深入学习的应该包括一门通用型数学软件(如,Matlab、Mathematic等)、两门最常用的专业数学软件(如Lingo、SPSS或SAS);而对于其它软件,可根据学生自己的兴趣作简单了解。其次,在数学软件教学进度的安排上。在软件学习三个阶段的上机实践环节中,学生会遇到不同层次的问题,对知识进行消化吸收的时间也有较大差异。一般来说,基础入门使学生掌握相关软件的基本操作知识,可在日常教学中安排相应的理论和实践学时进行讲授;巩固深入阶段应针对各种数学算法展开,本阶段应该适当增加上机实践学时,可在学期中间以周末辅导班的形式进行(半天理论学习,半天上机实践);综合提高阶段利用假期集中培训的形式对复杂的实际应用专题展开讲授,本阶段应该以上机实践环节为主,教师可在集中讨论环节进行适当地点评和讲解。相关课程的统筹开设S在高等数学、线性代数、概率统计等数学基础课程等课程开设的基础上,适当增加开设相关课程:针对数学专业学生开设《数学软件与数学实验》专业课,而其它专业学生开设《数学实验》和《Matlab入门》等全校或学院选修课;同时,进一步增加《数学实验课程设计》课程,利用集中两周的实践学习巩固软件基础知识和解决问题的能力;开设《数学建模竞赛指导》周末提高班,采取半天理论学习,半天上机实践的方式,具体六个专题的内容:数学规划(基于Lingo和Matlab)、回归拟合(基于Matlab)、微分方程模型与案例分析(基于Matlab)、多元统计回归(基于Matlab与SPSS)、蒙特卡洛模拟与仿真(基于Matlab)、图论入门(基于Lingo和Matlab);组织校级数学建模竞赛,进一步增加学生对数学软件重要性的认识以及学习数学软件的热情。注重对经典程序算法以及优秀范例的精读与积累精读一些重要算法的经典程序代码和优秀范例会产生很好的学习效果。首先,经典算法程序代码的精读能够强化学生对算法思想的理解,在竞赛或实际应用中能更正确地应用甚至改进这些算法来解决问题。其次,经典算法的程序代码一般比较规范,深入阅读理解可以提高程序编写的规范性。再次,对于一些优秀范例的精读以及程序重现对学生解决问题能力和程序编写能力的提高会起到重要作用。最后,对常用的重点算法代码的掌握和积累对竞赛过程中问题的准确快速地分析和求解具有重要作用。对于经典算法的精读和讲解可在进行算法专题补充阶段同步完成。此外,实际应用容易看出,要很好的完成这些工作合理地选择一门综合型数学软件非常重要。为此,我们选择Matlab作为教学中使用的综合软件,利用其工具箱以及互联网上的资源可以获得很多重要算法的程序实现代码。强化学生自学和互相讨论提高的环节数学软件的学习主要集中于相关命令、算法工具的使用方法上,其难度偏小,非常适合学生自学和互相交流讨论。因此,在数学软件教学过程中强调各种软件在线帮助文档的学习和相应的网络资源的利用,如Matlab的在线帮助文档中几乎包含了入门阶段可能遇到的所有问题。同时,鼓励学生之间相互讨论和答疑可以充分调动学生的学习主动性和竞争意识,并更高效地完成学习任务。在软件学习第三阶段,即三人一组的模拟练习阶段,不仅要鼓励同组的三人积极讨论,还要提倡组与组之间多交流讨论。因为,组与组的交流和讨论能产生更充分地挖掘他们的竞争意识并产生更大的动力。使数学软件回归其本身的“工具”属性在数学竞赛培训中数学软件教学过程中,应该始终强调数学软件是实现数学建模思想的有效“工具”。只有这样才可使学生在数学软件的学习过程中,始终关注于模型的构造和算法的设计,而不是程序代码本身,这在软件学习的第二、三阶段更为重要。模型和算法是程序代码的灵魂,而程序代码是实现模型和算法的工具。明白这一点,在数学软件学习过程中才更有方向感和针对性。
篇2
关键词:软测量;神经网络;软件设计
中图分类号: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.
篇3
[关键词]数值分析 MATLAB软件 实践教学
[中图分类号] O241 [文献标识码] A [文章编号] 2095-3437(2014)16-0130-02
一、引言
数值分析,又称为数值计算方法,主要研究适合于计算机上使用的计算方法及其误差分析和收敛性、稳定性问题的一门数学课程。Matlab和Mathematica,Maple并称为三大数学软件,是国际公认准确、可靠的科学计算软件。本文研究Matlab软件环境下数值分析课程的教学改革,主要目标是在Matlab软件环境下,加强数值分析的课堂教学,优化数值实验和网络教学平台建设,提高学生Matlab语言程序设计能力和应用算法解决实际问题的能力。
二、数值分析课程教学和实验环节的改革
众所周知,数值分析是一门计算量大、算法多、实践性比较强的课程。算法的具体实现和结果分析,以及不同算法的比较常常需要大量的数值计算和各种结果的绘图。在教学和实验过程中,利用数学软件Matlab进行辅助设计,不仅可以节约大量的时间和精力,而且对数值分析中涉及的基本问题可以高效、准确、直观地展示出结果,同时有效地对算法进行整体描述与分析。因此我们要从Matlab软件方面下工夫,努力探索数值分析教学环节和实验环节现代化,以及构建好外部环境去促进数值分析课程改革,培养好学生数值分析的实践能力和解决实际问题的能力。
(一)数值分析教学环节方面的现代化
1.数值分析教学观念的现代化
传统数值分析教学的主要问题是课程内容多,重理论轻实践,学生厌学情绪高,得不到良好的教学效果。为激发学生学习兴趣,我们必须更新教学观念,将《数值分析》的教学改革推向一个新的阶段。我们可以充分利用Matlab软件进行可视化教学,将抽象内容直观化,复杂计算简单化,把教学中繁杂的数值计算过程直观、鲜明地呈现在学生们面前,帮助学生真正理解数值算法和数值例子。
2.数值分析教材内容的现代化
本课程包括了微分学、积分学、线性代数、微分方程等学科的数值方法,内容很多,同时还要求加强实践教学环节。我们必须优化教学内容,贯彻“少而精”的原则,确定本课程的主修内容为: (1)现代数值分析引论。 (2)非线性方程求根。(3)线性方程组的直接解法和迭代解法。(4)插值法和最小二乘逼近。(5)数值积分与微分。(6)矩阵特征值和特征向量的计算。 (7)常微分方程初值问题数值解。在学时较少的情况下,我们可以适当删减一些较复杂且学生将来继续深造将进一步学习的内容,如微分方程数值解等;当学时较充裕时,我们可以增加一些学科热点知识,如共轭梯度方法、大规模科学计算方法等。在讲授内容的过程中,要注意保证知识的完整性、理论的系统性和应用的广泛性,同时查找一些有应用背景或前瞻性的英文材料,让学生能了解本课程的国际前沿动态,扩大他们的知识视野。
3.数值分析教学过程的现代化
数值分析的课堂教学涉及许多复杂的数学公式、算法分析和图形描绘等大量的信息,仅依靠黑板加粉笔的传统教学方式,不仅在板书上花费过多的时间和精力,而且容易使学生失去兴趣和信心。多媒体教学具有内容丰富、图文并茂的特点,学生易于理解和接受。例如,讲授插值多项式的高阶插值的Runge现象时,如没有图形描绘,学生就较难理解其本质过程,若用多媒体动态地演示Matlab软件环境下的高阶插值的Runge现象,学生就能直观地理解其原理与本质。但是多媒体教学容易加快教学速度,导致推理过程过快,学生难于流畅地接受新知识和证明的推理过程。因此,在教学过程中,我们采取多媒体课件与黑板板书有机结合的方式,对基本概念、计算技巧、理论证明等在黑板上板书,而对复杂的公式、计算的框图、图形动画及程序的调试等用多媒体演示出来。这样就保证了课堂教学效果,方便学生理解和掌握所学知识。
(二)数值分析实验环节方面的现代化
数值分析实验教学环节旨在提高学生数学素养,提高学生应用计算机进行科学与工程计算的能力,提高学生应用数学与计算机解决实际问题的能力。通过构造求解数学计算问题数值解的算法,并编程上机实现算法,通过编程练习加强对算法的理解,提高学生的程序设计能力。我们一方面继承并发扬传统教学模式,重点培养学生扎实的数学基础,使他们具有一定的原始创新和科技创新的能力,并为具有较强的“数据处理与优化、图形图像处理及应用软件开发”能力,多学科交叉复合和应用的数学建模能力奠定基础。
我们可以结合网络教学平台,将所有的教学课件(电子教案、教学参考书、练习题及答案等),实验指导课件,教学软件如Matlab、ctex和Adobe reader和辅助教学材料等有关材料全部放上网,供老师和学生们查阅和学习。为了充分利用好Matlab软件环境,我们可以积极开展网络教学,深入探讨符合学生实际的网络教学模式,重点结合实验教学内容认真思考,查找互联网和中英文教材教辅资料,对本课程每个实验精心设计出若干个实验小模块,引导学生以小组为单位,根据自己的兴趣和爱好选择好一至二个实验小模块,鼓励合作,相互讨论,让他们设计出实验原理、实验方案,并做好数据准备,然后利用Matlab语言来设计算法,编写程序和做出数值实验,综合评价好各种数值结果。同时,开展网上答疑,及时解决学生学习中遇到的问题。学生也可以通过网络平台提交作业,方便教师在网上批改学生作业。我们今后努力的方向是要实现数值分析实验课程网络化教学,按照MOOCs的思想进行建设,将国内外的优秀“数值分析实验课程”网络资源引入实验课堂,进一步提高本课程实践教学环节的质量。
三、探索学生成绩评定方面的新模式
课程考核是评估教学质量和学习水平的重要环节,科学的考核方式有着极其重要的意义。传统数值分析考核通常仅为笔试,因此非常有必要改革考试模式,突出对学生创新能力和实践能力的培养和考核。
考虑到本课程的特点,我们可以采取笔试和上机考核相结合的考核方式,将考试内容分成两部分:理论部分考核(笔试)占70%和上机操作考核占30%。理论部分考核的主要目标是要求学生掌握本课程的核心思想、基础知识和基本技能。我们改革的主要内容是实现上机操作考核,我们要设计出一套贯穿整个教材符合学生实际的开放性的上机习题,重点是考核学生对算法设计思想的理解,对算法设计内容的把握以及对理论结果在实际中应用的掌握。上机考核的关键是针对学生平时知识和能力的积累及上机实践操作的具体情况,设计出科学的考核试题库,对学生进行上机操作考核。为防止学生之间互相抄袭,保证成绩的客观公正,可将学生分成二人或三人一组,随机抽取若干实验题目,学生必须在机房现场运行程序,并回答好程序设计的相关问题。最后,教师根据学生的实验报告、程序设计以及问题回答等给出公平的实验考核成绩。
四、构建数值分析课程改革的外部环境
由于数值分析能够为科学计算提供可靠的理论基础和行之有效的算法,因此我们还将探讨它在全国大学生数学建模竞赛、信号和图形图像处理中的应用,构建好课程改革的良好外部环境。
众所周知,数学建模必然要涉及数学模型的求解,其中很多数学模型的求解要用到数值分析课程中的插值法、最小二乘法、曲线拟合等方法,这就要求我们必须将数学建模的思想融入数值分析的教学中。例如,我们可以将微分方程的数值解和微分方程数学模型结合起来,将曲线拟合和与人口指数增长模型结合起来。我们在教学过程中要利用Matlab软件和数值分析的有关知识,深入分析全国大学生数学建模竞赛历届试题,以使它在指导全国大学生数学建模竞赛中发挥出重要的作用,也可以为信号和图形图像处理各种算法的教学奠定坚实的基础。
[ 参 考 文 献 ]
[1] 杜廷松.关于《数值分析》课程教学改革研究的综述和思考[J].大学数学,2007(2):8-15.
篇4
关键词 花纹;模糊数学矩阵;数学规划;三维建模;蒙特卡罗算法
中图分类号O29 文献标识码A 文章编号 1674-6708(2014)120-0164-03
0 引言
本文根据车辆情况、路面情况以及使用需求的不同,首先在对汽车轮胎花纹形式固定,忽略天气等外界因素,对专业的参数信息进行检索收集。其次以物理知识为基础利用变量控制法和修正系数的思想求得各性能的近似表达公式,用模糊数学的思想建立各种性能指标的权值联系,然后将各性能构建为统一的性能指标,并以此作为规划模型的目标函数。在求解时,为避免各相关性能量纲之间的误差以及减少非花纹结构对性能的影响,引进性能量纲系数并定义为1,性能参数的大小即为各性能的绝对大小。由于车辆、路面情况参数较为客观,将其计入目标函数,而使用需求柔性较大,故把它归入规划模型的限制条件中。从而建立轮胎花纹的设计模型。然后我们用以普通轿车为例对模型进行求解验证,利用蒙特卡罗算法对模型的最优解进行计算,并用SOLIDWORKS软件进行参数化三维建模,结果表明:
对于过程中设计的计算公式与算法的误差研究,我们对模糊矩阵评价法得到的权重,我们将用模糊序列法得到相同的结论,在一定程度上来说,权重是可信的,对于性能参数的数值与相关论文研究中的定性描述做了对应,基本契合,但是性能的绝对量是本文模型的最大问题,但是在某种程度上能反应实际情况。
2 模型建立
本文主要研究普通轮胎花纹形式下的设计要素对汽车性能的影响,以花纹沟的深度、宽度、角度及密集度等要素为规划模型的决策变量,花纹的总体性能参数为目标函数,以工艺设计限制以及使用需求为约束条件,从而建立数学规划模型,并用Solidworks软件进行三维建模。
本模型的大体的架构如同计算机程序般,设置模型的输入端、主体程序、输出端三部分,在输入端,我们考虑到将车辆的情况和路面的情况参数化,其值刚度大主观性小,我们将其建立在目标函数主体,而使用需求参数化,其值刚度小主观性大,故将此建立在规划模型的约束条件部分,为减少模型误差对结果带来的巨大影响,我们对设计要素进行工艺技术限制。我们将花纹的设计要素作为决策变量,并将规划模型的最优解作为模型的输出端,而规划模型即是主题的程序,程序化模型架构让花纹设计更加清晰方便,模型的输出端后我们与建立了程序与应用软件Solidworks的连接,依据结果进行轮胎花纹的三维建模,从而建立花纹设计优化的全过程。
3 模糊数学的权比模型构建
3.1 模糊矩阵评价法计算花纹性能比重
现在用模糊矩阵评价法评估轮胎花纹对汽车轮胎各个性能的影响程度。
轮胎的花纹主要影响汽车牵引性能、防侧滑性能、耐磨性能和排水性能。花纹的影响汽车性能集为U={牵引性能、防侧滑性能、耐磨性能、排水性能},依次对应可记为U=(u1,u2,u3,u4)。
现在来确定两两影响程度的比较fuj(ui)。由前面的评价方法可知轮胎花纹对汽车牵引性能、防侧滑性能、耐磨性能、排水性能影响程度,我们记为:
由此可知,花纹对轮胎各个性能的影响程度可以近似计算得到,牵引性能a0=64.3%、防侧滑性能a1=20.9%、耐磨性能a2=9.6%、排水性能a3=5.2%。所占比的饼状图如下。
4 约束条件确定
4.1 目标函数花纹总体性能的确定
Max f=Pj×a0+Rj×a1+Rj×a2+Wj×a3
4.2 使用需求
噪声需求
噪声的影响因素主要是与沟深有关,研究表明当沟深在一定的范围内噪音较小,并且其值大小能反应噪声减小的效果,故可用其值来近似描述用户在噪声方面的需求。
舒适需求
汽车的舒适度主要体现在汽车的防侧滑性能,其值的大小能说明轮胎花纹对舒适性的需求。
4.3 技术限制
5.2最优化求解
普通轿车轮胎花纹设计规划模型:
决策变量:花纹沟深度a,花纹沟宽度b、横花纹与水平夹角θ、横向花纹块面积占行驶面积的比c、纵向花纹花纹块面积占形式面积的比d
6 模型评价
6.1 优点
1)本文所用模型通过对轮胎的牵引力性能、防滑性能、耐磨性能、排水性能四个性能进行分析研究,较为全面和具有代表性;
2)采用修正系数的思想,将四个性能的标准定义为一个理想最大值的修正值,可以避免其值的多因素研究,为研究带来便利,但是又不失其正确性;
3)本文将复杂的轮胎花纹进行抽象简化,突出主要的影响要素,利用简单的力学和几何学数量关系,从而减少研究的无用功;
4)本文采用模糊数学分析的方法,将本来影响因素众多的几种性能指标,建立较为明确的比重关系,将原本独立的量构建成一个较为成熟的变量来描述轮胎整体的特性,并通过公路对性能的需求参数建立个种类轮胎和各类公路间的契合度,从而得出轮胎适用范围的结论。
6.2 缺点
1)性能参数的计算不是太具体的绝对值,而仅仅是利用1的相对修正;
2)模糊数学方法得出的比重有一定的主观性,不能较客观的反应真正地问题。
参考文献
[1]文学红.轮胎花纹反求与数字化设计研究,广州工业大学硕士论文,2005,5.
[2]杨忠敏.轮胎胎面花纹及其特点,现代橡胶技术,2013,39:3-4.
[3]彭旭东.轮胎磨损的影响因素.中国知网.第50卷2003.
[4]张彦辉,等,潮湿路面上胎面花纹对轮胎附着性能的影响,农业工程学报,2007,236.
[5]俞淇.子午线轮胎结构设计与制造技术.北京:化学工业出版社,2006,1.
[6]申屠流芳.水稻直播机放沦陷轮胎的设计.农机化研究,2009,9(9):91-93.
[7]江苏工学院,农业机械学[M],北京,中国农业机械出版社,1981.
[8]刘志强.轮胎安全性能影响因素的分析、评价与建模.汕头硕士论文,2003,6.
[9]彭旭东.表面粗糙度对冰路面上滑动轮胎摩擦牵引力影响的研究,汽车工程,2000,22(4):240-243.
[10]赵文杰.轮胎花纹变形特性数值模拟分析,西华大学硕士论文,2012(5).
[11]王野平.论轮胎的磨损,汽车技术,1999(6):19-22.
[12]鲁军.基于自定义特征的轮胎花纹参数化设计的研究,硕士论文,2013(4).
篇5
关键词:计算机;编程方式;必要性;问题;优化策略
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)22-0065-02
随着技术和社会的不断发展,计算机技术被巧妙地运用在全球各领域的工作之中和人们的家庭生活之中。
计算机程序设计发展至今,大体经历了三个阶段,每个阶段的发展都给行业发展带来了巨大的进步。但是计算机编程语言本身的发展非常缓慢,程序设计的相关模式与应用匹配度仍然有待提高。
计算机程序设计是通过一种人们可以与计算机交流的语言来与计算机及其外部设备进行交互,通过这种语言形式[1],人们可以让计算机处理很多复杂的工作。虽然计算机技术已经广泛运用在工作和生活之中,但是计算机程序设计对于很多机构和个人来说,无法很好地被理解和掌握,以至于不能更好地应用计算机技术发展的各项成果,也在某种程度上阻碍了计算机技术的发展。
因此,为了计算机技术更好的发展,计算机程序设计的改进是很有必要的,同时这种改进也应当适时地在高校教学中反映出来,以便培养更多优秀人才。
1 程序设计方式改进的必要性
计算机技术现在发展如火如荼,它在科学技术发展中占有着不可动摇的地位,计算机本身经历了电子管时代、晶体管时代、集成电路时代及超大规模集成电路时代的阶段性发展,计算机程序设计也因应产生了机器语言编程、汇编语言编程及高级语言编程的阶段性发展。
对程序设计而言,机器语言、汇编语言、高级语言的发展让程序设计越来越容易,计算效率越来越高。但进入高级语言的发展阶段之后,计算机程序设计方式没有出现大的变革,编程语言本身的发展非常缓慢,如诞生于1972年的C语言,迄今仍然广泛使用,是最受欢迎的编程语言。虽然期间也出现了很多重要发展,例如面向对象开发模式,但与计算机硬件在“摩尔定律”的指导下性能呈百倍增长的速度比起来是远远落后的。
因此,当前计算机编程改进是必要的,不仅是为了适应人们的需求,更是让计算机技术的发展提上一个新的台阶,它是计算机技术在市场经济发展体制下的一种必然趋势。
2 程序设计目前存在的一些问题
2.1技术层面的缺失
在第三次科技革命爆发后,我国的科学技术也随之得到了发展,计算机技术及其应用随之长足发展。但是由于存在市场与技术的短板,我国计算机技术的发展仍然没有能很好应用,在计算机编程领域更是如此[2]。特别是程序设计语言、集成开发环境与开发框架等工具绝大部分来自国外,如最受欢迎的20种编程语言,没有一个是起源自我国,相关自主研发技术非常少,这说明我国在编程技术层面上有很大的缺失。只有自己研究的技术,才说明本国的科学技术取得了进步,所以这方面是需要提升的。
2.2应用层面的缺失
随着计算机超大规模集成电路时代的发展,随之而来的移动互联网、物联网掀起了计算机技术应用的下一个,对于计算机程序设计而言,编程过程中需面向的对象从单一的电脑扩展到需同时面向手机、平板电脑、汽车等各类型设备,编程应用的层面增强了复杂性。
所以在程序设计的应用层面,面向的设备类型增加了,各类型设备数据一致性要求增加了,不同设备适应性要求增加了,这些都要求程序设计模式随之而改进。
3 程序设计方式的改进及教学优化策略研究
3.1程序设计方式改进的一些改进思想
计算机科学中有两类基本的问题,一类是理论,如算法、数据结构等,一类是系统,如操作系统、网络系统、存储系统等。在我们对计算机编程方式优化的思考中,首要考虑的应该是算法,因为算法是程序设计的基础。
计算机编程的目的就是利用计算机语言,把人类的语言进行翻译,然后转换成计算机语言,从而处理人们的工作和一些需求[3]。对算法的优化就是用数学中的一些理论和思想,对程序设计要解决的问题进行总结和划分,让问题变得更容易理解和解决。因此我们更要积极研究,把数学算法更好地运用在编程中。
对计算机程序设计方式改进,除了算法之外,我们更应该从全局的高度,去思考如何降低开发难度,让更多的人能够更容易掌握编程技术,从而更好地促进计算机技术在工作和生活中的应用。
3.2程序设计中具体的改进及教学优化策略
3.2.1 通过结构优化对高级语言改进的研究
C语言是当前应用最广泛的高级语言之一,是一种面向过程的高级语言,由于C语言早在1972年就被发明出来,因此语言上存在一些缺陷是在所难免,例如C语言的重复编译问题,以及对程序员编程过程中代码逻辑性关联问题等。这就促使我们对C语言加以优化。例如前文提到的重复编译问题,就采用#ifndef预处理命令加以解决,从而降低了编程的复杂度。
3.2.2通过算法优化对高级语言改进的研究
面向对象的开发语言,是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分,语言中提供了类、继承等成分。面向对象开发方式是处理程序系统庞大的较优解决办法。
C++就是典型的面向对象开发语言,也是基于C语言拓展出来的一种高级语言,C++支持多种编程模式,比如面向对象编程、泛型编程和过程化编程等。随着计算机应用的日益广泛,计算机需要处理的数据也日益庞大,因此程序设计的体量也随之大规模增长。
当程序设计体量大规模增长时,编程就需要很多人力物力,需要花费很多时间。我们就需要在编写过程中运用数学建模的方法来节省时间,因为数学建模的方法主要是体现在对数据的统一性,这样会很大程度的节省了程序员的程序编写[4]。
而C++语言就很好地体现了数学建模方法的运用,保证了程序的快速高效性。这样提高了程序员的编写效率。这就是数学算法在计算机编程中的很好的运用,对计算机编程进行了很好的优化。
今后我们也需要更多地研究利用数学算法来进行编程的优化,重点研究待解决问题的规模、算法在各模型的运用、不同设备运算效率的区别等,从而选择更合适的算法来进行数学建模,实现优化。
3.3对于编程人才的大力培养
通过语言结构、数学算法等各种方法来进行程序设计方式的优化解决了技术问题,而人的问题也是很重要的环节,就是高素质的程序员。只有高素质的程序员才能进一步推动编程方式的优化。
因此,国家需要加大这方面的科研投入,增强科研机构实力,提高相关政策推动力。提升相关培训机构水平,各类型学校特别是高校更要注重这方面的人才的培养,让更多的人参与到其中,为计算机程序设计的优化做出贡献,使之更好地服务于社会,被人们所应用。
3.4对于技术方面要创新
创新在科学技术中是一个重要的因素,在计算机技术中更是不可例外。我国需要研究出属于自己国家的编程方面的技术,在原有的技术上得到创新,使之更适合我国的发展。在这方面,可以着重建立新兴软件工业园,大力引进专业人才和技术,并进行研发[5],工业园的建立,将会带动地区性发展,吸引更多的优秀人才参与其中,进行创新计算机编程技术,由于人才的合力,再加上创新的因素,使计算机编程方式得到更好的优化和改进。
4 结束语
综上所述,随着技术的发展,程序设计有一定程度的发展,但是各方面的局限,程序设计技术与计算机硬件的爆发式增长是不相符的,导致不能被更好地运用。
所以计算机编程方式需要优化,目前我们研究的数学算法在计算机编程方式中,可以起到很好的优化作用,但是这些优化远远还不够,还需要我们培养这方面的人才,需要技术的创新。
参考文献:
[1] 王运生.计算机编程方式改进的必要性及优化策略[J].电脑编程技巧与维护,2014(20).
[2] 王小琼,张帆. 计算机编程方式优化的必要性与策略探索[J].产业与科技论坛,2015(23).
[3] 郭蕾,王昕,陈世亮.计算机编程方式改进的必要性及优化[J].科技尚品,2015(12).
篇6
关键词:物流专业;数学建模;能力培养
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)41-0068-03
随着我国现代物流业的迅速发展,物流专业人才成为近年来社会的紧缺人才。2012年,教育部将物流工程及物流管理批准为一级学科,全国各工科院校几乎都增设了物流专业,也培养了大批的物流专业技术人员。由于物流专业涉及的领域广,涵盖了许多方向,如物流机械、物流管理、物流工程、物流金融、物流信息等。虽然都称为是物流专业,但各院校针对本校的特点培养的方向有所不同,各院校为不同方向的物流专业所设置的培养方案和课程内容也相差很大。有偏重物流系统规划设计类的,有偏重运输与仓储管理类的,有偏重企业供应链管理类的,有偏重物流信息技术及物联网软件开发类的,也有偏重物流机械设备设计与配置类等。但无论培养物流专业的何种方向的人才,各校都十分注重加强对学生的物流建模方法的培养和训练,提高其科学解决实际问题的能力和管理水平。
一、现代物流系统中常见的优化问题及求解方法
物流被称为是企业的第三利润源泉,通过规划建设现代物流系统和改变传统的物流运作模式,可大大降低制造企业的物流成本,提高物流作业效率,从而为企业创造更大的效益。物流专业人才之所以缺乏,是由于在物流系统规划和运营管理各个环节中,处处都是较难解决的优化决策问题,必须应用科学的理论和先进的技术方法才能得到好的结果。目前在这方面的研究成果有很多,以下列举一些现代物流系统规划与运营管理中常见的优化问题和解决方法。
1.物流需求预测。在物流系统规划中物流设施(仓库、设备、停车场、车辆数等)规模的确定,物流管理中的物流仓储控制等都需有科学准确的物流需求预测作为决策基础。然而由于受多种不确定因素的影响,如何准确预测物流需求是相当困难的问题。物流需求预测问题分为单品种货物与多品种货物的物流需求预测、单个节点与区域内总物流需求预测、近期与中远期物流需求预测等多类问题。目前各种中样的需求预测模型非常多,据不完全统计约有一百多种。除定性预测外,常见应用于物流需求的定量预测模型有增长系数法、趋势外推法、曲线拟合法、弹性系数法、回归分析法、时间序列法、原单位(生成率)法、类别生成法、生长曲线法等。目前较流行的还有应用一些启发式或亚启发式算法进行区域内的物流需求预测,如神经网络模型、灰色系统模型、动态预测模型等。在实际的物流需求预测时,经常同时应用以上多种模型构成组合模型进行预测。以上各类模型的理论基础是高等数学、数理统计学、数理逻辑学、计算机算法设计等。
2.物流系统总体设计。物流系统设计方案的优劣直接影响物流的运营成本及运作效率。物流系统设计内容主要包括区域内系统物流节点的数量、规模和位置的确定;各物流节点的功能定位和功能设施(含停车场)的合理配置;物流节点内部设施布局;物流运输通道设计及能力分析等问题。其中区域内物流节点的数量和规模的确定主要依赖于对区域内物流总需求的预测结果。常见的模型有成本分析模型、随机报童模型、数据包络模型以及参数标定法等。物流节点的选址问题是物流系统规划中的关键技术问题,根据研究对象和研究方法可分为许多类型,如单一设施选址与多设施选址、连续区域选址与离散点选址、单纯位置选址与具有客户最优分配的选址、有能力约束选址与无能力约束选址等。本科生需掌握的典型物流选址模型和方法有:重心模型及不动点算法、交叉中值模型、线性规划模型、因素评分模型及层次分析法、多点解析模型及鲍摩・瓦乐夫启发式算法、奎汉・哈姆勃兹启发式算法、P-中值模型、集合覆盖模型、最大覆盖模型等。目前较常用的还有设计计算机算法进行仿真模拟计算,如遗传算法、蚁群算法、粒子算法、模拟退火算法、模糊群决策法等。这些算法的思路物流专业的本科生也应有所了解。物流节点内部设施布局是指在物流节点的规模与功能已确定的条件下,进一步设计节点内各设施间的位置关系,大多是引用工业工程法中的一些设计方法,常用的模型和算法有系统布局法、关系表布局法、CORELAP布局算法、ALDEP布局算法、CRAFT布局算法、MultiPLE布局算法、数据包络分析布局模型等。以上各类模型的理论基础是高等数学、概率论与数理统计、线性代数、系统工程学、工业工程学、运筹学和计算机算法设计等。
3.物流运输组织与运输管理。降低货物运输成本是减少物流总成本的重要手段,在货物运输组织中存在大量的优化管理问题,如运输方式(工具)、运输线路、运输链的优化选择;车辆与货物间的最优配载、配送计划及配装计划的优化编制;物流企业车辆的最佳拥有台数、运用与维护方案;车辆、船只及集装箱等的优化调度等问题。常见的模型有总费用分析法、综合性能评价法、公路货运交易优化配载模型、物资调运模型等。其中有关配送计划的优化编制问题是实际应用最广、理论上最为困难的问题之一。该问题根据研究对象和研究所考虑的因素分为了许多类型,如纯装问题、纯卸问题和装卸混合问题、对弧服务问题和对点服务问题、车辆满载与车辆非满载问题、单配送中心和多配送中心问题、运输车辆有距离上限约束和无距离约束问题、路网上线路距离无方向(对称)和有方向(非对称)问题、运输车辆是同类和异类问题、客户装卸点有时间窗约束和无时间窗约束问题等。由于每一类问题在理论上都属于NP-困难问题,在实际应用中常设计近似算法进行求解,求精确解的算法,可求解小型的配送问题,如分枝定界法、割平面法、网络流算法以及动态规划方法等。以上各类模型的理论基础是高等数学、线性代数、数学建模基础、图论、运筹学和计算机算法设计等。
4.物流仓储管理与库存控制。库存具有对不同部门间的需求进行调节的功能,库存物品过剩或者枯竭,是造成企业生产活动混乱的主要原因。由于货物供应及需求受大量因素的随机性和波动性影响,库存控制也是物流管理中较为困难的决策问题。库存控制包括单级库存与多级(供应链)库存、确定型库存与随机型库存、单品种与多品种库存等问题。物流仓储管理还包括仓位计划和拣货计划的编制、物流成本分析及风险分析等内容。物流库存管理的典型模型有经济批量订货模型、二次方策略模型、有数量折扣的EOQ模型、一次性进货报童模型、定期盘点库存模型、(s,S)型存储策略模型、鞭打效应分析模型、多级批量定货模型和直列系统多级库存模型、单级和多级概率库存模型、动态规划模型、最优匹配模型和网络最短路模型、成本分析模型等。以上模型主要用到的理论基础是运筹学、图论和算法设计等。
二、物流专业的数学基础要求
通过以上对物流系统规划设计及物流运营管理中的各类优化决策问题的介绍可知,要培养从事物流专业的高级管理人才必须具备扎实宽广的基础理论知识,尤其是数学和计算机的相关知识,具体来说,物流专业本科生应具备以下基础理论知识结构。
1.基础数学知识。包括高等数学、线性代数、概率论与数理统计等,目前国内外几乎所有的工科专业本科都会开设这些课程,而物流专业应特别加强统计分析方法的学习,包括时间序列分析、多变量解析、回归分析等内容。
2.建模及优化理论。主要包含数学建模方法和运筹学理论,我国大多数物流工程及物流管理专业都开设了这两门课,也有的学校还开设了“物流系统模型”或“物流运筹”等课程。其中运筹学是解决物流优化决策问题的重要方法,如规划论(线性规划、非线性规划、整数规划、动态规划)、存贮论、排队论、决策论、模拟模型法、图与网络理论、启发式方法、数值分析法、费用便利分析等方法。
3.计算机算法设计及仿真。计算机算法设计及计算机仿真是求解物流系统中各类优化模型的基本工具,要使所培养的物流管理人才具有独立解决实际问题的能力,必须具备较强的计算机动手能力。目前大多数院校的物流专业都开设了“计算机应用基础”、“程序设计”、“数据库原理及应用”、“管理信息系统”等课程,为求解物流系统中的优化决策问题,建议还应开设“数值计算与算法设计”、“系统仿真基础”等课程。
4.系统设计与分析理论。在物流系统规划与管理过程中,还要应用一些系统设计及系统分析理论,如系统分析(系统工程)、大系统理论、系统控制论、系统动力学、IE(工业工程)法等。虽然对物流专业本科生不能要求都掌握这些理论,但需对这些理论的研究内容应有所了解。
三、加强物流专业本科生建模能力的培养措施
由以上对物流专业本科生基础知识结构要求的分析可以看到,物流专业学生需具有扎实的基础理论知识,但学生在学习基础课时还未涉及专业内容,各项基础理论不知道如何应用,往往是学过了就忘。而在学习物流专业课时,较注重具体管理方法的使用,不知这些方法是如何得到的,使得学生当遇到没有学过的问题就不知如何解决。因此需有一门课程将基础理论与专业知识之间搭建一座桥梁,通过提出物流系统规划与管理中各类优化决策问题,帮助学生应用各种已学到的基础理论对这些问题进行分析和研究,建立这些问题的数学模型、设计求解这些模型的计算机算法、分析比较各种求解方法的优劣,我们将这门课程称之为“物流系统模型”或“物流运筹”。属于物流专业的专业基础课,它与基础课与专业课之间的关系如下图所示:
“物流系统模型”课程主要有以下三大教学内容。
1.常用物流系统模型的推导及介绍。提出以上物流规划与管理中所列举的优化决策问题,介绍解决这些问题的典型模型及求解思路。对相对简单的模型及算法,引导学生应用已学过的基础理论来推导解决该问题的模型和方法,使得学生在后面学习专业课时遇到这些问题和方法时有较深刻的印象。
2.介绍一些新的优化理论和相关算法知识。如系统分析理论、系统控制论、系统动力学、IE(工业工程)法等,让学生了解相关理论的研究内容和研究方法,开扩学生的视野和解决实际问题的思路。
篇7
【关键词】数学建模教材改革教学目标创新能力
【中图分类号】G642【文献标识码】A【文章编号】1006-9682(2010)3-0026-02
一、数学建模的教学
1.数学建模的教学现状
数学建模在科学技术发展中的重要作用越来越受到数学界和工程界的普遍重视,国内外越来越多的大学正在进行数学建模课程的教学和参加开放性的数学建模竞赛,数学建模教学和竞赛已是高等院校的教学改革和培养高层次的科技人才的一个重要方面,努力探索更有效的数学建模教学法和培养面向21世纪的人才的新思路是我们的重要任务。
全国有600多所学校开设了数学建模课程,有200多所学校只开设了数学建模讲座,有200多所学校增设了数学建模竞赛培训课。每年全国有30个省市(包括港澳)1000多所学校,15000多个队参加数学建模竞赛,参加人数45000人,是目前高校学生最大的课外活动。
2.存在的问题
数学建模方面的教材举不胜举,每部教材都有其各自的特点。然而与此同时,很多教材也存在一些问题,一些教材在内容上安排不当,与其他课程缺乏系统的匹配和整合。在数学建模的求解技巧方面下了功夫,但却忽略了模型建立的过程,忽略了多学科的横向交叉联系,一些内容与其他内容有重叠现象。这样做的后果,不仅使学生丧失了学习的热情和兴趣,而且重要的是学生解决实际问题的能力得不到应有的锻炼与提高。本问卷调查的目的是想通过问卷调查了解高等院校在进行数学建模教学和数学建模竞赛培训时,重点进行了哪些内容的教学?还需要增加哪些内容?介于数学建模教材比较多,我们以赵静、但琦编写的《数学建模与数学实验》教材为基础,为配合数学建模教学研究项目,笔者调查了我国部分高等院校对该教材使用的相关情况,对结果进行分析和研究,提出了相应对策,旨在为本教材内容改革提供一些参考数据。
二、数学建模教材讲授情况
此次调查的内容主要包括:哪些学校使用了我们的教材,教学过程中使用参考资料情况,讲授中主讲哪些内容,以及建模竞赛获奖情况等方面。调查采用问卷的形式,通过向各高校发送E-mail进行,本次调查共发送问卷120份,收回问卷72份。现对调查结果分析如下:
1.课程开设情况
在回收的问卷中,学校层次大多是普通院校(92%)。调查结果显示,有83%的院校采用了我们的教材,其中使用第三版的占58%,另外17%的作为参考资料使用(见表1)。表明我们的教材反应良好,被多所学校数学建模与数学实验课程或大学生数学建模竞赛辅导作为教材选用,且使用最新版次的居多。
注:表中百分数=选择该项的院校÷问卷调查总院校数(以下表中百分数均同此公式)
回收问卷中所有院校均开设了数学建模课程,通常以必修课、选修课和培训课的形式来开设,当然有些院校根据专业的不同,同时以两种以上的形式来开设。经统计有50%的院校将《数学建模》作为必修课程,有75%的院校作为选修课,另外还有42%的院校开设为培训课。其中,同时开设三种形式的院校占17%(见表2)。由此可见,数学建模课程在各个院校中都有着举足轻重的作用。
另外在问卷中调查了选修课及培训课课时的设置情况,统计结果如下(见表3):选修课时在30、40的院校均占33%,课时在50或60以上的院校均占17%,而培训课40以上课时的院校占50%,25%的院校设置30课时,仅有25%的院校设置课时在20课时以下。由此看来,数学建模课程以及数学建模竞赛活动受到了大多数院校的重视。
2.教材中讲授内容情况
教材承载的是由教学目标所确定的内容,但不完全等同于教学内容,教材还要注意课程理论的统一性和逻辑性,兼顾人们认识事物由浅入深的规律。问卷中针对教材需要删减或修改的章节进行了调查,结果见表4。
结果显示:线性规划、整数规划、非线性规划、微分方程、最短路问题、插值与拟合是建模竞赛中的热点问题,历年的建模竞赛试题中出现最多的便是优化问题。因此,70%以上的高校选择这些章节作为主讲内容;而50%的院校建议删除组合数学章节,20%的院校选择把差分方程和数据的统计描述两章删除;大多数高校建议修改线性回归、MATLAB入门、动态规划等章节;大多数高校建议把涉及到优化问题的章节合并在一章中讲解;把涉及图论问题的章节作为一章来讲授;把微分方程、差分方程合并成一章(见表4)。
在问卷中关于第四版是否需要增加两章内容:一是综合评判(包括层次分析法;模糊综合评判;灰色综合评判),二是预测模型(包括灰色预测;指数平滑法;神经网络;组合预测),经统计有95%的院校认为需要增加。最近几年建模题型不断有新的变化,评价和预测模型显得异常重要。
问卷中关于本书是否还需要增加哪些软件(如:是否需要介绍统计软件SPSS、图论软件等)进行了调查,经统计有90%的院校认为不需要。其实LINGO、MATLAB两个软件基本可以解决数学建模里面所有模型的求解,学生掌握不了过多的内容。
三、教材内容改革方案
1.关于教材内容
教材是实现教学目标的基础,课程知识体系最终要通过教材表现出来。《数学建模与数学实验》[1]教材集数学知识、数学建模和数学实验为一体,既简要介绍一些最常用的解决问题的应用数学知识,又联系实例介绍应用相应的数学知识建立数学模型,并用合适的数学软件包来求解模型。本教材更注重应用数学知识以及软件的使用,被多所学校数学建模与数学实验课程或大学生建模竞赛辅导作为教材选用。但是基于上述分析,还存在一些需要修改的地方,结合上述问卷调查情况,经多方论证,改革后的教材体系具有下述特点:
(1)在知识体系下,不仅考虑自身内容的系统性,而且要注意与其他课程的衔接和匹配。应剔除重叠部分内容,添加常用的模型。修改如下:差分方程作为微分方程的一种解法,可与之合并作为一章,仅做一个简单介绍,并编写matlab程序求解;线性规划、整数线性规划、无约束优化和非线性规划合并为一章;最短路、匹配、旅行推销员问题以及最大流问题四章可合并成两章;而数据的统计描述和分析作为仅有的统计方面知识,将被保留,与线性回归合为一章。为适应近几年建模题型的不断变化,增加两章:综合评判模型以及预测模型;删除组合数学章节。
(2)各部分具体内容的表述与传统教材有所不同。需改动部分主要有:①第一章作为课程的引入,应添加一些学生感兴趣、较简单的初等模型,如椅子能否放稳?商人过河等模型。而人口模型属于微分方程模型,应放在第八章。②在线性规划部分的例子需做斟酌,选取适当的例子,无需过多;③第八章微分方程第一节的例子,应修改为人口模型和兰切斯特模型,这些模型涉及实际问题,以之为背景引入相关知识,更容易引发学生的兴趣和热情。
(3)每章均按模型、理论、求解、案例的格式编写。采用问题导向型的论述模式,以实用型为主,兼顾理论系统。以实际问题为背景,引入相关概念,并建立模型,进而运行几何或其他直观手段说明求解的基本思想,结合例题演示求解过程,并尽可能对计算结果给予有实际意义的解释。与此同时,理论体系的完整性,论述的严谨性仍给予一定程度的关注,一些重要的原理和结论要做比较深入的讨论和必要的推导论证,并突出讲解算法的思路脉络。需修改的章节有:第四章整数规划,添加用LINGO工具箱求解整数规划,添加建模案例;第七章动态规划,增加模型求解程序或求解实例,添加建模案例。
2.关于软件
教材[1]选择了LINGO和MATLAB两个软件,MATLAB提供了强大的求解工具包,界面清晰、操作简单。LINGO软件程序简单,对求解优化问题极其有用。教材中已介绍了MATLAB入门知识,需增加LINGO入门,包括灵敏性分析等相关知识。LINGO可以求解大规模问题,有利于学生以后解决实际问题。针对我们期望的章节格式,每一模型都要有软件求解方法或者是求解实例,因此第七章动态规划需增加求解程序。
与我国高校的其它数学类课程相比,数学建模具有难度大、涉及面广、形式灵活,对教师和学生要求高等特点,因此,数学建模的教学本身应该是一个不断探索、不断创新、不断完善和提高的过程。而教材是实现教学目标的基础,课程知识体系最终要通过教材表现出来。科技在不断的进步,在各个兄弟院校的相互支持、相互讨论下,我们的教材也应与时俱进,不断创新,不断完善和提高。
参考文献
1 赵 静、但 琦.数学建模与数学实验.北京:高等教育出版社,2003.6
2 姜启源.数学模型.北京:高等教育出版社,2004.4
3 韩中庚.数学建模方法及其应用.北京:高等教育出版社,2005.4
4 朱道元.数学建模案例精选.北京:科学出版社,2005.5
5 陈理荣.数学建模导论.北京:北京邮电大学出版社,2002.8
篇8
计算机仿真主要是利用计算机技术和应用领域有关的专业技术,通过建立研究系统的数学模型,进而在计算机上对系统进行实验分析和研究的一门技术。因此,该门课程是一门解决实际问题、实践性强的课程。目前,大部分院校对该门课程的讲授主要围绕计算机仿真的概念、方法和技术来开展的,而在系统分析、系统建模、仿真计算、仿真结果分析等方面的讲解还存在薄弱环节。从教学内容来看,主要存在重理论分析,轻仿真实验;从教学过程来看,还存在重课堂教学,轻实践环节的现象。为此,应加强计算机仿真技术课程实验教学方法的研究,突出系统仿真建模分析实验,建立仿真实验的内容体系,强化仿真实验过程管理,以达到提高学生在计算机仿真技术领域的运用能力。仿真实验的内涵就是针对仿真实验对象,建立仿真实验模型,利用计算机技术,在计算机上开展仿真运算与结果分析的一种实践活动。单纯的课堂理论教学一般缺乏主动获取知识的能力,缺乏对所学知识的深入思考和实际动手能力的培养,缺乏发现问题、灵活运用已有知识解决实际问题的能力。而实验环节能在很大程度上弥补这种教学方式的不足,尤其是计算机仿真技术这门课程,具有系统针对性强与实际结合紧密的特点。因此,在计算机仿真技术课程的教学过程中,重视仿真实验课程建设,加强学生实验环节的教学和训练,已经成为本门课程改革和创新的一个重要内容。
1仿真技术实验课程的目的、分类及特点
计算机仿真实验课是掌握计算机仿真技术和仿真技能培养的重要环节,是开展科学实验、科学研究和工程应用领域能力培养的重要课程之一。开展计算机仿真实验课程改革,需要从实验内容设置、实验教学管理、实验课程评价等几方面入手,以达到实验课程提高学生实践能力和创新能力的目标。计算机仿真技术的教学内容通常分为连续系统仿真和离散系统仿真两个方面,因此,仿真技术实验可分为连续系统仿真实验和离散系统仿真实验。另一方面,按照仿真的作用和目的来分,仿真技术实验领域也可分为三种形式。一是系统设计仿真实验,即对尚不存在的假象系统开展仿真实验。通过仿真实验,来观察系统设计的各项性能参数。二是仿真对象的系统分析仿真实验,即对已有系统进行仿真实验。针对存在的已有系统,构建系统模型,通过仿真实验以观察和分析系统,来了解和掌握系统的变化规律。三是系统模拟训练仿真实验,利用现代虚拟现实技术或半实物仿真技术,构建训练系统的操作训练模型和模拟训练仿真环境,为系统的操作人员提供模拟训练的实验平台。根据仿真技术实验的目的结合计算机仿真技术课程要求,仿真技术实验课程具有以下特点:一是系统实验对象的针对性。仿真实验必须针对某个具体的对象或系统开展仿真实验活动。如一个控制系统的仿真实验,应从该系统的数学模型入手,明确数学模型中各参数的含义和参数之间的物理关系,以此开展仿真实验才具有针对性,而不能笼统地给出一个仿真计算的式子,不加分析就开始进行仿真计算。二是仿真实验模型的有效性。仿真实验模型是仿真实验系统的一种抽象,与实验系统和内容结合紧密,学生应从掌握仿真系统原理的基础上,建立有效的、可计算的仿真实验模型,以便开展仿真实验教学活动。三是仿真实验过程的完整性。仿真实验过程包括系统建模、仿真建模和仿真实验等过程。从仿真实验对象或系统入手,对仿真实验目的,建立仿真实验系统的数学模型,利用掌握的仿真软件或熟知的仿真实验环境,将数学模型转换成仿真计算模型,开展仿真实验,最后对仿真实验与仿真结果进行处理分析。四是仿真实验环境的可操作性。仿真实验依赖于仿真环境与仿真软件,不同的系统、不同的仿真模型,需要在不同的仿真环境下进行。仿真实验环境与仿真软件,有通用计算机程序设计语言,如C++、VB等;有数学计算能力较强应用软件,如Matlab;有针对离散事件系统仿真软件,如GPSS。还有针对不同领域的专业性仿真软件,如流体工程仿真计算软件Fluent,机械设计与虚拟样机仿真软件SolidWorks、Pro/E和UG等。因此,仿真实验的开展应根据仿真实验对象,仿真实验目的和要求,选择正确的仿真实验环境和仿真软件。
2仿真技术实验课教学体系建设
仿真技术实验课程教学改革涉及教学内容,教学体系、教学方法等多个方面。在教学内容上,应紧密配合仿真技术课堂教学要求,合理安排仿真实验项目。如在连续系统仿真方面,应针对仿真对象的微分方程、传递函数、状态空间和结构图等不同模型开展仿真实验,以了解不同模型表示方法的仿真技术。在仿真实验教学体系方面,要结合相关专业对不同仿真技术的要求,有针对性地选择仿真对象。即从建模表示、模型处理、仿真算法设计、仿真结果分析等方面,设置仿真实验案例。在实验教学方法方面,要加强仿真实验前学生的实验准备,以及熟悉仿真实验环境、做好仿真实验过程记录、仿真实验结果处理和分析等方面的工作。
2.1仿真实验课程体系建设
计算机仿真技术属于一门应用类型的课程,课程涉及大量的数学知识,理论性强,同时还蕴含着大量的工程性知识。因此,该门功课的建设与改革要突出工程性和应用性,要注重理论与实际的结合。作为一门实验课程教学体系的建设,主要涉及该门课程的教学目标、教学内容、教学管理与考评、教学过程实施等多个方面。另一方面,计算机仿真实验主要是在计算机上完成,在教学体系建设方面,还要注重学生计算机应用能力和软件编程能力的培养。
(1)实验课程教学目标计算机仿真技术课程的设置目的,是使学员掌握计算机仿真的有关概念、原理和方法,学会利用计算机仿真技术,针对各自研究方向与领域,培养学生开展系统分析、系统设计、系统运用的能力,以及能独立开展实验研究,解决科学研究和工程应用领域中出现的问题。培养学生的计算机仿真思维,提高学生使用计算机仿真理论和技术从事科学研究的能力。
(2)实验课程教学内容计算机仿真技术课程涉及的领域较为广泛,从仿真技术体系来看,课程内容主要包括相似理论、建模理论、建模方法、仿真算法、仿真语言、仿真工具,仿真实验、仿真数据处理与仿真VV&A等。从仿真知识体系来看,课程除涉及大量基础数学知识外,还涉及系统、模型与仿真的概念、方法及分类,连续系统建模与仿真方法,离散事件系统建模与仿真,分布式系统仿真、面向对象建模与仿真技术,虚拟现实技术与仿真等。这些都为如何确定仿真实验内容提出了挑战。为此实验课程内容安排上,我们提出了单项仿真实验与综合仿真实验的解决思路,围绕能力培养选择实验课程内容。通过单项仿真实验让学生掌握重要的知识点,通过综合仿真实验让学生掌握仿真技术的系统知识和仿真技术综合运用能力。其中,单项实验内容包括:系统建模实验,仿真工具运用实验,仿真系统运行实验,仿真数据处理与可信度评估实验等。综合仿真实验主要包括连续系统仿真实验,离散事件系统仿真实验,先进系统仿真实验,虚拟现实仿真实验等。
(3)实验组织实施与管理仿真实验教学过程的组织实施与管理,既要遵循实验课程教学规律,又要突出实验课实践能力和创新能力的培养。在给学生讲解熟悉实验环境、理解仿真对象和仿真目标的基础上,让学生参与实验前准备工作,参与实验方案与计划的制定。根据仿真实验特点,由学生独立或与实验小组完成整个仿真实验过程,重视实验过程中出现问题的分析与解释。让学生在完成实验的同时,还要对实验过程进行总结,提交仿真实验后的体会等。在实验安排方面,加强与相关课程内容的同步结合。在实验学时方面,突出课堂实验与课后拓展实验相结合,即单项仿真实验可在较短的时间内完成,主要安排在教学课程的学时内。对综合性仿真实验采用开放式实验,在制定完实验方案和计划后,可让学生灵活安排时间去完成实验。在实验课程的考核管理是实验过程也是教学过程的重要一环,应加强实验课程的过程考核,通过考核方式的改革,督促学生自觉开展实验活动,达到开设仿真实验课的目的。考核成绩可以按学生的仿真实验准备情况,实验完成质量,实验过程表现与实验报告质量等内容进行综合评定。
2.2实验课教学方法改革
实验教学既是教学活动,又是实践活动。要突出学生的能力培养,也要突出思维能力和科学精神的培养。实验课教学可以采用任务驱动、过程开发的教学模式进行,即在明确仿真实验任务的基础上,由学生自己制定仿真实验任务的计划和方法,编写如何做好仿真实验的准备工作条目,提出每项仿真实验的思路和注意事项,并将这些内容作为仿真实验课成绩的一部分。在这种教学模式下,还要注重以下三方面的工作。
(1)重视仿真实验准备工作仿真实验准备工作是开展仿真实验的前提。仿真实验准备工作包括仿真实验对象的认识和理解,仿真实验目的,制定实验工作步骤以及熟悉仿真实验环境、仿真语言和仿真工具等。要针对仿真实验的对象或系统,让学生查阅相关资料,了解对象和系统的特性,为下一步模型的建立奠定基础,同时,作好仿真实验前的数据收集与准备工作。
(2)强化仿真实验建模分析模型是研究对象或系统的抽象,也是仿真实验的基础。仿真模型的建立是按照一定的目的对所要研究的对象或系统进行抽象的过程。没有正确抽象和描述的仿真模型,就无法开展正确的仿真实验。对于连续系统或离散事件系统仿真建模来说,通常需要根据对象的物理特性,变量特征和仿真实验的目的等开展系统实验建模分析。模型分析主要包括模型的使用对象,模型假设条件,模型内部要素的作用机理,模型简化,模型的表示方式,以及输出结果形式等。建模分析不仅能锻炼和提高学生面向问题的解决能力,同时还可以培养学生逻辑推理能力和科学的思维方式。
(3)突出仿真实验技术应用仿真实验技术主要包括仿真实验设计,仿真算法设计,仿真实验数据处理与分析等。这些仿真技术的应用对提高学生的创新能力、实践能力和探索热情有着重要作用。仿真实验设计主要是制定仿真实验方案,包括编写实验目的,实验步骤,实验初始条件设定等。仿真实验算法设计是一项具有挑战性和创新性的工作,在这一方面要充分让学生去阅读相关文献,为仿真实验设计高效、正确的仿真算法。同时,在算法设计时还要考虑到仿真实验环境,仿真实验环境包括仿真所用的软件和硬件等。在此教师主要给学生以引导和提示,让学生熟悉相关的实验环境,摸索和掌握各种实验工具的应用。在此基础上,再让学生编写仿真实验程序、设计计算步长等相关仿真计算工作。仿真实验数据处理与分析是仿真实验的重要组成部分,让学生掌握常用的数理统计的方法进行实验数据处理与分析。同时,还要通过仿真实验,教会学生对仿真对象变化规律如何做出合理的估计和判断的方法,以达到实验的目的。
3仿真技术实验课教学案例
以连续系统仿真为例,对起重机吊运系统特性开展研究。利用起重机吊运系统仿真实验,进一步阐明仿真技术实验课程教学方法的运用。
3.1仿真实验前准备
在实验准备阶段,首先要认识仿真对象,弄清仿真对象的系统组成,即系统是有哪些实体对象构成的,系统中各个实体的参数属性,系统内部实体之间的作用机制等。在本案例中系统由起重机小车、钢丝绳和吊运的货物构成。其次,是要明确仿真实验的目的,即起重机小车的移动速度、吊绳长度和货物质量等相关参数,对吊运时货物摆角的影响。三是系统抽象,对系统中无关的因素进行简化,如忽略吊运时吊绳长度变化、风速和前后摇摆等影响,以降低系统建模的复杂性。四是收集实验所需数据,为系统建模做好准备,如货物的质量、吊绳长度等。
3.2实验模型建立
根据上述准备工作,利用运动学和动力学的相关知识,结合仿真目的建立仿真实验对象的数学模型。在建立模型时,首先考虑模型的初始状态,给出了初始条件下的参数和方程。其次,考虑货物吊运时的摆动,即在某一摆角下的系统状态,以此建立该状态下货物吊运摆动角度与货物质量、吊绳长度和吊运速度之间的计算关系。这样就为下一步的计算机的仿真计算奠定了基础。建立的起重机吊运货物时的数学模型。
3.3仿真实验
根据上述的实验模型,开展仿真计算。仿真计算可以采用通用程序设计语言,如C语言,也可采用数值计算和科学分析软件Matlab来完成。对于Matlab软件来说,即可采用M文件编程方式,也可利用SimLink方式进行交互式仿真。因此,在这一阶段要鼓励学生积极动手,独立思维,利用不同状态下的参数计算开展系统的仿真实验。
3.4仿真实验结果分析
仿真实验结果分析就是对仿真实验计算的数据进行综合分析,获取系统的相关信息和实验结论,达到仿真实验分析的目的。在计算结果分析时,要让学生观察多组输入输出数据对系统的影响,来进一步认识系统。如在吊运过程中,通过修改吊运货物的质量,吊绳的长度和水平运行速度,来计算和观察吊运摆角的变化,以此来达到认识起重机吊运系统的性能和变化规律。
4结束语
篇9
[关键词]辅助设计;风螺旋线;Graham;时间复杂度
中图分类号:V323;TP311.11 文献标识码:A 文章编号:1009-914X(2017)22-0360-03
1 引言
飞行程序设计工作中,计算机辅助设计随着计算机科学和编程算法的发展已经广泛应用,主要集中在对保护区中障碍物判断以及保护区划设等方面。目前区域结构较为简单的进近程序和简化的离场程序都已经有了较为完整的辅助设计系统[1],开发方法虽然不同,但难度集中在保护区结构的准确数学描述,因此造成了编程时没有可以保证准确性的算法结构。飞行程序设计保护区的构型中以风螺旋线的位置特别且要求最严格,过去解决手段主要是直接调用编程语言相关函数[2]或者通过单点迭代利用直线拟合曲线进而以点对点关系构造相关区域[3],这些方法可以在一定程度上解决飞行程序设计工作中风螺旋线与其他图元之间的结构问题,不足在于由于需要调用特殊的函数无法在不同的开发环境中广泛使用,当某一个编程方法在飞行程序设计软件的开发功能上显得不足需要其他接口加入时,此类实现保护区划设的方法则不具备通用性。因此,建立合适的数学模型,从算法结构的角度解决飞行程序设计保护区中风螺旋线与多种图元相对关系是有必要实现的。
2 相关飞行程序
风螺旋线表示航空器转弯时每转过一定角度受到内风的影响形成的转弯偏移,图1所示为航空器绕中心圆点飞行90°生成的风螺旋线(wind spiral),在过去的手工绘图中通常以若干正圆为轮廓线,通过各轮廓间的拟合得到保守的近似覆盖最大范围的风螺旋线。近年来借鉴了机械,建筑领域中计算机制图“阿基米德螺旋线”的概念[4],遵循公式(1-1)可以将风螺旋线这样的极坐标曲线用极小步长生成。
根据民航飞行程序设计工作的标准规范DOC8168,基线转弯和直角程序中的保护区是在标称航迹的基础上,由相对的位置关系在一定的区域绘制转弯风螺旋线,再由风螺旋线构成的保护区边界区域生成包络线确保飞行保护区的安全性最高。图2为基线转弯保护区,图3(a)(b)为直角程序的模板及保护区生成过程。
这两种程序都是航空器做转弯机动时使用的飞行程序,因此存在大量转弯时需要确定的风螺旋线的边界,手工绘图中为了保证人工操作的误差不影响安全,采用圆近似替代风螺旋线的简易画法,虽然保守的保证了航空器的飞行安全但是无形中扩大了保护区范围造成一定的空域浪费。
3 算法设计
为了在空间中构造准确的飞行程序保护区边界,必须建立非描述性的边界曲线模型,利用地理坐标的定位实现对已知的程序航迹计算数学模型可以很好的解决航迹的建模[5],但对随着参数变化位置不确定的保护区边界,需要借鉴计算几何学的方法寻找各结构间的关系。要引入计算几何算法首先要引入点集的概念[6]。
3.1 二维空间的几何关系
在二维空间中,任意多边形P有N个顶点,这些顶点构成集合,称为顶点序列。这些点按照出现顺序排列为1,2…n,每一个顶点序列中的点均可用表示该点对应坐标。根据基线转弯程序与直角程序设计的特点,实现包络线是程序的关键。在几何学中,曲线族的包络线,是跟该曲线族的每条线都有至少一点相切的一条曲线。假设每条曲线为,设表示曲线与包络线相切的点,包络线为,要求出包络线转化为求出。
大的保o余度而又不需要为了切点的准确改用简易画法绘制。
算法设计过程及简图如下:
①对所有点计算坐标,选取值最小点,若存在多个相等的点,选取最小的点,以此选出最下方(或左下)点作为基准点
②以水平轴方向为基准,逆时针方向,按照两点连接的线段与基准轴夹角的增大逐个扫描点,对于同样夹角下,只加入离基准点最远点的坐标,以此顺序形成点集
③先连接基准点与所有点中夹角最小距离最近点得到初始线段,以与点集中按顺序的下一点连接得另一线段
④按照平面坐标的计算方法,运算向量与向量的叉积,根据3.2节的向量关系,判断与的方向关系(图5(a))
⑤此处建立的坐标系是以最左下的点为基准,逆时针方向排列的点集,当其中一个向量与下一向量之间的关系为顺时针时,说明该处出现凹边,移除并从点集中去除点,进一步缩小点集规模(图5(b))
⑥只需要将中已保存的点按顺序执行回到基准点,剩余在点集中的点即为满足凸包的点集
Graham算法下首先对所有平面内的点通过极角与距离的关系做一次淘汰,剩余的点理论上是一个包围的点集,若是以1°为步长,大约360个点,大大减少了需要搜索的点集规模。整个算法运行中只有①步骤遍历所有点,且只以基准点一次遍历时间复杂度为,步骤⑤时间复杂度为相比几何关系下确定的要小的多,并且随着风螺旋线数量的增多优势越发显著。
4 开发实例
前文中算法设计主要结合了平面向量与图元分布,AutoCAD是当前较为主流的平面设计软件,其内嵌的ALisp/VLisp语言采用面向过程的设计模式,表处理的语言结构编写快捷[7],因此采用A/VLisp语言编译插件实现保护区绘制的主体功能作为算法验证。
直角程序保护区的初始化参数输入界面设计如图6所示。
最终实现的基线转弯与直角程序保护区自动辅助设计程序可以根据基本飞行参数自行计算边界点所在位置,使用Graham算法一次性生成多边形边界多线段,直角程序保护区取2000个点运行时间只要0.4秒而基线转弯程序保护区则是瞬间完成,图7图8是在程序中加入断点分步执行保护区生成程序的效果。
5 结论
本次程序开发中,对描述性的飞行程序保护区边界用数学语言重新描述,并且根据平面空间的几何特点,引入Graham算法在缩小空间有效点集规模的同时迅速找到边界特征。在AutoCAD平台下以ALisp/VLisp语言开发软件核心部分同时以OpenDCL设计友好简洁界面,成功实现了保护区的自动绘制,证明了算法思路符合通用特性,为飞行程序保护区自动化实现提供了精确模型。
参考文献
[1] 沈笑云,赵瑞,焦卫东,等.基于 World Wind 的RNP飞行程序三维可视化仿真[J].系统仿真学报,2012, 24(010):2131-2135.
[2] 吴洁明,符晓君.计算机辅助实现航空器基线转弯程序设计的方法[J]. 航空计算技术,2006,36(4): 17-20.
[3] 卢敏.基于GIS的飞行程序设计[J].2006.
[4] 张湘,郭坤州,夏宏玉,等.基于SolidWorks的渐开线齿轮建模方法研究[J].现代机械,2008 (4):37-39.
[5] 李夏.仪表飞行程序三维呈现系统设计的初步研究[D][D].中国民用航空飞行学院,2011.
篇10
[关键词] 复杂金融产品 设计方法 仿真技术
一、复杂非实体产品的定义
根据现代营销学之父——菲利普·科特勒(philip kotler)的观点,产品是市场上任何可以让人注意、获取、使用、或能够满足某种消费需求和欲望的东西。它既包括具有物质形态的产品实体,又包括非物质形态的利益。现代市场营销理论认为,产品可分成有形产品(实体产品)和无形产品(非实体产品)两类。
现代产品具有客户需求复杂、产品组成复杂、产品技术复杂、制造过程复杂、项目管理复杂的特性,可称为复杂产品。
现代金融服务业如保险、证券和银行等相关企业提供的产品一般也具有组成复杂、功能复杂和行为复杂的特性,但以服务契约形式而非实体形式,可以定义为复杂非实体产品。
产品设计的最终目标是面对客户的选择性市场需求,将基于市场细分的需求概念转化为高质量或低风险的产品,最大限度地满足客户持续变化的需求。复杂实体产品的设计要求产品是在满足功能需求的基础上,要求以最快的上市时间、最好的质量、最低的成本、最好的服务、产品创新和最佳的环境保护。
金融服务产品是非实体产品,其最重要的问题是产品的风险性。与实体产品的质量类似,控制产品的风险也就控制了产品的质量。复杂金融产品的特性主要表现在其风险的复杂性,所以其设计和仿真方法也就具有复杂性。
二、金融产品设计涉及的技术和设计过程
1.金融产品设计涉及的技术。在实体产品的设计中,提出了生命周期的概念,其目的是研究产品的市场战略和设计,涉及的内容涵盖市场分析和设计开发。包含从产品的需求分析、概要设计、详细设计、制造、销售、售后服务、直到产品报废回收的全过程。软件产品也不例外,软件生存周期涉及的内容也包括从问题定义、可行性研究、需求分析、软件设计(概要设计和详细设计)、编码、调试和维护。
与复杂实体产品类似,复杂非实体产品的生命周期涵盖产品的需求分析、概要设计、详细设计、售前服务、销售、售后服务和产品终止等阶段和相应指标。其管理技术也是为满足产品上述指标发展起来的。
2.设计过程。金融业是百业之首,金融领域的产品涉及到银行、证券和保险等方面。需求分析是复杂金融产品设计的第一步。
(1)需求分析阶段。需求分析阶段要解决的问题,是让用户和金融机构共同明确将要开发的是一个什么样的系统,其过程包括:
①详细听取客户的反映,确定产品需求,是需求获取的第一步;
②市场研究,包括市场规模调研,确定市场需求并听取分销渠道的反映;
③相关产品跟踪调查,确定产品的竞争力因素,是需求提炼的过程。
(2)概要设计阶段。需求分析阶段以后,进行产品的概要设计。这一阶段有两项关键活动,即预测产品的风险和全面可行性分析。
风险来自两个方面。首先是金融产品和服务本身所包含的风险,其次为控制和转移风险的方法。前者是从金融产品(服务)的风险需要出发,从产品交易双方进行分析。后者是分析如何控制、转移风险。
(3)详细设计阶段。详细设计是制定完整详细项目计划、细化产品原型、定义产品详细特征、产品对系统和管理的影响以及培训方案。
详细设计的主要内容是产品定价。产品定价是概要设计的继续,包括定价原则;定价前提的假设条件和经营管理成本对产品成本的定价三个方面。
(4)销售和售后服务阶段。这一阶段的主要工作是业务的风险评估和控制。相当于软件生命周期中的维护阶段,其目的是使金融产品在整个生存周期内保证满足用户的需求和延长产品使用寿命。
这一阶段中的业务监管过程是基于事后的经验。将既成事件作为历史或经验数据,建立监管模型,或对原有的模型做出调整,从而达到监管的目的。
3.复杂金融产品设计的仿真技术。目前,仿真科学与技术在经历了上个世纪后50年的飞速发展后,已成功地应用于航空航天、信息、生物、材料、能源、先进制造等高新技术和工业、农业、商业、教育、军事、交通、经济、社会、医学、生命、娱乐、生活服务等众多领域。由于计算机技术的高速发展,科学计算和计算机仿真已经成为科学研究中除理论研究和科学实验以外的第三种方法。现在,建模与仿真技术和高性能计算技术相结合,正成为继理论研究和实验研究之后的第三种认识和改造客观世界的重要方法。仿真技术毫无例外地可用于复杂金融产品设计中。
(1)建模:仿真的意义在于模型的有效性,因此用仿真的方法来研究复杂系统,首要问题是对研究的目标对象建立合理的仿真模型,即建模,它是仿真中最基本的工作,数学模型的建立必须有数学知识的支持。将研究对象符号化、公式化,形成理想化的数学方程式或具体的计算公式,然后在数学语言的规范内进行逻辑推导、运算、演算和量的分析,形成数学模型,从而对研究对象形成数学解释和预测。其次,各类仿真算法也需要数学方法作为基础。
因此,仿真科学与技术的进一步发展离不开数学模型和数学工具,特别是复杂产品的仿真,更依赖于petri网络,神经网络,混沌理论,模糊理论等新的数学理论。随着数学的发展,能够更好地为仿真所用,强有力支持仿真科学与技术。
模型的建立还依赖于丰富的数据资源,数据仓库(data warehouse,dw)的方法就为建模和仿真提供了一个有效的环境。我国金融企业经过10多年的信息化建设,建立并积累了大量的数据资源,基于数据仓库的建模和仿真是一个个值得注意的研究领域。
(2)选择合理的仿真算法:犹如算法是计算机程序设计的核心一样,仿真算法同样是仿真过程的关键。以金融领域为例,现代金融工程的技术内容主要是基于信息系统的分析和综合对象的建模和仿真分析,其方法在股票、期权、外汇和期货等领域得到了广泛的应用。例如,对非实体产品具有风险的复杂不确定性的特点,用确定性方法给出近似解十分困难。擅长对随机问题进行仿真的montecarlo方法,就是解决这类问题的一种特殊数值方法
(3)仿真优化:分析金融产品的数学模型的性质可知,在同一个问题中经常会出现非线性、不确定性和最优化问题。因此,优化的核心问题也是最大限度地降低产品的风险,优化风险结构,达到控制风险的目的。近年来,随着计算机技术的发展,涌现了各类仿真优化理论和算法。例如,模拟自然界进化过程的进化算法、遗传算法和蚁群优化算法都已成为解决复杂优化问题的重要方法。
参考文献:
- 上一篇:海外企业并购案例
- 下一篇:骨盆肌修复的基本手法