用Lingo求解整数(0-1)规划模型_第1页
用Lingo求解整数(0-1)规划模型_第2页
用Lingo求解整数(0-1)规划模型_第3页
用Lingo求解整数(0-1)规划模型_第4页
用Lingo求解整数(0-1)规划模型_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、温州大学城市学院温州大学城市学院实验二实验二 用用Lingo求解规划模型求解规划模型变量定界函数变量定界函数:bin(x): 限制限制 x 为为 0 或或 1.gin(x): 限制限制 x 为整数为整数.温州大学城市学院温州大学城市学院例例 1 用用Lingo软件求解软件求解0-1规划问题规划问题12341234123412341234max253440242411,01zxxxxxxxxxxxxxxxxxxxx 或或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

2、(x2);bin(x3);bin(x4);Lingo 程序程序:一、用一、用Lingo 求解规划问题求解规划问题温州大学城市学院温州大学城市学院例例 2 用用Lingo软件求解整数规划问题软件求解整数规划问题123123123123min25340242220,1,2,3izxxxxxxxxxxxxxi 且取整数且取整数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软件求解非线性规划问题软件求

3、解非线性规划问题 2212211212min121,2,0,0.zxxxxxxxx min=(x1-1)2+(x2-2)2;x2-x1=1;x1+x2=2;Lingo 程序程序:温州大学城市学院温州大学城市学院注意注意:Lingo 默认默认变量变量的取值从的取值从0到到正无穷大正无穷大,变量定界函数变量定界函数可以改变默认状态可以改变默认状态.free(x): 取消对变量取消对变量x的限制的限制(即即x可取任意实数值可取任意实数值)例例 4 求函数求函数 的最小值的最小值. 2222zxy 温州大学城市学院温州大学城市学院解解: 编写编写Lingo 程序如下程序如下: min=(x+2)2+(

4、y-2)2;free(x);例例 4 求函数求函数 的最小值的最小值. 2222zxy 求得结果求得结果: x=-2, y=2温州大学城市学院温州大学城市学院二、二、Lingo 循环编程语句循环编程语句(1) 集合集合的定义的定义包括如下参数包括如下参数:1) 集合集合的名称的名称.命名规则命名规则: 以以字母开头字母开头, 后面是后面是字母字母或或下划线下划线.字母不区分大小写字母不区分大小写.2) 集合集合包含的元素包含的元素(可选可选).3) 集合集合中元素的所有属性中元素的所有属性(可选可选).例例4 Math,English,totalsets:endsetsstudentsJohn

5、, Jill, Rose, Mikesets:students/John, Jill, Rose, Mike/:Math,English,total;endsets温州大学城市学院温州大学城市学院(2) 数据赋值数据赋值例例4 data:enddatadata:Math=80,85,90,70;English=75,80,72,60;enddata格式格式:(1) 集合集合的定义的定义例例4 sets:students/John, Jill, Rose, Mike/:Math,English,total;endsets温州大学城市学院温州大学城市学院(3) 集合集合的的循环函数循环函数集合集合

6、的的循环函数循环函数可以使所有的元素重复完成一些操作可以使所有的元素重复完成一些操作.函数函数函数功能函数功能for形成集合形成集合所有元素所有元素需满足的约束条件需满足的约束条件sum计算集合中元素所在表达式的计算集合中元素所在表达式的和和min计算集合中元素所在表达式的计算集合中元素所在表达式的最小值最小值max计算集合中元素所在表达式的计算集合中元素所在表达式的最大值最大值maxM=max(students(i):Math);maxE=max(students(i):English);averageM=sum(students(i):Math)/4;for(students(i):tot

7、al(i)=Math(i)+English(i);例例4 !数学的最高分数学的最高分;!英语的最高分英语的最高分;!数学的平均分数学的平均分;!每个学生数学与英语分数之和每个学生数学与英语分数之和.温州大学城市学院温州大学城市学院(4) 衍生集合衍生集合的定义的定义. 包括如下参数包括如下参数:1) 衍生集合衍生集合的名称的名称.3) 衍生集合衍生集合包含的元素包含的元素(可选可选).4) 集合集合中元素的所有属性中元素的所有属性(可选可选).例例5 link2) 衍生集合衍生集合的父集合名称的父集合名称.sets:ren/A,B,C,D/: rent;job/1.5/: jobt;link(

8、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): 返

9、回返回x的正弦值的正弦值cos(x): 返回返回x的余弦值的余弦值tan(x): 返回返回x的正切值的正切值log(x): 返回返回x的自然对数值的自然对数值exp(x): 返回返回ex的值的值sqr(x): 返回返回x的平方值的平方值. 该函数可以用表达式该函数可以用表达式x2代替代替sqrt(x): 返回返回x的正的平方根的正的平方根. 可以用表达式可以用表达式x(1/2)代替代替温州大学城市学院温州大学城市学院三、三、Lingo 循环编程举例循环编程举例例例5 现有五名工人甲现有五名工人甲, 乙乙, 丙丙, 丁丁, 戊戊, 完成五项完成五项工作工作A, B, C, D, E, 所需时间列

