Lingo软件在运筹学实践教学中的应用
2019-09-06丁玉珍
丁玉珍
(广州工商学院,广东广州 528138)
运筹学是一门新兴交叉学科,起源于20 世纪三四十年代,它主要研究如何最大限度地利用有限的资源,实现总体目标的最大化[1]。
运筹学是多学科交叉的应用科学,具有理论与实践相结合的特征。因此,运筹学课程需要用到定量化分析方法或者定量与定性相结合的方法来统筹安排有限资源,需要对问题进行分析、根据分析建立模型并采用相应的算法对模型进行求解,由此得到最优的决策。但是,在运筹学课程教学过程中,老师们一般重视理论教学而轻实践教学,因此很多学生都将运筹学认为是一门数学课程。在还没有学习之前就产生了畏惧心理,失去了学习兴趣[2]。甚至,很所学生学完运筹学之后,只留下了“运筹学理论高深、具体算法不能实现”的印象,完全没有认识到运筹学在实际中的重要作用,在生活和工作中遇到问题也很难想到应用学到的运筹学知识来处理。
因此,为了提高运筹学课程的教学效果,我们在课程教学中引入了案例教学,并采用Lingo软件来进行模型求解[3],从而为物流管理专业学生打造理论结合实践的平台,帮助他们学会将运筹学应用于物流决策的实践中,培养物流管理专业学生学习运筹学的兴趣,达到解决运筹学教学过程中亟待解决的理论与实践相脱离的问题。
1 Lingo简介及实际应用
Lingo(Linear Interactive and General Optimizer)是由Lindo 系统公司开发的,目前最为流行的最优化软件之一。它可以求解线性规划问题、运输问题、指派问题、整数规划问题、非线性规划问题、图与网络最优化问题和排队论模型中的最优化问题等等[4]。
下面我们选用运筹学教材[5]第三章运输问题和指派问题中的一个运输问题例子来说明Lingo是如何对问题进行求解并对结果进行解释的。
例[5]假设某种产品有A1,A2,A3 共3 个生产厂商,联合供应B1,B2,B3,B4 共四个销地,其供应量、需求量和单位产品的运输成本见表1,试求一调运方案。
表1 运输成本表
产销平衡问题,用Lingo编程,内容如图1 所示。
图1 三个产地四个销地的运输问题lingo 模型
点击运行,求解结果如图2 所示。
求解报告给出了运输问题的全局最优解以及最优目标函数值85;还给出了所有约束条件的松弛变量和对偶价格。如果是应用表上作业法进行求解该题,要先求出初始调运方案再计算检验数进行比回路的调整,最终得到全局最优解。计算量大,计算过程繁杂。一般情况下,在讲解运输问题的时候,会先介绍表上作业法,在学生掌握了表上作业发以后,应用Lingo在进行实践教学。这样就把理论与实践结合起来,也使学生从繁杂的计算中解脱出来,最主要的是能让学生体验运筹学在实际中的应用,让学生对运筹学有一个新的认知。
2 基于Lingo的运筹学实践教学改革
为了提高运筹学课程的教学效果,在教学过程中引入案例并采用Lingo对模型进行求解。基于Lingo的运筹学实践教学改革,主要从以下几个方面开展。
2.1 理论教学和实践教学相结合
运筹学所有章节都涉及模型和求解算法,因此在教学中也会涉及计算,若借助于Lingo便可以快速求解。在课堂内老师教学生运筹学理论知识并如何使用Lingo软件对模型进行求解。而运筹学是一门实践性很强的学科,老师在进行理论教学的同时进行实践,实践教学就需要学生到机房进行实际运用Lingo软件进行模型的求解和分析。也可以给学生一些实际案例让学生分组进行练习。实际案例一般规模大,计算量也大,在解决实际案例的时候也可以检验学生掌握理论知识和软件的情况。
图2 求解报告
2.2 鼓励学生参加竞赛活动
运筹学的知识应用广泛,像数学竞赛和物流大赛中的很多问题都会用用运筹学的知识。因此,应该鼓励学生多参加竞赛活动,一是提高学生解决实际问题的能力,二是培养学生的团队合作能力。