孙洁
摘要:运筹学是一门实践性很强的学科,为培养应用型、创新型人才,必须开展并重视运筹学实验教学。结合多年运筹学实验教学经验,对如何利用Lingo软件有效开展实验教学进行了探讨和研究,包括合理设计实验教学内容、与理论教学有机结合、改革实验考核方式、鼓励学生参与数学建模竞赛、学生科研课题等各类科技活动等。
关键词:运筹学;实验教学;Lingo软件;教学内容;实验考核
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2014)01-0082-02
1 概述
运筹学是利用分析、试验、量化的方法,研究经济管理系统中各种资源的运用、筹划与相关决策的一门应用性学科,主要研究系统最优化问题,是现代科学计算和管理学科中不可或缺的方法和工具,是抽象的数学方法和实际的应用研究之间的桥梁,且其应用不受具体行业、部门所限制。目前,大学运筹学教学包括理论教学和实验教学两部分。但在授课过程中发现,教师往往更注重理论教学,侧重基本原理和算法的讲授,强调数学公式及其推导,这对很多文科专业学生或文理兼招专业类学生而言,讲解就过于抽象,使得学生普遍认为课程较难,缺乏学习热情,与运筹学课程的教学目的背道而驰。因此,必须要重视运筹学的实验教学,通过计算机软件和有效的案例分析,讲解如何从实际问题出发分析、建立数学模型,如何通过对模型的分析和求解来解决实际问题,真正体现运筹学“源于实践,归于实践”的特色。
目前,常用的运筹学教学软件有EXCEL,LINGO,MATLAB等。相比较而言,Excel软件学生比较熟悉,操作相对简单,通过“加载宏”程序,利用其规划求解功能求解线性规划问题还是比较方便的,因此对于软件应用能力不强的学生,或者解决一些简单的规划问题,可以利用该软件方便地实行。但是,对于更多的优化问题,由于数据量大,模型复杂,利用Excel软件处理就不是很方便。MATLAB软件也可以解决线性规划、二次规划等最优化问题,但需要学生有一定的软件应用基础,在实验课时比较紧张的前提下,对没有学习过该软件的学生而言,不适合将其作为教学软件。因此,该文将基于Lingo软件探讨和研究如何改革运筹学实验教学方法、教学模式、考核方式等,以激发学生的学习兴趣,提高软件应用能力,培养实践动手能力。
2 Lingo软件介绍
Lingo软件由美国LINDO系统公司推出,它内置建模语言,可以求解线形规划、整数规划、非线性规划等各类优化模型,还可以求解一些线性、非线性方程组,功能非常强大又易用。相比较于其他软件而言,其优点在于:
1)Lingo软件基于Windows界面开发,编程语言简洁易学,学生容易掌握,可以弥补运筹学实验课时少的不足。对决策变量和约束条件较少的数学规划模型,Lingo软件的输入程序命令几乎和其数学模型的表达式相同。对相对比较复杂的数学模型,Lingo软件引入了集合和属性等建模语言,借此能够表达一系列相似的约束条件,从而可以快速方便地表达较大规模的优化问题。
2)Lingo软件的数据输入和输出非常方便,建立的模型可以通过Windows剪贴板传递数据,也可以直接从文本文件或Excel数据文件中获取资料,或将求解结果直接输出到这些数据文件中。
3)Lingo软件有9种类型的函数,包括基本运算符,一些常规的数学函数、用来定义变量取值范围的变量界定函数、方便集操作的集操作函数和集循环函数、与外部数据源联系的数据输入输出函数等,可供编写程序时引用,用法非常简单。
4)Lingo拥有一整套快速的,内建的求解器用来求解线性的,非线性的,二次约束的和整数的优化问题,计算速度快,解算能力强大,其优化工具箱要比MATLAB强大。
3 Lingo软件在实验教学中的实践
运筹学的实验教学应达到以下目标:配合课程教学,使学生掌握运筹学的基本思想和基本理论,熟练掌握常用运筹学软件和运筹学方法;通过实验让学生了解运筹学的实际应用性,通过实验将所学知识融会贯通,培养分析问题、解决问题的能力;通过设计性、综合性实验的开发,培养学生的团队意识、创新能力和知识的综合应用能力。
3.1 基于Lingo软件设计实验教学内容
一般高校运筹学课程的实验课时不多,如何很好地利用有限的课时,合理设计实验内容,让学生能熟练掌握运筹学软件,并能利用软件解决实际问题,是一个很关键的问题。结合多年运筹学实验教学经验,下面给出實验课程内容设计方案。当然,可以根据实际教学情况进行调整。
实验内容的第一层次是结合具体实验案例,循序渐进地介绍软件的应用, 以实现Lingo软件的入门。这部分实验以验证型、演示型实验为主。每次实验课中,都要有足够的时间让学生能上机实验,并布置相应地实验作业,供学生课后练习。
实验一:选择简单的数学规划模型,通过演示介绍软件的基本使用方法和基本功能,以初步掌握如何使用Lingo软件。
实验二:介绍Lingo语言的集合及属性、数据部分、初始部分、各类Lingo函数,使学生掌握如何使用Lingo软件表达求解复杂的数学规划问题。
实验三:结合实际案例介绍Lingo的灵敏度分析功能,让学生学会对实验结果进行分析,并了解当目标函数的费用系数和约束右端项发生小的变化时,最优基和最优解、最优值如何变化。
实验四:介绍Lingo与外部文件间的数据传递,让学生学会面临大规模问题时,如何实现Lingo与其它数据库软件间的交互功能。
实验内容的第二层次是在学生有了软件应用基础后,对Lingo软件的进一步深入应用。这部分实验以设计型、综合型实验为主。实验课以学生自己动手实践为主,教师在旁辅助指导。教师给出具体问题,由学生自己分析问题,收集所需数据,建立相应数学模型,利用软件求解模型,包括确定求解模型的数学方法、程序设计、调试运行和模型检验等。该过程旨在锻炼学生的系统性思维,培养其团队意识,提高他们分析和解决实际问题的综合能力。
实验五:利用Lingo软件求解对策问题。
实验六:利用Lingo软件求解多目标规划问题。
实验七:利用Lingo软件求解动态规划问题。
实验八:利用Lingo软件求解图论问题,如最短路问题、最大流问题等。
实验九:综合型实验可以让学生组队完成。学生根据自己所感兴趣的某个方面,通过对实际问题的调查研究,自由选题,解决社会经济活动中的某一个实际问题。
3.2 理论教学与上机实践相结合
运筹学解决的多是实际问题,计算量往往比较大,因此,在授课时除了讲解算法原理外,也可以通过Lingo软件演示计算过程。而且,除了讲解课本内容以外,要多结合一些实际案例进行教学,讲授应用经验、处理方法及技巧,使得课程讲解更加直观明了,同时有效提高学生的软件应用能力及分析解决问题的综合能力。
3.3 实验考核注重过程、能力评价
传统的运筹学考核方式比较单一,以期末闭卷考试为主,而且实验占比很小,使得很多学生平时上课不认真学习,对实验实践环节也不重视,这样的考核方式不能实现对学生学习过程的有效评价,容易造成学生蒙混应付。因此,必须改革课程考核方法,首先应增加实验考核比重,强化学生的应用能力。其次,注重过程评价,提高平时学习成绩在课程学习成绩中所占的比重。具体来讲,每次实验都要求提交一份完整的实验报告,每次实验报告都给出相应的成绩,后期的綜合型实验以论文的形式出现,最终的实验成绩则由实验报告成绩和论文成绩加权得到,并且在实验成绩中加大综合型实验成绩的比重,这样就可以促使学生主动完成实验任务,引导学生从应试学习向提高自身综合素质和应用能力方向转变。
3.4 鼓励学生参与各类科技活动
运筹学与数学建模结合紧密,数学建模历年的竞赛题中很多都可以借助于运筹学优化模型,如线性规划、动态规划、目标规划、动态规划、图论等知识加以解决,因此要鼓励学生积极参加数学建模竞赛,也可以鼓励学生利用所学知识参加挑战杯竞赛,或申报学校的各类学生科研课题。鼓励学生参与各类科技活动,把运筹学知识灵活应用到实际问题中,既可以让学生真切感受到Lingo软件的实用性,又能锻炼学生解决实际问题的综合能力。
4 结论
运筹学课程的教学目的是通过教学,让学生掌握运筹学的基本理论和基本方法,学会利用运筹学知识解决各类实际问题。实践证明,基于Lingo软件实现运筹学的实验教学,激发了学生的学习兴趣,增加了教学的直观性,提高了学生的软件应用能力,为学生参加全国大学生数学建模竞赛,申报科研课题等都奠定了良好地基础。
参考文献:
[1] 谢金星,薛毅.优化建模与LINDO/LINGO软件[M].北京:清华大学出版社,2005.
[2] 叶向.实用运筹学上机实验指导与解题指导(第二版)[M].北京:中国人民大学出版社,2013.
[3] 宋德昌. 对运筹学课程教学改革的几点思考[J].建材高教理论与实践,1999(4):77-79.
[4] 殷玲. 运筹学教学研究[J].文教资料,2006(3):62-63.
[5] 胡发胜,刘桂真. 国家精品课程运筹学的教学改革与实践[J].中国大学教育,2006(7):9.
[6] 张辉. 运筹学教学方法探讨[J].中国石油大学胜利学院学报,2008(3):85-86.
[7] 林亮,王远清,贾贞. 运筹学实验的瓶颈解读[J].黑龙江高教研究,2011(2):177-179.
[8] 赵清俊,陈桂兰. 运筹学实验软件在线性规划问题教学中的应用[J]. 重庆文理学院学报,2013,32(3):110-113.