1、- 李 王 张 刘 赵 蝶泳 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美圆。帆船跨
2、季度库存的费用为每条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:X12+2*X22=22;3*X1-5*X2=-9;gin(x1);gin(x2);END2、MODEL:X10
3、.5-2*x1*X2=-2;X12=64*X2;3、MODEL:max=2*x+3*y;4*x+3*y=10;3*x+5*y=12;4、MODEL:max=98*x1+277*x2-x12-0.3*x1*x2-2*x22;x1=2*x2;x1+x2=100; gin(x2);5、(1) MODEL:max=x1+x2;2*x1+x2=6;4*x1+5*x2=20;(2) MODEL:min=(x1-3)2+(x2-2)2;x12+x22=5;x1+2*x2=1;6、(1)model:sets: number/1.6/:x;endsets for(number(I): x(I)=2*I-1);e
4、nd(2)model: x(I)=I2); (3)model: number/1.5/: x(I)=1/(I*(I+1);7、(1)model: data:N=6;enddata number/1.N/:data:x=1 3 0.5 7 5 2;maxc=max(number(I)| I#le#5:x);(2) model:x=1 3 0.5 7 5 2;minc=min(number(I)| I#ge#N-3:x2);(3) model:s=sum(number(I)| I#le#N:8、解:若第i名队员参加第j种泳姿比赛,则令;否则令;共有20个决策变量。第i名队员的第j种泳姿成绩记为,则
5、目标函数为:约束条件有:每名队员顶多能参加一种泳姿比赛 ;每种泳姿有且仅有一人参加 这样就能建立如下“0-1规划”模型:s.t. Lingo程序如下:row/1.4/;col/1.5/;links(row,col):c,x; c=66.8 57.2 78 70 67.4 75.6 66 67.8 74.2 71 87 66.4 84.6 69.6 83.858.6 53 59.4 57.2 62.4;min=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
6、);答:均等于1,即,依次取第2个人王、第3个人张、第4个人刘、第1个人李参加蝶泳、仰泳、蛙泳、自由泳,成绩为253.2秒。9、解:八个季度的需求量数组记为xq,则 xq=40,60,75,25,30,65,50,20. 类似地,用数组zc, jb, kc分别表示八个季度的正常生产量、加班生产量、季度末库存量。目标函数是全部费用之和:约束条件:生产能力 ; 数量平衡 以上是模型。怎样用Lingo编程呢? 把下标的范围当作集合,本题的集合是1,2,3,4,5,6,7,8;定义在集合上的一个个数组,都分别称为该集合的属性,本题这个集合有四个属性,分别是xq,zc,jb,kc . 先看本题的Ling
7、o程序,再看注解: sets:jihe/1.8/:xq,zc,jb,kc; endsets data:xq=40,60,75,25,30,65,50,20; min=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);10、解:构造一个效率集合xljh,其属性xl就是上表中那28个数据,如:xl(S1,S5)=2, xl(S3,S7)=9。 用y(Si,Sj)=1表示Si与Sj组成一个队;用y(S
8、i,Sj)=0表示Si与Sj不是一个队。 目标函数: 约束条件:每名学生必须且只能参加某一个队,即,对于第k名同学而言,他与其他人所组成的队的个数必须等于1,故有, k=1,2,3,8 另外,(以上就是本题的优化模型,是“0-1线性规划”)xsjh/1.8/;xljh(xsjh,xsjh)|&2#gt#&1:xl,y;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; max=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);注解:(1)根据基本集合xsjh构造效率集合xljh时,我们只需要二元对 (i,j) 中那些当ij时的元素对,即第2个下标j必须大于第1个下标i,相应的“元素过滤”命令为 &1 。 这里,若你坚持不用“元素过滤”法而用枚举法,则命令为xljh(xsjh,xsjh)/1,2 1,3 1,4 1,5 1,6 1,7 1,8 2,3 2,4 (太长了,你得把28个下标对一一列出) 7,8/: 。(2)过滤命令(i#eq#k)#or#(j#eq#k)表示i=k或j=k . 1112、
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1