APP下载

基于优化软件LINGO的运筹学案例实践教学研究

2016-03-04王广民

湖北科技学院学报 2016年12期
关键词:运筹学案例软件

王广民

(中国地质大学 经济管理学院,湖北 武汉 430074)

基于优化软件LINGO的运筹学案例实践教学研究

王广民

(中国地质大学 经济管理学院,湖北 武汉 430074)

运筹学是经济管理类本科生的一门骨干课程,但是教学过程中重理论轻实践的现象造成了学生对运筹学的学习积极性不高。因此,我们在运筹学教学中引入运筹学优化软件LINGO,不仅重视运筹学的基础理论教学,而且能够将理论知识点融入到案例中,帮助学生应用LINGO软件解决实践问题。而且课程案例报告又可以帮助学生学习如何解决实际问题,从而让学生在巩固理论知识的同时培养他们的实践能力。最终,案例实践教学改革能够提高经济管理类学生学习运筹学的兴趣,加强教学效果,达到解决运筹学教学过程中亟待解决的理论与实践相脱离的问题。

运筹学;LINGO;案例实践教学

运筹学是一门新兴交叉学科,起源于20世纪三四十年代,它主要研究人类如何运用各种资源,并进行各种筹划活动,并在了解和发展他们的基本规律后,最大化有限资源的效益,实现总体最优的目标[1]。运筹学起源于军事活动。随着社会的发展,运筹学的各分支已经应用于各种经济活动和日常生活,在各个管理领域得到了深入的发展和应用,可以辅助管理人员进行科学决策,进而实现管理的现代化。

运筹学具有理论与实践相结合特征,是多学科交叉与融合的应用科学。因此,运筹学课程具有运用定量化分析方法统筹安排有限资源的特点,因此需要进行分析、建模并求解模型等一系列过程来得到最优决策。但是,在运筹学老师重理论轻实践的教学过程中,很多学生将运筹学视为一门数学课程。因此,他们产生了畏惧心理,失去了学习兴趣。于是,不少学生学完运筹学课程后,只留下了“运筹学理论高深、具体算法不能实现”的印象,一点都没有认识到运筹学在实际中的重要作用,更加难以在生活和工作中应用运筹学来处理问题。实际上,运筹学的建模及应用实验是对运筹学课程中理论的练习,是运筹教学的有益补充。只有通过案例分析和算法的实现,学生才能更好地练习运筹学中的理论知识,巩固课程中的知识点。因此,只有通过应用案例的时间才能让学生深入领会运筹学课程中的有关模型是如何建立的,算法是如何实施的,以及结果应该如何分析。

因此,我们为了提高运筹学的教学效果,在课程教学中引入案例教学,并采用LINGO软件来进行模型求解,从而为经济管理类学生打造理论结合实践的平台,帮助他们学会将运筹学应用于经济、管理决策的实践中,培养经济管理类学生学习运筹学的兴趣,达到解决运筹学教学过程中亟待解决的理论与实践相脱离的问题。

一、优化软件的应用在运筹学教学中的必要性

运筹学是经济管理类专业的平台课程和核心课程之一,同时也是其他学科的重要基础内容之一,例如运筹学和经济学、数学、统计学、运筹学、计算机及管理学都是”管理信息系统”的学科内容所涉及到的基础课程[2]。运筹学的学习需要的先导课程有微积分、线性代数、概率论与数理统计等,这样学生对运筹学就有一种错觉,认为运筹学像数学课程一样仅仅是数学推理和证明。而且,经济管理类专业的学生大部分来自于文科生生源,数学基础相对薄弱, 在数学的学习上存在一定的困难。因此,他们在开始学习运筹学课程时候就产生了畏难情绪,片面地认为该课程是 枯燥无味的,晦涩难懂的,于是就失去了学习的积极主动性,甚至选择了放弃,而只为了应付考试[3]。

运筹学的内容非常广,主要内容有:规划论、库存论、图论、决策论、对策论、排队论等,其中规划论则包括线性规划、非线性规划、整数规划和动态规划[4]。运筹学的内容繁多,每一个分支都可以作为一门学科来进行研究,然而在我们的课时安排中,运筹学的课时则仅有48个学时,相对教学时间较少。因此,在教学中,我们只能将主要精力放在基本理论和方法的教学上,在时间上难以保证教学活动中的实践环节,势必影响运筹学的理论学习的效果[5]。后果就是,学生仅仅学习了理论,没有办法将理论应用到实践中,难以体会运筹学在经济管理中的实际应用价值,不可避免地出现了理论学不牢, 实践又不会的现象。而经济管理类专业对学生在专业培养上要求理论联系实际,这就出现了实际课程教学与专业培养要求相互矛盾的局面。

