Lingo精选题目及参考答案

合集下载

lingo例题

lingo例题

例1.1.1某工厂有两条生产线,分别用生产M 和P 两种型号的产品,利润分别为200元/个和300元/个,生产线的最大生产能力分别为每日100和120,生产线每生产一个M 产品需要1个劳动日(1个工人工作8小时成为1个劳动日)进行调试、检测等工作,而每个P 产品需要2个劳动日,该厂工人每天共计能提供160劳动日,假如原材料等其他条件不受限制,问应如何安排生产计划,才能使获得的利润最大?解:设两种产品的生产量分别为1x 和2x ,则目标函数 12max 200300z x x =+约束条件 1212100,120,2160,0,1,2.i x x x x x i ≤⎧⎪≤⎪⎨+≤⎪⎪≥=⎩ 例1.1.2 基金的优化使用(2001年数学建模竞赛C 题)假设某校基金会得到了一笔数额为M 万元的基金,打算将其存入银行,校基金会计划在n 年末仍保留原基金数额.银行存款税后利率见表元,5n =年的情况下设计具体存款方案.解:分析:假定首次发放奖金的时间是在基金到位后一年,以后每隔一年发放一次,每年发放的时间大致相同,校基金会希望获得最佳的基金使用计划,以提高每年的奖金额,且在n 年末仍保留原基金数额M ,实际上n 年中发放的奖金额全部来自于利息。

如果全部基金都存为一年定期,每年都用到期利息发放奖金,则每年的奖金数为50000.01890⨯=万元,这是没有优化的存款方案。

显然,准备在两年后使用的款项应当存成两年定期,比存两次一年定期的收益高,以此类推。

目标是合理分配基金的存款方案,使得n 年的利息总额最多。

定义:收益比a =(本金+利息)/本金。

于是存2年的收益比为21 2.16%2 1.0432a =+⨯=。

按照银行存款税后利率表计算得到各存款年限对应的最优收益比见表(1) 一次性存成最长期,优于两个(或两个以上)比较短期的组合(中途转存)(2) 当存款年限需要组合时,收益比与组合的先后次序无关。

建立模型 把总基金M 分成5+1份,分别用123456,,,,,x x x x x x 表示,其中12345,,,,x x x x x 分别存成15 年定期,到期后本息合计用于当年发放奖金,6x 存5年定期,到期的本息合计等于原基金总数M 。

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练习题目的答案

2 线性规划习题答案1、试述线性规划数学模型的组成部分及其特性答:线性规划数学模型由决策变量、约束条件和目标函数三个部分组成。

线性规划数学模型特征:( 1)用一组决策变量表示某一方案,这组决策变量均为非负的连续变量;( 2)存在一定数量( m)的约束条件,这些约束条件可以用关于决策变量的一组线性等式或者不等式来加以表示;( 3)有一个可以用决策变量加以表示的目标函数,而该函数是一个线性函数。

2、一家餐厅 24 小时全天候营业,在各时间段中所需要的服务员数量分别为:2:00~6: 00 3人6:00~1000 9人10:00~14:00 12 人14:00~18:00 5人18:00~22:00 18 人22:00~ 00 4人设服务员在各时间段的开始时点上上班并连续工作八小时,问该餐厅至少配备多少服务员,才能满足各个时间段对人员的需要。

试构造此问题的数学模型。

解:用决策变量x1,x2,x3, x4 , x5 , x6分别表示 2:00~6:00, 6:00~10:00 ,10:00~14:00 ,14:00~18:00,18:00~22:00, 22: 00~ 2:00 时间段的服务员人数。

其数学模型可以表述为:min Z x1 x2 x3 x4 x5 x6x1 x6 3x1 x29x2 x312x3 x45x4 x518x5 x6 4x1,x2,x3,x4,x5,x63、现要截取 2.9 米、2.1 米和 1.5 米的元钢各 100 根,已知原材料的长度是 7.4 米,问应如何下料,才能使所消耗的原材料最省。

试构造此问题的数学模型。

方法一解:圆钢的截取有不同的方案,用θ表示每种切割方案的剩余材料。

其切割方案如下所示:2.9 2.1 1.5 θ1' 1 1 1 0.92' 2 0 0 0.13' 1 2 0 0.34' 1 0 3 05' 0 1 3 0.86' 0 0 4 1.47' 0 2 2 0.28' 0 3 0 1.1目标函数为求所剩余的材料最少,即方法二解:由题意,因为所有套裁方案有 21 种,全部写出需考虑因素太多,故需先做简化。

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求解。

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

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

1、简单线性规划求解(目标函数)2134m axx x z += .(约束条件)⎪⎪⎩⎪⎪⎨⎧≥≤≤+≤+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 +++=. ⎪⎪⎩⎪⎪⎨⎧-=+--=-+-=+--2132130432143214321x x x x x x x x x x x x 5、集合综合应用产生一个集合5052--=x x y ,(10,...,2,1=x ),求y 前6个数的和S 1,后6个数的和S 2,第2~8个数中的最小值S 3,最大值S 4。

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

指派问题有四个工人,要指派他们分别完成4项工作,每人做各项工作所消耗的时间如下表:问指派哪个人去完成哪项工作,可使总的消耗时间为最小分配问题某两个煤厂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+*x2+*x3+*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)); end、设:第i 个工人做第j 项工作用时ij t ,标志变量ij f 定义如下:⎩⎨⎧=其他件工作个工人去做第指派第01j i f ijmin∑∑==⨯4141i j ij ijt f.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))); end设:煤厂进煤量i s ,居民区需求量为i d ,煤厂i 距居民区j 的距离为ij L ,煤厂i 供给居民区j的煤量为ij g那么可以列出如下优化方程式∑∑==⨯=312 1minj iij ijL g ()3,2,121= =∑=jdgijij()2,1 31=≤∑=isgjiijmodel:sets:supply/1,2/:s;demand/1,2,3/:d;link(supply,demand):road,sd; endsetsdata:road=10 5 64 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.线性规划模型。

