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 。