lingo题目与答案附程序

合集下载

lingo 指派问题

lingo 指派问题

lingo 指派问题Lingo作业题1、指派问题设有n个人, 计划作n项工作, 其中cij表示第i个人做第j项工作的收益,求一种指派方式,使得每个人完成一项工作,使总收益最大.现6个人做6项工作的最优指派问题,其收益矩阵如表所示,请给出合理安排. 人工作1 工作2 工作3 工作4 工作5工作6 1 20 15 16 5 4 7 2 17 15 33 12 8 6 3 9 12 18 16 30 13 4 12 8 11 27 19 14 5 0 7 10 21 10 32 6 0 0 0 6 11 13 解:一、问题分析根据第一题的题意我们可以知道,此题的最终目标是让我们建立一种数学模型来解决这个实际生活中的问题,此题意简而言之就是为了解决6个人做6项工作的指派最优问题,从而使题目中的Cij收益等达到所需要的目的。

在题目中曾提到:每个人完成一项工作。

其意思就是每人只能做一项工作且每项工作只能做一人做。

二、符号说明此题属于最优指派问题,引入如下变量:题目中说:Cij表示第i个人做第j项工作的收益。

例如C56则表示第5个人做第6项工作。

即maxz???xyijciji?1j?166s.t.:?Ci?16ij・・・,6 ?1 ,j=1,2,3,?Cj?16ij・・・,6 ?1 ,i=1,2,3,・・・,6 Cij?0或1 ,i,j=1,2,3,此题需要求出最大值最优(最大值),即需要使用max,表示最大。

在编程过程中“@bin(x)”是“限制x为0或1”。

三、建立模型此题属于最优指派问题,与常见的线性问题极为类似。

因此,使用Lingo软件。

由于“每人只能做一项工作且每项工作只能做一人做”故采用0-1规划求得优。

四、模型求解(一)常规程序求解 Lingo输入框:max=20*c11+15*c12+16*c13+5*c14+4*c15+7*c16+17*c21+15*c22+33*c23+12*c24+8*c25+6*c26+9*c31+12*c32+18*c33+16*c34+30*c35+13*c36+12*c41+8*c42+11*c43+27*c44+19*c45+14*c46+0*c51+7*c52+10*c53+21*c54+10*c55+32*c56+ 0*c61+0*c62+0*c63+6*c64+11*c65+13*c66;c11+c12+c13+c14+c15+c16=1; c21+c22+c23+c24+c25+c26=1;c31+c32+c33+c34+c35+c36=1; c41+c42+c43+c44+c45+c46=1;c51+c52+c53+c54+c55+c56=1; c61+c62+c63+c64+c65+c66=1;c11+c21+c31+c41+c51+c61=1; c12+c22+c32+c42+c52+c62=1;c13+c23+c33+c43+c53+c63=1; c14+c24+c34+c44+c54+c64=1;c15+c25+c35+c45+c55+c65=1; c16+c26+c36+c46+c56+c66=1;@bin(c11);@bin(c12);@bin(c13);@bin(c14);@bin(c15);@bin(c16);@bin(c21);@bin(c22);@bin(c23);@bin(c24);@bin(c25);@bin(c26);@bin(c31);@bin(c32);@bin(c33);@bin(c34);@bin(c35);@bin(c36);@bin(c41);@bin(c42);@bin(c43);@bin(c44);@bin(c45);@bin(c46);@bin(c51);@bin(c52);@bin(c53);@bin(c54);@bin(c55);@bin(c56);@bin(c61);@bin(c62);@bin(c63);@bin(c64);@bin(c65);@bin(c66);Lingo输出(结果)框:Global optimal solution found.Objective value: 142.0000 Extended solversteps: 0 Total solver iterations: 0Variable Value Reduced CostC11 1.000000 -20.00000 C120.000000 -15.00000 C13 0.000000-16.00000 C14 0.000000 -5.000000 C15 0.000000 -4.000000C16 0.000000 -7.000000 C210.000000 -17.00000 C22 0.000000-15.00000 C23 1.000000 -33.00000 C24 0.000000 -12.00000 C250.000000 -8.000000 C26 0.000000-6.000000 C31 0.000000 -9.000000 C32 0.000000 -12.00000 C330.000000 -18.00000 C34 0.000000-16.00000 C35 1.000000 -30.00000 C36 0.000000 -13.00000 C410.000000 -12.00000 C42 0.000000-8.000000 C43 0.000000 -11.00000 C44 1.000000 -27.00000 C450.000000 -19.00000 C46 0.000000-14.00000 C51 0.000000 0.000000 C52 0.000000 -7.000000 C530.000000 -10.00000 C54 0.000000-21.00000 C55 0.000000 -10.00000 C56 1.000000 -32.00000 C610.000000 0.000000 C62 1.0000000.000000 C63 0.000000 0.000000 C64 0.000000 -6.000000 C650.000000 -11.00000 C66 0.000000-13.00000Row Slack or Surplus Dual Price 1142.0000 1.000000 2 0.0000000.000000 3 0.000000 0.000000 4 0.000000 0.000000 50.000000 0.000000 6 0.0000000.000000 7 0.000000 0.000000 8 0.000000 0.000000 90.000000 0.000000 10 0.0000000.000000 11 0.000000 0.00000012 0.000000 0.000000 130.000000 0.000000(二)循环语句求解 Lingo输入框: model: sets:gz/A1..A6/:a; ry/B1..B6/:b; yw(gz,ry):xy,x; endsets data:a=1,1,1,1,1,1; b=1,1,1,1,1,1; xy=20 15 16 5 4 7, 17 15 33 12 8 6, 912 18 16 30 13, 12 8 11 27 19 14, 0 7 10 21 10 32, 0 0 0 6 11 13;enddatamax=@sum(yw:xy*x);@for(gz(i):@sum(ry(j):x(i,j))=1); @for(ry(j):@sum(gz(i):x(i,j))=1);@for(yw(i,j):@bin(x(i,j))); EndLingo输出(结果)框Global optimal solution found.Objective value: 142.0000 Extended solversteps: 0 Total solver iterations: 0Variable Value Reduced CostA( A1) 1.000000 0.000000 A( A2)1.000000 0.000000 A( A3) 1.0000000.000000 A( A4) 1.000000 0.000000 A( A5) 1.000000 0.000000 A( A6)1.000000 0.000000 B( B1) 1.0000000.000000 B( B2) 1.000000 0.000000B( B3) 1.000000 0.000000 B( B4)1.000000 0.000000 B( B5) 1.0000000.000000 B( B6) 1.000000 0.000000 XY( A1, B1) 20.00000 0.000000 XY( A1, B2)15.00000 0.000000 XY( A1, B3) 16.000000.000000 XY( A1, B4) 5.000000 0.000000 XY( A1, B5) 4.000000 0.000000 XY( A1, B6)7.000000 0.000000 XY( A2, B1) 17.000000.000000 XY( A2, B2) 15.00000 0.000000 XY( A2, B3) 33.00000 0.000000 XY( A2, B4)12.00000 0.000000 XY( A2, B5) 8.0000000.000000 XY( A2, B6) 6.000000 0.000000 XY( A3, B1) 9.000000 0.000000 XY( A3, B2)12.00000 0.000000 XY( A3, B3) 18.000000.000000 XY( A3, B4) 16.00000 0.000000 XY( A3, B5) 30.00000 0.000000 XY( A3, B6)13.00000 0.000000 XY( A4, B1) 12.000000.000000 XY( A4, B2) 8.000000 0.000000 XY( A4, B3) 11.00000 0.000000 XY( A4, B4)27.00000 0.000000 XY( A4, B5) 19.000000.000000 XY( A4, B6) 14.00000 0.000000 XY( A5, B1) 0.000000 0.000000 XY( A5, B2)7.000000 0.000000 XY( A5, B3) 10.000000.000000 XY( A5, B4) 21.00000 0.000000 XY( A5, B5) 10.00000 0.000000 XY( A5, B6)32.00000 0.000000 XY( A6, B1) 0.0000000.000000 XY( A6, B2) 0.000000 0.000000 XY( A6, B3) 0.000000 0.000000 XY( A6, B4)6.000000 0.000000 XY( A6, B5) 11.000000.000000 XY( A6, B6) 13.00000 0.000000 X( A1, B1) 1.000000 -20.00000 X( A1, B2)0.000000 -15.00000 X( A1, B3) 0.000000-16.00000 X( A1, B4) 0.000000 -5.000000感谢您的阅读,祝您生活愉快。

Lingo精选题目及参考答案

Lingo精选题目及参考答案

Lingo 精选题目及答案答题要求:将Lingo 程序复制到Word 文档中,并且附上最终结果。

1、简单线性规划求解(目标函数)2134maxx x z += s.t.(约束条件)⎪⎪⎩⎪⎪⎨⎧≥≤≤+≤+0,781022122121x x x x x x x2、整数规划求解219040Max x x z +=⎪⎩⎪⎨⎧≥≤+≤+0,702075679212121x x x x x x 3、0-1规划求解Max 432215.18.04.0x x x x f +++=10106234321≤+++x x x x10,,,4321或=x x x x4、非线性规划求解||4||3||2||min 4321x x x x z +++=s.t. ⎪⎪⎩⎪⎪⎨⎧-=+--=-+-=+--2132130432143214321x x x x x x x x x x x x5、集合综合应用产生一个集合5052--=x x y ,(10,...,2,1=x ),求y 前6个数的和S 1,后6个数的和S 2,第2~8个数中的最小值S 3,最大值S 4。

6、综合题要求列出具体的目标函数和约束条件,然后附上Lingo 程序和最终结果。

6.1 指派问题有四个工人,要指派他们分别完成4项工作,每人做各项工作所消耗的时间如下表:问指派哪个人去完成哪项工作,可使总的消耗时间为最小?6.2 分配问题某两个煤厂A1,A2每月进煤数量分别为60t和100t,联合供应3个居民区B1,B2,B3。

3个居民区每月对煤的需求量依次分别为50t,70t,40t,煤厂A1离3个居民区B1,B2,B3的距离依次分别为10km,5km,6km,煤厂A2离3个居民区B1,B2,B3的距离分别为4km,8km,12km。

