《数学建模实验答案__数学规划模型二.doc》由会员分享,可在线阅读,更多相关《数学建模实验答案__数学规划模型二.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验05 数学规划模型(2学时)(第4章 数学规划模型)1.(求解)汽车厂生产计划(LP,整数规划IP)p101102(1) (LP)在模型窗口中输入以下线性规划模型max z = 2x1 + 3x2 + 4x3s.t. 1.5x1 + 3x2 + 5x3 600280x1 + 250x2 + 400x3 60000x1, x2, x3 0并求解模型。(1) 给出输入模型和求解结果(见101):model:TITLE汽车厂生产计划(LP);!文件名:p101.lg4;max=2*x1+3*x2+4*x3;1.5*x1+3*x2+5*x3600;280*x1+250*x2+400*x360000
2、;end(2) (IP)在模型窗口中输入以下整数规划模型max z = 2x1 + 3x2 + 4x3s.t. 1.5x1 + 3x2 + 5x3 600280x1 + 250x2 + 400x3 60000 x1, x2, x3均为非负整数并求解模型。LINGO函数gin见提示。(2) 给出输入模型和求解结果(见102模型、结果):model:TITLE汽车厂生产计划(IP);!文件名:p102.lg4;max=2*x1+3*x2+4*x3;1.5*x1+3*x2+5*x3600;280*x1+250*x2+400*x360000;gin(x1); gin(x2); gin(x3);!将x1
3、,x2,x3限定为整数;end2.(求解)原油采购及加工(非线性规划NLP,LP且IP)p104107模型:已知 注:当500 x 1000时,c(x) = 10 500 + 8( x 500 ) = (10 8 ) 500 + 8x2.1解法1(NLP)p104106将模型变换为以下的非线性规划模型:LINGO软件设置:局部最优解,全局最优解,见提示。(1) 给出输入模型(见105):注意:模型中不要出现变量相除的形式,转化!model:TITLE原油采购及加工解法1(NLP,非线性规划);!文件名:p105.lg4;max = 4.8*x11 + 4.8*x21 + 5.6*x12 + 5
4、.6*x22 - 10*x1 - 8*x2 - 6*x3;x11 + x12 x + 500;x21 + x22 0;0.4*x12 - 0.6*x22 0;x = x1 + x2 + x3;( x1 - 500 )*x2 = 0;( x2 - 500 )*x3 = 0;x1 500;x2 500;x3 500;end(2) 在缺省的局部最优解设置下运行。给出求局部最优解(见106):(3) 设置为全局最优解(见提示)后运行。给出求全局最优解(见106):2.2 解法2(LP且IP)p104,107将模型变换为以下的整数规划模型:LINGO函数bin见提示。 给出输入模型(见107)和运行结果
5、(全局最优解)(比较106):model:TITLE 原油采购及加工解法2(LP,IP);!不允许用英文逗号;!文件名:p107.lg4;max= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - 10*x1 - 8*x2 - 6*x3;x11 + x12 x + 500;x21 + x22 0;0.4*x12 - 0.6*x22 0;x = x1 + x2 + x3;x1 500*y1;x2 500*y2;x3 500*y2;x2 500*y3;bin(y1); bin(y2); bin(y3);!将y1,y2,y3限定为0 1 变量;end2.3 解法3(IP
6、)p104,107108将模型变换为以下的整数规划模型:其中b1=0, b2=500, b3=1000, b4=1500c(b1)=0, c(b2)=5000, c(b3)=9000, c(b4)=12000程序如下: 输入模型并给出运行结果(全局最优解)(比较106):附:输入模型sets: pn_1/1.3/: y; pn/1.4/: z,b,c;endsetsdata: b=0 500 1000 1500; c=0 5000 9000 12000;enddatamax= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - sum(pn: c*z);x11 +
7、x12 x + 500;x21 + x22 0;0.4*x12 - 0.6*x22 0;z(1)y(1);for(pn(I)|I#gt#1#and#I#lt#4: z(I)y(I-1)+y(I);z(4)y(3);sum(pn: z)=1;sum(pn_1: y)=1;for(pn_1: bin(y);x=sum(pn: b*z);3.(验证)混合泳接力队的选拔(0-1规划)p1081113.1 解法10-1规划模型:min Z=66.8x11+75.6x12+87x13+58.6x14 +57.2x21+66x22+66.4x23+53x24 +78x31+67.8x32+84.6x33+5
8、9.4x34 +70x41+74.2x42+69.6x43+57.2x44 +67.4x51+71x52+83.8x53+62.4x54subject tox11+x12+x13+x14=1x21+x22+x23+x24=1x31+x32+x33+x34=1x41+x42+x43+x44=1x11+x21+x31+x41+x51=1x12+x22+x32+x42+x52=1x13+x23+x33+x43+x53=1x14+x24+x34+x44+x54=1xij=0,1,i=1,2,3,4,5,j=1,2,3,4程序如下: 输入以上0-1规划模型。给出运行结果(比较110):3.2 解法20-
9、1规划模型:其中程序如下: 输入以上0-1规划模型(见110)。给出运行结果(比较110):附:输入模型model:sets:person/1.5/;position/1.4/;link(person,position): c,x;endsetsdata:c=66.8, 75.6, 87, 58.6, 57.2, 66, 66.4, 53, 78, 67.8, 84.6, 59.4 70, 74.2, 69.6, 57.2, 67.4, 71, 83.8, 62.4;enddatamin=sum(link: c*x);for(person(i): sum(position(j): x(i,j)
10、=2; !最少2门数学课程;x3+x5+x6+x8+x9=3; !最少3门运筹学课程;x4+x6+x7+x9=2; !最少2门计算机课程;2*x3-x1-x2=0;x4-x7=0;2*x5-x1-x2=0;x6-x7=0;x8-x5=0;2*x9-x1-x2=400350(x11+x12)+250(x21+x22)+300(x31+x32)+200(x41+x42)=500350(x11+x12+x13)+250(x21+x22+x23)+300(x31+x32+x33)+200(x41+x42+x43)=600350(x11+x12+x13+x14)+250(x21+x22+x23+x24)
11、+300(x31+x32+x33+x34)+200(x41+x42+x43+x44)=700350(x11+x12+x13+x14+x15)+250(x21+x22+x23+x24+x25)+300(x31+x32+x33+x34+x35)+200(x41+x42+x43+x44+x45)=800xij=0,1,i=1,2,3,4, j=1,2,3,4,5(1) 按表达式形式输入0-1规划模型。给出输入模型和运行结果(比较116):model:TITLE 例3 销售代理的开发及中断;!文件名:p114_1.lg4;min=137.5*x11+130*x12+122.5*x13+115*x14+
12、107.5*x15+100*x21+96*x22+92*x23+88*x24+84*x25+122.5*x31+116*x32+109.5*x33+103*x34+96.5*x35+85*x41+82*x42+79*x43+76*x44+73*x45;x11+x12+x13+x14+x15=1;x21+x22+x23+x24+x25=1;x31+x32+x33+x34+x35=1;x41+x42+x43+x44+x45=400;350*(x11+x12)+250*(x21+x22)+300*(x31+x32)+200*(x41+x42)=500;350*(x11+x12+x13)+250*(x
13、21+x22+x23)+ 300*(x31+x32+x33)+200*(x41+x42+x43)=600;350*(x11+x12+x13+x14)+250*(x21+x22+x23+x24)+ 300*(x31+x32+x33+x34)+200*(x41+x42+x43+x44)=700;350*(x11+x12+x13+x14+x15)+250*(x21+x22+x23+x24+x25)+ 300*(x31+x32+x33+x34+x35)+200*(x41+x42+x43+x44+x45)=800;bin(x11); bin(x12); bin(x13); bin(x14); bin(x
14、15);bin(x21); bin(x22); bin(x23); bin(x24); bin(x25);bin(x31); bin(x32); bin(x33); bin(x34); bin(x35);bin(x41); bin(x42); bin(x43); bin(x44); bin(x45);end(2) 用LINGO函数(for, sum)的形式输入0-1规划模型。给出输入模型和运行结果(比较116):model:TITLE 例3 销售代理的开发及中断;!文件名:p114_2.lg4;sets:R/1.4/: d;C/1.5/: b;link(R,C): a,x;endsetsdat
15、a:d=350 250 300 200;b=400 500 600 700 800;a=137.5 130 122.5 115 107.5 100 96 92 88 84 122.5 116 109.5 103 96.5 85 82 79 76 73;enddatamin=sum(link: a*x);for(R(i): sum(C(j): x(i,j)=b(k);for(link: bin(x); end注:只输出解X的操作步骤步骤1:选择 “LINGO | Solution” ;步骤2:弹出下面对话框,在栏 “Attribute or Row Name: ” 中输入:x步骤3:单击 “OK
16、” 。若在上面的对话框中,还选复选框 “Nonzeros Only”(只输出非零值),得附1:实验提示第1题LINGO函数:gingin(x) 是将变量x限定为整数的函数。称x为整数变量。第2.1题LINGO软件设置:局部最优解,全局最优解除线性规划外,LINGO在缺省设置下一般只给出局部最优解。修改LINGO选项要求计算全局最优解:选择 “LINGO|Options” 菜单;选择 “Global Solver” 选项卡;将 “Use Global Solver” 复选框选中;应用或保存设置。第2.2题LINGO函数: binbin(x) 是将变量x限定为取值0或1的函数。称x为0 1 变量。
17、第5题一、数学式子的简化二、从内层到外层转化为LINGO函数的表示(1) 定义集合:R/1.4/: d; C/1.5/: b; link(R,C): x;(2) 转化(记M2(i,k)):sum(C(j) | j#le#k: x(i,j) ! j#le#k表示jk,M2(i,k)(3) 转化(记M3(k)):sum(R(i): d(i)*M2(i,k)代入得 sum(R(i): d(i)*sum(C(j) | j#le#k: x(i,j) ! M3(k)(4) 转化:for(C(k): M3(k)b(k);代入得 for(C(k): sum(R(i): d(i)*sum(C(j) | j#le#k: x(i,j)b(k);101附2:第4章 数学规划模型(二)1014.3 汽车生产及原油采购101 例1 汽车厂生产计划101 题1(1)答案102 题1(2)模型、答案103104104 例2 原油采购及加工105 题2.1(1)答案106 题2.1(2)(3)、2.2、2.3答案107 题2.2模型1081084.4 接力队的选拔及选课策略108 例1 混合泳拉力队的选拔109110 题3模型、答案111111 例2 选课策略112 题4答案113114114 例3 销售代理的开发及中断115116 题5答案117*本节完*第 30 页
限制150内