LINGO软件教学

2024-08-22

LINGO软件教学(精选七篇)

LINGO软件教学 篇1

目前, 常用的运筹学软件有Excel, Lingo, Matlab等。相比较而言, Excel软件学生较熟悉, 操作简单, 利用其规划求解功能求解线性规划问题比较方便, 因此对于软件应用能力不强的学生, 较简单的规划问题可以利用该软件。然而, 很多实际的优化问题, 数据量大、模型复杂, 利用该软件处理并不方便。Matlab也可以求解优化问题, 但需要学生对该软件的使用较熟悉, 在课时紧张的情况下, 对没有学习过该软件的学生而言, 不适合将其作为教学软件。本文将结合《运筹学》的部分知识点, 通过实例介绍Lingo在《运筹学》教学中的应用。

一、Lingo软件对《运筹学》教学的促进

LINGO是Linear Interactive and General Optimizer的缩写, 即“交互式的线性和通用优化求解器”, 由美国LINDO系统公司 (Lindo System Inc.) 推出的, 可以用于求解非线性规划, 也可以用于一些线性和非线性方程组的求解等, 功能十分强大且易用。

下面通过具体的实例来说明Lingo在《运筹学》教学中的方便和直观。

例如, 对于如下的线性规划模型:

经典的解法是单纯形法, 它的基本思想是先确定一个初始的基本可行解, 然后判断是否为可行解或问题是否无界, 如是停止, 否则, 去寻找一个能使目标函数有所改善的更好的基本可行解, 一直迭代进行, 直到最终找到最优解或判断出问题是无界的。对于非数学专业的学生来说, 原理是需要强调的, 但他们更多的是要懂得如何求解, 那么求解最简单的方法就是利用Lingo软件。

在课堂上可以直接教学生如何利用Lingo求解简单的线性规划问题, 让学生对该软件有个初步的印象。

从上面的求解过程来看, 利用Lingo来求解该问题时, 输入的程序代码几乎和其数学模型的表达式相同, 学生很容易接受, 这对于大部分学生的烦躁学习心态是一个很好的疏导。对于比较复杂的数学模型, Lingo引入了集合和属性等建模语言, 借此可以表达一系列相似的约束条件, 从而可以快速方便的表达大规模的优化问题。

又例如在讲运输问题的求解方法-表上作业法时, 那么这堂课会很枯燥, 一直在做一些加加减减的事, 学生也会感觉烦琐、乏味。如果引用Lingo来进行讲解的话, 枯燥麻烦的问题将会变得简洁明了, 学生听起来也很轻松。

例2:某食品公司经销主要产品之一是糖果, 它下面设有3个加工厂, 每天的糖果生产量分别为:A1-7t, A2-4t, A3-9t, 该公司把这些糖果分别运往4个地区的门市部销售, 各地区每天的销售量B1-3t, B2-6t, B3-5t, B4-6t, 已知从每个加工厂到各销售门市部每吨糖果的运价表1所示, 试确定运费最少的运输方案。

使用LINGO软件, 编制程序如下:

得到最优调运方案如表2, 与人工利用表上作业法算的结果一致。

从以上两类问题的求解Lingo求解, 不难看出将Lingo引入《运筹学》教学中的必要性。

二、课堂教学与学生上机相结合

《运筹学》课程的出发点是培养学生解决实际问题的能力, 课堂教学是其中重要的环节。课堂上应讲清楚具体案例建模的运筹学思想、Lingo求解的过程、结果解释等, 要求学生能演示其他类似案例, 提供实验报告。此外, 由于运筹学课程知识量大, 仅仅依赖课堂学习, 学生很难理解并吸收基本理论与方法;同时, 运筹学软件的灵活应用也离不开不断的练习。因此, 加强学生上机实践, 不仅可以进一步理解理论知识, 还可以提高计算机软件应用能力。

三、结束语

《运筹学》对非数学专业学生来说是一门难度极大的课程, 不仅涉及深奥的数学理论、冗繁的演算过程, 而且与纷繁复杂的实际问题紧密相连。许多学生对运筹学怀有恐惧心理, 缺乏学习兴趣。在运筹学教学中, 引进Lingo教学, 较好地将理论与实践结合起来。软件教学简化了理论推导, 避免了冗繁的数学演算, 使教师讲授理论知识时直观明了, 学生学习也不是那么枯燥无味, 调动了学生学习的积极性, 培养了学生学习的兴趣。此外, 引入Lingo软件教学, 使学生在运筹学理论学习与实践应用之间搭建了一座桥梁, 提高了解决实际问题的能力, 真正达到了学以致用的目的。

