Lingo软件在数学建模中的应用
2016-05-16雷佳宾乌鲁木齐职业大学基础教育部新疆乌鲁木齐830002
雷佳宾(乌鲁木齐职业大学基础教育部,新疆乌鲁木齐830002)
Lingo软件在数学建模中的应用
雷佳宾
(乌鲁木齐职业大学基础教育部,新疆乌鲁木齐830002)
摘要:本文针对近几年的三道全国大学生数学建模竞赛(大专组)的赛题为例,利用Lingo软件(14.0版)的建模语言对所求的数学规划问题进行描述,展示其模型求解,优化分析等强大的功能。
关键词:Lingo;数学规划;数学建模
Abstract:Taking the three mathematical problems in national college students mathematics modeling contest (College Group) in recent years as examples, this paper describes the mathematical programming problems by using Lingo software (14 Edition) modeling language, to show its powerful functions of solving the problem and the optimization analysis.
Keywords:Lingo; mathematical programming; mathematical modeling
数学建模(Mathematical Modeling)是研究现实世界中特定的对象,为达到既定目的,对实际问题作出合理的假设,建立相应的数学模型,采取现有的数学方法及工具,得到一个数学结果的过程[1]。全国大学生数学建模竞赛(Contemporary Unde
rgraduate Mathematical Contest in Modeling)是一项面向国内外的高校学生的基础性学科竞赛,创办于1992年,每年一届,由中国工业与应用数学学会主办。现在已成为国内高校规模最大的学科竞赛,2015年有来自1326所院校共85000多名学生报名参加了竞赛。
Lingo软件是Linus Schrage教授(芝加哥大学)开发的一款用于求解最优化问题的程序包[3]。目前Lingo最新的产品已经有Lingo14.0版本。纵观近几年来的数学建模竞赛题目,都是一些带有大量数据的实际问题,需要对数据进行分类分层统计,数学规划及最优化处理,往往建立的数学模型的计算较为复杂,而matlab、mathmatica等专业的数学软件很难在短时间里让非专业的学生掌握应用。Lingo软件的最大特点就是:程序语法简单,计算结果的精度高、修改较为容易,便于模型的建立和求解。本文以2010年C题(输油管的布置问题)中的最短路径及最小费用管线布置方案、2011年D题(天然肠衣搭配问题)中的提高生产效率和原料使用率最优搭配方案、2015年D题(众筹筑屋规划方案设计)中以满足最好的众筹意愿的规划设计等问题为例,较好地应用Lingo建立模型求解,展示其求解数学模型及优化运算的强大功能。
一、2010年“高教社杯”全国大学生数学建模竞赛C题
问题产生的背景是在铁路线上的同侧有两家炼油厂,需要建立运送管线,达到规划设计所花费用最少,使管道运行的经济效益最高的目标。
问题二进行具体的设计(具体数据见原题),根据三个公司的不同资质,我们查阅了大量的资料,选择了权重系数为0.7:0.15:0.15,即:21×0.7+24×0.15+20×0.15=21.3。以C为坐标原点,以AC所在的直线为x轴,以CD所在的直线(即铁路线)为y轴,建立平面直角坐标系。(图略)
从而得到目标函数S=(|AP|+|PE|+|PF|)×7.2+|BE|×(7.2+21.3)
即:
二、2011年“高教社杯”全国大学生数学建模竞赛D题
赛题的背景是应肠衣加工企业的需求,希望能够开发一套较为智能的计算软件程序,让企业的操作员原材料的尺寸输入计算机,经过软件智能计算直接得出满足要求的原材料下料方案。最终的目的是达到原材料的充分运用,形成的成品的捆数越多,最短长度的越少其方案就越好,并在30分钟内产生方案。条件是总长度允许误差范围为[-0.5,0.5],总根数允许误差范围为[-1,0];剩余原料可以降级使用。采取的总体方案是:首先根据成品中第一种规格越多越好的要求,得到最优解;然后把第一步剩余的原材料纳入第二种规格,得到最优解;最后把第二步多余的原材料在纳入第三种规格,求最优解。
决策目标:总捆数maxZ1=x1+x2+x3用不同的搭配方式捆绑出各种规格最大成品数分别:X1max;X2max;X3max其中符号说明:
x1:指规格(3-6.5)的成品(单位:捆)。
x2:指规格(7-13.5)的成品(单位:捆)。
x3:指规格(14-∞)的成品(单位:捆),∞表示没有上限,但实际长度小于26米。
r1i:指规格(3-6.5)中每档利用根数,i=1,……,8(单位:根)。
r2i:指规格(7-13.5)中每档利用根数,i=1,……,14(单位:根)。
r3i:指规格(14-∞)中每档利用根数,i=1,……,20(单位:根)。
M1:指规格(3-6.5)从(7-13.5)规格中降级使用后的根数(单位:捆)。
M2:指规格(7-13.5)从(14-∞)规格中降级使用后的根数(单位:捆)。
下面分别在三种情况下求解;约束条件:为满足厂方要求,由表1和表2分别得三种规格的约束条件。将第一种规格的构成的整数非线性规划模型(加上整数约束)输入Lingo如下:max=x1;
即在满足规格及要求的情况下,3m的用了36根,3.5m的用了59根,由最优解可得各档用去的根数。这种规格的成品共捆成14捆,再捆数最多的情况下,最优解时使用的原料最多,原料的利用率也达到最值。
然后按照类似的步骤,分别对另外两种规格的进行整数非线性规划进行求解,然后再用余料分析代入Lingo模型中计算(原料出现剩余可以降级使用的问题)。通过计算的结果可得余料降级使用所得到成品数比余料为降级使用所得到成品数多,因此采用余料降级使用的方案好。本例中利用整数非线性规划模型可以利用Lingo直接求解出来,而且约束条件和目标函数都很好列出,并且通俗易懂。
三、2015年“高教社杯”全国大学生数学建模竞赛D题
众筹筑屋是属于“互联网+房地产”时代的新型的房地产形式。题中的问题二通过对参筹者进行抽样调查,为了尽量满足参筹者的购买意愿设计建设规划方案。问题三要求投资回报率达到25%以上的众筹项目才会被成功执行。即是说在问题二的基础上既要照顾到参筹者的意愿,还有保证项目的商业价值。其中题目中数据国家规定的最大容积率为2.28,土地的总面积为102077.6,根据地形限制和申请规则,城建部门规定的11种房型最低套数约束和最高套数约束等详细数据参见原题。
按照题目要求,利用Lingo程序较好地解决好了这两个问题:问题二中的满意度的最大满意率,然后约束每种房型的最大最小值,国家最大容积率的规定等,编写以下Lingo程序运行即可得到答案:
问题三是在问题二的基础上进一步优化项目的规划,增加投资回报率的条件,首先计算出每种房型的投资回报率后,增加一条回报率大于0.25的约束条件,即得出最优的规划方案。增加Lingo程序如下。
(x1*0.28 +x2*0.13 +x3*0.15 +x4*0.17 +x5*0.17 +x6*0.19 + x7*0.22+x8*0.12-x9*0.17-x10*0.14-x11*0.02)/(x1+x2+x3+x4+ x5+x6+x7+x8+x9+x10+x11)>=0.25;
表1 参筹登记网民对各种房型的满意比例
四、结束语
根据这几年的带队参赛经验,全国大学生数学建模竞赛特别是大专组(高职组)的C题和D题,都是需要用数学规划来解决问题:如生产计划的制定、原材料的搭配方案、人力资源的配置,最优方案的设计等问题,都是建立最优化数学模型,然后用Lingo软件求解实现。而数学建模竞赛的赛题都是来自工程技术和管理科学等方面经过适当简化加工的实际问题,所以在经济社会生产实践等领域,Lingo软件也有很广泛的应用。
参考文献
[1]姜启源,谢金星,叶俊.数学模型(第四版)[M].北京:高等教育出版社,2011.
[2]袁新生,廖大庆.用Lingo6.0求解大型数学规划[J].工科数学, 2001(5).
[3]金晶晶.Lingo软件在数学建模竞赛中的应用[J].十堰职业技术学院学报,2010(4).
作者简介:雷佳宾(1981-),男,四川南充人,乌鲁木齐职业大学讲师,主要从事应用数学的研究。
中图分类号:G642
文献标志码:A
文章编号:2096-000X(2016)08-0242-03