某战略轰炸机群奉命摧毁敌人军事目标。

已知该目标有四个要害部位,只要摧毁其中之一即可达到目的。

为完成此项任务的汽油消耗量限制为48000升、重型炸弹48枚、轻型炸弹32枚。

飞机携带重型炸弹时每升汽油可飞行2千米,带轻型炸弹时每升汽油可飞行3千米。

又知每架飞机每次只能装载一枚炸弹,每出发轰炸一次除来回路程汽油消耗(空载时每升汽油可飞行4千米)外,起飞和降落每次各消耗100升。

表1 相关数据2、资源配置模型。

某工厂有原料钢管:每根19米,用户需求4米50根,6米20根,8米15根。

如何下料钢管剩余总余量最小由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过3种。

表1 不同切割的模式模式4米钢管根数6米钢管根数8米钢管根数余料(米)1400323101320134120351111603013、图论模型(动态规划)。

求出下图所示的最小费用和最大流量,以及在最小费用下的最大流量。

其中(x,y)中x表示容量,y表示费用。

图1 网络图题目解答1.线性规划模型。

解:设用了x 枚重型炸弹,用了y 枚轻型炸弹,攻击的是第i 个部位,再设一标志变量f 定义如下:⎩⎨⎧=个部位不攻击第个部位攻击第i i f i 01目标函数为: ()[]∑=⨯⨯+⨯=41max i i li ih f p y px()()480002004/3/2004/2/≤++⨯+++⨯i i i i d d y d d x48≤x ,32≤y141=∑=i ifmodel : sets :pd/1..4/:Ph,Pl,d,f; endsets data :d=450,480,540,600; Ph=,,,; Pl=,,,; enddatamax =@sum (pd(i):(x*Ph(i)+y*Pl(i))*f(i));@for (pd(i):x*(d(i)/2+d(i)/4+200)+y*(d(i)/3+d(i)/4)+200<48000); x<48;y<32;@for (pd(i):@bin (f(i))); @sum (pd(i):f(i))=1; !验证用油量;!l=x*(d(4)/2+d(4)/4+200)+y*(d(4)/3+d(4)/4)+200; end2、资源配置模型。

某工厂有原料钢管:每根19米,用户需求4米50根,6米20根,8米15根。

如何下料钢管剩余总余量最小 由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过3种。

表1 不同切割的模式模式 4米钢管根数6米钢管根数8米钢管根数余料(米)1 4 0 0 323 1 0 1 3 2 0 1 34 1 2 0 35 1 1 1 16 0 3 0 1 设:模式i 的供应量为i m ,对于第i 种模式,切割的4米钢管根数,6米钢管根数,8米钢管根数,分别为ij t ,余料为i s ,每种钢管的需求量分别为i d ,再设一标志变量f 定义如下:⎩⎨⎧=种模式不采用第种模式采用第i i f i 01目标函数:min∑=⨯⨯71i i i im s fj j i ij id m t f=⨯⨯∑=71i =1,2,…,7∑==713i ifmodel : sets :mode/1..7/:m,s,f; demand/1..3/:d; md(mode,demand):t; endsets data :s=3 1 3 3 1 1 3; d=50 20 15; t=4 0 0 3 1 0 2 0 1 1 2 0 1 1 1 0 3 0 00 2; enddata[obj] min =@sum (mode(i):f(i)*s(i)*m(i));@for (demand(j):@sum (mode(i):f(i)*m(i)*t(i,j))=d(j)); @for (mode(i):@bin (f(i))); @sum (mode(i):f(i))<3; end3、图论模型(动态规划)。

求出下图所示的最小费用和最大流量,以及在最小费用下的最大流量和最大流量下的最小费用。

其中(x ,y )中x 表示容量,y 表示费用。

图1 网络图1)求最小费用,解法一:稀疏矩阵0-1规划法假设图中有n 个原点,现需要求从定点1到n 的最短路。

设决策变量为ij f ,当1=ij f ,说明弧(i ,j )位于定点1至定点n 的路上;否则0=ij f ,其数学规划表达式为min∑∑==n i nj ij ijf w11约束条件,源点只有一条路指出去,终点只有一条路指进来,其余各点指进去的和指出去的相等,表达式如下,⎪⎩⎪⎨⎧≠=-==-∑∑==ni n i i f f nj ji n j ij ,10,1,1111model : sets : node/1..6/;road(node,node)/1 2,1 3,2 4,2 5, 3 4,3 5,4 6,5 6/:w,f; endsets data :w=2 1 5 3 4 3 0 0; enddata n=@size (node);[obj] min =@sum (road(i,j):w(i,j)*f(i,j)); @for (node(i)|i#ne#1 #and# i#ne#n:@sum (road(i,j):f(i,j))=@sum (road(j,i):f(j,i))); @sum (road(i,j)|i#eq#1:f(i,j))=1;!下面这个条件可以省略,这个条件包含在上面的条件了,因为如果满足上面所以的条件指向终点的路只有且只有一条; @sum (road(j,i)|i#eq#n:f(j,i))=1; end解法二:求源点到任意点的最小费用,动态规划法。

相关文档
最新文档