经过近几年的软件教学实践, 学生学习运筹学的积极性有所提高, 改变了对运筹学的恐惧心理, 学习效果有了明显提高。总之, 教师在运筹学教学中, 引入软件教学, 适应了时代与学科发展的需要, 有利于教学效果的提升。软件教学不但是运筹学教学改革的突破口, 也是培养学生创新思维、理论与实践相结合能力的一条重要途径。

参考文献

[1]胡运权.运筹学教程[M].北京:清华大学出版社, 2005.

[3]谢金星, 薛毅.优化建模与LINDOLINGO软件[M].北京:清华大学出版社, 2005.

LINGO软件在水泥行业中的应用 篇2

工业实现信息化发展是工业现代化的内在要求和必然趋势。对于水泥工业而言,信息化技术是水泥工业迈向先进制造业的基石,同时也为水泥生产工艺节能提供了技术支撑[1]。

水泥工业从原料矿山开采、生料制备、熟料煅烧、水泥粉磨各生产过程都广泛结合现代科技成果采用了信息化技术,目前对生产时消耗的能源情况也逐步开展了信息化管理工作。

在一个实际工业系统中,当一些变量影响目标时,决策变量(参数、生产条件)与目标间的函数关系必定存在一个以上的峰(谷),从而可以寻求合理的决策变量来达到优化目标的过程称为优化[2]。水泥生产各过程中信息化建设离不开软件系统的支撑。软件系统的基础在于选取合适的策略和数学模型进行描述,并且有高效的软件运算工具。

1 LINGO软件简介

LINGO (Linear Interactive and General Optimizer) 软件,其中文意思是“交互式的线性和通用优化求解器”,是由美国LINDO系统公司研制开发的,可以求解线性规划、二次规划、非线性规划和组合优化(图论)等问题。最大的特色在于它允许优化模型中的决策变量为整数(即整数规划),而且执行速度快。它是一种优秀的建模语言,包括许多常用的函数可供使用者调用,并提供了与其他数据文件的接口,易于方便地输入、输出、求解和分析大规模最优化问题,并能与ACCESS、EXCLE进行数据交换[3]。

LINGO模型以MODEL开始,以END结束。中间为语句,分为四大部分 (SECTION) :(1)集合部分 (SETS) 。这部分以“SETS:”开始,以“ENDSETS结束。这部分的作用在于定义必要的变量,便于后面编程进行大规模计算。(2)目标与约束。这部分定义了目标函数、约束条件等,一般要用到LINGO的内部函数。(3)数据部分(DATA)。这部分以“DATA:”开始,以“ENDDATA”结束。其作用在于对集合的属性(数组)输入必要的数值,主要是方便数据的输入。(4)初始化部分(INIT)。这部分以“INIT:”开始,以“END INIT”结束。其作用在于对集合的属性(数组)定义初值。对于非线性规划求解时,通常得到的是局部最优解,而局部最优解受输入的初值影响。通常可改变初值来得到不向的解,从而发现更好的解[4]。

2 具体实例

2.1 最优的水泥生产计划

合理安排水泥生产计划,使得利润最大。设某厂425#水泥年产量为x1万吨,525#水泥的年产量为x2万吨,其费用、售价、生产能力等条件见文献[5]。

设L为年度利润总和,则目标函数为

约束条件为:

熟料能力:0.552x1+0.965x2≤38

水泥能力:131.06x1+138.89x2≤7884

水渣的可供量:1.028x1+0.656x2≤57

可比产品工业总产值:55x1+70x2≥3400

在LINGO Model里编写程序见图1所示。

LINGO优化后的结果见图2所示。

即在该年度内生产425#水泥43.02万吨,525#水泥14.77万吨,将获得最佳经济效益1692万元。

2.2 水泥生产运营计划

某水泥厂年生产能力为110万吨,其主要产品有425#水泥、525#水泥、75℃油井水泥。在水泥生产中,生料磨、窑系统、水泥磨是三大生产环节,其各自的台时产量与运转率见文献[6]中表2。同时原材料的年供应能力及单位产品的能源消耗也有其约束。

设425#水泥、525#水泥、75℃油井水泥的年产量分别为x1、x2、x3吨;425#水泥合同外产量为x4吨,525#水泥合同外产量为x5吨。

