利用LINGO软件优化数学模型
- 格式:ppt
- 大小:120.00 KB
- 文档页数:28
LINGO是一种用于线性规划、整数规划、非线性规划、混合整数规划等数学建模和优化问题的软件工具。
它可以用于解决各种实际问题,包括生产计划、物流、资源分配、网络设计等。
以下是一个简单的LINGO案例,以帮助您了解如何使用LINGO进行优化建模和求解问题:**问题描述:**假设有一家制造公司,他们生产两种产品:A和B。
公司有两个工厂,每个工厂都有不同的生产能力和成本。
公司希望确定每个工厂应该生产多少产品A和B,以最大化利润,同时满足生产能力和市场需求的限制。
**问题数据:**- 工厂1的生产能力:最多生产500个A和300个B- 工厂2的生产能力:最多生产400个A和600个B- 产品A的利润:每个A产品的利润为30美元- 产品B的利润:每个B产品的利润为40美元- 生产一个A产品的成本:工厂1为10美元,工厂2为15美元- 生产一个B产品的成本:工厂1为12美元,工厂2为10美元- 市场需求:产品A的市场需求为600个,产品B的市场需求为800个**LINGO建模和求解:**在LINGO中,可以使用数学表达式来建立优化模型。
以下是一个LINGO模型的示例:```SETS:FACTORIES = 1..2;ENDSETSDATA:CAPACITY(FACTORIES) = 500 300400 600;PROFIT = 30 40;COST(FACTORIES) = 10 1512 10;DEMAND = 600 800;ENDDATAVARIABLES:X(FACTORIES) = 0;ENDVARIABLESMAX = @SUM(FACTORIES, PROFIT(FACTORIES) * X(FACTORIES))SUBJECT TOCAPACITY_CONSTRAINT(F)$(FACTORIES): @SUM(FACTORIES, COST(F, FACTORIES) * X(FACTORIES)) <= CAPACITY(F);DEMAND_CONSTRAINT(I)$(FACTORIES): @SUM(FACTORIES,X(FACTORIES)) >= DEMAND(I);POSITIVE_X(F)$(FACTORIES): X(F) >= 0;ENDSUBMODEL:MAX;SOLVE;```上述LINGO模型首先定义了SETS、DATA、VARIABLES和MAX,然后使用SUBJECT TO部分定义了约束条件,最后使用MODEL和SOLVE命令求解优化问题。
利用LINGO建立最优化模型洪文1,朱云鹃1,金震1,王其文21(安徽大学商学院 合肥 230039)2(北京大学光华管理学院 北京 100871)摘 要:本文借助于最优化软件LINGO建立了最小树、最短路、最大流、最小费用流和货郎担问题的LINGO模型,并对模型中的难点给出了注释。
利用本文提供的模型,可以很容易地求出上述5个最优化问题的最优解。
关键词:最小树、最短路、最大流、最小费用流、货郎担问题、LINGO中图分类号:0211.6 文献标识码:A 文章编号:0 引言求解最小树、最短路、最大流、最小费用流和货郎担问题的方法虽然很多,但是利用最优化求解软件LINGO建立相应的模型来求解上述5个问题是一种新的尝试。
本文建立的模型有两个突出的特点。
第一个特点是模型的数据与公式完全分离,这样使得问题的求解变得特别方便(对于不同的问题只要更换数据即可)。
第二个特点是这五个模型都是利用最优化求解软件LINGO编写而成,可进行快速求解。
1 LINGO简介LINGO是一个简单而实用的最优化软件。
利用线性和非线性最优化的方法,LINGO可以用公式简明地表示复杂的规划问题,并可以快速地求出问题的最优解。
LINGO是由美国芝加哥LINDO系统公司研制。
该公司根据用户信息、线性和非线性规划的理论和方法及计算机发展的需要不断推出新的版本。
目前LINGO已成为世界上最为流行的最优化软件之一。
LINGO在我国已经有了相当多的用户。
它的主要特点是:1)LINGO含有一系列的接口函数。
这些接口函数可用在文本文件、电子表格和数据库中,可与外部的输入/输出源进行连接。
2)LINGO可以直接嵌入到Excel中,也可以将Excel嵌入到LINGO模型中。
这样就可以将数据与模型分离,使得模型的维护和调试变得非常容易。
3)LINGO使用Windows的窗口展开优化分析功能,使用对话框展示各种功能。
清晰、直观、易学易用。
4)LINGO具有强大的计算功能。
lingo软件使用教程一般来说,一个优化模型将由以下三部分组成:1. 目标函数(Objective Function):要达到的目标。
2. 决策变量(Decision variables):每组决策变量的值代表一种方案。
在优化模型中需要确定决策变量的最优值,优化的目标就是找到决策变量的最优值使得目标函数取得最优。
3. 约束条件(Constraints):对于决策变量的一些约束,它限定决策变量可以取的值。
在写数学模型时,一般第一行是目标函数,接下来是约束条件,再接着是一些非负限制等。
在模型窗口输入如下代码:Max = 2*x1+3*x2;X1+2*x2<=8;4*x1<16;4*x2<12;注意:1.每一个lingo表达式最后要跟一个分号;2.多数电脑中没有符号,lingo中<=代替;为了方便可以用<代替小于等于,用>代替大于等于。
3.我们可以添加一些注释,增加程序的可读性。
注释以一个!(叹号必须在英文状态下输入,它会自动变为绿色)开始,以;(分号)结束。
4.Lingo中不区分变量名的大小写。
变量名必须以字母(A-Z)开头,后面的字符可以是字母、数字、下划线。
变量名不能超过32个字符。
Lingo程序的一些规则:1. 在Lingo中最开始都是“MAX=”或者“MIN=”开始表示求目标函数的最大或者最小值。
2. 变量和它前面的系数之间要用“*”连接,中间可以有空格。
3. 变量名不区分大小写,但必须以字母开始,不超过32个字符。
4. 数学表达式结束时要用分号“;”表示结束。
表达式可以写在多行上,但是表达式中间不能用分号。
5. 在电脑系统中一般没有“小于等于”符号,在Lingo采用“<=”来表示“小于等于”,用“>=”表示“大于等于”。
小于等于也可以用更简单的“<”表示,大于等于用“>”表示。
集合段:在我们已经得到的程序里有一些量没有定义,如WAREHOUSES( I),DEMAND( J), LINKS( I, J)。
供应链管理 实 验 报 告相关问题说明:一、 实验性质和教学目的本实验是供应链管理课内安排的上机操作实验。
目的是根据供应链中供应管理和需求管理的实际问题,抽象出相应的数学模型,利用Lingo 优化软件求解模型,通过对求解结果的分析,一方面使学生更好地理解和掌握供应链管理的有关原理和概念,另一方面锻炼学生利用计算机等现代工具分析求解实际问题的动手能力,以达到学以致用的最终目的。
二、 实验基本要求要求学生:1. 实验前认真做好理论准备,仔细阅读实验指导书;2. 遵从教师指导,认真完成实验任务,按时按质提交实验报告。
三、 主要参考资料1.LINGO软件2. 优化建模与LINDO/LINGO软件,清华大学出版社,20053.运筹学编写组主编,运筹学(第三版),清华大学出版社,19904.《供应链管理:战略、规划与运作》(第3版)(清华管理学系列英文版教材),(美)乔普拉(Chopra,S),(美)迈因德尔(Meindl,P.)著,清华大学出版社5. 供应链管理(第3版)(工商管理经典译丛),乔普拉等著,陈荣秋等译,中国人民大学出版社实验内容1.Lavare公司是芝加哥郊区主要的不锈钢水槽制造厂,公司现在正在制定来年需求和供给管理计划。
预计每月分销商的需求如表2所示。
Lavare公司的产能由工厂雇佣的操作工人数量决定,工人每月工作20天,每天8小时,其他时间的工作算加班,正常工作时间每小时工资15美元,加班费每小时22美元。
每个工人每月的加班时间不得超过20小时。
工厂现雇佣工人数为250名,每个不锈钢水槽的生产需要2小时,单位库存持有成本为每月3美元,单件产品生产成本为40美元。
每单位的销售价格为125美元销售给分销商。
假定没有转包生产。
假定Lavare公司最初有4000个单位库存,并希望维持年底也有同样多的库存。
表2 Lavare公司每月预计需求量月份 需求量 月份 需求量1 10000 7 300002 11000 8 290003 15000 9 210004 18000 10 180005 25000 11 140006 26000 12 11000市场调查显示,降价1%能够给当月增加20%的销售量,并使得未来两个月销售量的10%提前至当月。
lingo数学模型
"lingo"是一种用于数学建模和优化的软件工具。
它提供了一个
直观的界面,用于建立和求解复杂的数学模型,包括线性规划、整
数规划、非线性规划、多目标规划等。
lingo的使用可以帮助分析
师和决策者在面临复杂的决策问题时进行优化决策。
在数学建模方面,lingo可以用来建立数学模型,包括定义决
策变量、约束条件和目标函数。
用户可以通过lingo的界面直观地
输入模型的各个部分,而无需深入了解数学建模的具体语法和规则。
这使得非专业的用户也能够快速地建立数学模型。
在优化方面,lingo提供了强大的求解算法,可以对各种类型
的数学模型进行求解,以找到最优的决策方案。
lingo支持对模型
进行灵敏度分析,帮助用户了解参数变化对最优解的影响,从而更
好地进行决策。
除了数学建模和优化外,lingo还具有数据可视化功能,可以
直观地展示模型的结果和决策方案。
这有助于用户向决策者传达模
型分析的结果,从而更好地支持决策过程。
总的来说,lingo作为数学建模和优化工具,为用户提供了一
个方便、强大的平台,帮助他们解决复杂的决策问题。
通过lingo,用户可以更好地理解问题、制定决策,并得到最优的解决方案。
Lingo软件在求解数学优化问题的使用技巧LINGO是一种专门用于求解数学规划问题的软件包。
由于LINGO执行速度快,易于方便地输入、求解和分析数学规划问题,因此在教学、科研和工业界得到广泛应用。
LINGO 主要用于求解线性规划、非线性规划、二次规划和整数规划等问题,也可以用于求解一些线性和非线性方程组及代数方程求根等。
LINGO的最新版本为,但解密版通常为和版本,本书就以为参照而编写。
1.LINGO编写格式LINGO模型以MODEL开始,以END结束。
中间为语句,分为四大部分(SECTION):(1)集合部分(SETS):这部分以“SETS:”开始,以“ENDSETS”结束。
这部分的作用在于定义必要的变量,便于后面进行编程进行大规模计算,就象C语言在在程序的第一部分定义变量和数组一样。
在LINGO中称为集合(SET)及其元素(MEMBER或ELEMENT,类似于数组的下标)和属性(A TTRIBUTE,类似于数组)。
LINGO中的集合有两类:一类是原始集合(PRIMITIVE SETS),其定义的格式为:SETNAME/member list(or 1..n)/:attribute,attribute,etc。
另一类是是导出集合(DERIVED SETS),即引用其它集合定义的集合,其定义的格式为:SETNAME(set1,set2,etc。
):attribute,attribute,etc。
如果要在程序中使用数组,就必须在该部分进行定义,否则可不需要该部分。
(2)目标与约束:这部分定义了目标函数、约束条件等。
一般要用到LINGO的内部函数,可在后面的具体应用中体会其功能与用法。
求解优化问题时,该部分是必须的。
(3)数据部分(DATA):这部分以“DATA:”开始,以“END DA TA”结束。
其作用在于对集合的属性(数组)输入必要的数值。
格式为:attribut=value_list。
该部分主要是方便数据的输入。
实验报告专用纸实验室:机号:实验日期:三、实验步骤及方法(1)模型的假设①假设该投资为连续性投资,即该经理投资不会受到年限过长而导致资金周转困难;②假设证券税收政策稳定不变而且该经理优先考虑可以免税的市政证券的情况下再考虑其他证券种类以节约成本;③假设各证券之间相互独立而且各自风险损失率为零;④假设在经理投资后,各证券的信用等级、到期年限都没有发生改变;⑤假设投资不需要任何交易费或者交易费远远少于投资金额和所获得的收益,可以忽略不计;⑥假设所借贷资金所要支付的利息不会随时间增长,直接等于所给的利率乘上借贷资金;(2)问题分析问题一:该经理优先考虑可以免税的市政证券的情况下再考虑其他证券种类以节约成本,在假设都成立的条件下综合考虑约束资金和限制条件,将1000万资金按照一定的比例分别投资各种证券。
在满足政府及代办机构的证券总共至少要购进400万元;所购证券的平均信用等级不超过1.4;所购证券的平均到期年限不超过5年这三个约束条件下,不妨设投资证券A、B、C、D、E的金额分别为x1、x2、x3、x4、x5,最大利润为y建立线性规划模型,用lingo求解即可得到最优投资方案和最大利润。
问题二:利用问题一的模型进行灵敏度分析,把借贷的100万在投资后所获得的收益与借贷所要付出的利息进行比较,即与以2.75%的利率借到的100万资金的利息比较,若大于,则应该借贷;反之,则不借贷。
若借贷,投资方案需将问题一的模型的第二个约束条件右端10该为11,用lingo软件求解。
问题三:是否该改变要看最优解是否改变,如果各证券所对应的字数在最优解不变的条件下目标函数允许的变化范围内,则不应该改变投资方案,反之则改变投资方案。
(3)模型建立设投资证券A,B,C,D,E,的金额分别为x1,x2,x3,x4,x5(百万),最大利润为y,按照规定、限制和1000万元资金约束,列出模型:max y=0.043*x1+0.027*x2+0.022*x4+0.045*x5;s.t x2+x3+x4>=4;x1+x2+x3+x4+x5<=10;6*x1+6*x2-4*x3-4*x4+36*x5<=0;4*x1+10*x2-x3-2*x4-3*x5<=0;(4)模型求解四、实验数据及程序清单问题一求解:灵敏度分析:问题二:对问题一的求解后的影子价格分析可以知道,投资金额每增加100万元,收益可增加0.0298百万元,而借贷100万元所要支付的利息是0.0275百万元,比0.0298百万元少,所以应该借贷这100万元。