LINGO讲义教程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mao Shuhua 2007-4-16 1 在Lingo中使用Lindo模型 Lindo与Lingo都是LINDO系统公司开发的专门用于求解最优化问题的软件包。与Lindo相比,Lingo软件主要具有两大优点: (1)除具有LINDO的全部功能外,还可用于求解非线性规划问题,包括非线性整数规划问题。 (2)LINGO包含了内置的建模语言,允许以简练、直观的方式描述较大规模的优化问题,模型中所需的数据可以以一定格式保存在独立的文件中。 LINGO模型的最基本特征 将目标函数的表示方式“MAX=”; “ST”(subject to)在LINGO模型中不再需要,所以删除了; 在每个系数与变量之间增加了运算符“*”(即乘号不能省略); 每行(目标、约束和说明语句)后面均增加了一个分号 ; 约束的名字被放到了一对方括号“[ ]”中,而不是放在右半括号“)“之前; LINGO中模型以“MODEL:”开始,以“END”结束。对简单的模型,这两个语句也可以省略。 LINGO中的变量名由字母和数字组成,但必须以字母开头,长度不能超过32个字符(只能是英文字符,不能含有中文字符) 行号、“TITLE”语句和注释语句是LINGO中唯一可以使用汉字字符的地方行号必须以字母或下划线开头; LINGO中不区分大小写字母 LINGO中已假定所有变量非负 可使用“ LINGO | Picture ”命令检查模型中的简单错误,该命令将目标函数和约束表达式中的非零系数通过列表(或图形)显示出来。 用“LINGO | Solve (Ctrl +S)”命令来运行这个程序。 (如果想要了解运行状态窗口中各项的含义,可先点击工具栏上的图标 ,再点击运行状态窗口,屏幕上自动弹出运行状态窗口的帮助信息。) 求解结果报告窗口 敏感性分析 敏感性分析的作用是给出“Ranges in which the basis is unchanged”,即研究当目标函数的系数和约束右端项在什么范围变化(此时假定其他系数保持不变)时,最优基(矩阵)保持不变。 注意:这里LINGO不询问是否进行敏感性分析。如果需要进行敏感性分析,必须用“LINGO |Options”命令打开系统选项对话框,在“General Solver”标签下的“Dual Computations”下拉列表中选中“Prices Range”,再按下“OK”按钮激活敏感性分析功能。修改了系统选项后,以后只需调用“LINGO |Range”命令即可进行敏感性分析了。 “LINGO| Solve”求解结果报告 例 使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。 使用LINGO软件,编制程序如下: model: !6发点8收点运输问题; sets: warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand; links(warehouses,vendors): cost, volume; endsets !目标函数; min=@sum(links: cost*volume); !需求约束; @for(vendors(J): @sum(warehouses(I): volume(I,J))=demand(J)); !产量约束; @for(warehouses(I): @sum(vendors(J): volume(I,J))=capacity(I)); ? ? !这里是数据; data: capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata End 然后点击工具条上的按钮 即可。 为什么使用集 集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。 什么是集 集是一群相联系的对象,这些对象也称为集的成员。一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性。属性值可以预先给定,也可以是未知的,有待于LINGO求解。例如,产品集中的每个产品可以有一个价格属性;卡车集中的每辆卡车可以有一个牵引力属性;雇员集中的每位雇员可以有一个薪水属性,也可以有一

文档评论(0)

金不换 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档