问如何分配供煤量使得运输量(即t·km)达到最小?1、model:max=4*x1+3*x2;2*x1+x2<10;x1+x2<8;x2<7;end2、model:max=40*x1+90*x2;9*x1+7*x2<56;7*x1+20*x2<70;@gin(x1);@gin(x2);end3、model:max=x1^2+0.4*x2+0.8*x3+1.5*x4;3*x1+2*x2+6*x3+10*x4<10;@bin(x1); @bin(x2);@bin(x3); @bin(x4);end4、model:max=@abs(x1)+2*@abs(x2)+3*@abs(x3)+4*@abs(x4);x1-x2-x3+x4=0;x1-x2+x3-3*x4=1;x1-x2-2*x3+3*x4=-1/2;end5、model:sets:jihe/1..10/:y;ss/1..4/:S;endsets!由于y和s中部分有负数,所以要先去掉这个约束;@for(jihe:@free(y));@for(ss(i):@free(S));!产生元素;@for (jihe(x):y(x)=x^2-5*x-50); S(1)=@sum (jihe(i)|i#le#6:y(i)); S(2)=@sum (jihe(i)|i#ge#5:y(i));S(3)=@min (jihe(i)|i#ge#2 #and# i#le#8:y(i)); S(4)=@max (jihe(i)|i#ge#2 #and# i#le#8:y(i)); end6.1、设:第i 个工人做第j 项工作用时ij t ,标志变量ij f 定义如下:⎩⎨⎧=其他件工作个工人去做第指派第01j i f ijmin∑∑==⨯4141i j ij ijt fs.t. 141=∑=i ijf()4,3,2,1=j 每份工作都有一人做∑==411j ijf()4,3,2,1=i 每人都只做一项工作model : sets :work/A B C D/;worker/jia yi bing ding/; time(worker,work):t,f; endsets!目标函数可以用[obj]标志出,也可以省略;[obj] min =@sum (time(i,j):t(i,j)*f(i,j)); data :!可以直接复制表格,但是在最后要有分号; t=; e !每份工作都有一人做;@for (work(j):@sum (time(i,j):f(i,j))=1); !每人都只做一项工作;@for (worker(i):@sum (time(i,j):f(i,j))=1); !让f 取0-1值,此条件可以省略;!@for(time(i,j):@bin(f(i,j))); end6.2设:煤厂进煤量i s ,居民区需求量为i d ,煤厂i 距居民区j 的距离为ij L ,煤厂i 供给居民区j 的煤量为ij g那么可以列出如下优化方程式∑∑==⨯=3121min j i ij ij L gs.t ()3,2,121==∑=j d gi jij()2,131=≤∑=i s gj iijmodel : sets :supply/1,2/:s; demand/1,2,3/:d;link(supply,demand):road,sd; endsets data :road=10 5 6 4 8 12; d=50 70 40; s=60 100; enddata[obj] min =@sum (link(i,j):road(i,j)*sd(i,j)); @for (demand(i):@sum (supply(j):sd(j,i))=d(i)); @for (supply(i):@sum (demand(j):sd(i,j))<s(i));end1.线性规划模型。

lingo题目与答案(附程序)

lingo题目与答案(附程序)

Lingo软件题目与答案1.一奶产品加工厂用牛奶生产A1,A2两种奶产品,1桶牛奶可以在甲类设备上用12h加工,成3kg A1,或者在乙类设备上用8h加工成4kg A2。

根据市场需求,生产的A1,A2全部能售出,且每千克A1获利24元,每千克A2获利16元。

现在加工厂每天能得到50桶牛奶供应,每天正式工人的劳动时间为480h,并且甲类设备每天最多加工100kg A1,乙类设备的加工时间没有限制,讨论以下问题1)若35元可以买一桶牛奶,做这项投资是否值得?若投资,每天最多购买多少桶牛奶?2)若聘用临时工人以增加劳动时间,付给临时工人的工资最多是多少?3)由于市场需求变化,每千克A1的获利增加到30元,是否改变原有的生产计划?Lingo程序:model:max=72*x+64*y;x+y<50;12*x+8*y<480;3*x<100;end2.一汽车厂生产小、中、大三种类型的的汽车,已知各类型每辆车对钢材、劳动时间的需求,利润以及每月工厂钢材、劳动时间如下表。

1)制定生产计划,使工厂利润最大;2)若生产某类型车,则至少需生产80辆,求改变后的生产计划。

3.建筑工地的位置(a,b)和水泥日用量d如下表,目前有两个临时料场位于P(5,1),Q(2,7),日储量各有20t。

1)求从P,Q两料场分别向各工地运送多少吨水泥,使总的吨公里数最小;2)现打算舍弃原有料场,新建两个料场A,B,求新料场的位置,使新的吨公里数最小,此时与P,Q相比能节省多少吨公里。

4.设从4个产地Ai往3个销地Bj运送物资,产量、销量和单位运费如下表,求总运费最少的运输方案和总运费。