设Z为年度产品的目标利润总额,则目标函数为

约束条件为:

在LINGO Model里编写程序见图3所示。

LINGO优化后的结果见图4所示。

即在该年度内生产425#水泥432106.3吨,525#水泥400000吨,75℃油井水泥170000吨,425#水泥合同外产量2106.3吨,将获得最佳经济效益8301.063万元。(注:文献[4]计算结果有误。)

2.3 水泥生料配料过程优化控制系统

水泥行业一直在尝试运用优化技术来对水泥生料配料进行优化,起初应用最小二乘法(包括广义最小二乘法),现在发展到应用线性和非线性规划的措施来进行解决。众所周知,要求得非线性规划的精确解是件非常困难的事情,基本上是利用各种措施转化成线性规划来求得近似解。

而LINGO的强大功能能较好的处理非线性规划问题,也能对此类优化问题进行解决。文献[7]通过对影响水泥配料的数学参数进行分析,认为可采用非线性规划数值方法来进行优化计算,其实质是参数优化问题。参数优化就是求出一组参数x={x1, x2, …, xn}, 以满足在某种意义上的最优。

通过寻求一组配方,使得三个实际率值对理想率值KH0、SM0、AM0各自对应的差值最小,建立目标函数如下:

针对模型中的多目标函数以及非线性约束特点,利用LINGO编制算法程序并通过应用程序接口 (API) 嵌入到ABB France2000的DCS系统中。

工业实验表明该系统能有效地对配料过程进行优化控制,是解决非线性多目标优化问题的一种可行方法。

3 结束语

LINGO具有良好的线性和非线性优化性能,并且具有编程方法简便、收敛性好、可靠性高等优点,在工业生产领域优化控制方面将有广阔前景。目前水泥行业应用此软件的还很少,因此有必要加强LINGGO软件在水泥行业的推广应用。

参考文献

[1]汪澜.开发利用信息化技术促进水泥工业节能减排[J].中国水泥, 2009, (6) :33-35.

[2]何小荣.化工过程优化[M].清华大学出版社, 2003:1-14.

[3]薛毅.数学建模基础[M].科学出版社, 2010.

[4]肖华勇.基于MATLAB和LINGO的数学实验[M].西北工业大学出版社, 2009

[5]孙仲英.应用线性规划制定最优的水泥生产计划[J].水泥, 1988, (6) :19-20.

[6]陆晓恒.浅谈运筹学在水泥生产技术中的应用[J].铜陵学院学报, 2003, (1) :96-97.

[7]张志刚等.水泥生料配料过程优化控制系统[J].计算技术与自动化, 2007, 26 (1) :30-32.

[8]任竞争等.LINGO及其在化工过程优化中的应用[J].计算机与应用化学, 2010, 27 (7) :975-978.

LINGO软件教学 篇3

工程项目建设在实施过程中,经常会出现由于各种原因而引发的工程施工方案的调整、工期的延误等问题。而工程项目管理的优化,就是在工程项目总体目标确定以后,由于在资源、费用等各方面的条件限制之下,力求用最短的时间完成整个工程建设。因此,作为工程项目建设者,必须对工程项目建设工期目标作详细的研究和论证,同时结合具体的资源供应情况,进行合理的统筹安排,完全发挥有限资源的作用,合理配置资源。

1 工期资源优化概述

工期资源优化是指在工程项目建设过程中,由于各方面原因使得工程建设所需要的资源供应不能得到满足的条件下,对工程进度计划进行详细的论证和研究确立各种资源使用的约束条件,包括总量限制、单位时间用量限制、供应条件和过程的限制,对工程在某时间段内的工序开工时间进行合理调整,避开工程资源使用的高峰期,尽量将资源的使用量平均,以确保工程在规定工期内完工。工期资源优化问题可归结为两类问题:1)资源有限,寻求工期最短;2)规定工期,寻求资源消耗均衡。

工期资源在整个工程进度的安排和调节中的重要性表现为:工期资源优化是确保工程活动正常进行,是工程建设关键工序正常施工和组织的关键步骤;如果工期资源优化进行的不适当,那么将出现由于不能经济地使用资源而造成成本增加,以及由于存在资源配置方面的不妥当而引起计划实施的偏差,工程不能按时交付,不能及时发挥投资效益等问题。因此,工期资源优化问题在工程项目建设实施过程中起着关键乃至决定性的作用。

