谈谈《运筹学》课程中的线性规划教学
2016-03-24李琼
李琼
【摘要】《运筹学》课程是一门应用型很强的课程,线性规划是一个基础、重要内容,从矩阵的初等变换的角度来解释并作计算, 有助于深入理解单纯形法的实质。很多教材重视理论知识没提到软件的实现。我们在教学时补上软件的实现再讲解理论。 实践表明这种做法可以提高学生学习的兴趣,降低学习难度,提高学习的效率。
【关键词】线性规划 矩阵变换
【基金项目】三峡大学教研项目:大学数学研究性学习和创新能力培养的研究。
【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2016)02-0256-01
《运筹学》课程是一门应用型很强的课程,很多专业的同学需要学习这门课程。研究运筹学教学的文章也不少,主要是从大的方面介绍研究《运筹学》课程的教学现状存在的问题及一些改进的方法。关于研究具体问题的文献还是很少。线性规划是一个基础、重要内容,由于课时甚少有些学校有些专业只有32课时,线性规划甚至是运筹学课程的主要学习内容,线性规划,对偶理论与线性规划的灵敏度分析,运输问题,整数线性规划,线性目标规划都涉及到线性规划。我们有必要研究线性规划的教学,单纯性法求解线性规划。
对于单纯性法求解线性规划,有些教材花很大篇幅先讲高斯消元法引出单纯性算法,再用矩阵初等变换的角度来解释单纯性法,为后面的灵敏度分析提供理论基础。
笔者在教学中采用先示范如何用lingo\matlab软件求解线性规划,再讲解单纯性法的理论基础。单纯性法的实质就是矩阵的初等变换。由于学生在学习这门课程之前学过线性代数,学生具备矩阵的初等变换的知识,我们可以直接从矩阵的初等变换的角度来解释并作计算,可以直接写成矩阵的形式做矩阵的初等变换,也可采用现行教材通用的形式写出单纯性表,不必在每个单纯性表的左边写出基变量的系数,但依然是进行矩阵的初等变换。每个单纯性表对应一个迭代点即一个基可行解,不同的基对应不同的可行解。对于标准形式的线性规划可以得出单纯性表,当把基进行初等行变换得到单位矩阵,而且参照主元素行把目标函数基变量的系数变为0,即主元素行的几倍加到目标函数的系数上使得目标函数基变量的系数变为0。即得下一个单纯形表。因此我们可以总结单纯形表的共同特征,一 每个单纯性表都有几列构成单位矩阵;二 单位矩阵对应的变量是基变量;三单位矩阵下的检验数是0,不管是直接的单纯形法还是引入人工变量的两阶段法、大m法,甚至对偶单纯形法的单纯性表都有上述共同特征。注意到这些共同特征有助于我们检验计算的准确性,利用这些特征我们可以很快教会学生用单纯形法计算线性规划。也有助于深入理解单纯形法的实质。
对于线性规划灵敏度分析的知识需要很好的线性代数知识,需要彻彻底底弄懂矩阵的初等变换,实践中笔者发现很多学生很难理解这部分内容。而这部分内容也是考研中的重要内容。如果直接进行严格的数学推理可能会使部分同学觉得抽象难懂,一头雾水。很多高校的线性代数课程课时很少,比如笔者所在的学校只有32课时,在如此短的课时间内很多同学对于矩阵的初等变换一知半解,囫囵吞枣。
我们可采用先会用lingo软件分析,再采用严格的数学推理来分析。lingo软件分析的好处在于简单操作,不需要数学知识,输入线性规划模型后运行就会显示结果,只要能看明白显示结果的含义即可。会用软件分析后再来进行严格的数学推理,有助于理解问题的本质。现行很多教材重视理论知识没提到软件的实现。我们在教学时补上软件的实现再讲解理论。实践表明这种做法可以提高学生学习的兴趣降低学习难度提高学习的效率。
参考文献:
[1]运筹学教材编写组编.运筹学[M].清华大学出版社,2012