用Lingo软件编程求解规划问题全套.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用Lingo软件编程求解规划问题 什么是规划问题? 例1——加工奶制品的生产计划 例1——加工奶制品的生产计划 例1——加工奶制品的生产计划 例1——加工奶制品的生产计划 Lingo软件 lingo软件擅长于解决运筹问题,即最有问题,常见的是线性规划。 而matlab则功能比较多,主要是以矩阵为基础的运算,也能解决运筹问题。 matlab 的功能更强大一些 ,也比较难学,东西多 lingo主要用于优化问题, matlab功能强大,几乎什么都能做,但是碰到循环时速度较慢,而且对机器要求较高,lingo主要用以解线性规划,方程之类,使用比matlab简单,解决线性问题速度也不错,有些东西不能做。不过现在国外有将2者结合的。 matlab都能解,就是麻烦点 LINGO是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。LINGO提供强大的语言和快速的求解引擎来阐述和求解最佳化模型。 原则上还是lingo要快,特别是变量较多的时候,但是这里面不能比较非线性规划,因为非线性规划的求解速度不仅取决于问题的规模,还要看非线性程度以及初始... ■ 简单的模型表示 LINGO可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。 ■ 方便的数据输入和输出选择 LINGO建立的模型可以直接从数据库或工作表获取资料。同样地, LINGO可以将求解结果直接输出到数据库或工作表。 ■ 强大的求解引擎 LINGO内建的求解引擎有线性、非线性(convex and nonconvex)、二次、二次限制和整数最佳化。 ■ Model Interactively or Create Turn-key Applications LINGO提供完全互动的环境供您建立、求解和分析模型。LINGO也提供DLL和OLE界面可供使用者由撰写的程序中呼叫。 0 Global Optimum(全局最优) 1 Infeasible(不可行) 2 Unbounded(无界) 3 Undetermined(不确定) 4 Feasible(可行) 5 Infeasible or Unbounded(通常需要关闭“预处理”选项后重新求解模型,以确定模型究竟是不可行还是无界) 6 Local Optimum(局部最优) 7 Locally Infeasible(局部不可行,尽管可行解可能存在,但是LINGO并没有找到一个) 8 Cutoff(目标函数的截断值被达到) 9 Numeric Error(求解器因在某约束中遇到无定义的算术运算而停止) @GIN(X):限制X为整数 @BIN(X):限定变量X为0 或 1。 @FREE(X):取消对x的符号限制(即可取任意实数包括负数) @BND(L,X,U):限制 L= X = U LP:线性规划 linear programming QP 二次规划 NLP—NON—LINEAR PROGRAMMING ILP 线性整数 IQP 二次整数 PILP 线性纯整数 PIQP 二次纯整数 NLP 非线性 NLP—NON—LINEAR PROGRAMMING INLP 整数非线性 PINLP 纯整数非线性 例2——军队供给问题 例2——军队供给问题 例2——军队供给问题 Lingo软件 Lingo软件——集合 集部分是LINGO模型的一个可选部分。在LINGO模型中使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以“endsets”结束。 一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分。一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们。 集成员无论用何种字符标记,它的索引都是从1开始连续计数。 在attribute_ list可以指定一个或多个集成员的属性,属性之间必须用逗号隔开。 定义一个原始集,用下面的语法: setname[/member_list/][:attribute_list]; 注意:用“[]”表示该部分内容可选。下同,不再赘述。 Setname是你选择的来标记集的名字,最好具有较强的可读性。集名字必须严格符合标准命名规则:以拉丁字母或下划线(_)为首字符,其后由拉丁字母(A—Z)、下划线、阿拉伯数字(0,1,…,9)组成的总长度不超过32个字符的字符串,且不区分大小写。 注意:该命名规则同样适用于集成员名和属性名等的命名。 ① 当显式罗列成员时,必须为每个成员输入一个不同的名字,中间用空格或逗号搁开,允许混合使用。 例2.1 可以定义一个名为students的原始集,它具有成员John、

文档评论(0)

taotao0b + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档