2 传统的“资源有限—工期最短”的网络计划技术优化方法

2.1 在“资源有限—工期最短”的优化中最常用的网络计划优化方法是计算分析推平法

这种方法的一般步骤是:首先根据原始的施工计划方案,绘制出带有时间坐标的网络图以及相应的每天资源总需求的动态曲线;然后,从左到右检查资源动态曲线的各个时段,如某时段所需要资源超过限制数量,就对该时段有关的工作进行排队编号,并按排队编号的顺序,依次给各工作分配所需要的资源数。对于分配不到资源的工作,就顺推到该时段后面开始。

2.2 计算分析推平法在工程实例中的应用

如图1所示为某建筑工程项目中的网络计划图。工序1为清理场地,工序2为车库地面施工,工序3为墙及屋顶框架预制,工序4为备料,工序5为引道施工,工序6为车库混凝土施工和养护,工序7为树立屋顶框架,工序8为树立墙架,工序9为油漆和装饰。每天某资源的供应上限为12。

每个工序所占用的时间T和消耗的资源S见表1。

资源工期网络计划见表2。

对[0,2]时间段的工程来说:

1)连续工序:无。

2)选关键工序:工序1。

3)选一般工序:按TF递增排序:工序3,∑S=6+5=11;工序2,∑S=11+3>12。

4)确定顺延工序:工序2,∑S2=2。

然后,依次类推。对计算出来的工程计划进行下一个时间段的调整,从而计算出最后的优化方案。

2.3 传统资源—工期优化法存在的问题

1)对于任何一个时间段来说,总的资源消耗量都必须两两排序,列举出全部调整方案,计算其工程增量,再进行比较择优。当某一个时间段内工序较少时,相比而言比较好处理,但是当某一个时间段内工序的数量达到n时,其相应的列举方案就达到了n!/(n-2)!种,而且n增大时,方案也随之累积。

2)对于那些记入下一时段的工序来说,也会出现重复计算的累赘。这对于计算者来说,是个很大的难题。随着现代工程的复杂化,网络计划的应用也愈加广泛,往往要对多种资源进行优化,而且工序的数量和复杂性有了相当大的提高。在这种情况下,利用手工的算法已经完全不能实现优化,即使是利用计算机电子算法,也同样面临着占用大量内存和需要运行很长时间的问题。

3)利用PERT网络图来进行计算分析推平算法优化工期—资源还存在一个问题,那就是在目前的工程建设具体情况下,对于资源工期的优化不再是简单的一对一关系。

3 对传统的网络计划技术在“资源限定—工期最短”的优化方法改进

3.1 LINGO的基本原理和优势

LINGO是一个利用线性规划和非线性规划来简单地阐述、解决和分析复杂问题的简便工具。其特点是程序执行速度快,易于输入、修改、求解和分析一个数学规划问题。LINGO内置了一种最优化模型的语言,可以简便地表达大规模的问题,利用LINGO高效的求解器可快速求解并分析结果。

3.2 用LINGO软件进行求解计算,得到了这个“资源有限—工期最短”问题的最优解

用LINGO软件进行求解计算,得到了这个“资源有限—工期最短”问题的最优解(见表3)。

4 结语

用LINGO软件来计算施工组织中的“资源有限—工期最短”优化问题与传统的网络计划优化相比,计算简便快捷、结果准确且工期缩短。

参考文献

[1]倪志铿.线性规划与网络计划技术[M].北京:中国铁道出版社,1987.

[2]曹光明,白思俊.国外PERT/CPM网络计划发展的三个方面[J].系统工程理论与实践,1993,13(4):47.

[3]曹小林,王金根.工程项目工期—资源优化方法研究[J].重庆大学学报,2000,22(20):49-53.

LINGO软件教学 篇4

某地区有三个农场共用一条灌渠, 每个农场的可灌溉地及分配到的最大用水量如下表:

各农场均可种植甜菜、棉花和高粱三种作物, 各种作物的用水量、净收益及国家规定的该地区各种作物种植总面积最高限额如下表:

三个农场达成协议, 他们的播种面积与其可灌溉面积相等, 而各种农场种何种作物并无限制。问如何制定各农场种植计划才能在上述限制条件下, 使本地区的三个农场的总净收益最大。

分析与求解:

设农场1种植的甜菜、棉花和高粱分别为x11, x12, x13亩, 农场2种植的甜菜、棉花和高粱分别为x21, x22, x23亩, 农场3种植的甜菜、棉花和高粱分别为x31, x32, x33亩。

