资源描述:
《用lingo求解数学规划模型实例.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用lingo求解数学规划模型实例一、lingo中的输入输出函数@text函数该函数被用在数据部分,用来将所需的数据输出至文本文件中。其语法为:@text(filename)这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。如果忽略filename,那么数据就被输出到标准输出设备(大多数情形都是屏幕)。@text函数仅能出现在模型数据部分的一条语句的左边。如在例6.7(职员时序安排模型)一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每
2、个职员一周连续工作5天,试求每周所需最少职员数,并给出安排。注意这里我们考虑稳定后的情况。决策变量:xi第i周天开始上班的人数;目标函数:sets:day/mon..sun/:x,d;endsets[obj]min=@sum(day:x);@for(day(j):@sum(day(i)
3、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;E
4、nddataMON开始上班的人数为8.0000000TUE开始上班的人数为2.0000000WED开始上班的人数为0.0000000THU开始上班的人数为6.0000000FRI开始上班的人数为3.0000000SAT开始上班的人数为3.0000000SUN开始上班的人数为0.0000000@file函数该函数用从外部文件中输入数据,可以放在模型中任何地方。语法格式为@file(filename)这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。执行一次@file输入1个记录,记录之间的分隔符为~。@table函
5、数该函数以表格形式输出数据,只能在数据段(DATA)中使用。二、线性规划模型特点:目标函数与约束条件均为一次的。线性规划的一般模型例1(运输规划模型)某产品有6个产地Ai和8个销售地Bj(i=1,2,…,6,j=1,2,…,8),产地到销地的单位运价见下表,问如何安排运输可使运输总费用最小。B1B2B3B4B5B6B7B8产量A16267425960A24953858255A35219743351A47673927143A52395726541A65522814352销量3537223241324338单位运价表:产地总产量和:30
6、2销地总销量和:280产大于销的模型。产地Ai:总产量ai销地Bi:总销量bi产地Ai到销地Bj:单位运价cij运输量xiji=1,2,…,6;j=1,2,…,8决策变量:产地Ai到销地Bj的运输量xij从产地Ai到销地Bj的运费cijxij从Ai到各销地的运费总运费目标函数:产地Ai:总产量ai销地Bi:总销量bi产地Ai到销地Bj:单位运价cij运输量xiji=1,2,…,6;j=1,2,…,8产地总产量和:302销地总销量和:280为产大于销的模型。目标函数:运往Bj的总运量:从Aj运出的总量:对变量xij的限制:i=1,2,
7、…,6;j=1,2,…,8sets:chdi/w1..w6/:a;xdi/v1..v8/:b;link(chdi,xdi):c,x;endsets[obj]min=@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,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,
8、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);enddatas.t:V1V2V3V4V5V6V7V8W10190041000W2100320000W30110000400W4000005038W5347000000W60022002730Objectivevalue:664.0000例2(指派问题)九种不同型号的装备配给9个部队,由于各部队的特点与条件不同,不同的装备在不同部队中产生效能不同,问如何分配可保证每个部队各分得一种装备,
9、且使总效能最大(装备在不同部队的效能见下表)。0.240.420.150.460.340.690.030.570.690.310.040.600.690.110.240.450.350.270.310.240.080.140.540.