Lingo 入门
38页1、Lingo 入门广西大学数学与信息科学学院 韦琳娜j_1 在Lingo中使用Lindo模型nLindo与Lingo都是LINDO系统公司开发的专门用于求解最优化问题的软件包。与Lindo相比,Lingo软件主要具有两大优点:n(1)除具有LINDO的全部功能外,还可用于求解非线性规划问题,包括非线性整数规划问题。n(2)LINGO包含了内置的建模语言,允许以简练、直观的方式描述较大规模的优化问题,模型中所需的数据可以以一定格式保存在独立的文件中。 1 在Lingo中使用Lindo模型nLingo 9.0完全支持Lindo模型程序的书写格式。在Lingo 9.0模型窗口中选择菜单命令“File|Open (F3)” n注意 在Lingo 9.0以前的版本中(如Lingo 8.0), “File|Import LINDO File (F12)”命令可以将Lindo模型文件转化成Lingo模型。这个菜单命令的意思是“导入Lindo文件”(在LINGO 9.0中已无必要,所以该命令已经被取消了)。 n后缀“ldt”表示LINGO数据文件;n后缀“ltf”表示LINGO命令脚本文件;n后缀“lg
2、r”表示LINGO报告文件;n后缀“mps”表示MPS(数学规划系统)格式的模型文件;n“*.*”表示所有文件。 后缀“lg4”表示LINGO格式的模型文件,是一种特殊的二进制格式文件,保存了我们在模型窗口中能够看到的所有文件和其他对象及其格式信息,只有LINGO能读出它,用其他系统打开这种文件时会出现乱码; 后缀“lng”表示文本格式的模型文件,并且以这个格式保存模型时LINGO将给出警告,因为模型中的格式信息(如字体、颜色、嵌入对象等)将会丢失;LINDO格式的模型文件 2 用Lingo求解 二次规划( QP)模型n例1.1 某厂生产的一种产品有甲、乙两个牌号,讨论在产销平衡的情况下如何确定各自的产量,使总的利润最大。所谓产销平衡指工厂的产量等于市场上的销量,没有卖不出去的产品的情况。显然,销售总利润既取决于两种牌号产品的销量和(单件)价格,也依赖于产量和(单件)成本,按照市场经济规律,甲的价格p1固然会随其销量x1的增长而降低,同时乙的销量x2的增长也会使甲的价格有稍微的下降,可以简单地假设价格与销量成线性关系,即p1=b1a11x1a12x2,b1,a11,a120,a11a1
3、2;类似地,乙的价格p2遵循同样的规律,即有p2=b2a21x1a22x2,b2,a21,a220,a22a21.例如,假定实际中b1=100,a11=1,a12=0.1,b2=280;a21=0.2,a22=2。此外,假设工厂的生产能力有限,两种牌号产品的产量之和不可能超过100件,且甲的产量不可能超过乙的产量的两倍,甲乙的单件生产成本分别是q1=2和q2=3(假定为常数)。求甲、乙两个牌号的产量 x1,x2使总利润最大。 优化模型 n决策变量:决策变量就是甲、乙两个牌号的产量(也是销量)x1,x2n目标函数:显然,目标函数就是总利润z(x1,x2),即z(x1,x2)(p1q1)x1(p2q2)x2 (100 x10.1x2)x1(2800.2x1 2x23)x2 98 x1277 x2x120.3 x1 x22x22n约束条件:题中假设工厂的生产能力有限,两种产品的产量之和不可能超过100件,且产品甲的产量不可能超过乙的产量的两倍。写成数学表达式,就是x1x2100, x12x2综上所述 max 98 x1277 x2x120.3 x1 x22x22; (1.1) st x1x2
4、100, (1.2) x12x2 (1.3) x1,x2 (1.4) nLINGO中的变量名由字母和数字组成,但必须以字母开头,长度不能超过32个字符(只能是英文字符,不能含有中文字符)n行号、“TITLE”语句和注释语句是LINGO中唯一可以使用汉字字符的地方; nLINGO中不区分大小写字母nLINGO中已假定所有变量非负 n通过“LINGO|Generate|Display Model (Ctrl+G)”命令可以看到完整的模型以及每行语句对应的行号了。n可使用“LINGO|Picture”命令检查模型中的简单错误,该命令将目标函数和约束表达式中的非零系数通过列表(或图形)显示出来。n用“LINGO|Solve (Ctrl+S)”命令来运行这个程序。(如果想要了解运行状态窗口中各项的含义,可先点击工具栏上的图标 ,再点击运行状态窗口,屏幕上自动弹出运行状态窗口的帮助信息。)求解结果报告窗口3 敏感性分析n敏感性分析的作用是给出“Ranges in which the basis is unchanged”,即研究当目标函数的系数和约束右端项在什么范围变化(此时假定其他系数保持不变)
5、时,最优基(矩阵)保持不变。n注意:这里LINGO不询问是否进行敏感性分析。如果需要进行敏感性分析,必须用“LINGO|Options”命令打开系统选项对话框,在“General Solver”标签下的“Dual Computations”下拉列表中选中“Prices & Range”,再按下“OK”按钮激活敏感性分析功能。修改了系统选项后,以后只需调用“LINGO|Range”命令即可进行敏感性分析了。 修改运行时的内存限制激活敏感性分析例1.2 一奶制品加工厂用牛奶生产A1,A2两种奶制品,1桶牛奶可以在甲车间用12h加工成3kgA1,或者在乙车间用8h加工成4kg A2。根据市场需求,生产出的A1,A2全部能售出,且每千克A1获利24元,每千克A2获利16元。现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间为480h,并且甲车间的设备每天至多能加工100kg A1,乙车间的设备的加工能力可以认为没有上限限制(即加工能力足够大)。试为该厂制定一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:(1)若用35元可以买到1桶牛奶,是否作这项投资?若投资,每天最多购
《Lingo 入门》由会员弄不****22分享,可在线阅读,更多相关《Lingo 入门》请在金锄头文库上搜索。
2024-04-17 36页
2024-04-17 18页
2023-12-28 633页
2023-08-09 17页
2023-08-09 43页
2023-08-09 30页
2023-08-09 23页
2023-08-09 14页
2023-08-09 14页
2023-08-09 47页