设农场可耕地为a1=400, a2=600, a3=300, 最大用水量为b1=600, b2=800, b3=375, 甜菜、棉花和高粱的种植限额为c1=600, c2=500, c3=325, 耗水量为d1=3, d2=2, d3=1, 净收益为e1=400, e2=300, e3=100, 根据题目条件, 可建立如下线性模型:

LINGO编程如下:

得到结果如下:

最大总净收益为253333.3元。

对本题来说, 由于数据少, 可以不采用数组形式, 可直接采用变量, 则建立模型如下:

设农场1种植的甜菜、棉花和高粱分别为x1, y1, z1亩, 农场2种植的甜菜、棉花和高粱分别为x2, y2, z2亩, 农场3种植的甜菜、棉花和高粱分别为x3, y3, z3亩。

根据题目条件, 可建立如下线性模型:

LINGO程序如下:

得到的解如下:

摘要:本文通过求解优化问题的过程, 讲述了Lingo软件的编程方法和求解过程中的使用技巧, 用来解决数学优化问题中的计算问题, 提高编程求解的能力。

关键词:Lingo软件,线性模型,数学优化问题

参考文献

[1]肖华勇.实用数学建模与软件应用[M].西安:西北工业大学出版社, 2008.

LINGO软件教学 篇5

运筹学是20世纪30年代末产生的应用学科, 已经在生产管理、工程技术、军事战争、科学实验、经济管理以及社会科学中都得到了极为广泛的应用, 与此同时, 运筹学的理论应用中得到了长足的发展。20世纪50年代后, 计算机的迅猛发展和广泛应用, 为运筹学的发展创造了有利的技术条件, 使得运筹学的方法论能成功地、及时地解决大量经济管理中的决策问题[1]。计算机的发展推进了运筹学的发展、普及和应用, 使得它不仅仅为“运作研究”小组那样的专家所掌握和使用, 也成为广大经济管理、系统科学、信息与计算科学等专业的工作者进行最优决策和有效管理的常用工具之一[2]。在运筹学实际教学过程中, 很多老师还是重理论轻实践, 导致很多学生在学了运筹学之后, 只是觉得运筹学理论高深、具体算法难以实现, 感觉不到运筹学的实际应用价值。通过优化软件可以使得学生有机会自己动手解决有一定规模的实际问题, 缩小学生课堂所学知识与实际运用之间的差距, 从而激发其学习兴趣。

LINDO/LINGO是由美国芝加哥大学的Linus Schrage教授于1980年前后开发出来的一套专门用于求解最优化问题的软件包, 经过多年的不断完善和扩充所形成的, 并成立LINDO系统公司 (LINDO Systems Inc.) 进行商业化运作, 取得巨大的成功[3]。LINGO是Linear Interactive and General Optimizer的缩写, 即“交互式的线性和通用优化求解器”, 可以用于求解非线性规划, 也可以用于一些线性和非线性方程组的求解等。其特色在于可以允许决策变量是整数 (即整数规划, 包括0-1整数规划) , 方便灵活, 而且执行速度非常快。

1 实例应用

一般地, 使用LINGO求解运筹学问题可以分为以下两个步骤来完成:1) 根据实际问题, 建立数学模型, 即使用数学建模的方法建立优化模型;2) 根据优化模型, 利用LINGO来求解模型, 借助于计算机来求解。

1.1 在运输问题中的应用

在经济建设中, 经常碰到大宗物资调运问题。如煤、钢铁、木材、粮食等物资, 在全国有若干生产基地, 根据已有的交通网, 应如何指定调运方案, 将这些物资运到各消费地点, 而总运费最小, 这就是经典的运输问题[4]。

例1某煤炭供应商有7个煤矿 (产地) , 开挖的煤炭供应给9个发电站 (销地) , 各煤矿的生产量、各发电站的需求量 (假定单位均为t) , 以及煤炭从各煤矿运到各个发电站的单位运价示于表1中, 要求研究煤炭如何调运才能使总运费最小?

解:设xij (i=1, 2, …, 7;j=1, 2, …, 9) 为从Ai煤矿运到Bj发电站的煤炭的数量, 建立该运输问题的数学模型如下:

其中cij为将煤炭从Ai煤矿运到Bj发电站的单位运输费用, ai为煤矿Ai的产煤量, bj为发电站Bj对煤炭的需求量。

