- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
温州大学城市学院 实验目的: 1、掌握线性整数规划模型在lingo中的求解,并能达到灵活运用。 2、学会用Lingo对非线性规划问题进行求解。 实验二 利用Lingo求解整数规划及非线性规划问题 变量定界函数: @bin(x): 限制 x 为 0 或 1. @gin(x): 限制 x 为整数. 实验二 利用Lingo求解整数规划及非线性规划问题 例 1 用Lingo软件求解0-1规划问题 max=2*x1+5*x2+3*x3+4*x4; -4*x1+x2+x3+x4=0; -2*x1+4*x2+2*x3+4*x4=1; x1+x2-x3+x4=1; @bin(x1);@bin(x2);@bin(x3);@bin(x4); Lingo 程序: 一、用Lingo 求解规划问题 例 2 用Lingo软件求解整数规划问题 min=2*x1+5*x2+3*x3; -4*x1-x2+x3=0; -2*x1+4*x2-2*x3=2; x1-x2+x3=2; @gin(x1);@gin(x2);@gin(x3); Lingo 程序: 例 3 用Lingo软件求解非线性规划问题 min=(x1-1)^2+(x2-2)^2; x2-x1=1; x1+x2=2; Lingo 程序: 注意: Lingo 默认变量的取值从0到正无穷大, 变量定界函数可以改变默认状态. @free(x): 取消对变量x的限制(即x可取任意实数值) 例 4 求函数 的最小值. 解: 编写Lingo 程序如下: min=(x+2)^2+(y-2)^2; @free(x); 例 4 求函数 的最小值. 求得结果: x=-2, y=2 二、Lingo 循环编程语句 (1) 集合的定义 包括如下参数: 1) 集合的名称. 命名规则: 以字母开头, 后面是字母或下划线. 字母不区分大小写. 2) 集合包含的元素(可选). 3) 集合中元素的所有属性(可选). 例4 Math,English,total sets: endsets students John, Jill, Rose, Mike sets: students/John, Jill, Rose, Mike/:Math,English,total; endsets (2) 数据赋值 例4 data: enddata data: Math=80,85,90,70; English=75,80,72,60; enddata 格式: (1) 集合的定义 例4 sets: students/John, Jill, Rose, Mike/:Math,English,total; endsets (3) 集合的循环函数 集合的循环函数可以使所有的元素重复完成一些操作. 函数 函数功能 @for 形成集合所有元素需满足的约束条件 @sum 计算集合中元素所在表达式的和 @min 计算集合中元素所在表达式的最小值 @max 计算集合中元素所在表达式的最大值 maxM=@max(students(i):Math); maxE=@max(students(i):English); averageM=@sum(students(i):Math)/4; @for(students(i):total(i)=Math(i)+English(i)); 例4 !数学的最高分; !英语的最高分; !数学的平均分; !每个学生数学与英语分数之和. (4) 衍生集合的定义. 包括如下参数: 1) 衍生集合的名称. 3) 衍生集合包含的元素(可选). 4) 集合中元素的所有属性(可选). 例5 link 2) 衍生集合的父集合名称. sets: ren/A,B,C,D/: rent; job/1..5/: jobt; link(ren,job): time; endsets ren job time 注: 若没有指明元素列表, LINGO将用父集合元素的所有组合作为衍生集合的元素. (A,1), (A,2),(A,3),(A,4)(A,5) (B,1), (B,2),(B,3),(B,4)(B,5) (C,1), (C,2),(C,3),(C,4)(C,5) (D,1), (D,2),(D,3),(D,4)(D,5) (5) Lingo 内部的数学函数及其返回值 @abs(x): 返回x的绝对值 @sin(x): 返回x的正弦值 @cos(x): 返回x的余弦值 @tan(x): 返回x的正切值 @log(x): 返回x的自然对数值 @exp(x): 返回ex的值 @sqr(x): 返
文档评论(0)