用Lingo求解整数(0-1)规划模型

用Lingo求解整数(0-1)规划模型

ID:38414530

大小:1.05 MB

页数:24页

时间:2019-06-12

用Lingo求解整数(0-1)规划模型_第1页
用Lingo求解整数(0-1)规划模型_第2页
用Lingo求解整数(0-1)规划模型_第3页
用Lingo求解整数(0-1)规划模型_第4页
用Lingo求解整数(0-1)规划模型_第5页
资源描述:

《用Lingo求解整数(0-1)规划模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二用Lingo求解规划模型变量定界函数:@bin(x):限制x为0或1.@gin(x):限制x为整数.例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>=

2、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求函数的最

3、小值.求得结果:x=-2,y=2二、Lingo循环编程语句(1)集合的定义包括如下参数:1)集合的名称.命名规则:以字母开头,后面是字母或下划线.字母不区分大小写.2)集合包含的元素(可选).3)集合中元素的所有属性(可选).例4Math,English,totalsets:endsetsstudentsJohn,Jill,Rose,Mikesets:students/John,Jill,Rose,Mike/:Math,English,total;endsets(2)数据赋值例4data:enddatadata:Ma

4、th=80,85,90,70;English=75,80,72,60;enddata格式:(1)集合的定义例4sets:students/John,Jill,Rose,Mike/:Math,English,total;endsets(3)集合的循环函数集合的循环函数可以使所有的元素重复完成一些操作.函数函数功能@for形成集合所有元素需满足的约束条件@sum计算集合中元素所在表达式的和@min计算集合中元素所在表达式的最小值@max计算集合中元素所在表达式的最大值maxM=@max(students(i):Math)

5、;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)集合中元素的所有属性(可选).例5link2)衍生集合的父集合名称.sets:ren/A,B,C,D/:rent;job/1

6、..5/:jobt;link(ren,job):time;endsetsrenjobtime注:若没有指明元素列表,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的余弦

7、值@tan(x):返回x的正切值@log(x):返回x的自然对数值@exp(x):返回ex的值@sqr(x):返回x的平方值.该函数可以用表达式x^2代替@sqrt(x):返回x的正的平方根.可以用表达式x^(1/2)代替三、Lingo循环编程举例例5现有五名工人甲,乙,丙,丁,戊,完成五项工作A,B,C,D,E,所需时间列表如下工作时间(小时)工人ABCDE甲10.521.754乙2131.53.5丙1.751.52.513丁2.521.50.54戊11.5223(2)求每份工作最短的用时.(1)求每个人的最短工作

8、时间;问题:三、Lingo循环编程举例例5sets:ren/A,B,C,D,E/:rent;job/1..5/:jobt;link(ren,job):time;endsetsdata:time=1,0.5,2,1.75,42,1,3,1.5,3.51.75,1.5,2.5,1,32.5,2,1.5,0.5,41,1.5,2,2,3;enddat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。