用lingo求解数学规划模型实例PPT课件123

上传人:y****8 文档编号:151772404 上传时间:2020-11-17 格式:PPT 页数:81 大小:2.34MB
返回 下载 相关 举报
用lingo求解数学规划模型实例PPT课件123_第1页
第1页 / 共81页
用lingo求解数学规划模型实例PPT课件123_第2页
第2页 / 共81页
用lingo求解数学规划模型实例PPT课件123_第3页
第3页 / 共81页
用lingo求解数学规划模型实例PPT课件123_第4页
第4页 / 共81页
用lingo求解数学规划模型实例PPT课件123_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《用lingo求解数学规划模型实例PPT课件123》由会员分享,可在线阅读,更多相关《用lingo求解数学规划模型实例PPT课件123(81页珍藏版)》请在金锄头文库上搜索。

1、用lingo求解数学规划模型实例,一、lingo中的输入输出函数 text函数 该函数被用在数据部分,用来将所需的数据输出至文本文件中。 其语法为: text(filename) 这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。如果忽略filename,那么数据就被输出到标准输出设备(大多数情形都是屏幕)。 text函数仅能出现在模型数据部分的一条语句的左边。,如在例6.7 (职员时序安排模型) 一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天, 试求每周所需最少职员数

2、,并给出安排。 注意这里我们考虑稳定后的情况。,决策变量:xi第i周天开始上班的人数;,目标函数:,sets: day/mon.sun/:x,d; endsets objmin=sum(day:x); for(day(j):sum(day(i)|i#le#5:x(wrap(j+i+2,7)=d); for(day:gin(x); data: d=20,16,13,16,19,14,12; text(F:数学软件lingolili607.txt)=day 开始上班的人数为 x; Enddata,MON 开始上班的人数为 8.0000000 TUE 开始上班的人数为 2.0000000 WED 开

3、始上班的人数为 0.0000000 THU 开始上班的人数为 6.0000000 FRI 开始上班的人数为 3.0000000 SAT 开始上班的人数为 3.0000000 SUN 开始上班的人数为 0.0000000,file函数 该函数用从外部文件中输入数据,可以放在模型中任何地方。 语法格式为file(filename) 这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。 执行一次 file输入 1个记录,记录之间的分隔符为 。 table函数 该函数以表格形式输出数据,只能在数据段(DATA)中使用。,二、线性规划模型 特点:目标函数与约束条件均为一次的。 线性规划

4、的一般模型,例1(运输规划模型) 某产品有6个产地Ai 和8个销售地Bj (i=1,2,6, j=1,2,8) ,产地到销地的单位运价见下表,问如何安排运输可使运输总费用最小。,单位运价表:,产地 总产量和:302 销地 总销量和:280 产大于销的模型。,产地 Ai : 总产量 ai 销地 Bi : 总销量 bi 产地Ai到销地Bj : 单位运价 cij 运输量 xij i=1,2,6; j=1,2,8,决策变量:产地Ai到销地Bj的运输量 xij,从产地Ai到销地Bj的运费 cij xij,从Ai到各销地的运费,总运费,目标函数:,产地 Ai : 总产量 ai 销地 Bi : 总销量 bi

5、 产地Ai到销地Bj : 单位运价 cij 运输量 xij i=1,2,6; j=1,2,8 产地总产量和:302 销地总销量和:280 为产大于销的模型。,目标函数:,运往Bj的总运量:,从Aj运出的总量:,对变量xij的限制:,i=1,2,6; j=1,2,8,sets: chdi/w1.w6/:a; xdi/v1.v8/:b; link(chdi,xdi):c,x; endsets objmin=sum(link:c*x); for(xdi(j):sum(chdi(i):x(i,j)=b(j); for(chdi(i):sum(xdi(j):x(i,j)=a(i); data: a=60

6、,55,51,43,41,52; b=35,37,22,32,41,32,43,38; c=6,2,6,7,4,2,5,9,4,9,5,3,8,5,8,2,5,2,1,9,7,4,3, 3,7,6,7,3,9,2,7,1,2,3,9,5,7,2,6,5,5,5,2,2,8,1,4,3; text()=table(x); enddata,s.t:,V1 V2 V3 V4 V5 V6 V7 V8 W1 0 19 0 0 41 0 0 0 W2 1 0 0 32 0 0 0 0 W3 0 11 0 0 0 0 40 0 W4 0 0 0 0 0 5 0 38 W5 34 7 0 0 0 0 0 0

7、W6 0 0 22 0 0 27 3 0,Objective value: 664.0000,例2 (指派问题)九种不同型号的装备配给9个部队,由于各部队的特点与条件不同,不同的装备在不同部队中产生效能不同,问如何分配可保证每个部队各分得一种装备,且使总效能最大(装备在不同部队的效能见下表)。,0.24 0.42 0.15 0.46 0.34 0.69 0.03 0.57 0.69 0.31 0.04 0.60 0.69 0.11 0.24 0.45 0.35 0.27 0.310.24 0.08 0.14 0.54 0.61 0.37 0.48 0.34 0.49 0.06 0.28 0.1

8、3 0.65 0.41 0.55 0.25 0.36 0.63 0.15 0.31 0.60 0.06 0.41 0.47 0.19 0.31 0.45 0.02 0.37 0.14 0.69 0.29 0.61 0.18 0.46 0.45 0.07 0.26 0.15 0.18 0.43 0.55 0.66 0.08 0.32 0.24 0.58 0.64 0.43 0.45 0.09 0.05 0.20 0.33 0.56 0.41 0.13 0.65 0.07 0.22 0.46 0.11,1 2 3 4 5 6 7 8 9,A B C D E F G H I,装备,部队,设,第i个部

9、队分配第j种装备,目标函数:,xij=0或1,( i, j=1,2,9),第i个部队不分配第j种装备,xij=0或1,( i, j=1,2,9),sets: army/ar1.ar9/; equi/eq1.eq9/; link(army,equi):a,x; endsets objmax=sum(link:a*x); for(equi(i):sum(army(j):x(i,j)=1); for(army(j):sum(equi(i): x(i,j)=1); for(link: bin(x); data: a=file(F:数学软件lingolidali002.txt); text(F:数学软件

10、lingolili002.txt )=table(x); enddata,EQ1 EQ2 EQ3 EQ4 EQ5 EQ6 EQ7 EQ8 EQ9 AR1 0 0 0 0 0 0 0 0 1 AR2 0 0 0 1 0 0 0 0 0 AR3 0 0 0 0 0 1 0 0 0 AR4 0 0 0 0 1 0 0 0 0 AR5 1 0 0 0 0 0 0 0 0 AR6 0 0 0 0 0 0 1 0 0 AR7 0 0 0 0 0 0 0 1 0 AR8 0 0 1 0 0 0 0 0 0 AR9 0 1 0 0 0 0 0 0 0,0.24 0.42 0.15 0.46 0.34 0.69

11、 0.03 0.57 0.69 0.31 0.04 0.60 0.69 0.11 0.24 0.45 0.35 0.27 0.310.24 0.08 0.14 0.54 0.61 0.37 0.48 0.34 0.49 0.06 0.28 0.13 0.65 0.41 0.55 0.25 0.36 0.63 0.15 0.31 0.60 0.06 0.41 0.47 0.19 0.31 0.45 0.02 0.37 0.14 0.69 0.29 0.61 0.18 0.46 0.45 0.07 0.26 0.15 0.18 0.43 0.55 0.66 0.08 0.32 0.24 0.58

12、0.64 0.43 0.45 0.09 0.05 0.20 0.33 0.56 0.41 0.13 0.65 0.07 0.22 0.46 0.11,1 2 3 4 5 6 7 8 9,A B C D E F G H I,装备,部队,例3 (合理设计海岛旅游线路问题) 某景区由5个海岛A,B,C,D,E组成。海岛之间及与大陆港口P的距离由表1给出,每个海岛的游览时间为半天,C,D两个岛屿有旅馆可供住宿。游览的过程为:游船早晨由港口P出发,每半天游览一个景点。如果行程超过一天,则晚上选择岛屿C或D住宿。游览结束后回到港口P。景点每次接待游客的能力由表2给出,目前旅行社可选择大、小两种游船用于旅游

13、。大型可载乘客100人,小型可载乘客40人。大型游船的每公里客均费用是小型游船的85%,但景点E只能停泊小型游船。客均旅行费用正比于船的行程。针对问题一、二、三、四分别建立数学模型,完成规划旅游线路的设计,要求在尽可能满足各景点最大接待能力的条件下,使旅行社的成本尽可能低?,问题一:若该公司只经营一日游业务,只选择小型船,应如何规划旅游线路? 问题二:若该公司只经营一日游业务,可同时选择小型船和大型船,应如何规划旅游线路? 问题三:若该公司同时经营一日游、二日游业务,只选择小型船,应如何规划旅游线路? 问题四:若该公司同时经营一日游、二日游业务,可同时选择小型船和大型船,应如何规划旅游线路?,

14、表1:岛屿及港口之间距离(km),表2: 景点每半天可接待游客的人数,假设游船都是满载的。,问题一:若该公司只经营一日游业务,只选择小型船,应如何规划旅游线路?,表2: 景点每半天可接待游客的人数,尽可能满足景点最大接待能力:,各景点半天最多接待船数Si: A:S1=6 B:S2=11 C:S3=6 D:S4=7 E:S5=5,决策变量:航程为PijP的船数xij,岛i岛j的人均费用: cij,表1:岛屿及港口之间距离(km),港口P岛i的人均费用: pi,航程为PijP的单船费用:40(pi +cij+pj),旅行社总成本:,目标函数:,约束:,xij为正整数,xij为正整数,,sets:

15、dao/dao1.dao5/:p,s; link(dao,dao):c,x; endsets min=sum(link(i,j):40*(p(i)+c(i,j)+p(j)*x(i,j); for(dao(i):sum(dao(j):x(i,j)=s(i); for(dao(j):sum(dao(i):x(i,j)=s(j); for(link(i,i):x(i,i)=0); for(link:gin(x);,data: p=70,115,90,95,85; s=6,11,6,7,5; c=0,46,21,50,60, 46, 0,30,32,55, 21,30, 0,48,53, 50,32,48, 0,21, 60,55,53,21,0; text()=table(x); enddata,DAO1 DAO2 DAO3 DAO4 DAO5 DAO1 0 3 3 0 0 DAO2 6 0 3 2 0 DAO3 0 6 0 0 0 DAO4 0 2 0 0 5 DAO5 0 0 0 5 0,派船方案: PABP:3条 PACP:3条 PBAP:6条 PBCP:3条 PBDP:2条 PCBP:6条 PDBP:2条 PDEP:5条 PEDP:5条,共需要35条小船,总成本:308600,假设游船都是满载的。,问题二:若该公司只经营一日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号