LINGO练习题复习资料
Lingo作业练习
Lingo作业1 、用长度500cm的钢条,截成长度为98和78cm的两种毛坯,要求截出长度98cm的毛坯10000根,78cm的毛坯20000根,问怎么样截法,才使所用原材料最少。
2、某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出,从钢管厂进货时得到的钢管都是19m.(1)现有一客户需要50根4m、20根6m和15根8m的钢管,应如何下料最节省?(2)零售商如果采用的不同切割模式太多,将会导致生产过程的复杂化,从而增加生产和管理成本,所以该零售商规定采用的不同切割模式不能超过3种。
此外该客户需要(1)中的三种钢管外,还需要10根5m的钢管,应如何下料最省?3、电视台为某个广告公司特约播放两套片集,其中片集甲播映时间为20min,广告时间为1min,收视观众60万;片集乙播映时间10min,广告时间1min,收拾观众20万,广告公司规定每周至少有6min广告,而电视台每周只能为该公司提供不多于80min的节目时间。
电视台每周播映两套片集各多少次,才能获得最高的收视率?4、某公司计划在A,B,C三个区建立销售部,确定了7个位置M1-M7可供选择,并且规定:(1)在A区,从M1,M2,M3中至多选两个;(2)在B区,M4,M5中至少选一个;(3)在C区,M6,M7中至少选一个;已知:如果选择M1-M7,则分别投资为200,300,350,250,350,200,400万元,预计每年可以获利50,80,120,70,100,60,120万元,现在公司可用于投资的资金是1200万元,问应如何建立销售部?5、有4名同学到一家公司参加三个阶段的面试:公司要求每个同学都必须首先找公司秘书处初试,然后到部门主管处复试,最后到经理处参加面试,并且不允许插队(即在任何一个阶段4名同学的顺序是一样的)。
由于4名同学的专业背景不同,所以每个人在三个阶段的面试时间也不同,如下表所示(单位:min):这4名同学约定他们全部面试完以后一起离开公司。
专题资料(2021-2022年)lingo学习教程
例3.7
sets:
days /MO,TU,WE,TH,FR,SA,SU/:needs,cost;
endsets
data:
needs cost = 20 100;
enddata
3.1.5 数据部分的未知数值
有时只想为一个集的部分成员的某个属性指定值,让其余成员的该属性保持未知,以 便让LINGO去求出它们的最优值。 在数据声明中输入两个相连的逗号表示该位置对应的集成员的属性值未知。两个逗号 间可以有空格。
• Setname是你选择的来标记集的名字,最好具有较强的 可读性。集名字必须严格符合标准命名规则:以拉丁字 母或下划线(_)为首字符,其后由拉丁字母(A—Z)、 下划线、阿拉伯数字(0,1,…,9)组成的总长度不 超过32个字符的字符串,且不区分大小写。
• 注意:该命名规则同样适用于集成员名和属性名等的命 名。
!产量约束;
@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 5
• LINGO有两种类型的集:原始集(primitive set)和 派生集(derived set)。
• 一个原始集是由一些最基本的对象组成的。 • 一个派生集是用一个或多个其它集来定义的,也
就是说,它的成员来自于其它已存在的集。
2.3 模型的集部分
• 集部分是LINGO模型的一个可选部分。在 LINGO模型中使用集之前,必须在集部分事 先定义。集部分以关键字“sets:”开始,以 “endsets”结束。一个模型可以没有集部分, 或有一个简单的集部分,或有多个集部分。 一个集部分可以放置于模型的任何地方,但 是一个集及其属性在模型约束中被引用之前 必须定义了它们。
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 程序复制到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 指派问题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练习
∑=nj i ijij xc1,1 解非线性方程组⎪⎩⎪⎨⎧=+++=+4222222y y x x y x2 装配线平衡模型 一条装配线含有一系列的工作站,在最终产品的加工过程中每个工作站执行一种或几种特定的任务。
装配线周期是指所有工作站完成分配给它们各自的任务所化费时间中的最大值。
平衡装配线的目标是为每个工作站分配加工任务,尽可能使每个工作站执行相同数量的任务,其最终标准是装配线周期最短。
不适当的平衡装配线将会产生瓶颈——有较少任务的工作站将被迫等待其前面分配了较多任务的工作站。
问题会因为众多任务间存在优先关系而变得更复杂,任务的分配必须服从这种优先关系。
这个模型的目标是最小化装配线周期。
有2类约束:① 要保证每件任务只能也必须分配至一个工作站来加工; ② 要保证满足任务间的所有优先关系。
例 有11件任务(A —K )分配到4个工作站(1—4),任务的优先次序如下图。
每件任务所花费的时间如下表。
3 旅行售货员问题(又称货郎担问题,Traveling Salesman Problem )有一个推销员,从城市1出发,要遍访城市2,3,…,n 各一次,最后返回城市1。
已知从城市i 到j 的旅费为ij c,问他应按怎样的次序访问这些城市,使得总旅费最少?可以用多种方法把TSP 表示成整数规划模型。
这里介绍的一种建立模型的方法,是把该问题的每个解(不一定是最优的)看作是一次“巡回”。
在下述意义下,引入一些0-1整数变量:ij x ⎩⎨⎧≠=其它情况,且到巡回路线是从,0,1j i j i 其目标只是使为最小。
这里有两个明显的必须满足的条件:访问城市i 后必须要有一个即将访问的确切城市;访问城市j 前必须要有一个刚刚访问过的确切城市。
用下面的两组约束分别实现上面的两个条件。
ni xnj ij,,2,1,11 ==∑=nj xni ij,,2,1,11==∑=到此我们得到了一个模型,它是一个指派问题的整数规划模型。
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考试
解:最初表
1 1 1 1 2 0 2 1 1
最优表
1 0 0 1
0 1 0 0
6 x4 4 x5 6 x1 1 10 x5 0
1
1 0 0
hw
1 3 3
1
1 1 1 2
习题2.12(a)
1 0 1 0 1 最优基 B 1 1 , 其逆 B 1 1 (a) 因x1是基变量,由最优表可得
5
0 2/3 0 2/3 1 1/ 3 0 5/3
*
新的最优值
z 28 / 3
习题2.16(a)
解:最初表
3 5 1 0 450 x4 6 3 4 5 0 1 300 x 5 30 10 40 0 0 最优表 1 1/ 3 0 1/ 3 1/ 3 50 x1 1 1 1/ 5 2 / 5 30 x3 0 0 20 0 2 6
1 50 b1 3 1 B b 0 30 1 b 1 5 得 150 b1 150,所以雇佣150h为宜。
hw
9
最优生产计划:A、C分别生产50、30件,不生产B 最大利润为2700元
6
hw
习题2.16(b)
因x1是基变量,由最优表可得
1 1 1 20 1 2 1 6 1 0 3 3 3
从而
6 1 18
即当 24 C1 48 时, 上述最优计划不变;
当 C3 (, 2] 时,问题的最优解不变 。
hw
2
习题2.12(b)
6 1 0 1 6 1 由 10 1 1 0 10 0 1 得 1 6
上机练习题目(LINGO部分)
表
料场 a b d
工地的位置(a,b)及水泥日用量d 1 2 3 4 5 6 1.25 8.75 0.5 5,75 3 7.25 1.25 0.75 4.75 5 6.5 7.75 3 5 4 7 6 11
十一、某厂生产的一种产品有甲、乙两个牌号,讨论在产 销平衡的情况下如何确定各自的产量,使总的利润最大。 所谓产销平衡指工厂的产量等于市场上的销量,没有卖不 出去的产品的情况。显然,销售总利润既取决于两种牌号 产品的销量和(单件)价格,也依赖于产量和(单件)成 本。按照市场经济规律,甲的价格p1固然会随其销量x1的 增长而降低,同时乙的销量x2的增长也会使甲的价格有稍 微的下降。可以简单地假设价格与销量成线性关系,即 p1=b1-a11x1-a12x2,b1,a11,a12>0,a11>a12;类似地,乙的 价格p2遵循同样的规律,即有p2=b2-a21x1-a22x2,b2,a21, a22>0,a22>a21。例如,假定实际中b1=100,a11=1, a12=0.1,b2=280,a21=0.2,a22=2。此外,假设工厂的生 产能力有限,两种牌号产品的产量之和不可能超过100件, 且甲的产量不可能超过乙的产量的两倍,甲、乙的单件生 产成本分别是q1=2和q2=3(假定为常数)。求甲、乙两个 牌号的产量x1、x2,使总利润最大。
十、某公司有6个建筑工地要开工,每个工地的位置(用平面坐标a, b表示,距离单位:km)及水泥日用量d(单位:t)由下表给出。 目前有两个临时料场位于P(5, 1),Q(2, 7),日储量各有20t,请回答 以下两个问题: (1)假设从料场到工地之间均有直线道路相连,试制定每天的供 应计划,即从A,B两料场分别向各工地运送多少吨水泥,使总的 顿公里数最小。 (2)为了进一步减少顿公里数,打算舍弃目前的两个临时料场, 改建两个新的料场,日储量仍各为20t,问应建在何处,与目前相 比节省的顿公里数有多大下线性规划(LP)问题:
lingo练习题目
Lingo培训计划培训目的:了解线性规划、非线性规划和整数规划的基本概念和性质,掌握把一个实际问题转化为规划问题的步骤和思想。
掌握lingo软件的使用方法,熟悉把一个规划问题输入lingo软件的方法,理解输出结果的含意。
进度安排:第一天上午-理论学习1.Lingo12简介2.线性规划的概念3.线性规划求解方法4.线性规划例题5. Lingo软件各部分功能介绍6.求解线性规划例题7.对例题结果的解释8.整数规划的概念与特点9.整数规划例题10.软件求解整数规划问题第一天下午-机房练习1.安装Lingo软件,复习上午的理论知识2.熟悉软件的各种菜单和工具3.输入上午的例题,观察结果4.完成下列习题:1)一家餐厅24小时全天候营业,在各时间段中所需要的服务员数量分别为:2:00~6:00 3人6:00~10:00 9人10:00~14:00 12人14:00~18:00 5人18:00~22:00 18人22:00~ 2:00 4人设服务员在各时间段的开始时点上上班并连续工作八小时,问该餐厅至少配备多少服务员,才能满足各个时间段对人员的需要。
试构造此问题的数学模型。
2)现要截取2.9米、2.1米和1.5米的元钢各100根,已知原材料的长度是7.4米,问应如何下料,才能使所消耗的原材料最省。
试构造此问题的数学模型。
3)某糖果厂用原料A、B、C加工成三种不同牌号的糖果甲、乙、丙。
已知各种牌号糖果中A、B、C三种原料的含量要求、各种原料的单位成本、各种原料每月的限制用量、三种牌号糖果的单位加工费及售价如表1所示。
问该厂每月生产这三种牌号糖果各多少千克,才能使该厂获利最大?试建立这个问题的线性规划模型。
4)某厂在今后4个月内需租用仓库存放物资,已知各个月所需的仓库面积如表2所示。
租金与租借合同的长短有关,租用的时间越长,享受的优惠越大,具体数字见表3。
租借仓库的合同每月初都可办理,每份合同具体规定租用面积数和期限。
LINGO集训
问: 语句中的I, J能不能省略?
x
i 1
6
ij
d j , j 1, 2,
,8;
用LINGO语句表示为: @FOR(VD(J): @SUM(WH(I): X(I, J)) =DJ(J));
数 学 建 模
§1.4 LINGO的运算符和函数
一、 LINGO的常用运算符. 1. 算术运算符. ^ * / 2. 逻辑运算符.
MIN = @SUM(LINKS: C*X);
数 学 建 模
例3的约束条件:
x
j 1
8
ij
ai , i 1, 2,
, 6;
用LINGO语句表示为: @FOR(WH(I): @SUM(VD(J): X(I, J))<=AI(I));
注: ① @FOR是LINGO提供的内部函数,其作用是对某个集 合的所有成员分别生成一个约束表达式. @FOR有两个参数:集合名和约束表达式 这里的集合名表示对该集合所有成员生成对应约束表达式
SEED为 返回0-1之间的多个拟均匀随机数(只能用在数据段) 种子
略
数 学 建 模
四、集合操作函数.
函数名 返 回 值
@FOR(s:e) @SUM(s:e)
该函数常用在约束条件中, 表示对集合s中的每个成员生成一个 约束条件表达式e 然后返回所有这些值的和 对集合s中的每 个成员, 分别得 到表达式e的值,
解:设xij从第i个货栈到第j个客户的运货量, cij表示从第i个 货栈到第j个客户的单位货物运价, ai表示第i个货栈的 最大供货量, dj表示第j个客户的订货量 模型如下
min z cij xij ;
i 1 j 1
6
8
lingo软件练习题
lingo软件练习题Lingo软件是一款用于学习外语的软件,提供了丰富的练习题以帮助用户提高语言能力。
在本文中,我们将介绍一些Lingo软件的练习题并提供相应的解答。
通过这些练习题,您可以巩固所学的语言知识并提升您的语言水平。
一、词汇练习1. 选择正确的单词填入空格中。
A: What's your favorite __________?B: My favorite color is blue.A) foodB) colorC) animalD) book2. 根据提供的词性和定义,选择正确的单词。
词性:noun定义:A person, place, thing, or idea.A) carB) runC) quicklyD) happy二、语法练习1. 选择正确的动词形式填入下面的句子中。
I _________ to the park every weekend.A) goB) goesC) wentD) going2. 选择正确的时态填入下面的句子中。
She _________ dinner when the phone rang.A) eatB) eatsC) ateD) eating三、阅读理解阅读下面的短文,然后回答问题。
Hello! My name is Sarah and I am from Canada. I am a teacher and I love to travel. Last summer, I visited China. It was an amazing experience. Iwent to Beijing, Shanghai, and Xi'an. The Great Wall of China was the highlight of my trip. It was so beautiful!1. Where is Sarah from?2. What does Sarah do for a living?3. Where did Sarah go last summer?4. What was the highlight of Sarah's trip?四、听力练习听录音,然后回答问题。
lingo试题集
一. 货机装运问题某架货机有三个货舱:前舱、中舱、后舱。
三个货舱所能装载的最大重量和体积都有限制。
为了保持飞机的平衡,三个货舱中实际装载货物的重量与其最大容许重量成比例。
前舱 中舱 后舱 重量限制(吨) 10 16 8 体积限制(3米)6800 8700 5300现有四类货物供该货机本次飞行装运,其有关信息如下表。
重量(吨) 空间(吨米3)利润(吨元)货物1 18 480 3100 货物2 15 650 3800 货物3 23 580 3500 货物412 390 2850应如何安排装运,使该货机本次飞行获利最大?二. 模型假设:1)每种货物可以分割成任意小;2)每种货物可以在一个或多个货舱中任意分布; 3)多种货物可以混装,并保证不留空隙。
三. 符号说明:j i x :表示第i 种货物装入第j 个货舱的重量 Z :货机本次飞行所获利润四. 模型分析:本问题可建立成线性规划模型,其目标函数是货机本次飞行所获的总利润Z 达到最大,其中++++++=)(3800)(3100232221131211x x x x x x Z )(2850)(3500434241333231x x x x x x +++++约束条件有:1)供装载的四种货物的总重量约束18131211≤++x x x ,15232221≤++x x x ,23333231≤++x x x ,12434241≤++x x x2)三个货舱的重量限制1041312111≤+++x x x x ,1642322212≤+++x x x x ,843332313≤+++x x x x3)三个货舱的空间限制680039058065048041312111≤+++x x x x ,870039058065048042322212≤+++x x x x530039058065048043332313≤+++x x x x4)三个货舱装入重量的平衡约束81610433323134232221241312111x x x x x x x x x x x x +++=+++=+++ 五. 模型求解:用LINDO 求解如下:max 3100x11+3100x12+3100x13+3800x21+3800x22+3800x23 +3500x31+3500x32+3500x33+2850x41+2850x42+2850x43 subject tox11+x12+x13<=18 x21+x22+x23<=15 x31+x32+x33<=23 x41+x42+x43<=12 x11+x21+x31+x41<=10 x12+x22+x32+x42<=16 x13+x23+x33+x43<=8480x11+650x21+580x31+390x41<=6800 480x12+650x22+580x32+390x42<=8700 480x13+650x23+580x33+390x43<=5300 8x11+8x21+8x31+8x41-5x12-5x22-5x32-5x42=0 x12+x22+x32+x42-2x13-2x23-2x33-2x43=0 end一. 自来水输送问题某市有甲、乙、丙、丁四个居民区,自来水由A 、B 、C 三个水库供应。
lingo语法复习
Lingo语法复习下面列出了最常用的事件和消息:■m o u s e D o w n—用户点击鼠标键。
在Wi n d o w s中,这对应于鼠标的左键。
■m o u s e U p—用户释放鼠标键。
每一个m o u s e U p消息前面都有一个m o u s e D o w n 消息,但它们不一定是发给同一个角色的。
■m o u s e E n t e r—光标进入某个角色的区域。
■m o u s e L e a v e—光标离开某个角色的区域。
■m o u s e Wi t h i n—只要光标在角色上,就连续发送该消息,即每帧发送一次。
■m o u s e U p O u t s i d e—当用户点击某个角色,却又把光标移出,使之离开对象时所发送的消息。
■b e g i n S p r i t e—在剪辑室内,当播放头首次遇到某角色时所出发的消息。
■p r e p a r e F r a m e—当新的一帧刚开始、还没有显示在舞台上时所发出的消息。
■e n t e r F r a m e—当新的一帧刚开始、已经显示在舞台上时所发出的消息。
■e x i t F r a m e—当影片播放完一帧,准备播放下一帧时所发出的消息。
■p r e p a r e M o v i e—在显示影片的第一帧之前所发送的消息。
■s t a r t M o v i e—在刚刚显示影片的第一帧后立即发送的消息。
■s t o p M o v i e—当影片结束时所发出的消息。
■i d l e—在影片从播放开始到播放结束的过程中持续不断地发出的消息。
发出该消息的次数取决于节奏有多慢和计算机的速度有多快。
■k e y D o w n—当用户按下键盘上的某个键时所发出的消息。
■k e y U p—当用户释放键盘上的某个键时所发出的消息。
数字运算:+ -* /函数:f l o a t 把数字转换为浮点数float(4) = 4.000i n t e g e r 用四舍五入法把浮点数变成整数。
lingo例题
lingo例题摘要:1.对“laminterestedintaking 选择题”的理解2.选择题的类型和解题技巧3.如何提高选择题的正确率正文:一、对“laminterestedintaking 选择题”的理解“laminterestedintaking 选择题”可以理解为对做选择题有兴趣。
选择题作为各类考试中常见的题型,对于检验学生的知识掌握程度和分析判断能力具有重要作用。
因此,对于这类题目,我们要充分重视并掌握一定的解题技巧。
二、选择题的类型和解题技巧1.类型选择题可以分为单项选择题和多项选择题。
单项选择题要求从四个备选项中选择一个正确答案,而多项选择题则要求从多个备选项中选择两个或两个以上的正确答案。
2.解题技巧(1)仔细阅读题干,明确题目要求。
(2)分析备选项,排除干扰项。
干扰项通常有以下特点:与题干无关、与正确答案相反、似是而非、过度推理等。
(3)对于不确定的题目,可以采用排除法或代入法进行筛选。
(4)对于多项选择题,可以先筛选出必选项,再根据题意选择其他选项。
三、如何提高选择题的正确率1.加强知识储备。
选择题涉及的范围广泛,包括各个学科的知识点。
因此,要提高选择题的正确率,首先要扎实掌握基础知识。
2.培养分析判断能力。
选择题不仅要求学生掌握知识点,还要求学生能够运用所学知识进行分析和判断。
因此,在日常学习中,要注重培养自己的分析判断能力。
3.多做练习。
做选择题需要熟能生巧。
通过大量的练习,可以熟悉题型,巩固知识点,提高解题速度和正确率。
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考核试题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测试-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练习题一、(人力资源分配的问题)某昼夜服务的公交线路每天各时间段内所需司机和乘务人员数如下:设司机和乘务人员分别在各时间段开始时上班,并连续工作八小时,问该公交线路怎样安排司机和乘务人员,既能满足工作需要,又配备最少司机和乘务人员? 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万元;试为公司确定一个三年末本利和最大的投资方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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求解。
9、某帆船制造公司要决定下两年八个季度的帆船生产量。
八个季度的帆船需求量分别是40条、60条、75条、25条、30条、65条、50条、20条,这些需求必须按时满足,既不能提前也不能延后。
该公司每季度的正常生产能力是40条帆船,每条帆船的生产费用为400美圆。
如果是加班生产的,则每条生产费用为450美圆。
帆船跨季度库存的费用为每条20美圆。
初始库存是10条帆船。
如何生产?10、现要将8名同学分成4个调查队(每组2人)前往4个地区进行社会调查。
假设他们任意两人组成一队的工作效率为已知,见下表(由于对称性,只须列出上三角部分):任意两人组成一队的工作效率学生S1 S2 S3 S4 S5 S6 S7 S8S1 9 3 4 2 1 5 6S2 1 7 3 5 2 1S3 4 4 2 9 2S4 1 5 5 2S5 8 7 6S6 2 3S7 4问如何组队可以使总效率最高?参考答案1、MODEL:X1^2+2*X2^2=22;3*X1-5*X2=-9; @gin(x1);@gin(x2);END2、MODEL:X1^0.5-2*x1*X2=-2;X1^2=64*X2; END3、MODEL:max=2*x+3*y;4*x+3*y<=10;3*x+5*y<=12;END4、MODEL:max=98*x1+277*x2-x1^2-0.3*x1*x2-2*x2^2; x1<=2*x2;x1+x2<=100;@gin(x1); @gin(x2);END5、(1) MODEL:max=x1+x2;2*x1+x2<=6;4*x1+5*x2<=20;@gin(x1); @gin(x2);END(2) MODEL:min=(x1-3)^2+(x2-2)^2;x1^2+x2^2<=5;x1+2*x2<=4;@gin(x1); @gin(x2);END(3)MODEL:min=(x1+1)^2+(x2+1)^2;x1^2+x2^2<=2;x2>=1;END6、(1)model:sets:number/1..6/:x;endsets@for(number(I): x(I)=2*I-1);end(2)model:sets:number/1..6/:x;endsets@for(number(I): x(I)=I^2);end(3)model:sets:number/1..5/:x;endsets@for(number(I): x(I)=1/(I*(I+1)));end7、(1)model :data :N=6;enddatasets :number/1..N/:x;endsetsdata :x=1 3 0.5 7 5 2;enddatamaxc=@max (number(I)| I#le#5:x);end(2) model :data :N=6;enddatasets :number/1..N/:x;endsetsdata :x=1 3 0.5 7 5 2;enddataminc=@min (number(I)| I#ge#N-3:x^2);end(3) model :data :N=6;enddatasets :number/1..N/:x;endsetsdata :x=1 3 0.5 7 5 2;enddatas=@sum (number(I)| I#le#N:x);end8、解:若第i 名队员参加第j 种泳姿比赛,则令1=ij x ;否则令0=ij x ;共有20个决策变量ij x 。
第i 名队员的第j 种泳姿成绩记为ij c ,则目标函数为:∑∑==5141min i j ij ij xc约束条件有:每名队员顶多能参加一种泳姿比赛5,4,3,2,1,141=≤∑=i x j ij ;每种泳姿有且仅有一人参加 .4,3,2,1,151==∑=j xi ij这样就能建立如下“0----1规划”模型:∑∑==5141min i j ij ij xcs.t.5,4,3,2,1,141=≤∑=i x j ij .4,3,2,1,151==∑=j xi ij.4,3,2,1,5,4,3,2,1,10===j i x ij 或Lingo 程序如下:sets :row/1..4/;col/1..5/;links(row,col):c,x;endsetsdata :c=66.8 57.2 78 70 67.475.6 66 67.8 74.2 7187 66.4 84.6 69.6 83.858.6 53 59.4 57.2 62.4;enddatamin =@sum (links:c*x);@for (col(j):@sum (row(i):x(i,j))<=1);@for (row(i):@sum (col(j):x(i,j))=1);@for (links:@bin (x));答:14433221,,,x x x x 均等于1,即,依次取第2个人王、第3个人张、第4个人刘、第1个人李参加蝶泳、仰泳、蛙泳、自由泳,成绩为253.2秒。
9、解:八个季度的需求量数组记为xq ,则 xq=[40,60,75,25,30,65,50,20]. 类似地,用数组zc, jb, kc 分别表示八个季度的正常生产量、加班生产量、季度末库存量。
目标函数是全部费用之和:.))(20)(450)(400(min 81∑=++i i kc i jb i zc约束条件:生产能力 8,...,2,1,40)(=≤i i zc ;数量平衡 .8,...,3,2),()()()1()(),1()1()1(10)1(=-++-=-++=i i xq i jb i zc i kc i kc xq jb zc kc 以上是模型。
怎样用Lingo 编程呢? 把下标的范围当作集合,本题的集合是{1,2,3,4,5,6,7,8};定义在集合上的一个个数组,都分别称为该集合的属性,本题这个集合有四个属性,分别是xq,zc,jb,kc .先看本题的Lingo 程序,再看注解:model:sets:jihe/1..8/:xq,zc,jb,kc;endsetsdata:xq=40,60,75,25,30,65,50,20;enddatamin=@sum(jihe:400*zc+450*jb+20*kc);@for(jihe:zc<=40);kc(1)=10+zc(1)+jb(1)-xq(1);@for(jihe(i)|i#gt#1:kc(i)=kc(i-1)+zc(i)+jb(i)-xq(i));end10、解:构造一个效率集合xljh ,其属性xl 就是上表中那28个数据,如:xl(S1,S5)=2, xl(S3,S7)=9。
用y(Si,Sj)=1表示Si 与Sj 组成一个队;用y(Si,Sj)=0表示Si 与Sj 不是一个队。
目标函数:∑≤<≤⋅81),(),(maxj i Sj Si y Sj Si xl约束条件:每名学生必须且只能参加某一个队,即,对于第k 名同学而言,他与其他人所组成的队的个数必须等于1,故有1),(81=∑≤<≤==j i k j k i Sj Si y 或, k=1,2,3,…,8另外,10),(或=Sj Si y(以上就是本题的优化模型,是“0----1线性规划”)model:sets:xsjh/1..8/;xljh(xsjh,xsjh)|&2#gt#&1:xl,y;endsetsdata:xl=9,3,4,2,1,5,6,1,7,3,5,2,1,4,4,2,9,2,1,5,5,2,8,7,6,2,3,4;enddatamax=@sum(xljh(i,j):xl(i,j)*y(i,j));@for(xsjh(k): @sum(xljh(i,j)|(i#eq#k)#or#(j#eq#k):y(i,j))=1);@for(xljh(i,j):@bin(y(i,j)));end注解:(1)根据基本集合xsjh构造效率集合xljh时,我们只需要二元对(i,j) 中那些当i<j时的元素对,即第2个下标j必须大于第1个下标i,相应的“元素过滤”命令为&2#gt#&1 。