《Matlab在高校线性规划教学中的编程应用研究.docx》由会员分享,可在线阅读,更多相关《Matlab在高校线性规划教学中的编程应用研究.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Matlab在高校线性规划教学中的编程应用研究 摘要:本文探讨了在高等学校线性规划教学中引入计算机程序思想的重要性,在理论教学与软件工具之间搭起桥梁,通过Matlab编程,不但使老师在理论教学中培育学生的应用实力,而且使得学生的计算机编程实力得到了很大提高。通过奇妙的计算机程序语言与理论模型的结合,使学生的学习爱好及学习实力都大为提高,达到了理论数学思维与计算机应用实力双向丰收的教学效果。 关键词:Matlab仿真;线性规划;编程实力;教学效果 中图分类号:G421 文献标记码:A 文章编号:1674-932410-0181-04 一、引言 线性规划不但是高校理工科专业的重要课程,而且在经管类
2、的数据挖掘教学中占据着特别重要的位置,是数据建模的重要内容,是企业资源安排的核心思想之一。最优化的资源管理及开发应用是每个企业长期坚持的战略任务1-5。 但是在现行很多高等学校线性规划实际的教学中,往往是过于偏重理论教学,没有计算机应用及软件编程,忽视了计算机应用实力的培育,这使得教学过于枯燥,只进行理论教学会带来三方面的问题: 1.重理论而不重计算机应用实力。“学以致用”是教学的本质,再好的理论假如不加以应用,这样的理论发展往往受到限制,当然,一些纯抽象某些专业课程除外。很多高校的高校生都是要培育学生的应用实力,培育应用型复合型人才,特殊是强调计算机应用实力,假如线性规划教学只培育了学生的理
3、论部分,这就欠缺了应用实力特殊是计算机应用实力的培育。 2.教学的深度受到限制。线性规划问题的解一般有图解法及单纯型法两种,但图解法对于两个决策变量还好,三个以上就很难实施;而单纯型法对于四个变量以上就将耗费大量时间,特殊对于5个变量以上就显得无从下手。如今的企业资源困难,往往涉及更多的约束及决策变量,假如不借助计算机求解,这就会严峻影响教学的深度及解决实际问题的实力。 3.学生的学习爱好大为降低,导致教学效果也低。因为只有枯燥的理论课堂使学生无法进入计算机试验室进行操作程面的熬炼。课堂上没有计算机仿真的演示,现代计算机软件工具没有在课堂上体现,学生学习枯燥无爱好,这使得这门课程的学习效果大打
4、折扣。 因此,在线性规划教学中引入计算机软件工具不但有必要而且是现代教学培育目标特别重要的要求,通过Matlab这种优秀的软件来培育学生的编程实力在上述三个方面都会有重要的教学改革意义。 二、线性规划与Matlab相关问题 1.线性规划问题。线性规划问题的历史悠久、理论成熟及应用广泛。法国数学家J.B.J.傅里叶和C.瓦莱-普森分别于1832和1911年独立地提出线性规划的想法,但未引起学术界留意。1939年苏联数学家.康托罗维奇在生产组织与安排中的数学方法一书中提出线性规划问题,也未引起重视。1947年美国数学家G.B.Dantzing提出求解线性规划的单纯形法,为这门学科奠定了算法基础。1
5、947年美国数学家J.冯诺伊曼提出对偶理论,开创了线性规划的很多新的探讨领域,扩大了它的应用范围和解题实力。康托洛维奇和库伯曼斯因对资源最优安排理论的贡献而获11015年诺贝尔经济学奖。上世纪6073年头,随着计算机的应用,线性规划问题发展到了30000個约束,3000000个变量,这是理论和手工再也无法计算的。 从1964年诺贝尔奖设经济学奖后,到11012年28年间的32名获奖者中有13人从事过与线性规划有关的探讨工作,其中比较闻名的有Simon,Samullson,Leontief,Arrow,Miller等。 如今,随着大数据时代的来临及企业困难业务的开展,线性规划问题解决企业资源最优
6、配置变得异样重要,同时,为了解决困难问题,计算机的应用也显得越来越重要。 2.Matlab问题。Matlab是由美国MathWorks公司开发的一款商业软件,起初是为实现数学计算而设计的。20世纪73年头,美国新墨西哥高校计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的Matlab。11014年由Little、Moler、Steve Bangert合作成立的MathWorks公司正式把Matlab推向市场。到20世纪90年头,Matlab已成为国际限制界的标准计算软件1-5。 Matlab软件优势主要体现在编程环境、简洁易用、强处理实力、图形处理、模块
7、集合工具箱、程序接口和发布平台、应用软件开发等方面。目前已应用到数值分析、数值和符号计算、工程与科学绘图、限制系统的设计与仿真、数字图像处理技术、数字信号处理技术、通讯系统设计与仿真、财务与金融工程、管理与调度优化计算等领域。 新版的Matlab自11014年推向市场以来,历经十多年的发展和竞争,现已成为国际认可的最优化的科技应用软件。与其他高级语言相比,Matlab供应了一个人机交互的数学系统环境,可以大大节约编程时间。Matlab语法规则简洁、简单驾驭、调试便利,具有高效、简洁和直观的特性。运用者只需输入一条吩咐而不用编制大量的程序即可解决很多数字问题,正是由于Matlab的强大功能,受到
8、国内外专家学者的欢迎和重视,它已成为很多高校生探讨与学习的重要工具6-10。 三、线性规划问题的标准型及Matlab函数 1.线性规划问题的标准型。利用线性规划问题求解的步骤一般为“确定决策变量、确定目标函数、确定约束条件、确定非负约束、求解”五个步骤,为了求解,须要将之化为标准形式。线性规划问题的标准型是: maxz=cxax=b,i=1,2,mx0,j=1,2,nb0,i=1,2,m 其中z称为目标函数,x为决策变量。为了在教学中便于计算机求解,我们将式化为: maxz=fXs,t.AXBX0,B0 其中: f=c,c,c,X=x,x,x, B=b,b,b, A= 2.Matlab线性规划
9、程序。我们用linprog函数来求作为线性规划程序。Matlab对于线性规划问题的求解是求最小值问题: minz=fXs,t.AXB 运用linprog时,已经用单纯型方法进行了打包,计算机代码简洁敏捷,可以针对随意多个变量进行处理,同时,教学中要留意以下几个不同的函数: X=linprog X=linprog X=linprog X=linprog 满意AeqX=beq,是那些有等式的约束条件,LB,UB是决策变量X的下界与上界,X为初值。 因此,教学中应依据不同的问题运用不同的Matlab函数。一般状况下应用X=linprog;当既有不等式又有等式时,用函数X=linprog;当不但有等式
10、约束而且明显给出决策变量的上下界时,就用函数X=linprog;既有等式约束,又有上下界约束,同时可以视察到解的大致范围时,不妨给出一个初值而利用函数X=linprog。这样可以省下计算机大量找寻解的时间。 同时,教学中要留意的是,Matlab运用的是求解最小值的表达式,因此,假如是求解的最大值问题,必需先将求解最大值用变换化为求最小值的形式,很多求解错误就是没有留意到这一点。 四、Matlab求解线性规划问题的仿真试验 例子 最大利润问题 某企业安排生产、两种产品。这两种产品都要分别在A、B、C、D四种不同设备上加工。生产每件产品需占用各设备分别为2、1、4、0h,生产每件产品,需占用各设备
11、分别为2、2、0、4h。已知各设备安排期内用于生产这两种产品的实力分别为12、8、16、12h,又知每生产一件产品企业能获得2元利润,每生产一件产品企业能获得3元利润,问企业应支配生产两种产品各多少件,使总的利润收入为最大。 问题分析: 设分别用x,x分别表示、两种产品在安排期内的产量,因为设备A在安排期内的可用时间为12h,不允许超,于是有: 2x+x12 同样的对设备B,C,D有: x+2x8 4x16 4x12 企业的目标是在各种设备实力允许的条件下,利润达到最大,即有: maxz=2x+3x 因此,这个问题对于Matlab要化为求最小值问题,这样,该问题化为: minz=-z=-2x-
12、3x 约束条件是: 2x+x12x+2x84x+0x160x+4x12 可见,这个问题明显应当用函数X=linprog,这样,其Matlab程序为: f=-2,-3; A=2,2;1,2;4,0;0,4; B=12,8,16,12 X=linprog; 经过运行,则有: Optimization terminated. x= 4.0000 2.0000 即当X=,即当x=4,x=2时,总的利润收入为最大,最大利润为z=2x+3x=14元。 假如在解题中没有留意将最大值问题化为最小值问题而干脆用如下程序: f=2,3 A=2,2;1,2;4,0;0,4; B=12,8,16,12 X=linpr
13、og 则会出现以下错误信息并得到错误结果: Exiting:One or more of the residuals,duality gap,or total relative error has grown 101000 times greater than its minimum value so far:the dual appears to be infeasible .,。 x=1.0e+024* 意思是:一个或多个残差、二元间隙或总相对误差到目前为止已经增长了101000倍以上:对偶好像是不行行的。并得到了上述错误结果。 另外,假如将式化为: 2x+x12x+2x80x40x3 则
14、反而没有linprog的函数可以利用。计算无法进行下去。因此,正确的方法是依据linprog函数化为可以解出的函数模型,才会有真正的结果。 五、结论 线性规划是高等学校教学中比较抽象的部分,本文论述了在高等学校线性规划教学中引入计算机程序思想的重要性,在理论教学与软件工具之间搭起桥梁,通过Matlab编程,不但使老师在理论教学中培育学生的应用实力,而且使得学生的计算机编程实力得到了很大提高。通过奇妙的计算机程序语言与理论模型的结合,使学生的学习爱好及学习实力都大为提高,达到了理论数学思维与计算机应用实力双向丰收的教学效果。 参考文献: 1聂建辉.Matlab与科学计算课程教学方法改革J.学周刊
15、,2022,:5-6. 2蒋玲玲.ASP和MATLAB混合编程实现线性规划模型求解J.信息与电脑:理论版,2022,:82-83. 3袁明珠.Matlab遗传算法工具箱在约束非线性惩处函数中的应用J.软件工程,2022,:37-39. 4孙建英.MATLAB平台下运筹学模型的仿真试验J.沈阳高校学报:自然科学版,2022,:337-339. 5揭逸飞.运用MATLAB软件求解中学数学中的线性和非线性规划问题J.科技视界,2022,:164. 6尚飞.Matlab在线性规划中的应用J.中华建设,2022,:90-93. 7张雪峰.MATLAB仿真软件在线性代数课程中的应用探讨J.曲阜师范高校学报
16、:自然科学版,2022,:42-46+50. 8李林漢,韩祝华.基于matlab的线性规划教学探讨J.价值工程,2022,:195-1101. 9刘森,刘琳.Matlab与Excel联合求解堤防工程土料场规划的线性规划模型J.黑龙江水利科技,2022,:1-5. 10蒋春迪,张韬.表上作业法和Matlab求解土方调配方案的比较J.价值工程,2022,:110-113. 第10页 共10页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页第 10 页 共 10 页