- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例1 min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22 s.t. x1+x2≤2 -x1+2x2≤2 x1≥0, x2≥0 Lingo 基 础 Lingo 程序 MIN=-2*X1-6*X2+X1*X1-2*X1*X2+2*X1*X1; X1+X2=2; -X1+2*X2=2; Lingo 基 础 计算结果 Objective value: -9.777778 X1 = 0.6666667 X2 = 1.333333 Lingo 基 础 例2 Lingo 基 础 Lingo程序 min=@exp(x1)*(4*x1*x1+2*x2*x2+4*x1*x2+2*x2+1); x1+x2=0; 1.5+x1*x2-x1-x2=0; -x1*x2-10=0; @free(x1); @free(x2); Lingo 基 础 计算结果 Objective value: 5.276848 X1 = 1.224745 X2 = -1.224745 这是局部最优值 Lingo 基 础 Lingo菜单中Options,选Global Solver , 在Use Global Solver 中打钩,再次计算。 Lingo 基 础 例三 Lingo 基 础 例三中,x,y ,e是一维数组,长度为2,a,b,d 也是一维数组,长度为6,c是二维数组(6×2矩阵) Lingo中如何定义它们? Lingo 基 础 Lingo 程序 example3_2 sets: demand/1..6/:a,b,d; supply/1..2/:x,y,e; link(demand,supply):c; endsets data: a=1.25,8.75,0.5,5.75,3,7.25; b=1.25,0.75,4.75,5,6.5,7.75; d=3,5,4,7,6,11; e=20,20; enddata Lingo 基 础 init: x,y=5,1,2,7; endinit min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2) ); @for(demand(i): @sum(supply(j):c(i,j)) =d(i);); @for(supply(i): @sum(demand(j):c(j,i)) =e(i); ); @for(supply:@bnd(0.5,X,8.75); @bnd(0.75,Y,7.75); ); END Lingo 基 础 计算结果为 Objective value:89.88349 模型的集部分 LINGO有两种类型的集:原始集(primitive set)和派生集(derived set)。 一个原始集是由一些最基本的对象组成的。 一个派生集是用一个或多个其它集来定义的,也就是说,它的成员来自于其它已存在的集。 定义一个原始集,用下面的语法: setname[/member_list/][:attribute_list]; 注意:用“[]”表示该部分内容可选。 Member_list是集成员列表。如果集成员放在集定义中,那么对它们可采取显式罗列和隐式罗列两种方式。如果集成员不放在集定义中,那么可以在随后的数据部分定义它们 模型的数据部分 数据部分以关键字“data:”开始,以关键字“enddata”结束。在这里,可以指定集成员、集的属性。 数据部分的未知数值 有时只想为一个集的部分成员的某个属性指定值,而让其余成员的该属性保持未知,以便让LINGO去求出它们的最优值。在数据声明中输入两个相连的逗号表示该位置对应的集成员的属性值未知。两个逗号间可以有空格 数据部分的未知数值 sets: years/1..5/: capacity; endsets data: capacity = ,34,20,,; enddata 属性capacity的第2个和第3个值分别为34和20,其余的未知
原创力文档


文档评论(0)