Lingo程序:Model:sets:warehouse/1..3/:a;customer/1..4/:b;link(warehouse,customer):c,x;endsetsdata:a=30,25,21;b=15,17,22,12;c=6,2,6,7,4,9,5,3,8,8,1,5;enddata[OBJ]min=@sum(link:c*x);@for(warehouse(i): @sum(customer(j):x(i,j))<a(i));@for(customer(j):@sum(warehouse(i):x(i,j))=b(j));end5.求下图中v1到v11的最短路Lingo程序:Model:sets:cities/1..11/;roads(cities,cities):p,w,x; endsetsdata: !半连通图和权图;p=0 1 1 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 10 0 0 0 1 1 1 1 0 1 10 0 0 0 0 0 1 0 1 0 10 0 0 0 0 0 0 1 1 1 0;w=0 2 8 1 0 0 0 0 0 0 02 0 6 0 1 0 0 0 0 0 08 6 0 7 5 1 2 0 0 0 01 0 7 0 0 0 9 0 0 0 00 1 5 0 0 3 0 2 9 0 00 0 1 0 3 0 4 0 6 0 00 0 2 9 0 4 0 0 3 1 00 0 0 0 2 0 0 0 7 0 90 0 0 0 9 6 3 7 0 1 20 0 0 0 0 0 1 0 1 0 40 0 0 0 0 0 0 0 9 2 4;enddatan=@size(cities);min=@sum(roads:w*x);@for(cities(i)|I # ne # 1 # and # I # ne # n: @sum(cities(j):p(i,j)*x(i,j))=@sum(cities(j):p(j,i)*x(j,i)));@sum(cities(j):p(1,j)*x(1,j))=1;end6.露天矿里有若干个爆破生成的石料堆,每堆称为一个铲位,每个铲位已预先根据铁含量将石料分成矿石和岩石。

lingo习题及答案

lingo习题及答案

第一题:一、摘要本文是一篇关于基金的使用计划模型。

在现实经济高速发展的背景下,人们越来越清醒地意识到:一个合理的数学应用模型对于现今生产、投资、规划等实际应用项目的重要性。

本文所建立的存款模型就是个很好的例子,此模型最终要解决的是选择最佳基金使用计划,使得学校基金会能够有充分的资金在基金会运转。

这个模型的解决是我们更清楚掌握了最优化模型的解决方法及LINGO软件求解线性规划的方法。

二、问题的提出某校基金会有一笔数额为M元的基金,打算将其存入银行或购买国库券。

当前银行存款及各期国库券的利率见下表。

假设国库券每年至少发行一次,发行时间不定。

取款政策参考银行的现行政策。

校基金会计划在n年内每年用部分本息奖励优秀师生,要求每年的奖金额大致相同,且在n年末仍保留原基金数额。

校基金会希望获得最佳的基金使用计划,以提高每年的奖金额。

请你帮助校基金会在如下情况下设计基金使用方案,并对M=5000万元,n=10年给出具体结果:1.只存款不购国库券;2.可存款也可购国库券。

3.学校在基金到位后的第3年要举行百年校庆,基金会希望这一年的奖金二、模型的假设(1)银行利息和国库券结算方式为单利;(2) 定期存款和国库券不到期均不能取款;(3)国库券每年发行一期,发行月份不定,但于发行月一号发行;(4)基金结算后马上又进行投资(存入银行或买国库券)中间间隔时间不予考虑;(5)定期存款实际收益利率为公布利率的80%(20%为利息税上交国库)国库券存款利率与同期的定期存款利率相同,但不交利息税;(6)每年年初评奖且奖金数目相同(除第三问),N年后本金仍为M;三、符号的说明x第i年所存入银行的j年期的存款;ijy第i年说购买的j年期的国库券;ij'r银行同期活期利率;r银行同期活期税后利率;'r银行同期j年期固定利率;jr银行同期j年期固定利率税后利率;jM本金=5000万元,Z=每年的奖金四、模型的建立与求解第一种情况:只存款不买国库券我们考虑到这种情况下,存款的时间是一定的,所以活期和三个月,半年的利率都太低,所以在这种情况下,我们直接考虑一年的利率,这样才能获得较多的利息,从而使得每年发放的奖金数目尽可能多——即我们要实现的目标。

Lingo初级应用作业(附程序)

Lingo初级应用作业(附程序)

Lingo 初级应用作业1、将下面公式编成Lingo 程序并得出结果。

(1)(2)⎪⎪⎩⎪⎪⎨⎧≥--≤-+++++=为整数为实数2112121222121,;;827;1363..3921445min x x x x x x x T S x x x x zLingo 程序:max =120*x1+108*x2+150*x3+190*x4+160*x5+200*x6+98*x7;100*x1+98*x2+130*x3+160*x4+130*x5+170*x6+88*x7<=1600;x1+x2+x3<=2; x4+x5>=1; x6+x7>=1; x6+x7>=1; @bin (x); @gin (x1); @gin (x2); @gin (x3);⎪⎪⎪⎩⎪⎪⎪⎨⎧=≥+≥+≤++≤++++++++++++=1..011216008817013016013098100..98200160190150108120max 765432176543217654321or x x x x x x x x x x x x x x x t s x x x x x x x z i2、背包问题(0,1规划问题)一个旅行者的背包最多只能装 6kg 物品,现有 4 件物品的重量和价值分别为 2 kg ,3 kg ,3 kg ,4 kg ;1 元,1.2元,0.9元,1.1元。

问应怎样携带那些物品使得携带物品的价值最大?Lingo 程序:model:min=3*x1+x2+3*x3+3*x4+x5+x6+3*x7; 4*x1+3*x2+2*x3+x4+x5>=50; x2+2*x4+x5+3*x6>=20; x3+x5+2*x7>=15; @gin(x1); @gin(x2); @gin(x3); @gin(x4); @gin(x5); @gin(x6); @gin(x7); end3、线性规划问题某公司有四个建筑工地,位置坐标如下表,位置坐标为(i b a ,1) (单位:公里),水泥日用量i d (单位:吨),现有两料场,位于A (5,1),B (2,7),记(j j y x ,),日储量各有20吨。

Lingo精选题目及答案

Lingo精选题目及答案

Lingo精选题目及答案Lingo 精选题目及答案答题要求:将Lingo 程序复制到Word 文档中,并且附上最终结果。

1、简单线性规划求解(目标函数)2134m axx x z += s.t.(约束条件)≥≤≤+≤+0,781022122121x x x x x x x2、整数规划求解219040Maxx x z +=≥≤+≤+0,702075679212121x x x x x x 3、0-1规划求解Max 432215.18.04.0x x x x f +++=10106234321≤+++x x x x10,,,4321或=x x x x4、非线性规划求解||4||3||2||m in4321x x x x z +++=s.t.-=+--=-+-=+--2132130432143214321x x x x x x x x x x x x5、集合综合应用产生一个集合5052--=x x y ,(10,...,2,1=x ),求y 前6个数的和S 1,后6个数的和S 2,第2~8个数中的最小值S 3,最大值S 4。

6、综合题要求列出具体的目标函数和约束条件,然后附上Lingo 程序和最终结果。

6.1 指派问题问指派哪个人去完成哪项工作,可使总的消耗时间为最小?6.2 分配问题某两个煤厂A1,A2每月进煤数量分别为60t和100t,联合供应3个居民区B1,B2,B3。

3个居民区每月对煤的需求量依次分别为50t,70t,40t,煤厂A1离3个居民区B1,B2,B3的距离依次分别为10km,5km,6km,煤厂A2离3个居民区B1,B2,B3的距离分别为4km,8km,12km。

问如何分配供煤量使得运输量(即t·km)达到最小?1、model:max=4*x1+3*x2;2*x1+x2<10;x1+x2<8;x2<7;end2、model:max=40*x1+90*x2;9*x1+7*x2<56;7*x1+20*x2<70;@gin(x1);@gin(x2);end3、model:max=x1^2+0.4*x2+0.8*x3+1.5*x4;3*x1+2*x2+6*x3+10*x4<10;@bin(x1); @bin(x2);@bin(x3); @bin(x4);end4、model:max=@abs(x1)+2*@abs(x2)+3*@abs(x3)+4*@abs(x4);x1-x2-x3+x4=0;x1-x2+x3-3*x4=1;x1-x2-2*x3+3*x4=-1/2;end5、model:sets:jihe/1..10/:y;ss/1..4/:S;endsets!由于y和s中部分有负数,所以要先去掉这个约束;@for(jihe:@free(y));@for (ss(i):@free (S));!产生元素;@for (jihe(x):y(x)=x^2-5*x-50); S(1)=@sum (jihe(i)|i#le#6:y(i)); S(2)=@sum (jihe(i)|i#ge#5:y(i));S(3)=@min (jihe(i)|i#ge#2 #and# i#le#8:y(i)); S(4)=@max (jihe(i)|i#ge#2 #and# i#le#8:y(i)); end6.1、设:第i 个工人做第j 项工作用时ij t ,标志变量ij f 定义如下:=其他件工作个工人去做第指派第01j i f ijmin∑∑==?4141i j ij ijt fs.t. 141=∑=i ijf()4,3,2,1=j 每份工作都有一人做∑==411j ijf()4,3,2,1=i 每人都只做一项工作model : sets :work/A B C D/;worker/jia yi bing ding/; time(worker,work):t,f; endsets!目标函数可以用[obj]标志出,也可以省略;[obj] min =@sum (time(i,j):t(i,j)*f(i,j)); data :!可以直接复制表格,但是在最后要有分号; t=; e nddata!每份工作都有一人做;@for (work(j):@sum (time(i,j):f(i,j))=1); !每人都只做一项工作;@for (worker(i):@sum (time(i,j):f(i,j))=1); !让f 取0-1值,此条件可以省略;!@for(time(i,j):@bin(f(i,j))); end6.2设:煤厂进煤量i s ,居民区需求量为i d ,煤厂i 距居民区j 的距离为ij L ,煤厂i 供给居民区j 的煤量为ij g那么可以列出如下优化方程式∑∑==?=3121min j i ij ij L gs.t ()3,2,121==∑=j d gi jij()2,131=≤∑=i s gj iijmodel : sets :supply/1,2/:s; demand/1,2,3/:d;link(supply,demand):road,sd; endsets data :road=10 5 6 4 8 12; d=50 70 40; s=60 100; enddata[obj] min =@sum (link(i,j):road(i,j)*sd(i,j)); @for (demand(i):@sum (supply(j):sd(j,i))=d(i)); @for (supply(i):@sum (demand(j):sd(i,j))<s(i));< p="">end1.线性规划模型。

LINGO练习题答案

LINGO练习题答案

1、用LINGO 软件解方程组221212222359x x x x ⎧+=⎪⎨-=-⎪⎩。

2、用LINGO 软件解方程组1211221222/64x x x x x ⎧⎪-=-⎨⎪=⎩。

3、用LINGO 软件解线性规划问题4、用LINGO 软件解二次规划问题且12,x x 都是整数5、用LINGO 软件解下列问题(1)max 12z=x x +12121212..26,4520,,0,,s tx x x x x x x x +≤+≤≥为整数(2) min 2212z=x -3-2x +()() 22121212..-50,24,,0s tx x x x x x +≤+≤≥。

(3) min 2212z=x ++x +(1)(1) 22122..-20,1s tx x x +≤≥。

max 23,..4310,3512,,0.z x y s t x y x y x y =++≤+≤≥22121122121212max 982770.32,..100,2,,0,x x x x x x s t x x x x x x +---+≤≤≥6、用LINGO软件分别产生序列(1){1,3,5,7,9,11};(2){1,4,9,16,25,36};(3)1111 {1,,,,}6122030.7、已知向量c={1,3,0.5,7,5,2},用LINGO软件解答下列问题。

(1)求向量c前5个数中的最大值;(2)求向量c后4个数平方中的最小值;(3)求向量c 中所有数的和。

8、某学校游泳队要从5名队员中选4名参加4乘100米混合泳接力赛。

5名队员4种泳姿的百米成绩(单位:秒)-----------------------------------------------------------------------------------李王张刘赵蝶泳66.8 57.2 78 70 67.4仰泳75.6 66 67.8 74.2 71蛙泳87 66.4 84.6 69.6 83.8自由泳58.6 53 59.4 57.2 62.4-----------------------------------------------------------------------------------如何选拔?(1)请建立“0----1规划”模型;(2)用Lingo求解。

数学建模值班lingo例题和答案

数学建模值班lingo例题和答案

数学建模值班lingo例题和答案
例1
某工厂有两条生产线,分别用生产M和P两种型号的产品,利润分别为200元/个和300元/个,生产线的最大生产能力分别为每日100和 120,生产线每生产一个M产品需要1个劳动日(1个工人工作8小时成为1个劳动日)进行调试、检测等工作,而每个P产品需要2个劳动日,该厂工人每天共计能提供160劳动日,假如原材料等其他条件不受限制,问应如何安排生产计划,才能使获得的利润最大?
解:设两种产品的生产量分别为x和x,则
目标函数max z = 200x +300x,
例2
生产计划安排问题(@if函数的应用)。

某企业用A,B两种原油混合加工成甲、乙两种成品油销售。

数据见下表,表中百分比是成品油中原油A的最低含量。

成品油甲和乙的销售价与加工费之差分别为5和5.6(单位:千元/吨),原油A,B的采购价分别是采购量x(单位:吨)的分段函数
f(x)和g(x)(单位:千元/吨),该企业的现有资金限额为7200(千元),生产成品油乙的最大能力为2000吨。

假设成品油全部能销售出去,试在充分利用现有资金和现有库存的条件下,合理安排采购和生产计划,使企业的收益最大。

解:设原油A,B的采购量分别为x, y,原油A用于生产成品油甲、乙的数量分别为x,,原油B用于生产成品油甲、乙的数量分别为x1,x,则采购原油
A,B的费用分别为f(x)和g(x),目标函数是收益最大,约束条件有采购量约束,生产能力约束、原油含量约束、成品油与原油的关系、资金约束。

建立规划模型如下:
max z = 5(X1+x1)+5.6(X2+x2)- f(x)-g(x)。

Lingo软件训练题(新).doc

Lingo软件训练题(新).doc

Lingo软件训练题、基础训练答题要求:将Lingo程序复制到Word文档中,并且附上最终结果。

1、简单线性规划求解min z = 13 兀1 + 9x2 + 10x3 +1 lx4 + 12x5 + 8x6X] +x4 =400x2 + x5 = 600x3+x6 = 5000・4%i +1. lx2 + x3 < 8000.5X4 +1.2兀5 +1.3X6 <900 兀n 0, j =1,2,…,6答:%首先输入下列系数:f=[13 910 11 12 8];A = [0.4 1.11 0 0 00 0 0 0.5 1.2 1.3];b = [800; 900];Aeq=[l 0010001001000 1001];beq=[400 600 500];vlb = zeros(6,l);vub=[];%然后调用linprog函数:[x,fval] = linprog(f,A,b,Aeq,beq,vlb,vub)结果:0.0000600.00000.0000400.00000.0000500.0000fval =1.3800e+0042、整数规划求解Max z = 40 兀i + 90X29兀i + 7兀2 <56S.t. < 7x1 + 20X2 < 70x p x2 > 0答:二、综合训练答题要求:写岀目标函数与约束条件,将Lingo程序复制到Word文档中,并且附上最终结果。

线性规划模型。

某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过800箱.问如何安排生产计划,即两种饮料各生产多少使获利最大•进一步讨论:1)若投资0.8万元可增加原料1千克,问应否作这项投资.2)若每100箱甲饮料获利可增加1万元,问应否改变生产计划.。

三组 LINGO问题

三组 LINGO问题
1)最亮 model:
max = 2*h1 / (x^2 + h1^2)^(3/2) + 3*h2 / ((20-x)^2 + h2^2)^(3/2); x>=0; x<=20; data: h1 = 5; h2 = 6; enddata end
1
5.00
2
6.00
19.97
最暗 model:
min = 2*h1 / (x^2 + h1^2)^(3/2) + 3*h2 / ((20-x)^2 + h2^2)^(3/2); x>=0; x<=20; data: h1 = 5; h2 = 6; enddata end
② 表示:生产一件晶体管需要占用晶体管质量控制区域 0.5h 的时间,生产一件 微型模块需要占用质量控制区域 0.4h 的时间,总时间不超过 200h;
③ 表示:生产一件电路集成器需要占用测试与包装区域 0.5h 的时间,总时间不 超过 200h;
④ 表示:生产一件电路集成器需要占用电路印刷区域 0.1h 的时间,总时间不超 过 200h; 将③和④合并后约束条件变为:
v(t)
������������ ������������

������������ ������������
������
−������������������������
对速度积分可以得到下落位移关于时间的函数
������(������)
������������ ������������
������
/ ((20-x(j))^2 + h2(i)^2)^(3/2)));
ans = @max(set(i):m(i));

lingo程序练习题

lingo程序练习题

lingo程序练习题Lingo是一种编程语言,它的特点在于简单易用和高效。

为了更好地掌握和理解Lingo编程,我们可以通过练习题的方式来提升我们的实战能力。

下面将给出一些适用于Lingo程序的练习题,以帮助读者熟悉和掌握这门语言。

1. 输出"Hello, World!"编写一个Lingo程序,输出“Hello, World!”。

这是Lingo程序入门的经典练习题,通过完成这道题目,你可以熟悉Lingo的基本语法和输出功能。

2. 计算两个数的和编写一个Lingo程序,输入两个数,然后计算它们的和并将结果输出。

这道题目可以帮助你熟练使用Lingo的输入和计算功能。

3. 判断奇偶数编写一个Lingo程序,输入一个数,判断它是奇数还是偶数,并输出对应的结果。

这道题目可以帮助你理解和掌握Lingo的判断语句和逻辑判断。

4. 字符串连接编写一个Lingo程序,输入两个字符串,将它们连接起来并输出。

这道题目可以帮助你熟悉Lingo的字符串处理功能。

5. 猜数游戏编写一个Lingo程序,生成一个1到100的随机数,然后让用户进行猜数游戏,直到猜对为止。

每次猜数时,程序都会给出相应的提示,比如“猜的数太大了”或“猜的数太小了”。

完成这道题目可以帮助你运用到Lingo的随机数生成和循环控制等功能。

6. 查找素数编写一个Lingo程序,输入一个数,判断它是否为素数,并输出判断结果。

这道题目可以练习你对素数的判断和Lingo的循环控制能力。

总结:通过完成上述练习题,你可以逐渐熟悉和掌握Lingo编程语言,提升你的实战能力。

同时,这些练习题也可以帮助你加深对Lingo编程语言各个方面的理解,如输入输出、数学运算、条件判断、字符串处理、循环控制等。

