资源描述:
《数学建模-运筹学2013.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、运筹学实验报告最优化建模和计算1、Lindo和Lingo基本程序生产100套钢架,长2.9、2.1、1.5米各1根/套,原料长7.4米,如何下料?运筹学实验报告下料的所有方案 123456782.9211100002.1021032101.510130234料头0.10.30.901.10.20.81.4运筹学实验报告给出下料问题的计算程序:Lindo程序:!min0.1x1+0.3x2+0.9x3+0x4+1.1x5+0.2x6+0.8x7+1.4x8min1x1+1x2+1x3+1x4+1x5+1x6+1x7+1x8subjectto2x1+1x2+1x3+1x4+0x
2、5+0x6+0x7+0x8>1000x1+2x2+1x3+0x4+3x5+2x6+1x7+0x8>1001x1+0x2+1x3+3x4+0x5+2x6+3x7+4x8>100endginx1ginx2ginx3ginx4ginx5ginx6ginx7ginx8运筹学实验报告Lingo程序:model:sets:E/1..8/:c,x;F/1..3/:b;link(F,E):a;endsetsmin=@sum(E(j):c(j)*x(j));@for(F(i):@sum(E(j):a(i,j)*x(j))>100);@for(E(j):x(j)>0);@for(E(j):@g
3、in(x));data:!c=0.1,0.3,0.9,0,1.1,0.2,0.8,1.4;c=1,1,1,1,1,1,1,1;a=2,1,1,1,0,0,0,0,0,2,1,0,3,2,1,0,1,0,1,3,0,2,3,4;enddataend运筹学实验报告2、建模和编程练习1五年期投资计划:五年内有4个投资项目,情况是:(1)1至4年,每年年初投资,次年末回收本利115%;(2)第3年初投资,第5年末回收本利125%(最大投资额不超过4万元);(3)第2年初投资,第5年末回收本利140%(最大投资额不超过3万元);(4)每年年初投资,年末回收本利106%。给你10万,给
4、出投资计划。请分析投资规律。项目123455年末1x11x21x31x41 1.15x412 x32<4 1.25x323 x23<3 1.40x234x14x24x34x44x54 1.06x54 10 1.06x14 1.15x11+1.06x24 1.15x21+1.06x34 1.15x31+1.06x44 运筹学实验报告max4x1+10x2+3x3-2x4subjectto2x1+3x2<163x1+4x2<242x2-x3-x4=0x3<5endginx1ginx2ginx3ginx4运筹学实验报告2某钻井队从10个可供选择的井位中确定5个钻井
5、探油,使总费用最小。10个井位S1到S10相应的钻探费为:4,6,7,3,4,5,7,3,5,6。且满足:(1)或选择S1和S7,或选择S8;(2)选择了S3或S4,就不能选择S5;或反过来也一样;(3)在S5、S6、S7、S8中最多只能选两个。运筹学实验报告运筹学实验报告model:data:N=10;!N>=10;enddatasets:A/1..N/:c,x;endsetsmin=@sum(A(i):c(i)*x(i));@sum(A(i):x(i))=5;x(1)=x(7);x(1)+x(8)>=1;x(3)+x(5)<=1;x(4)+x(5)<=1;x(5)+x(
6、6)+x(7)+x(8)<=2;@for(A:@bin(x));data:c=4673457356;enddataend运筹学实验报告3分配问题(指派问题,AssignmentProblem)这是个给n个人分配n项工作以获得某个最高总效果的问题。第i个人完成第j项工作需要平均时间。要求给每个人分配一项工作,并要求分配完这些工作,以使完成全部任务的总时间为最小。该问题可表示如下:现在7个将被分配去做7项工作,他们的工作时间如下表:j1j2j3j4j5j6j7w16267425w24953858w35219743w47673927w52395726w655228114w7923
7、124510;问如何分配工作,使得完成所有工作时所花费的时间总和最少?运筹学实验报告model:!3个工人,3个工作的分配问题;sets:workers/w1..w3/;jobs/j1..j3/;links(workers,jobs):cost,volume;endsetsmin=@sum(links:cost*volume);@for(workers(I):@sum(jobs(J):volume(I,J))=1);@for(jobs(J):@sum(workers(I):volume(I,J))=1);@for(