应用LINGO来求解该模型, 只需要在LINGO窗口中输人以下代码:

运行程序可以得到 (仅保留非零变量) :

最优调运方案:A1→B6:59单位;A2→B6:28单位;A2→B8:69单位;A3→B1:16单位;A3→B6:6单位;A3→B7:47单位;A4→B3:77单位;A5→B2:76单位;A5→B3:6单位;A5→B9:1单位;A6→B9:61单位;A7→B5:68单位;A7→B7:8单位。

最小总费用为:890。

1.2 在0-1规划问题中的应用

0-1规划是数学规划的一个重要问题, 它的产生源于实际中的一些应用, 如选址问题、排班及背包问题等。

例2 (选址问题) 庐阳区有9个大型住宅区, 要选3个来建消防应急站。各消防站的消防车从一个住宅区到另一住宅区所需时间如表2所示, 住在各住宅区的人口如表3所示。问应如何选址才能使尽可能多的人口位于消防应急站5分钟内到达的范围?

建立该问题的数学模型如下:

应用LINGO来求解该模型, 只需要在LINGO窗口中输人以下代码:

运行程序可以得到:

最优选址方案为:在第一个、第四个、第七个住宅区建立消防站可以确保使尽可能多的人口位于消防应急站5分钟内到达的范围。

1.3 在最短路问题中的应用

最短路问题是重要的最优化问题之一, 它不仅可以直接应用于解决生产实际的许多问题, 如管道建设、线路安排、厂区布局、设备更新等, 而且经常作为一个基本工具, 用于解决其它的优化问题[4]。

例3在图1中, 用点表示城市, 现有S, A1, A2, A3, B1, B2, C1, C2, T共九个城市, 点与点之间的连线表示城市间有道路相连。连线旁的数字表示道路的长度。现准备从城市S运送急需物品到城市T, 请找出路程最短的运送方案。

解:借助动态规划法, 应用LINGO来求解该模型, 只需要在LINGO窗口中输人以下代码:

运行程序可以得到 (仅保留非零变量) :

得到最短运输路线为S→A3→B2→C1→T, 最短距离为20。

2结语

以上三个实例由于变量个数多, 如果是借助算法进行手工计算工作量是非常大的, 会让学生感到繁琐不易学会, 而借助LINGO作为辅助工具来进行实践教学, 不仅使学生从大量的计算中解脱出来, 更能激发学生对运筹学课程的学习兴趣, 提高实际应用能力, 体会到应用数学的实用性。

参考文献

[1]胡运权.运筹学教程[M].3版.北京:清华大学出版社, 2007:1-10.

[2]韩伯棠.管理运筹学[M].2版.北京:高等教育出版社, 2005:1-8.

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

LINGO软件教学 篇6