希望你能够享受编程的乐趣,并在实践中不断提升自己。

加油!。

Lingo考核试题(

Lingo考核试题(

Lingo考核试题1、Lingo模型一般由几段构成?分别是什么?一般由5段构成;(1)集合段(SETS):以“SETS:” 开始,“ENDSETS”结束,定义必要的集合变量(SET)及其元素(MEMBER,含义类似于数组的下标)和属性(ATTRIBUTE,含义类似于数组)。

(2)目标与约束段:目标函数、约束条件等,没有段的开始和结束标记,因此实际上就是除其它四个段(都有明确的段标记)外的LINGO 模型。

(3)数据段(DATA):以“DATA:” 开始, “ENDDATA”结束,对集合的属性(数组)输入必要的常数数据。

(4)初始段(INIT):以“INIT: ”开始,“ENDINIT”结束,对集合的属性(数组)定义初值(5)计算段(CALC):以“CALC: ”开始,“ENDCALC”结束,对一些原始数据进行计算处理。

2、如何激活全局最优解程序?Use Global Solver使用全局最优求解程序选择该选项,LINGO将用全局最优求解程序求解模型,尽可能得到全局最优解(求解花费的时间可能很长);否则不使用全局最优求解程序,通常只得到局部最优解Variable Upper Bound变量上界有两个域可以控制变量上界(按绝对值):1、 Value:设定变量的上界,缺省值为1010;2、 Application列表框设置这个界的三种应用范围:•None: 所有变量都不使用这个上界;•All: 所有变量都使用这个上界;•Selected:先找到第1个局部最优解,然后对满足这个上界的变量使用这个上界(缺省设置)Tolerances误差限有两个域可以控制变量上界(按绝对值):1、 Optimality:只搜索比当前解至少改进这么多个单位的解(缺省值为10-6);2、 Delta:全局最优求解程序在凸化过程中增加的约束的误差限(缺省值为10-7)。

3、Lingo能解决什么类型的数学问题?1.基本运算符:包括算术运算符、逻辑运算符和关系运算符2.数学函数:三角函数和常规的数学函数3.金融函数:LINGO 提供的两种金融函数4.概率函数:LINGO 提供了大量概率相关的函数5.变量界定函数:这类函数用来定义变量的取值范围6.集操作函数:这类函数为对集的操作提供帮助7.集循环函数:遍历集的元素,执行一定的操作的函数8.数据输入输出函数:这类函数允许模型和外部数据源相联系,进行数据的输入输出9.辅助函数:各种杂类函数4、Lingo能保存什么类型的文件?请列举。

LINGO练习题-1及答案

LINGO练习题-1及答案

LINGO练习题-1及答案LINGO练习题-1及答案LINGO测试-11、用LINGO软件解方程组(1)221212222359 x x x x?+=??-=-??。

model:x^2+2*y^2=22;3*x-5*y=-9;endSolution is locally infeasible Infeasibilities:0.5417411E-04Extended solver steps:5Total solver iterations:20Variable ValueX 2.000005Y 3.000003Row Slack or Surplus1-0.5417411E-0420.0000002、用LINGO软件解线性规划问题model:max=2*x+3*y;4*x+3*y<=10;3*x+5*y<=12;x>0;y>0;endGlobal optimal solution found.Objective value:7.454545Infeasibilities:0.000000Total solver iterations:2Variable Value Reduced CostY 1.6363640.000000Row Slack or Surplus Dual Pricemax23,..4310,3512,,0.z x y s t x y x y x y=++≤+≤≥17.454545 1.00000020.0000000.9090909E-0130.0000000.54545454 1.2727270.0000005 1.6363640.0000003、用LINGO软件二次规划问题(1)min2212z=x-3-2x+()()22121212..-50,24,,0s tx x x x x x+≤+≤≥。

model:min=(x1-3)^2+(x2-2)^2;x1^2+x2^2-5<=0;x1+2*x2<=4;x1>=0;x2>=0;endLocal optimal solution found. Objective value: 2.000000 Infeasibilities:0.5384996E-06 Extended solver steps:5 Total solver iterations:64 Variable Value Reduced CostX1 2.0000000.000000X20.99999990.000000Row Slack or Surplus Dual Price 1 2.000000-1.0000002-0.5384996E-060.333333130.0000000.666667050.99999990.000000(2)model:22221212334412132344max23x x x2x x5x,..25,12,,{0,1},2,0.z x x s t x x x x x x x x=-+-++-≤≤≤∈Z∈≥>max=x1^2-2*x2^2+3*x1*x2-x3^2+2*x3*x4+5*x4^2;x1-2*x2<=5;1<=x1;x1<=2;x3/x4>=2;x4>0;@gin(x2);@bin(x3);endLinearization components added:Constraints:4Variables:1Local optimal solution found.Objective value:9.250000Objective bound:9.250000Infeasibilities:0.000000Extended solver steps:2Total solver iterations:39Variable Value Reduced Cost X1 2.0000000.000000X2 1.000000-1.999996X3 1.000000199997.5X40.5000000 0.000000Row Slack or Surplus Dual Price19.250000 1.0000002 5.0000000.00000040.0000007.00000350.000000-1.74999760.50000000.0000004、用LINGO软件分别产生序列(1){1,3,5,7,9,11};model:sets:set1/1..6/:x;endsets@for(set1(i):x(i)=2*i-1);endFeasible solution found. Total solver iterations:0 Variable ValueX(1) 1.000000X(2) 3.000000X(3) 5.000000X(4)7.000000X(5)9.000000X(6)11.00000Row Slack or Surplus10.00000020.00000030.00000040.00000050.00000060.000000(2)1111{1,,,,}6122030model:sets:set2/1..5/:x;endsets@for(set2(i):x(i)=1/(i*(i+1))); endFeasible solution found.Total solver iterations:0Variable ValueX(1)0.5000000X(2)0.1666667X(3)0.8333333E-01X(4)0.5000000E-01X(5) 0.3333333E-01Row Slack or Surplus10.00000020.00000030.00000040.00000050.0000005、已知向量c={1,3,0.5,7,5,2},用LINGO软件解答下列问题。

LINGO软件求旅行商(货郎担)问题的程序与答案

LINGO软件求旅行商(货郎担)问题的程序与答案

PABCD P-A-C-B-D-Pdist=0 70 115 90 9570 0 46 21 50115 46 0 30 3290 21 30 0 4895 50 32 48 0;Global optimal solution found.Objective value: 248.0000Extended solver steps: 0Total solver iterations: 36Variable Value Reduced Cost N 5.000000 0.000000 U( 1) 0.000000 0.000000 U( 2) 3.000000 0.000000 U( 3) 1.000000 0.000000U( 5) 0.000000 0.000000 DIST( 1, 1) 0.000000 0.000000 DIST( 1, 2) 70.00000 0.000000 DIST( 1, 3) 115.0000 0.000000 DIST( 1, 4) 90.00000 0.000000 DIST( 1, 5) 95.00000 0.000000 DIST( 2, 1) 70.00000 0.000000 DIST( 2, 2) 0.000000 0.000000 DIST( 2, 3) 46.00000 0.000000 DIST( 2, 4) 21.00000 0.000000 DIST( 2, 5) 50.00000 0.000000 DIST( 3, 1) 115.0000 0.000000 DIST( 3, 2) 46.00000 0.000000 DIST( 3, 3) 0.000000 0.000000 DIST( 3, 4) 30.00000 0.000000 DIST( 3, 5) 32.00000 0.000000 DIST( 4, 1) 90.00000 0.000000 DIST( 4, 2) 21.00000 0.000000 DIST( 4, 3) 30.00000 0.000000 DIST( 4, 4) 0.000000 0.000000 DIST( 4, 5) 48.00000 0.000000 DIST( 5, 1) 95.00000 0.000000 DIST( 5, 2) 50.00000 0.000000 DIST( 5, 3) 32.00000 0.000000 DIST( 5, 4) 48.00000 0.000000 DIST( 5, 5) 0.000000 0.000000 X( 1, 1) 0.000000 0.000000 X( 1, 2) 0.000000 70.00000 X( 1, 3) 0.000000 115.0000 X( 1, 4) 0.000000 90.00000 X( 1, 5) 1.000000 95.00000 X( 2, 1) 1.000000 70.00000 X( 2, 2) 0.000000 0.000000 X( 2, 3) 0.000000 46.00000 X( 2, 4) 0.000000 21.00000 X( 2, 5) 0.000000 50.00000 X( 3, 1) 0.000000 115.0000 X( 3, 2) 0.000000 46.00000 X( 3, 3) 0.000000 0.000000 X( 3, 4) 1.000000 30.00000 X( 3, 5) 0.000000 32.00000 X( 4, 1) 0.000000 90.00000 X( 4, 2) 1.000000 21.00000X( 4, 4) 0.000000 0.000000 X( 4, 5) 0.000000 48.00000 X( 5, 1) 0.000000 95.00000 X( 5, 2) 0.000000 50.00000 X( 5, 3) 1.000000 32.00000 X( 5, 4) 0.000000 48.00000 X( 5, 5) 0.000000 0.000000Row Slack or Surplus Dual Price1 0.000000 0.0000002 248.0000 -1.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.00000011 0.000000 0.00000012 0.000000 0.00000013 2.000000 0.00000014 3.000000 0.00000015 1.000000 0.00000016 6.000000 0.00000017 0.000000 0.00000018 3.000000 0.00000019 0.000000 0.00000020 3.000000 0.00000021 2.000000 0.00000022 7.000000 0.00000023 0.000000 0.00000024 6.000000 0.00000025 0.000000 0.00000026 2.000000 0.00000027 1.000000 0.00000028 3.000000 0.000000 PABCE P-E-B-C-A-Pdist=0 70 115 90 8570 0 46 21 60115 46 0 30 5590 21 30 0 5385 60 55 53 0;Global optimal solution found.Objective value: 261.0000Extended solver steps: 0Total solver iterations: 10Variable Value Reduced Cost N 5.000000 0.000000 U( 1) 0.000000 0.000000 U( 2) 3.000000 0.000000 U( 3) 1.000000 0.000000 U( 4) 2.000000 0.000000DIST( 1, 1) 0.000000 0.000000 DIST( 1, 2) 70.00000 0.000000 DIST( 1, 3) 115.0000 0.000000 DIST( 1, 4) 90.00000 0.000000 DIST( 1, 5) 85.00000 0.000000 DIST( 2, 1) 70.00000 0.000000 DIST( 2, 2) 0.000000 0.000000 DIST( 2, 3) 46.00000 0.000000 DIST( 2, 4) 21.00000 0.000000 DIST( 2, 5) 60.00000 0.000000 DIST( 3, 1) 115.0000 0.000000 DIST( 3, 2) 46.00000 0.000000 DIST( 3, 3) 0.000000 0.000000 DIST( 3, 4) 30.00000 0.000000 DIST( 3, 5) 55.00000 0.000000 DIST( 4, 1) 90.00000 0.000000 DIST( 4, 2) 21.00000 0.000000 DIST( 4, 3) 30.00000 0.000000 DIST( 4, 4) 0.000000 0.000000 DIST( 4, 5) 53.00000 0.000000 DIST( 5, 1) 85.00000 0.000000 DIST( 5, 2) 60.00000 0.000000 DIST( 5, 3) 55.00000 0.000000 DIST( 5, 4) 53.00000 0.000000 DIST( 5, 5) 0.000000 0.000000 X( 1, 1) 0.000000 0.000000 X( 1, 2) 0.000000 70.00000 X( 1, 3) 0.000000 115.0000 X( 1, 4) 0.000000 90.00000 X( 1, 5) 1.000000 85.00000 X( 2, 1) 1.000000 70.00000 X( 2, 2) 0.000000 0.000000 X( 2, 3) 0.000000 46.00000 X( 2, 4) 0.000000 21.00000 X( 2, 5) 0.000000 60.00000 X( 3, 1) 0.000000 115.0000 X( 3, 2) 0.000000 46.00000 X( 3, 3) 0.000000 0.000000 X( 3, 4) 1.000000 30.00000 X( 3, 5) 0.000000 55.00000 X( 4, 1) 0.000000 90.00000 X( 4, 2) 1.000000 21.00000 X( 4, 3) 0.000000 30.00000X( 4, 5) 0.000000 53.00000 X( 5, 1) 0.000000 85.00000 X( 5, 2) 0.000000 60.00000 X( 5, 3) 1.000000 55.00000 X( 5, 4) 0.000000 53.00000 X( 5, 5) 0.000000 0.000000Row Slack or Surplus Dual Price1 0.000000 0.0000002 261.0000 -1.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.00000011 0.000000 0.00000012 0.000000 0.00000013 2.000000 0.00000014 3.000000 0.00000015 1.000000 0.00000016 6.000000 0.00000017 0.000000 0.00000018 3.000000 0.00000019 0.000000 0.00000020 3.000000 0.00000021 2.000000 0.00000022 7.000000 0.00000023 0.000000 0.00000024 6.000000 0.00000025 0.000000 0.00000026 2.000000 0.00000027 1.000000 0.00000028 3.000000 0.000000 PABDE P-E-D-B-A-Pdist=0 70 115 95 8570 0 46 50 60115 46 0 32 5595 50 32 0 2185 60 55 21 0;Global optimal solution found.Objective value: 254.0000Extended solver steps: 0Total solver iterations: 24Variable Value Reduced Cost N 5.000000 0.000000 U( 1) 0.000000 0.000000 U( 2) 3.000000 0.000000 U( 3) 2.000000 0.000000 U( 4) 1.000000 0.000000 U( 5) 0.000000 0.000000 DIST( 1, 1) 0.000000 0.000000DIST( 1, 3) 115.0000 0.000000 DIST( 1, 4) 95.00000 0.000000 DIST( 1, 5) 85.00000 0.000000 DIST( 2, 1) 70.00000 0.000000 DIST( 2, 2) 0.000000 0.000000 DIST( 2, 3) 46.00000 0.000000 DIST( 2, 4) 50.00000 0.000000 DIST( 2, 5) 60.00000 0.000000 DIST( 3, 1) 115.0000 0.000000 DIST( 3, 2) 46.00000 0.000000 DIST( 3, 3) 0.000000 0.000000 DIST( 3, 4) 32.00000 0.000000 DIST( 3, 5) 55.00000 0.000000 DIST( 4, 1) 95.00000 0.000000 DIST( 4, 2) 50.00000 0.000000 DIST( 4, 3) 32.00000 0.000000 DIST( 4, 4) 0.000000 0.000000 DIST( 4, 5) 21.00000 0.000000 DIST( 5, 1) 85.00000 0.000000 DIST( 5, 2) 60.00000 0.000000 DIST( 5, 3) 55.00000 0.000000 DIST( 5, 4) 21.00000 0.000000 DIST( 5, 5) 0.000000 0.000000 X( 1, 1) 0.000000 0.000000 X( 1, 2) 0.000000 70.00000 X( 1, 3) 0.000000 115.0000 X( 1, 4) 0.000000 95.00000 X( 1, 5) 1.000000 85.00000 X( 2, 1) 1.000000 70.00000 X( 2, 2) 0.000000 0.000000 X( 2, 3) 0.000000 46.00000 X( 2, 4) 0.000000 50.00000 X( 2, 5) 0.000000 60.00000 X( 3, 1) 0.000000 115.0000 X( 3, 2) 1.000000 46.00000 X( 3, 3) 0.000000 0.000000 X( 3, 4) 0.000000 32.00000 X( 3, 5) 0.000000 55.00000 X( 4, 1) 0.000000 95.00000 X( 4, 2) 0.000000 50.00000 X( 4, 3) 1.000000 32.00000 X( 4, 4) 0.000000 0.000000 X( 4, 5) 0.000000 21.00000X( 5, 2) 0.000000 60.00000 X( 5, 3) 0.000000 55.00000 X( 5, 4) 1.000000 21.00000 X( 5, 5) 0.000000 0.000000Row Slack or Surplus Dual Price1 0.000000 0.0000002 254.0000 -1.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.00000011 0.000000 0.00000012 0.000000 0.00000013 3.000000 0.00000014 2.000000 0.00000015 1.000000 0.00000016 0.000000 0.00000017 3.000000 0.00000018 2.000000 0.00000019 6.000000 0.00000020 0.000000 0.00000021 3.000000 0.00000022 7.000000 0.00000023 6.000000 0.00000024 0.000000 0.00000025 0.000000 0.00000026 1.000000 0.00000027 2.000000 0.00000028 3.000000 0.000000 PACDE P-A-C-D-E-Pdist=0 70 90 95 8570 0 21 50 6090 21 0 48 5395 50 48 0 2185 60 53 21 0;Global optimal solution found.Objective value: 245.0000Extended solver steps: 0Total solver iterations: 84Variable Value Reduced Cost N 5.000000 0.000000 U( 1) 0.000000 0.000000 U( 2) 0.000000 0.000000 U( 3) 1.000000 0.000000 U( 4) 2.000000 0.000000 U( 5) 3.000000 0.000000 DIST( 1, 1) 0.000000 0.000000DIST( 1, 2) 70.00000 0.000000 DIST( 1, 3) 90.00000 0.000000 DIST( 1, 4) 95.00000 0.000000 DIST( 1, 5) 85.00000 0.000000 DIST( 2, 1) 70.00000 0.000000 DIST( 2, 2) 0.000000 0.000000 DIST( 2, 3) 21.00000 0.000000 DIST( 2, 4) 50.00000 0.000000 DIST( 2, 5) 60.00000 0.000000 DIST( 3, 1) 90.00000 0.000000 DIST( 3, 2) 21.00000 0.000000 DIST( 3, 3) 0.000000 0.000000 DIST( 3, 4) 48.00000 0.000000 DIST( 3, 5) 53.00000 0.000000 DIST( 4, 1) 95.00000 0.000000 DIST( 4, 2) 50.00000 0.000000 DIST( 4, 3) 48.00000 0.000000 DIST( 4, 4) 0.000000 0.000000 DIST( 4, 5) 21.00000 0.000000 DIST( 5, 1) 85.00000 0.000000 DIST( 5, 2) 60.00000 0.000000 DIST( 5, 3) 53.00000 0.000000 DIST( 5, 4) 21.00000 0.000000 DIST( 5, 5) 0.000000 0.000000 X( 1, 1) 0.000000 0.000000 X( 1, 2) 1.000000 70.00000 X( 1, 3) 0.000000 90.00000 X( 1, 4) 0.000000 95.00000 X( 1, 5) 0.000000 85.00000 X( 2, 1) 0.000000 70.00000 X( 2, 2) 0.000000 0.000000 X( 2, 3) 1.000000 21.00000 X( 2, 4) 0.000000 50.00000 X( 2, 5) 0.000000 60.00000 X( 3, 1) 0.000000 90.00000 X( 3, 2) 0.000000 21.00000 X( 3, 3) 0.000000 0.000000 X( 3, 4) 1.000000 48.00000 X( 3, 5) 0.000000 53.00000 X( 4, 1) 0.000000 95.00000 X( 4, 2) 0.000000 50.00000 X( 4, 3) 0.000000 48.00000 X( 4, 4) 0.000000 0.000000 X( 4, 5) 1.000000 21.00000X( 5, 1) 1.000000 85.00000 X( 5, 2) 0.000000 60.00000 X( 5, 3) 0.000000 53.00000 X( 5, 4) 0.000000 21.00000 X( 5, 5) 0.000000 0.000000Row Slack or Surplus Dual Price1 0.000000 0.0000002 245.0000 -1.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.00000011 0.000000 0.00000012 0.000000 0.00000013 0.000000 0.00000014 6.000000 0.00000015 7.000000 0.00000016 3.000000 0.00000017 0.000000 0.00000018 6.000000 0.00000019 2.000000 0.00000020 3.000000 0.00000021 0.000000 0.00000022 1.000000 0.00000023 2.000000 0.00000024 3.000000 0.00000025 3.000000 0.00000026 2.000000 0.00000027 1.000000 0.00000028 0.000000 0.000000 PBCDE P-E-D-B-C-Pdist=0 115 90 95 85115 0 30 32 5590 30 0 48 5395 32 48 0 2185 55 53 21 0;Global optimal solution found.Objective value: 258.0000Extended solver steps: 0Total solver iterations: 12Variable Value Reduced Cost N 5.000000 0.000000 U( 1) 0.000000 0.000000 U( 2) 2.000000 0.000000 U( 3) 3.000000 0.000000 U( 4) 1.000000 0.000000 U( 5) 0.000000 0.000000 DIST( 1, 1) 0.000000 0.000000 DIST( 1, 2) 115.0000 0.000000 DIST( 1, 3) 90.00000 0.000000 DIST( 1, 4) 95.00000 0.000000 DIST( 1, 5) 85.00000 0.000000 DIST( 2, 1) 115.0000 0.000000 DIST( 2, 2) 0.000000 0.000000DIST( 2, 3) 30.00000 0.000000 DIST( 2, 4) 32.00000 0.000000 DIST( 2, 5) 55.00000 0.000000 DIST( 3, 1) 90.00000 0.000000 DIST( 3, 2) 30.00000 0.000000 DIST( 3, 3) 0.000000 0.000000 DIST( 3, 4) 48.00000 0.000000 DIST( 3, 5) 53.00000 0.000000 DIST( 4, 1) 95.00000 0.000000 DIST( 4, 2) 32.00000 0.000000 DIST( 4, 3) 48.00000 0.000000 DIST( 4, 4) 0.000000 0.000000 DIST( 4, 5) 21.00000 0.000000 DIST( 5, 1) 85.00000 0.000000 DIST( 5, 2) 55.00000 0.000000 DIST( 5, 3) 53.00000 0.000000 DIST( 5, 4) 21.00000 0.000000 DIST( 5, 5) 0.000000 0.000000 X( 1, 1) 0.000000 0.000000 X( 1, 2) 0.000000 115.0000 X( 1, 3) 0.000000 90.00000 X( 1, 4) 0.000000 95.00000 X( 1, 5) 1.000000 85.00000 X( 2, 1) 0.000000 115.0000 X( 2, 2) 0.000000 0.000000 X( 2, 3) 1.000000 30.00000 X( 2, 4) 0.000000 32.00000 X( 2, 5) 0.000000 55.00000 X( 3, 1) 1.000000 90.00000 X( 3, 2) 0.000000 30.00000 X( 3, 3) 0.000000 0.000000 X( 3, 4) 0.000000 48.00000 X( 3, 5) 0.000000 53.00000 X( 4, 1) 0.000000 95.00000 X( 4, 2) 1.000000 32.00000 X( 4, 3) 0.000000 48.00000 X( 4, 4) 0.000000 0.000000 X( 4, 5) 0.000000 21.00000 X( 5, 1) 0.000000 85.00000 X( 5, 2) 0.000000 55.00000 X( 5, 3) 0.000000 53.00000 X( 5, 4) 1.000000 21.00000 X( 5, 5) 0.000000 0.000000Row Slack or Surplus Dual Price1 0.000000 0.0000002 258.0000 -1.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.00000011 0.000000 0.00000012 0.000000 0.00000013 0.000000 0.00000014 3.000000 0.00000015 2.000000 0.00000016 3.000000 0.00000017 2.000000 0.00000018 1.000000 0.00000019 0.000000 0.00000020 6.000000 0.00000021 3.000000 0.00000022 6.000000 0.00000023 7.000000 0.00000024 0.000000 0.00000025 1.000000 0.00000026 0.000000 0.00000027 2.000000 0.00000028 3.000000 0.000000model:sets:city / 1.. 5/: u;link( city, city):dist, ! 距离矩阵;x;endsetsn = @size( city);data: !距离矩阵,它并不需要是对称的;dist=0 70 115 90 9570 0 46 21 50115 46 0 30 3290 21 30 0 4895 50 32 48 0;enddata!目标函数;min = @sum( link: dist * x);@FOR( city( K):!进入城市K;@sum( city( I)| I #ne# K: x( I, K)) = 1;!离开城市K;@sum( city( J)| J #ne# K: x( K, J)) = 1;);!保证不出现子圈;@for(city(I)|I #gt# 1:@for( city( J)| J#gt#1 #and# I #ne# J:u(I)-u(J)+n*x(I,J)<=n-1););!限制u的范围以加速模型的求解,保证所加限制并不排除掉TSP问题的最优解; @for(city(I) | I #gt# 1: u(I)<=n-2 );!定义X为0\1变量;@for( link: @bin( x));EndGlobal optimal solution found.Objective value: 900.0000Objective bound: 900.0000 Infeasibilities: 0.000000Extended solver steps: 1Total solver iterations: 357Variable Value Reduced CostX( 1) 0.000000 0.000000X( 2) 0.000000 0.000000X( 3) 0.000000 1.000000X( 4) 10.00000 0.000000X( 5) 0.000000 1.000000X( 6) 240.0000 0.000000X( 7) 200.0000 0.000000X( 8) 0.000000 1.000000X( 9) 240.0000 0.000000X( 10) 210.0000 0.000000X( 11) 210.0000 0.000000R( 1, 1) 0.000000 0.000000R( 1, 2) 0.000000 0.000000R( 2, 1) 1.000000 0.000000R( 2, 2) 0.000000 0.000000 R( 3, 1) 0.000000 0.000000 R( 3, 2) 1.000000 0.000000 R( 4, 1) 0.000000 0.000000 R( 4, 2) 1.000000 0.000000 R( 5, 1) 1.000000 0.000000 R( 5, 2) 0.000000 0.000000 R( 6, 1) 1.000000 0.000000 R( 6, 2) 0.000000 0.000000 R( 7, 1) 0.000000 0.000000 R( 7, 2) 1.000000 0.000000 R( 8, 1) 1.000000 0.000000 R( 8, 2) 0.000000 0.000000 R( 9, 1) 0.000000 0.000000 R( 9, 2) 1.000000 0.000000 R( 10, 1) 1.000000 0.000000 R( 10, 2) 0.000000 0.000000 R( 11, 1) 0.000000 0.000000 R( 11, 2) 0.000000 0.000000Row Slack or Surplus Dual Price1 900.0000 1.0000002 0.000000 0.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.00000011 0.000000 0.00000012 0.000000 0.00000013 0.000000 0.00000014 0.000000 0.00000015 0.000000 0.00000016 0.000000 0.00000017 0.000000 0.00000018 0.000000 0.00000019 0.000000 0.00000020 0.000000 0.00000021 0.000000 0.00000022 0.000000 0.00000023 0.000000 0.00000024 0.000000 0.00000025 0.000000 0.00000026 0.000000 0.00000027 0.000000 0.00000028 0.000000 0.00000029 0.000000 0.00000030 0.000000 0.00000031 0.000000 0.00000032 0.000000 0.00000033 0.000000 0.00000034 0.000000 0.00000035 0.000000 0.00000036 0.000000 0.00000037 0.000000 0.00000038 0.000000 0.00000039 0.000000 0.00000040 0.000000 0.00000041 0.000000 0.00000042 0.000000 0.00000043 0.000000 0.00000044 0.000000 0.00000045 0.000000 0.00000046 6.000000 0.00000047 6.000000 0.00000048 5.000000 0.00000049 6.000000 0.00000050 6.000000 0.00000051 5.000000 0.00000052 6.000000 0.00000053 5.000000 0.00000054 5.000000 0.00000055 6.000000 0.00000056 5.000000 0.00000057 6.000000 0.00000058 6.000000 0.00000059 5.000000 0.00000060 5.000000 0.00000061 6.000000 0.00000062 6.000000 0.00000063 5.000000 0.00000064 5.000000 0.00000065 6.000000 0.00000066 6.000000 0.00000067 6.000000 0.00000068 0.000000 1.00000069 0.000000 1.00000070 250.0000 0.00000071 470.0000 0.00000072 250.0000 0.00000073 0.000000 0.00000074 40.00000 0.00000075 70.00000 0.00000076 0.000000 1.00000077 0.000000 1.00000078 280.0000 0.00000079 190.0000 0.000000。

lingo例题

lingo例题

LINGO是一个用于求解线性规划问题的优化软件。

以下是一个简单的LINGO例题:
问题描述:
某公司生产A、B两种产品,生产A产品需要10个单位劳动力和2个单位资本,生产B产品需要15个单位劳动力和3个单位资本。

该公司拥有劳动力200个单位和资本150个单位。

A产品的售价为20元,B产品的售价为30元。

目标:最大化总收入。

约束条件:
1.劳动力不超过200个单位。

2.资本不超过150个单位。

3.A产品的产量为整数。

4.B产品的产量为整数。

使用LINGO求解该问题,可以建立以下模型:
目标函数:最大化总收入
@max=20x+30y; // 总收入等于A产品售价乘以A产品产量加上B产品售价乘以B产品产量
约束条件:
@bin(x); // A产品产量为整数
@bin(y); // B产品产量为整数
10x+15y<=200; // 劳动力不超过200个单位
2x+3y<=150; // 资本不超过150个单位
x>=0; // A产品产量非负
y>=0; // B产品产量非负
在LINGO中输入以上模型,即可求解该问题。

lingo 指派问题

lingo 指派问题

Lingo 作业题1、指派问题设有n 个人, 计划作n 项工作, 其中ij c 表示第i 个人做第j 项工作的收益,求一种指派方式,使得每个人完成一项工作,使总收益最大.现6个人做6项工作的最优指派问题,其收益矩阵如表所示,请给出合理安排.一、问题分析根据第一题的题意我们可以知道,此题的最终目标是让我们建立一种数学模型来解决这个实际生活中的问题,此题意简而言之就是为了解决6个人做6项工作的指派最优问题,从而使题目中的ij C 收益等达到所需要的目的。

在题目中曾提到:每个人完成一项工作。

其意思就是每人只能做一项工作且每项工作只能做一人做。

二、符号说明此题属于最优指派问题,引入如下变量:题目中说:ij C 表示第i 个人做第j 项工作的收益。

例如56C 则表示第5个人做第6项工作。

即6611max ij ij i j z xy c ===∑∑s.t.:611ij i C==∑ ,j=1,2,3,···,6611ij j C==∑ ,i=1,2,3,···,6 01ij C =或 ,i,j=1,2,3,···,6此题需要求出最大值最优(最大值),即需要使用max ,表示最大。

在编程过程中“@bin (x )”是“限制x 为0或1”。

三、建立模型此题属于最优指派问题,与常见的线性问题极为类似。

因此,使用Lingo软件。

由于“每人只能做一项工作且每项工作只能做一人做”故采用0-1规划求得优。

四、模型求解(一)常规程序求解Lingo输入框:max=20*c11+15*c12+16*c13+5*c14+4*c15+7*c16+17*c21+15*c22+33*c23+12*c24+8*c25+6*c26+9*c31+12*c32+18*c33+16*c34+30*c35+13*c36+12*c41+8*c42+11*c43+27*c44+19*c45+14*c46+0*c51+7*c52+10*c53+21*c54+10*c55+32*c56+0*c61+0*c62+0*c63+6*c64+11*c65+13*c66;c11+c12+c13+c14+c15+c16=1;c21+c22+c23+c24+c25+c26=1;c31+c32+c33+c34+c35+c36=1;c41+c42+c43+c44+c45+c46=1;c51+c52+c53+c54+c55+c56=1;c61+c62+c63+c64+c65+c66=1;c11+c21+c31+c41+c51+c61=1;c12+c22+c32+c42+c52+c62=1;c13+c23+c33+c43+c53+c63=1;c14+c24+c34+c44+c54+c64=1;c15+c25+c35+c45+c55+c65=1;c16+c26+c36+c46+c56+c66=1;@bin(c11);@bin(c12);@bin(c13);@bin(c14);@bin(c15);@bin(c16);@bin(c21);@bin(c22);@bin(c23);@bin(c24);@bin(c25);@bin(c26);@bin(c31);@bin(c32);@bin(c33);@bin(c34);@bin(c35);@bin(c36);@bin(c41);@bin(c42);@bin(c43);@bin(c44);@bin(c45);@bin(c46);@bin(c51);@bin(c52);@bin(c53);@bin(c54);@bin(c55);@bin(c56);@bin(c61);@bin(c62);@bin(c63);@bin(c64);@bin(c65);@bin(c66);Lingo输出(结果)框:Global optimal solution found.Objective value: 142.0000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostC11 1.000000 -20.00000C12 0.000000 -15.00000C13 0.000000 -16.00000C14 0.000000 -5.000000C15 0.000000 -4.000000C21 0.000000 -17.00000 C22 0.000000 -15.00000 C23 1.000000 -33.00000 C24 0.000000 -12.00000 C25 0.000000 -8.000000 C26 0.000000 -6.000000 C31 0.000000 -9.000000 C32 0.000000 -12.00000 C33 0.000000 -18.00000 C34 0.000000 -16.00000 C35 1.000000 -30.00000 C36 0.000000 -13.00000 C41 0.000000 -12.00000 C42 0.000000 -8.000000 C43 0.000000 -11.00000 C44 1.000000 -27.00000 C45 0.000000 -19.00000 C46 0.000000 -14.00000 C51 0.000000 0.000000 C52 0.000000 -7.000000 C53 0.000000 -10.00000 C54 0.000000 -21.00000 C55 0.000000 -10.00000 C56 1.000000 -32.00000 C61 0.000000 0.000000 C62 1.000000 0.000000 C63 0.000000 0.000000 C64 0.000000 -6.000000 C65 0.000000 -11.00000 C66 0.000000 -13.00000Row Slack or Surplus Dual Price1 142.0000 1.0000002 0.000000 0.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.00000011 0.000000 0.00000013 0.000000 0.000000(二)循环语句求解Lingo输入框:model:sets:gz/A1..A6/:a;ry/B1..B6/:b;yw(gz,ry):xy,x;endsetsdata:a=1,1,1,1,1,1;b=1,1,1,1,1,1;xy=20 15 16 5 4 7,17 15 33 12 8 6,9 12 18 16 30 13,12 8 11 27 19 14,0 7 10 21 10 32,0 0 0 6 11 13;enddatamax=@sum(yw:xy*x);@for(gz(i):@sum(ry(j):x(i,j))=1);@for(ry(j):@sum(gz(i):x(i,j))=1);@for(yw(i,j):@bin(x(i,j)));EndLingo输出(结果)框Global optimal solution found.Objective value: 142.0000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced Cost A( A1) 1.000000 0.000000 A( A2) 1.000000 0.000000 A( A3) 1.000000 0.000000 A( A4) 1.000000 0.000000 A( A5) 1.000000 0.000000 A( A6) 1.000000 0.000000 B( B1) 1.000000 0.000000 B( B2) 1.000000 0.000000B( B4) 1.000000 0.000000 B( B5) 1.000000 0.000000 B( B6) 1.000000 0.000000 XY( A1, B1) 20.00000 0.000000 XY( A1, B2) 15.00000 0.000000 XY( A1, B3) 16.00000 0.000000 XY( A1, B4) 5.000000 0.000000 XY( A1, B5) 4.000000 0.000000 XY( A1, B6) 7.000000 0.000000 XY( A2, B1) 17.00000 0.000000 XY( A2, B2) 15.00000 0.000000 XY( A2, B3) 33.00000 0.000000 XY( A2, B4) 12.00000 0.000000 XY( A2, B5) 8.000000 0.000000 XY( A2, B6) 6.000000 0.000000 XY( A3, B1) 9.000000 0.000000 XY( A3, B2) 12.00000 0.000000 XY( A3, B3) 18.00000 0.000000 XY( A3, B4) 16.00000 0.000000 XY( A3, B5) 30.00000 0.000000 XY( A3, B6) 13.00000 0.000000 XY( A4, B1) 12.00000 0.000000 XY( A4, B2) 8.000000 0.000000 XY( A4, B3) 11.00000 0.000000 XY( A4, B4) 27.00000 0.000000 XY( A4, B5) 19.00000 0.000000 XY( A4, B6) 14.00000 0.000000 XY( A5, B1) 0.000000 0.000000 XY( A5, B2) 7.000000 0.000000 XY( A5, B3) 10.00000 0.000000 XY( A5, B4) 21.00000 0.000000 XY( A5, B5) 10.00000 0.000000 XY( A5, B6) 32.00000 0.000000 XY( A6, B1) 0.000000 0.000000 XY( A6, B2) 0.000000 0.000000 XY( A6, B3) 0.000000 0.000000 XY( A6, B4) 6.000000 0.000000 XY( A6, B5) 11.00000 0.000000 XY( A6, B6) 13.00000 0.000000 X( A1, B1) 1.000000 -20.00000 X( A1, B2) 0.000000 -15.00000 X( A1, B3) 0.000000 -16.00000 X( A1, B4) 0.000000 -5.000000X( A1, B6) 0.000000 -7.000000 X( A2, B1) 0.000000 -17.00000 X( A2, B2) 0.000000 -15.00000 X( A2, B3) 1.000000 -33.00000 X( A2, B4) 0.000000 -12.00000 X( A2, B5) 0.000000 -8.000000 X( A2, B6) 0.000000 -6.000000 X( A3, B1) 0.000000 -9.000000 X( A3, B2) 0.000000 -12.00000 X( A3, B3) 0.000000 -18.00000 X( A3, B4) 0.000000 -16.00000 X( A3, B5) 1.000000 -30.00000 X( A3, B6) 0.000000 -13.00000 X( A4, B1) 0.000000 -12.00000 X( A4, B2) 0.000000 -8.000000 X( A4, B3) 0.000000 -11.00000 X( A4, B4) 1.000000 -27.00000 X( A4, B5) 0.000000 -19.00000 X( A4, B6) 0.000000 -14.00000 X( A5, B1) 0.000000 0.000000 X( A5, B2) 0.000000 -7.000000 X( A5, B3) 0.000000 -10.00000 X( A5, B4) 0.000000 -21.00000 X( A5, B5) 0.000000 -10.00000 X( A5, B6) 1.000000 -32.00000 X( A6, B1) 0.000000 0.000000 X( A6, B2) 1.000000 0.000000 X( A6, B3) 0.000000 0.000000 X( A6, B4) 0.000000 -6.000000 X( A6, B5) 0.000000 -11.00000 X( A6, B6) 0.000000 -13.00000Row Slack or Surplus Dual Price1 142.0000 1.0000002 0.000000 0.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.00000012 0.000000 0.00000013 0.000000 0.000000五、模型结果通过以上的应用Lingo模型求解,得出结论:第1项工作由第1个人来完成。

Lingo小练习

Lingo小练习

Lingo练习题一、(人力资源分配的问题)某昼夜服务的公交线路每天各时间段内所需司机和乘务人员数如下:设司机和乘务人员分别在各时间段开始时上班,并连续工作八小时,问该公交线路怎样安排司机和乘务人员,既能满足工作需要,又配备最少司机和乘务人员? Lingo运行程序:model:min=x1+x2+x3+x4+x5+x6;x1+x6>=60;x2+x1>=70;x2+x3>=60;x3+x4>=50;x4+x5>=20;x5+x6>=30;end运行结果:二、(指派问题)有四个工人,要分别指派他们完成四项不同的工作,每人做各项工作所消耗的时间(单位:小时)如下表所示。

应如何指派工作才能使总的消耗时间最少?Lingo运行程序:model:sets:person/1..4/;task/1..4/;assign(person,task):a,x;endsetsdata:a=15,18,21,24,19,23,22,18,26,17,16,19,19,20,23,17;enddatamin=@sum(assign:a*x);@for(person(i):@sum(task(j):x(i,j))=1); @for(task(j):@sum(person(i):x(i,j))=1); @for(assign(i,j):@bin(x(i,j)));end运行结果:甲:A乙:D丙:C丁:B三、SAILCO 公司需要决定下四个季度的帆船生产量。

下四个季度的帆船需求量分别是40 条,60 条,75 条,25 条,这些需求必须按时满足。

每个季度正常的生产能力是40 条帆船,每条船的生产费用为400 美元。

如果加班生产,每条船的生产费用为450 美元。

每个季度末,每条船的库存费用为20 美元。

假定生产提前期为0,初始库存为10 条船。

如何安排生产可使总费用最小?Lingo运行程序:model:sets:time/1..4/:x,s,d,c;endsetsdata:d=40 60 75 25;enddatamin=@sum(time(i):c(i)+s(i)*20);@for(time(i):c(i)=@if(x(i)#le#40,x(i)*400,40*400+(x(i)-40)*450));x(1)+10>=d(1);@for(time(i)|i#Gt#1:x(i)+s(i-1)>=d(i));s(1)=x(1)+10-d(1);@for(time(i)|i#gt#1:s(i)=x(i)+s(i-1)-d(i));end四、某公司有一笔30万元的资金,准备今后三年用于下列项目的投资:(1)三年内每年均可投资,每年获利为投资金额的20%,其本利可用于下一年投资;(2)只允许第一年初投资,于第二年末收回,本利合计为投资额的150%,但此类投资额不超过15万元;(3)允许第二年初投入,于第三年末收回,本利合计为投资额的160%,但此类投资额不超过20万元;(4)允许第三年初投入,于第三年末收回,获利40%,投资额不超过10万元;试为公司确定一个三年末本利和最大的投资方案。

lingo解决线性规划问题(附程序)

lingo解决线性规划问题(附程序)

封面作者:Pan Hongliang仅供个人学习北方民族大学第六届数学建模竞赛竞赛论文竞赛分组:竞赛题目:组员:所在学院:信息与计算科学学院制版北方民族大学第六届数学建模竞赛承诺书为保证竞赛的公平、公正,维护竞赛的严肃性,在竞赛期间,我们承诺遵守以下竞赛规定:只在本参赛队的三人之间进行问题的讨论,绝不与本参赛队外的其他人讨论与竞赛题目相关的任何问题,不抄袭、剽窃他人的成果,引用的参考文献在答卷中进行标注。

承诺人签名:承诺人所在分组:承诺人所在学院:年月日摘要在工程技术、经济管理等诸多领域中,人们经常遇到的一类决策问题是:在一系列客观或主观限制条件下,寻求所要关注的某个或多个指标达到最大(或最小)的决策。

例如,酒店客房分配,我们常常不能使得客房刚好满足顾客的要求,此时,客房是有限的,但是顾客需要的客房数已经超出酒店可提供的客房数目,我们就会选择一种客房分配方案,来使得酒店的收益获得最大的。

7天连锁酒店利用网络系统为常客户开设标准间和商务间两类客房的预定服务,酒店以一周(从星期一到星期日)为一个时段处理这项业务。

现在收到一个会务组提出的一个一周的预定需求单,现要求我们依据题目所提供的信息,以酒店收入最大为目标,针对3种不同情况,制定相应的分配方案。

我们把这类决策问题通常归为最优化问题,解决问题的方案是,找到问题的决策变量,目标函数及约束条件。

如果需要作出决策的变量较多时,我们就会首选LINGO软件来解决线性规划的问题。

关键词:最优分配、数学建模、线性规划、LINGO目录1.问题的重述 (4)2.问题的分析 (4)3.模型的假设 (5)4.符号的约定 (6)5.模型的建立与求解 (7)5.1问题(1)的求解 (8)5.2问题(2)的求解 (9)5.3问题(3)的求解 (12)5.4问题(4)的求解 (15)6.模型的评价与改进 (15)7.参考文献 (15)8.附录 (16)酒店客房的最优分配方案1、问题的重述7天连锁酒店利用网络系统为常客户开设标准间和商务间两类客房的预定服务,酒店以一周(从星期一到星期日)为一个时段处理这项业务。

LINGO例题

LINGO例题

例 如何在LINGO 中求解如下的LP 问题:,6002100350..32min 212112121≥≤+≥≥++x x x x x x x t s x x在模型窗口中输入如下代码: min =2*x1+3*x2; x1+x2>=350; x1>=100;2*x1+x2<=600; X2>=0然后点击工具条上的按钮 即可。

例 使用LINGO 软件计算6个发点8个收点的最小费用运输问题。

产销单位运价如下表。

单位 销地 运 价 产地B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 产量 A 1 6 2 6 7 4 2 5 9 60 A 2 4 9 5 3 8 5 8 2 55 A 3 5 2 1 9 7 4 3 3 51 A 4 7 6 7 3 9 2 7 1 43 A 5 2 3 9 5 7 2 6 5 41 A 6 5 5 2 2 8 1 4 3 52 销量3537223241324338使用LINGO 软件,编制程序如下:model :!6发点8收点运输问题; sets :warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand;links(warehouses,vendors): cost, volume; endsets !目标函数;min =@sum (links: cost*volume); !需求约束;@for (vendors(J):@sum (warehouses(I): volume(I,J))=demand(J)); !产量约束;@for (warehouses(I): 阿@sum (vendors(J): volume(I,J))<=capacity(I));!这里是数据;data:capacity=60 55 51 43 41 52;demand=35 37 22 32 41 32 43 38;cost=6 2 6 7 4 2 9 54 95 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;enddataend然后点击工具条上的按钮即可。

线性规划题目解答lingo

线性规划题目解答lingo

第一题:l.生产炊事用具需要两种资源――-劳动力和原材料,某公司制定生产计划,生产三种不同的产品,生产管理部门提供的数据如下:每天供应原材料200公斤,每天可供使用的劳动力为150小时。

建立线性规划模型,使得总收益最大,并求出各种产品的日产量。

问题分析:可设A部门每天生产x1 ,可设B部门每天生产x2 ,可设C部门每天生产x3 ;为了使收益取得最大,则目标函数为:max Z=4x1+2x2+3x3;可以改写为:min Z=-(4x1+2x2+3x3);由于题目要求每天供应原材料200公斤,每天可供使用的劳动力为150小时,则可以得到如下约束条件:7x1+3x2+6x3 <=1504x1+4x2+5x3 <=200同时x1 ,x2 ,x3 >=0;对于上面的线性规划模型,我们可以把它化成矩阵形式:令x=[ x1 ,x2 ,x3 ]T, c=[-4,-2,-3]T它们是三维的列向量;设A =7 3 64 4 5b=[150,200]T设lb=zeros(3,1),在Matlab中调用linprog的命令。

具体的程序如下:c=[-4 -2 -3];b=[150 200];A=[7 3 6;4 4 5];lb=zeros(3,1);[x,fval,exitflag,output]=linprog(c,A,b,[],[],lb)Optimization terminated.x =0.000050.00000.0000fval =-100.0000exitflag =1output =iterations: 4algorithm: 'large-scale: interior point'cgiterations: 0message: 'Optimization terminated.'所以合理地分配是B部门的日产量为50件,A部门和B部门不生产,则可使总收益最大,最大总收益为100元。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 •一奶产品加工厂用牛奶生产A1,A2两种奶产品,1桶牛奶可以在甲类设备上用12h加工,成3kg A1,或者在乙类设备上用8h加工成4kg A2。

根据市场需求,生产的A1, A2全部能售出,且每千克A1获利24元,每千克A2获利16元。

现在加工厂每天能得到50桶牛奶供应,每天正式工人的劳动时间为480h,并且甲类设备每天最多加工100kg A1,乙类设备的加工时间没有限制,讨论以下问题1)若35元可以买一桶牛奶,做这项投资是否值得?若投资,每天最多购买多少桶牛奶?2)若聘用临时工人以增加劳动时间,付给临时工人的工资最多是多少?3)由于市场需求变化,每千克A1的获利增加到30元,是否改变原有的生产计划?Lingo程序:model:max=72*x+64*y;x+y<50;12*x+8*y<480;3*x<100;end2.—汽车厂生产小、中、大三种类型的的汽车,已知各类型每辆车对钢材、劳动时间的需求,利润以及每月工厂钢材、劳动时间如下表1)制定生产计划,使工厂利润最大;23.建筑工地的位置(a,b)和水泥日用量d如下表,目前有两个临时料场位于P (5,1), Q(2,7),日储量各有20t。

1)求从P,Q两料场分别向各工地运送多少吨水泥,使总的吨公里数最小;2)现打算舍弃原有料场,新建两个料场A,B,求新料场的位置,使新的吨公里数最小,此时与P,Q相比能节省多少吨公里。

