附录BLingo软件初步(第2版21).docVIP

  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文档。上传文档
查看更多
附录BLingo软件初步(第2版21)

附录B Lingo软件初步 实践中很多问题可归结为如下决策问题:在若干个可行方案中选择一个最优方案,称为最优化问题.最优化问题中,方案用维向量表示,可行方案集合用表示,方案的优劣用指标衡量.称为决策变量,称为目标函数,称为可行域,常用一组等式或不等式进行界定,这些等式或不等式称为约束条件. 最优化问题的一般形式为: (Ⅰ) 其中如果均为线性函数,则问题(Ⅰ)称为线性规划(简称LP);如果为二次函数,为线性函数,则问题(Ⅰ)称为二次规划(QP);如果决策变量(全部或部分)为整数,则问题(Ⅰ)称为整数规划(IP);如果中至少存在一个为非线性函数,则问题(Ⅰ)称为非线性规划(NP),上述问题通称为数学规划问题. 问题(Ⅰ)中满足约束条件的解称为可行解,使目标函数达到最优的可行解称为最优解,最优解对应的目标函数值称为最优值. Lingo软件由美国Lindo系统公司研制开发,主要用于求解上述各类数学规划问题.该软件执行速度快,易于输入、修改、求解和分析最优化问题.其详细信息可查阅网站http://www.L. B1 Lingo环境 运行Lingo软件时,可得Lingo系统窗口见附图2.1.该窗口的外层是主框架窗口,包含各种菜单命令和工具条,其它所有窗口都被包含在主窗口之下.在主窗口内有一个标题为LINGO Model – LINGO1的窗口,称为Lingo模型窗,所建的模型需在该窗口内编码实现. 附图2.1 Lingo软件的系统窗口 例B1 求解下面整数规划问题 在Lingo1窗口中输入下面指令: model: max=5*x1+10*x2+6*x3+6*x4; x1+4*x2+2*x3+x4=20; 3*x1+x2+3*x3+5*x4=30; 4*x1+2*x2+3*x3+x4=25; @gin(x1);@gin(x2);@gin(x3);@gin(x4); end 然后点击工具条上的Solve按钮或使用Ctrl+S快捷键便可运行上述Lingo模型,得求解结果如附图2.2所示. 附图2.2 Lingo模型的求解结果窗口 由附图2.2可知,Lingo软件求得了问题的最优值69,相应最优解为(3,3,1,3).此外,求解还给出了关于求解器状态的一个窗口,该窗口列出了所用求解器的状态,扩展求解器的状态,问题所含决策变量和约束条件的统计数据,占用的内存和时间等信息. 应用Lingo软件求解数学规划问题非常方便,但使用时还需注意下面事项: (1)Lingo中的模型以“model:”开始,以“end”结束,由一系列语句组成,每个语句都以分号“;”结尾. (2)Lingo中模型的目标函数用“MAX=…;”或“MIN=…;”给出. (3)Lingo中模型的系数与变量之间的乘号不能省略,用“*”表示(4)Lingo中的符号不区分大小写,但其变量名不能超过32个字符,且必须以字母开头(5)求解数学规划模型时总假定所有变量非负(此假定可以用函数@free). (6)Lingo中所有的函数均以“@”符号开始,如约束中@gin(x1)x1为整数. (7)Lingo中以感叹号“!”开始的是注释语句,注释语句也必须以分号“;”结尾.与MLingo软件也提供了5种算术运算符+(加法),-(减法或负号),*(乘法),/(除法)^(求幂) B2 Lingo模型的集 实际建模时,总会遇到含有大量决策变量或约束条件的问题,难以逐条输入指令,而如果只用较少Lingo指令便可以描述含有较多变量和大量约束条件的数学规划问题,对于求解较大规模问题非常有利,Lingo软件借助集这个概念很好地实现了这一目标. 集是Lingo建模语言的基础.借助于集,Lingo软件能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地描述规模较大的模型. 集(set)是一组相关对象的集合.集中的每个元素可以有一个或多个相关的特征,称为属性.属性可以已知,也可以是未知待求解. 一个集一般需包含集的名字(set_name)、集的成员(number_list)以及集中成员的属性(attribute_list)三几部分,其形式为: sets: Set_name/number_list/:attribute_list; endsets 定义一个集一般有两种方法,一种需要给出成员的命名,称为直接列举法,如:一个名为Student的集,它具有成员John、Mary和Mike,属性有性别sex和年龄age,可定义为: sets: Student/John,Mary,Mike/:sex,age; 还有一种称为隐式列举法,它不需要为每个成员命名,只需定义个成

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档