LINGO软件是一个专门求解最优化问题的软件包, 它不仅能够求解线性规划和二次规划, 还可以用于非线性规划, 以及一些线性、非线性方程组的求解和代数方程求根等。美国芝加哥大学的Linus Schrage教授在1980年前后开发了用于求解最优化问题的LINDO软件, 经过不断完善和扩充形成了目前常用的LINGO (Linear Interactive and General Optimizer) 软件包。Linus Schrage教授成立了LINDO系统公司 (http://www.lindo.com) , 进行商业化运作并取得了成功, 该公司的软件主要有LINDO、LINGO、LINDO API和What’s best。据LINDO公司统计, 位于全球《财富》杂志500强的企业有一半以上使用了上述软件, 全球《财富》杂志25强中有23家使用了上述产品求解分析工业管理中遇到的最优化问题, 为管理者的决策提供了可靠的理论依据[1]。LINGO软件在工业、商业、服务、教学和科研等领域中得到广泛应用。

2 L I N G O在求解最优化问题中的优势

随着科学技术的飞速发展, 经济管理等领域出现了大量的最优化问题。如生产计划问题、市场营销、运输问题、库存管理等。一般来说, 最优化问题是指按照给定的标准在某些约束条件下选取最优的解集。实际问题中会遇到复杂的大规模的最优化问题, 含有成百上千的决策变量和约束条件, 此时需要求助最优化软件进行求解。与众多最优化软件相比, LINGO软件包具有以下特点和优势:

(1) LINGO软件基于Windows界面开发, 用户界面友好, 编程语言简洁易学, 对简单的数学规划模型, LINGO软件包输入模型的格式和原模型的表达式几乎相同。该软件不区分大小写, 数据输入和输出方便, 计算速度快, 解算能力强大, 并提供了帮助信息, 方便客户的使用。

(2) LINGO内部含有大量的函数 (如数学函数、集合循环函数、财务会计函数等) 可供用户建立优化模型时引用, 用法非常简单, 且提供了与其他数据文件 (如文本文件、Excel电子表格文件等) 的接口, 可方便地输入、求解和分析大规模最优化问题。

(3) LINGO软件引入了建模语言集合和属性, 借助于集合, 能够用一个单一的、长的、简明复合公式表示一系列相似的约束条件, 从而允许用户以简练、直观的方式描述较大规模的优化问题。同时, 它可以允许优化模型中的决策变量是整数 (即整数规划) 。

3 L I N G O在运筹学实验教学中的实践与思考

3.1 实验课在运筹学教学中的地位和作用

运筹学是管理学科的一门重要专业基础课, 为管理人员的决策提供了科学依据, 有助于有效地管理和正确地决策。随着生产力和科学技术的发展, 运筹学产生了很多分支并且应用范围越来越广。经济、管理、军事、工程系统等领域的问题都可以采用运筹学的方法, 对实际问题量化建立数学模型, 获得合理的人力、物力和财力的系统运行最优方案。随着生物信息学的发展, 运筹学在该领域也崭露头脚。运筹学关键的部分就是将实际的问题转化为数学模型并对其求解, 因此, 学生不仅需要掌握扎实的理论基础, 还要学以致用, 用学到的理论和方法解决实际问题。为此, 实验课教学就显得尤为重要, 同时也是运筹学教学改革的重要内容。在实验课教学中, 通过具有挑战性的实际案例, 引导学生自觉地思考和探索, 锻炼学生解决问题、操作LINGO软件求解问题的能力, 训练学生探讨问题能力和创新能力, 使学生在做的过程中发现自己的不足, 明确弥补的方向。

3.2 L I N G O软件是运筹学实验教学的理想工具

LINGO软件的编译语言简单, 容易掌握, 其解决问题类型全面的优点恰好弥补了运筹学实验课时少的不足, 此外, 与其他软件相比LINGO软件包具有更多的优势。如在很多课程的实验教学中使用的MATLAB也可以解决线性规划、二次规划等最优问题, 但是LINGO的优化工具箱要比MATLAB强大, 线性规划问题的灵敏度分析报告详细全面, 还可以解决整数规划。当使用集合和属性求解大规模问题时, LINGO软件同样可以将问题的原始模型直观地显示出来, 方便用户理解。总之, 在运筹学实验教学中首选使用LINGO软件, 可有效提高教师的授课效率。学生易于掌握, 从而激发其学习热情和主动性。

3.3 合理的实验案例有利于提高教学效果

笔者总结多年实验教学经验, 认为要注意以下几方面的问题。 (1) 介绍软件的基本使用方法, 让学生初步掌握如何使用LINGO软件。 (2) 结合理论知识选择一些LINGO应用实例, 让学生更加熟练地应用运筹学解决实际问题。包括: (1) LINGO软件在线性规划中的应用。线性规划是运筹学中发展最成熟的一个分支, 简单的线性规划模型实例可以培养学生的线性规划数学建模技能, 同时还可以学习LINGO的基本建模语言;大规模的线性规划实例 (即约束条件和决策变量的个数较多) 可以使学生掌握使用基本集合、派生集合、属性和函数以及循环函数的方法。 (2) LINGO软件在灵敏度分析中的应用。用实际的生产计划问题作为实验内容, 训练学生根据LINGO软件提供的灵敏度分析结果报告做出合理正确的决策方案。 (3) LINGO软件在最短路径中的应用。最短路径是一种多阶段的决策问题, 可以采用动态规划的方法求解。可用于解决运输网络距离最短, 或时间最少等问题。对该部分的练习可以使学生掌握稀疏集合和派生集合的用法。 (4) 根据授课对象选择实验任务。笔者承担两个轨道的运筹学课程, 分别是公共卫生管理和生物信息学。不同专业运筹学课程的讲授内容不能完全一样, 应根据授课对象的专业特点, 相应地调整运筹学的理论知识和实验内容。为管理类学生布置的实验任务应倾向于常见的生产计划、运输问题等经济管理类的实际问题;而为生物信息类学生布置的实验任务应倾向于那些使用运筹学的方法解决生物信息方面的实际问题, 如利用最短路径构建调控网络等。实验任务针对性强, 学生才能更加深刻地体会运筹学对本专业的应用价值, 从而激发学生的学习热情和兴趣。

4 结语

运筹学是一门应用性学科, 使用该学科的知识来解决实际问题是学生必须掌握的能力。基于LONGO软件包的运筹学实验教学增加了教学的直观性, 开阔了学生的视野, 激发了学生的兴趣, 收到了良好的教学效果。无论在毕业设计还是以后的工作中都会使学生受益匪浅。

参考文献

LINGO软件教学 篇7

一、Matlab与Lingo简介

数学软件大致可分为两大类: 一类为通用型软件 ( 如Matlab) , 一类为专用型软件 ( 如Lingo) . MATLAB ( Matrix Laboratory, 即 “矩阵实验室”) 是一款集数值计算、符号运算、图形处理及程序设计等强大功能于一体的软件, 也是当今国际上最流行的科学与工程计算的软件工具之一.LINGO是美国LINDO系统公司开发的一套专门用于求解最优化问题的软件包, 它除了具有求解线性规划和二次规划问题的全部功能外, 还可以用于求解非线性规划问题, 也可以用于一些线性和非线性方程 ( 组) 的求解等.

二、利用Matlab求解数学规划问题

Matlab中求解数学规划问题的常用命令为linprog ( 处理线性规划) 和fmincon ( 处理非线性规划) .

1. 线性规划

Matlab中线性规划的标准形为

常用命令格式为

[x, fval]=linprog (c, A, b, Aeq, beq, lb, ub) ,

其中fval为目标函数值, A是不等式约束的系数矩阵, b是相应的常数列向量, 若没有不等式约束, 则令A = []; b =[]; Aeq是等式约束的系数矩阵, beq是相应的常数列向量, 若没有等式约束, 则令Aeq = []; beq = []; lb与ub分别表示决策变量x的下界和上界, 若决策变量没有下界 ( 或上界) , 则令lb = [] ( 或ub = []) .

2. 非线性规划

Matlab中非线性规划的标准形为

常用求解命令格式为

[x, fval]=fmincon (fun, x0, A, b, Aeq, beq, lb, ub, nonlcon) ,

其中fun为M文件定义的函数f ( x) , A、b、Aeq和be具体介绍见前面的线性规划, nonlcon是M文件定义的非线性函数C ( x) 与Ceq ( x) .

三、利用Lingo求解数学规划问题

例求解如下整数规划问题:

解在Lingo中输入程序 ( 一般以. lg4 为后缀名) :

max=98*x1+277*x2-x1^2-0.3*x1*x2-2*x2^2;

x1+x2<=100;

x1<=2*x2;

@gin (x1) ;

@gin (x2) ;

点击菜单‘lingo’下的‘solve’, 得到结果:

说明: 当x1= 35, x2= 65 时, 目标函数的最大值为11077. 50.

注: 1. 求目标函数的最大值 ( 或最小值) 用MAX = 目标函数 ( 或MIN = 目标函数) 来表示.

2. 每个语句都必须以英文的分号结束.

3. 如果对变量的取值范围没有作特殊说明, 则默认所有决策变量都非负.

4. LINGO中函数一律需要以“@ ”开头, 其中@ gin ( x) 表示x为整数.

5. 如果熟悉Lingo软件, 对于线性规划和非线性规划模型, 建议也用Lingo求解.

四、结语

现阶段大部分高校已经开设Matlab程序设计的相关课程, 而开设Lingo软件课程的高校并不多. 故对于有Matla基础的同学, 可以利用优化工具箱中的命令解决一些线性规划和非线性规划问题; 而对于灵敏度分析和整数规划模型的求解等问题, 建议利用Lingo软件求解.

摘要:针对数学规划问题在全国大学生数学建模竞赛中的重要性, 本文详细介绍两种求解规划模型软件 (Matlab与Lingo) 的具体操作过程.特别针对非标准形式, 给出了有效的求解方案.

关键词:数学建模,优化模型,Matlab,Lingo

参考文献

[1]卓金武.MATLAB在数学建模中的应用[M].北京:北京航空航天大学出版社, 2011.

[2]刘卫国.MATLAB程序设计与应用[M].北京:高等教育出版社, 2007.

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

上一篇:失分原因下一篇:双语教育教学进程