4.设从4个产地Ai往3个销地Bj运送物资,产量、销量和单位运费如下表,求总运费最少的运输方案和总运费。

Lingo程序:Model: sets:warehouse/1..3/:a;customer/1..4/:b;link(warehouse,customer):c,x; endsetsdata:a=30,25,21;b=15,17,22,12;c=6,2,6,7,4,9,5,3,8,8,1,5;enddata[OBJ]min=@sum(link:c*x);@for(warehouse(i):@sum(customer(j):x(i,j))<a(i)); @for(customer(j):@sum(warehouse(i):x(i,j))=b(j)); end5.求下图中v1到v11的最短路9 W 丄vlOLingo程序:Model:sets:cities/1..11/;roads(cities,cities):p,w,x; endsetsdata: ! 半连通图和权图p=0 1 1 1 00 0 0 0 0 00 0 1 0 10 0 0 0 0 00 1 0 1 11 1 0 0 0 00 0 1 0 0 0 1 0 0 0 00 1 1 0 0 1 0 1 1 0 00 0 1 0 1 0 1 0 1 0 00 0 1 1 0 1 0 0 1 1 00 0 0 0 1 0 0 0 1 0 10 0 0 0 1 1 1 1 0 1 10 0 0 0 0 0 1 0 1 0 10 0 0 0 0 0 0 1 1 1 0;w=0 2 8 1 0 0 0 0 0 0 02 0 6 0 1 0 0 0 0 0 08 6 0 7 5 1 2 0 0 0 01 0 7 0 0 0 9 0 0 0 00 1 5 0 0 3 0 2 9 0 00 0 1 0 3 0 4 0 6 0 00 0 2 9 0 4 0 0 3 1 00 0 0 0 2 0 0 0 7 0 90 0 0 0 9 6 3 7 0 1 20 0 0 0 0 0 1 0 1 0 40 0 0 0 0 0 0 0 9 2 4;enddata n=@size(cities); min=@sum(roads:w*x);@for(cities(i)|I # ne # 1 # and # I # ne # n: @sum(cities(j):p(i,j)*x(i,j)) =@sum(cities(j):p(j,i)*x(j,i)));@sum(cities(j):p(1,j)*x(1,j))=1;end6.露天矿里有若干个爆破生成的石料堆,每堆称为一个铲位,每个铲位已预先根据铁含量将石料分成矿石和岩石。

一般来说,平均铁含量不低于25% 的为矿石,否则为岩石。

每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。

每个铲位至多能安置一台电铲,电铲的平均装车时间为5 分钟。

'卸货地点(以下简称卸点)有卸矿石的矿石漏、2个铁路倒装场(以下简称倒装场)和卸岩石的岩石漏、岩场等,每个卸点都有各自的产量要求。

从保护国家资源的角度及矿山的经济效益考虑,应该尽量把矿石按矿石卸点需要的铁含量(假设要求都为29.5%1% ,称为品位限制)搭配起来送到卸点,搭配的量在一个班次(8 小时)内满足品位限制即可。

从长远看,卸点可以移动,但一个班次内不变。

卡车的平均卸车时间为3 分钟。

'所用卡车载重量为154吨,平均时速28。

卡车的耗油量很大,每个班次每台车消耗近1 吨柴油。

发动机点火时需要消耗相当多的电瓶能量,故一个班次中只在开始工作时点火一次。

卡车在等待时所耗费的能量也是相当可观的,原则上在安排时不应发生卡车等待的情况。

电铲和卸点都不能同时为两辆及两辆以上卡车服务。

卡车每次都是满载运输。

'每个铲位到每个卸点的道路都是专用的宽60的双向车道,不会出现堵车现象,每段道路的里程都是已知的。

' 一个班次的生产计划应该包含以下内容:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次(因为随机因素影响,装卸时间与运输时间都不精确,所以排时计划无效,只求出各条路线上的卡车数及安排即可)。

一个合格的计划要在卡车不等待条件下满足产量和质量(品位)要求,而一个好的计划还应该考虑下面两条原则之一:1总运量(吨公里)最小,同时出动最少的卡车,从而运输成本最小;2.利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解)。

