软件及其应用.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文档。上传文档
查看更多
软件及其应用

LINGO软件及其应用 薛申芳 2009.3.15 目录 1 软件平台 2 lingo编程 3 应用举例 1 软件平台 (1)美国芝加哥(Chicago)大学的Linus Schrage(莱纳斯.施拉盖 )教授于1980年前后开发。 (2) LINGO: Linear Interactive General Optimizer (线性交互式通用优化器)。 (3)用来求解的优化模型(连续优化和整数规划(IP))。 类型:线性规划(LP)、二次规划(QP)、非线性规划(NLP)。 (4)LINGO的界面如下 (6)LINGO 模型的最基本特征 : 有max=(或min=) 每行后面均有一个分号“;” 系数与变量间有“*” 首行可增添:”model:”,末行增添”end” 2 lingo编程 2.1 LINGO模型构成的4个段 (1)集合段(SETS ENDSETS) (2)数据段(DATA ENDDATA) (3)初始段(INIT ENDINIT) (4)目标与约束段 2.2 集合段 (1)集:集是一群相联系的对象(集部分是LINGO模型的一个可选部分,即一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们,集部分以关键字“sets:”开始,以“endsets”结束 (2)成员:集的对象 (3)属性:集成员可能有一个或多个与之有关联的特征,称为属性(属性值可以预先给定,也可以是未知的,有待于lINGO求解) (4)集的类型 说明: 集名字必须严格符合标准命名规则:以字母或下划线(_)为首字符,其后由字母(A—Z)、下划线、阿拉伯数字(0,1,…,9)组成的总长度不超过32个字符的字符串,且不区分大小写。 如果集成员放在集定义中,那么对它们可采取显式罗列(必须为每个成员输入一个不同的名字,中间用空格或逗号搁开)和隐式罗列(不必罗列出每个集成员。可采用如下语法: setname/member1..memberN/[: attribute_list]; 这里的 member1 是集的第一个成员名,memberN 是集的最末一个成员名。LINGO 将自动产生中间的所有成员名)两种方式。如果集成员不放在集定义中,那么可以在随后的数据部分定义它们,如: !集部分; sets: students:sex,age; endsets !数据部分; data: students,sex,age= John 1 16 Jill 0 14 Rose 0 17 Mike 1 13; enddata 2.3 运算符的优先级 2.4 数据段 data: 变量1=数据列; 变量2=数据列; ……; Enddata 例 1 例2 有时只想为一个集的某个属性的部分成员指定值,而让该属性的其余成员的保持未知,以便让LINGO去求出它们的最优值。在数据声明中输入两个相连的逗号表示该位置对应的集成员的属性值未知。两个逗号间可以有空格 。 2.5初始段 init: 变量列=数据列; Endinit 说明:(1)初始部分输入的值仅被LINGO求解器当作初始点来用,并且仅仅对非线性模型有用。和数据部分指定变量的值不同,LINGO求解器可以自由改变初始部分初始化的变量的值。 (2)初始部分的初始声明规则和数据部分的数据声明规则相同。也就是说,我们可以在声明的左边同时初始化多个集属性,可以把集属性初始化为一个值,可以用问号实现实时数据处理,还可以用逗号指定未知数值。 init: X, Y = 0, .1; endinit Y=@log(X); X^2+Y^2=1; 好的初始点会减少模型的求解时间。 2.6 目标和约束段 目标函数 约束条件 2.7 各种函数 (1) 常用函数 @sin(x); @cos(x); @tan(x); @exp(x); @log(x); @abs(x); @smax(x); @smin(x); @sign(x);符号函数(与数学中的符号函数一致) @floor(x);原点方向取整 (2) 变量界定函数 @bnd(L,x,U):限定LxU; @bin(x):限定x取0、1值; @free(x):取消x的非负限制; @gin(x):限定x为整数(general interger) (3) 集合循环函数 @function(setname(index_list)|condi

文档评论(0)

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

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

1亿VIP精品文档

相关文档