- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[管理学]LINGO入门
LINGO入门 合肥工业大学管理学院 1 LINGO软件简介 发展: 美国芝加哥大学的Linus Schrage教授于1980年前后开发的专门用于求解最优化问题的软件包。后来经过多年的不断完善和扩充,并成立了LINGO系统公司。 这套软件包的主要产品有: LINDO,LINGO,LINDO API和What’s Best 2 LINGO的求解过程 LINGO软件内部有4个基本的求解程序用于求解不同类型的优化模型: (1)直接求解程序(Direct Slover) (2)线性优化求解程序(Linear Slover) (3)非线性优化求解程序(Nonlinear Slover) (4)分支定界管理程序(Branch and Bound Manager) 3 软件的安装 Demo版本的限制: 约束条件150; 变量数量300; 整数变量30; 非线性变量30; 全局变量5; 程序大小32M; 4 软件的使用 程序主界面: 1.最外层的窗口称为主窗口。 2.内部窗口也就是光标所在的窗口称为模型窗口。 3.最下面的是状态栏。 4.1 LINGO的状态窗口 变量框: Total显示当前模型的全部变量数,Nonlinear显示其中的非线性变量数,Integers显示其中的整数变量数。 约束框: Total显示当前模型扩展后的全部约束数,Nonlinear显示其中的非线性约束数。、 非零框: Total显示当前模型中全部非零系数的数目,Nonlinear显示其中的非线性变量系数的数目。 还有内存使用框和已运行时间框。 4.3 扩展求解器状态(Extended Solver Status)框显示LINGO中几个特殊求解器的运行状态。包括分枝定界求解器(Branch-and- Bound Solver)、全局求解器(GlobalSolver)和多初始点求解器(Multistart Solver)。 4.4 LINGO的报告窗口 “Global optimal solution found at iteration: 2”表示2次迭代后得到全局最优解。 “Objective value:”表示最优目标值 “Value”给出最优解中各变量的值 “Slack or Surplus”给出松驰变量的值 “Reduced Cost”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率。 “DUAL PRICE”(对偶价格)表示当对应约束有微小变动时, 目标函数的变化率 4.5 LINGO的选项设置 1.从LINGO菜单中选用“Options...”命令、单击“Options...”按钮或直接按Ctrl+I组合键可以改变一些影响LINGO模型求解时的参数。该命令将打开一个含有7个选项卡的窗口,你可以通过它修改LINGO系统的各种参数和选项。 2.修改完以后,你如果单击“Apply(应用)”按钮,则新的设置马上生效;如果单击“OK(确定)”按钮,则新的设置马上生效,并且同时关闭该窗口。如果单击“Save(保存)”按钮,则将当前设置变为默认设置,下次启动LINGO时这些设置仍然有效。单击“Default(缺省值)”按钮,则恢复LINGO系统定义的原始默认设置(缺省设置)。 3.设置 5 Lingo语言 5.1 LINGO中的集 1.什么是集 集是一群相联系的对象,这些对象也称为集的成员。一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性。属性值可以预先给定,也可以是未知的,有待于LINGO求解。例如,产品集中的每个产品可以有一个价格属性;卡车集中的每辆卡车可以有一个牵引力属性;雇员集中的每位雇员可以有一个薪水属性,也可以有一个生日属性等等。 2.LINGO有两种类型的集:原始集(primitive set)和派生集(derived set)。 一个原始集是由一些最基本的对象组成的。 一个派生集是用一个或多个其它集来定义的,也就是说,它的成员来自于其它已存在的集。 5.2 模型的集部分 集部分是LINGO模型的一个可选部分。 在LINGO模型中使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以“endsets”结束。一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分。一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们。 例题 例5.1 可以定义一个名为students的原始集,它具有成员John、Jil
文档评论(0)