某露天矿有铲位10个,卸点5个,现有铲车7台,卡车20辆。

各卸点一个班次的产量要求:矿石漏1.2万吨、倒装场I 1.3万吨、倒装场H 1.3万吨、岩石漏1.9万吨、岩场1.3万吨。

各铲位和各卸点之间的距离(公里)如下表:各铲位矿石、岩石数量和矿石的平均铁含量如下表:Lingo程序:Model:!集合区;sets:!cai 表示米矿点集合,xie表示卸点集合cai/1..10/:crate,cnum,cy,ck,flag;xie/1..5/:xsubject,xnum;link(xie,cai):distance,lsubject,number,che,b;endsets!数据区;data:crate=30 28 29 32 31 33 32 31 33 31;xsubject=1.2 1.3 1.3 1.9 1.3;distance=5.26 5.19 4.21 4.00 2.95 2.74 2.46 1.900.64 1.271.90 0.99 1.90 1.13 1.272.25 1.482.043.09 3.515.89 5.61 5.61 4.56 3.51 3.65 2.462.46 1.06 0.570.64 1.76 1.27 1.83 2.74 2.60 4.213.72 5.05 6.104.42 3.86 3.72 3.16 2.25 2.81 0.781.62 1.27 0.50;cy=1.25 1.10 1.35 1.05 1.15 1.35 1.05 1.15 1.35 1.25;ck=0.95 1.05 1.00 1.05 1.10 1.25 1.05 1.30 1.35 1.25; enddata! 目标区;[OBJ]min=@sum(cai(i):@sum(xie(j):number(j,i)*154*distance(j,i)));! 计算区;! 卡车每一条路线上最多可以运行的次数;@for(link(i,j):b(i,j)=@floor((8*60-(@floor((distance(i,j)/28*60 *2+3+5)/5)-1)*5)/(distance(i,j)/28*60*2+3+5))); ! 每条路线上的最大总车次的计算;@for(link(i,j):lsubject(i,j)=(@floor((distance(i,j)/28*60*2+3+5 )/5))*b(i,j));! 计算各个铲位的总产量;@for(cai(j):cnum(j)=@sum(xie(i):number(i,j)));! 计算各个卸点的总产量;@for(xie(i):xnum(i)=@sum(cai(j):number(i,j)));! 约束区;! 道路能力约束;@for(link(i,j):number(i,j)<lsubject(i,j));! 电铲能力约束;@for(cai(j):cnum(j)<flag(j)*8*60/5);! 电铲数量约束;@sum(cai(j): flag(j))<7;卸点能力约束@for (xie(i):xnum(i)<8*20);铲位产量约束@for(cai(i):number(1,i)+number(2,i)+number(5,i)<ck(i)*10000/ 154);@for(cai(i):number(3,i)+number(4,i)<cy(i)*10000/154);@for(xie(i):xnum(i)>xsubject(i)*10000/154); ! 铁含量约束; @sum(cai(j):number(1,j)*(crate(j)-30.5))<0;@sum(cai(j):number(2,j)*(crate(j)-30.5))<0;@sum(cai(j):number(5,j)*(crate(j)-30.5))<0;@sum(cai(j):number(1,j)*(crate(j)-28.5))>0; @sum(cai(j):number(2,j)*(crate(j)-28.5))>0; @sum(cai(j):number(5,j)*(crate(j)-28.5))>0; ! 关于车辆的具体分配;@for(link(i,j):che(i,j)=number(i,j)/b(i,j));! 各个路线所需卡车数简单加和hehe=@sum(link(i,j):che(i,j)); ! 整数约束;@for(link(i,j):@gin(number(i,j))); @for(cai(j):@bin(flag(j))); ! 车辆能力约束;hehe<20;ccnum=@sum(cai(j):cnum(j));end。

相关文档
最新文档