为了破解这个矛盾,我们也尝试采用案例来加深学生对理论的学习,但是实际案例规模较大,课程计算量大且繁琐。而经济管理专业的学生由于计算机编程能力不强,没有办法实现算法,更不能求解根据这些实际问题所建立的模型。这就严重影响了案例教学的效果,学生的学习兴趣也不高。运筹学软件对于编程技术要求很低,而且能够很方便地求解大规模的问题,可以成为我们进行案例教学的有力工具。于是,我们在运筹学课堂教学中引入交互式的线性和通用优化求解器(Linear Interactive and General Optimizer, LINGO)软件[6],在课堂教学中不仅讲解运筹学的理论和方法,而且结合运筹学的相关知识点对LINGO进行演示讲解,介绍该软件是如何求解运筹学模型的。这样不但使得该课程教学更加轻松、生动,而且让学生也体验了运筹学知识在实践中的应用,增加了他们学习运筹学的乐趣,从而提高了运筹学课程的上课效果。

二、运筹学软件LINGO介绍及实例分析

当前,运筹学软件有很多。美国LINDO系统公司开发的LINDO/LINGO,LINDO API 和What's the best是常用的运筹学软件。数学软件Matalab和Mathematica也是常用的运筹学软件。CPLEX,GUROBI以及XPRESS是商业的工具包,但是对于学校都是有免费的许可。另外还有开源的软件COIN-OR、LP_SOLVE和GLPK。SAS(Statistics Analysis System)是美国SAS软件研究所研制的一套大型集成应用软件系统,其中 SAS/OR(运筹学模块)可以用来进行求解运筹学问题。OFFICE软件EXCEL也具有求解运筹学问题的功能。GAMS、AIMMS、ILOG和AMPL是几种优化软件集成平台。除此之外,国内学者也开发了几款运筹学软件,例如管理运筹学软件3.0[7],运筹学软件包[8],运筹学管理科学集成软件包[9]。在所有的这些运筹学软件中,LINGO因为其特点受到广泛欢迎,例如,具有功能强大的建模语言,能够建立和编辑问题,可以读取和写入EXCEL和数据库,带有一系列完全内置的求解程序等[5]。

LINGO 可以建立和求解线性规划、非线性规划和整数规划等数学模型,具有简单的模型表示、方便的数据输入和输出选择、强大的求解器以及交互式模型或创建Turn-key应用程序等特点,主要包括Barrier、Non-linear、Global和Stochastic等四个功能模块[10]。

下面我们用一个来自运筹学教材[11]的简单运输问题来举例说明LINGO是如何建立模型以及进行模型求解的,并对求解结果进行解释。例[11]:某公司经销甲产品。它下设三个加工厂。每日的产量分别为:A1——7吨,A2——4吨,A3——9吨。该公司把这些产品分别运往四个销售点。各销售点每日销量分别为:B1——3吨,B2——6吨,B3——5吨,B4——6吨。从各个加工厂运送甲产品到每个销售点的单位运价已知,如表1所示。问该公司应如何调运甲产品,使得总运费为最少。

表1 运输问题中甲产品的单位运价和产销平衡表

这是一个产销平衡的运输问题,假设决策变量xij表示从加工厂Ai(i=1,2,3)到销售点Bj(j=1,2,3,4)的运输量,那么我们可以建立该运输问题的数学模型:

其中,Cij表示从加工厂Ai(i=1,2,3)到销售点Bj(j=1,2,3,4)的单位运价,ai(i=1,2,3)表示加工厂Ai的每日产量,bj(j=1,2,3,4)表示销售点Bj的每日销量。在运筹学教材中一般采用表上作业法来进行求解。这里我们介绍如何应用LINGO来求解该运输问题。同样的模型在LINGO中建模,如下图1所示:

图1 运输规划模型在LINGO中的建模

图2 LINGO软件的求解报告

求解报告不仅给出了应用LINGO计算得到的运输问题的全局最优解(并且在报告中详细列出了该最优解)及最优目标函数值是85;而且还给出了所有约束条件的松弛(剩余)变量和对偶价格。

以上实例尽管变量很少,但是学生应用表上作业法进行求解时,计算工作量还是比较大的。因此,我们在讲解运输问题时,首先通过手工计算来对表上作业法进行理论教学,然后在实践教学中应用LINGO软件做求解模型的工具。学生可以在学习理论的基础上,应用软件进行快速计算,从而可以复习并巩固运输问题的理论和方法。这样不仅使学生从大量的计算中解脱出来,节约时间,提高教学效果,更能让学生体验运筹学在实际中的应用,激发他们的学习兴趣,锻炼他们的实际动手能力。

