运筹学论文-软件中运筹学教学实验研究(Lingo)

摘要:运筹学是一门实践性很强的学科,为培养应用型、创新型人才,必须开展并重视运筹学实验教学。结合多年运筹学实验教学经验,对如何利用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软件的进一步深入应用。这部分实验以设计型、综合型实验为主。实验课以学生自己动手实践为主,教师在旁辅助指导。教师给出具体问题,由学生自己分析问题,收集所需数据,建立相应数学模型,利用软件求解模型,包括确定求解模型的数学方法、程序设计、调试运行和模型检验等。该过程旨在锻炼学生的系统性思维,培养其团队意识,提高他们分析和解决实际问题的综合能力。


 

更多