10、表如下所需时间列表如下 工作工作 时间时间(小时小时)工人工人ABCDE甲甲10.521.754乙乙2131.53.5丙丙1.751.52.513丁丁2.521.50.54戊戊11.5223(2) 求每份工作最短的用时求每份工作最短的用时.(1) 求每个人的最短工作时间求每个人的最短工作时间;问题问题:温州大学城市学院温州大学城市学院三、三、Lingo 循环编程举例循环编程举例例例5 sets:ren/A,B,C,D,E/:rent;job/1.5/:jobt;link(ren,job):time;endsetsdata:time=1,0.5,2,1.75,4 2,1,3,1.5,3.5 1.

11、75,1.5,2.5,1,3 2.5,2,1.5,0.5,4 1,1.5,2,2,3;enddataS=sum(link(i,j):time(i,j);for(ren(i):rent=min(job(j):time(i,j);for(job(j):jobt=min(ren(i):time(i,j);!定义集合定义集合;!数据赋值数据赋值;!所有工作时间求和所有工作时间求和;!求每个人的最短工作时间求每个人的最短工作时间;!求每份工作最短的用时求每份工作最短的用时;温州大学城市学院温州大学城市学院三、三、Lingo 循环编程举例循环编程举例例例5 用用Lingo循环编程语句求解线性规划模型循环编

12、程语句求解线性规划模型12max7264zxx 121211250,128480,3100,0,0.xxxxxxx 温州大学城市学院温州大学城市学院三、三、Lingo 循环编程举例循环编程举例sets:bliang/1,2/:x,a;yshu/1,2,3/:b;xshu(yshu,bliang):c;endsetsdata:a=72,64;b=50,480,100;c=1,1 12,8 3,0;enddatamax=sum(bliang(i):a(i)*x(i);for(yshu(j):sum(bliang(i):x(i)*c(j,i)=b(j);!定义集合定义集合;!数据赋值数据赋值;!目标

13、函数目标函数;!约束条件约束条件;12max7264zxx 121211250,128480,3100,0,0.xxxxxxx 例例5 用用Lingo循环编程循环编程语句求解线性规划语句求解线性规划模型模型温州大学城市学院温州大学城市学院例例6:人员选拔问题:人员选拔问题3571.92队员号码队员号码身高身高 / m1位置位置1.881.851.80中锋中锋前锋前锋前锋前锋后卫后卫4681.90队员号码队员号码身高身高 / m2位置位置1.861.831.78中锋中锋前锋前锋后卫后卫后卫后卫同时同时, 要求出场阵容必须满足以下条件要求出场阵容必须满足以下条件:中锋只能有一个上场中锋只能有一个上

14、场; (2) 至少有一名后卫至少有一名后卫; (3) 如果如果1号号队员和队员和4号号队员都上场队员都上场, 则则6号号队员不能上场队员不能上场; (4) 2号号队员和队员和6号号队员必须至少保留一个不出场队员必须至少保留一个不出场.如何确定符合要求的出场阵容如何确定符合要求的出场阵容?温州大学城市学院温州大学城市学院1267814626811121501,1,2,8iiixxxxxxxxxxxxi 或或12345678max1.921.901.881.861.851.831.801.78fxxxxxxxx 温州大学城市学院温州大学城市学院温州大学城市学院温州大学城市学院1、建立数学模型,2、

15、用lingo循环语句编写程序.要求:温州大学城市学院温州大学城市学院 某城市的巡逻大队要求每天的各个时间段都有一某城市的巡逻大队要求每天的各个时间段都有一定数量的警员值班定数量的警员值班, 以便随时处理突发事件以便随时处理突发事件, 每人连续每人连续工作工作6h, 中间不休息中间不休息. 如表所示是一天如表所示是一天8个班次个班次所需值所需值班警员的人数情况统计班警员的人数情况统计:现在在不考虑时间段中警员上班和下班的情况下现在在不考虑时间段中警员上班和下班的情况下, 巡逻大队至少需要多少警员才能满足值班需要巡逻大队至少需要多少警员才能满足值班需要?人员安排问题人员安排问题班次班次时间段时间段

16、人数人数班次班次时间段时间段人数人数16:009:0070518:0021:008029:0012:0080621:0024:00100312:0015:0065724:003:00120415:0018:009083:006:0090设第设第 i 个班次开始上班的警员数为个班次开始上班的警员数为 xi .温州大学城市学院温州大学城市学院1870;xx 目标函数目标函数:约束条件约束条件:12345678min zxxxxxxxx 0,1,2,8ixi 且且为为整整数数, ,1280;xx2365;xx3490;xx4580;xx56100;xx67120;xx7890;xx温州大学城市学院温州大学城市学院温州大学城市学院温州大学城市学院分配问题分配问题 某游泳队拟选用甲某游泳队拟选用甲, 乙乙, 丙丙, 丁丁 四名游泳运动员组成四名游泳运动员组成一个一个 4100 m 混合泳接力队混合泳接力队, 参加今年的锦标赛参加今年的锦标赛. 他们他们的的 100 m 自由泳自由泳, 蛙泳蛙泳, 蝶泳蝶泳, 仰泳的成绩如表所示仰泳的成绩如表所示乙乙丙丙丁丁56成绩成绩自由泳自由泳 / s甲甲63575574蛙泳蛙泳 / s69777661蝶泳蝶泳 / s65636263仰泳仰泳 / s716762 甲甲, 乙乙, 丙丙, 丁丁 四名队员各自游什么姿势四名队员各自游什么

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论