三、基于LINGO的运筹学案例实践教学改革

为了提高运筹学的教学效果,我们总结了过去在运筹学教学过程中的经验和教训,在整理运筹学案例的基础上,采用运筹学软件LINGO求解案例模型,实施了基于LINGO软件的案例实践教学改革,主要包括以下几个方面。

1.课内教学与课外上机相结合

运筹学几乎所有章节都是关于数学模型及其算法。因此,课内教学也会涉及到计算,老师需要借助运筹学软件LINGO来辅助教学,不仅可以直观地演示计算的具体过程,而且可以快速求解[5]。在课内结合理论教学,老师教学生使用LINGO软件。同时,作为密切结合实践问题的一门学科,运筹学中的实践问题的规模较大,计算量也很大。因此,课外的实践学习更需要计算机软件的上机实验。老师指导学生进行上机实验练习应用运筹学软件进行数学模型的求解,实现解决实践问题的目的。

2.结合实际案例教学

为了加强课内理论教学的效果,我们收集并整理了一些实际案例,这些案例可以很好地帮助学生练习课内的知识点。在案例教学过程中,我们将学生分成小组,每组5-6人,由小组长协调,小组成员共同思考、集体讨论来完成建模以及借助优化软件LINGO进行模型求解,最后形成课程报告,并进行PPT答辩。老师则主要对过程进行监督和指导,帮助学生处理一些疑难问题,修改课程报告等,并指导他们充分发挥团队合作能力,切实提高学生理论联系实际的能力。

3.鼓励学生参加科技活动

数学建模竞赛中的许多问题会用到运筹学中的相关知识,因此我们经常鼓励学生参加各种数模竞赛,这样可以让学生在竞赛中锻炼提高他们解决实际问题的能力,切实感受LINGO软件的应用,也可以让学生检查在学习运筹学理论与方法以及LINGO软件中的不足。同时,学生在数模竞赛中的成绩也是检验运筹学教学效果的一种手段。高校中科研与教学历来是紧密联系的,教学是科研的基础,而科研又是教学的发展与提高。因此,我们还让学生参与到老师的科研项目中,培养他们的科研能力,提升他们的科研素养。

四、结语

在教学过程中,我们在课内讲授运筹学的基础理论知识,根据知识点选用合适的案例来锻炼学生的建模能力,引导学生应用LINGO软件解决运筹学中的实际问题,并用课程报告的形式来规范他们解决问题的步骤和方法,提升他们解决问题的能力。通过教学改革,我们希望能够让学生牢固掌握运筹学的基本理论和方法,让他们学会应用LINGO软件解决实际问题,为经济管理类学生提供理论和实践相结合有力工具。最终,我们希望能够提高学生学习运筹学的兴趣,培养实践能力强的应用型人才,满足社会对经济管理类专业人才的需求。

[1] 中国运筹学会. 中国运筹学发展研究报告[J]. 运筹学学报,2012, 16(3): 1~48.

[2]王家聚.“管理信息系统” 课程教学的思索[J]. 集美大学学报, 2007, 8(2): 70~73.

[3]沈炜,文伟全. 运筹学课程实验教学方法的探讨[J]. 实验室研究与探索, 2009, 28(8) : 135~137.

[4]何明华. 计算运筹学在经济管理领域的应用[D]. 成都:电子科技大学, 2007.

[5]石磊, 蔡定教. 关于运筹学课程教学改革的几点思考[J]. 广西教育学院学报, 2010, (106): 108~110.

[6]谢金星.优化建模与LINDO/LING0 软件[M].北京: 清华大学出版社, 2005.

[7]管理运筹学软件3.0 . 韩伯棠.管理运筹学[M]. 北京: 高等教育出版社, 2005.

[8]运筹学软件包. 上海理工大学,朱自强,张昆(著作权证编号:2004SR02010). 2010.http://www.crsky.com/soft/66104.html.

[9]运筹学/管理科学集成软件包. 上海理工大学, 马良.

[10]LingoUsersManual.http://www.lindo.com/downloads/PDF/LINGO.pdf.

[11]运筹学教材编写组.运筹学(第4版)[M]. 北京: 清华大学出版社, 2013.

2095-4654(2016)12-0021-04

2016-10-21

G642

A

猜你喜欢

运筹学案例软件
禅宗软件
案例4 奔跑吧,少年!
物流管理专业运筹学混合式课堂教学模式改革研究
随机变量分布及统计案例拔高卷
软件对对碰
发生在你我身边的那些治超案例
浅谈对运筹学专业教育的一些看法
一个模拟案例引发的多重思考
即时通讯软件WhatsApp
丰富多彩的Android软件