1、数学建模作业 郑重声明: 本作业仅供参考,可能会有错误,请自己甄别。 应用运筹学作业 6.某工厂生产A,B,C,D四种产品,加工这些产品一般需要经刨、磨、钻、镗四道工序,每种产品在各工序加工时所需设备台时如表1-18所示,设每月工作25天,每天工作8小时,且该厂有刨床、磨床、钻床、镗床各一台。问:如何安排生产, 才能使月利润最大?又如A,B,C,D四种产品,每月最大的销售量分别为300件、350件、200件和400件,则该问题的线性规划问题又该如何? 表1-18 产 品 A B C D 刨(台时) 0.3 0.5 0.2 0.4 磨(台时) 0.
2、9 0.5 0.7 0.8 钻(台时) 0.7 0.5 0.4 0.6 镗(台时) 0.4 0.5 0.8 0.7 成本(元/件) 150 100 120 200 售价(元/件) 200 130 150 230 解:该问题的目标是使得月利润最大,故设x1,x2,x3,x4分别为生产A,B,C,D四种产品的数量,则得目标函数: Max=200-150x1+130-100x2+150-120x3+(230-200)x4 =50x1+30x2+30x3+30x4 生产四种产品所用时间: 0.3+0.9+0.7+0.4x1+0.5+0.5
3、0.5+0.5x2+0.2+0.7+0.4+0.8x3+0.4+0.8+0.6+0.7x4≤25×8 即:2.3x1+2.0x2+2.1x3+2.5x4≤200 又产品数量不可能为负,所以:xi≥0i=1,2,3,4 综上,该问题的线性规划模型如下: Max Z=50x1+30x2+30x3+30x4 S.T.2.3x1+2.0x2+2.1x3+2.5x4≤200xi≥0i=1,2,3,4 下求解目标函数的最优解: max=50*x1+30*x2+30*x3+30*x4; 2.3*x1+2.0*x2+2
4、1*x3+2.5*x4<200; Global optimal solution found. Objective value: 4347.826 Total solver iterations: 0 Variable Value Reduced Cost X1 86.95652 0
5、000000 X2 0.000000 13.47826 X3 0.000000 15.65217 X4 0.000000 24.34783 Row Slack or Surplus Dual Price
6、 1 4347.826 1.000000 2 0.000000 21.73913 故此线性规划的最优解为x1=86.95652,x2,x3,x4=0,最优值为4347.826,即每月生产A产品87件即可获利最大。 若A,B,C,D四种产品,每月最大的销售量分别为300件、350件、200件和400件,则其线性规划模型如下: Max Z=50x1+30x2+30x3+30x4 S.T.2.3x1+2.0x2+2.1x3+
7、2.5x4≤200x1≤300 x2≤350 x3≤200 x4≤400 xi≥0i=1,2,3,4 7.某工厂在计划期内要安排
8、生产Ⅰ、Ⅱ两种产品,每种产品都要经过A,B两道工序加工,A工序加工合格率为95%,B工序加工合格率为98%,原料价格为每千克8元,原料占用资金不得超过30000元,已知生产单位产品所需工时,原料消耗,产品单价,A,B两道工序有效工时如表1-19所示,要求安排最优的生产计划,使该厂利润最大? 表1-19 Ⅰ Ⅱ 工序有效工时 A工序(工时) 0.4 0.6 2000 B工序(工时) 0.3 0.4 1500 原料(千克) 1 2 单价(元/件) 20 28 解:该问题的目标是使得利润最大,设产品Ⅰ和产品Ⅱ的生产数量分别为x1、x2,则得目标函数:
9、 Max=0.95×0.98×20x1+0.95×0.98×28x2-8x1-16x2 =10.62x1+10.068x2 由A、B工序有效工时得: 0.4x1+0.6x2≤2000 0.3x1+0.4x2≤1500 而原料占用资金不得超过30000元,即8x1+16x2≤30000 故该问题的线性规划模型为: Max Z=10.62x1+10.068x2 S.T.0.4x1+0.6x2≤20000.3x1+0.4x2≤15008x1+16x2≤30000 x1 ,x2≥0 下求解目标函数的最优解: max=10.6
10、2*x1+10.068*x2; 0.4*x1+0.6*x2<2000; 0.3*x1+0.4*X2<1500; 8*x1+16*x2<30000; Global optimal solution found. Objective value: 39825.00 Total solver iterations: 1 Variable Value Reduced Cost
11、 X1 3750.000 0.000000 X2 0.000000 11.17200 Row Slack or Surplus Dual Price 1 39825.00 1.000000
12、 2 500.0000 0.000000 3 375.0000 0.000000 4 0.000000 1.327500 即生产3750件产品Ⅰ即可获得最大利润39825元。 8.某厂用6米的角钢切割钢窗用料,每付钢窗含长2.5米的料2根、1.6米的料2根、1米的料4根,若需200付钢窗用料,问最少切割6米的角钢多少根? 解:对每根6米的
13、角钢来说,存在如下表的8种下料方案。 方 案 根 数 长 度 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ 2.5 0 0 0 0 1 1 1 2 1.6 0 1 2 3 0 1 2 0 1 6 4 2 1 3 1 0 1 合计(m) 6 5.6 1.2 5.8 5.5 5.1 5.3 6 料头(m) 0 0.4 0.8 0.2 0.5 0.9 0.7 0 设第j种方案下料的原材料根数为xj,则其线性规划模型如下: Min Z=x1+x2+x3
14、x4+x5+x6+x7+x8 S.T.x5+x6+x7+2x8≥400 x2+2x3+3x4+x6+2x7≥400 6x1+4x2+2x3+x4+3x5+x6+x8≥800xj≥0,j=1,…,8 下求解目标函数的最优解: min=x1+x2+x3+x4+x5+x6+x7+x8; x5+x6+x7+2*x8>400; x2+2*x3+3*x4+x6+2*x7>400;
15、6*x1+4*x2+2*x3+x4+3*x5+x6+x8>800; Global optimal solution found. Objective value: 411.1111 Total solver iterations: 5 Variable Value Reduced Cost X1
16、77.77778 0.000000 X2 0.000000 0.5555556E-01 X3 0.000000 0.1111111 X4 133.3333 0.000000 X5 0.000000 0
17、8333333E-01 X6 0.000000 0.1388889 X7 0.000000 0.2777778E-01 X8 200.0000 0.000000 Row Slack or Surplus Dual Price
18、 1 411.1111 -1.000000 2 0.000000 -0.4166667 3 0.000000 -0.2777778 4 0.000000 -0.1666667 故最少切割6米的角钢412根,其中按方案1切割78根
19、按方案4切割134根,按方案8切割200根。 9.某贸易公司从事某种粮食批发业务,公司现有5000吨的仓库,1月1日公司拥有库存1000吨,并有资金5000000元,估计第一季度该种粮食的价格如表1-20所示。 表1-20 月 份 进货价(元/吨) 出货价(元/吨) 1 2250 2350 2 2350 2470 3 2300 2410 如买进的粮食当月到货,需到下月才能卖出,且买进“货到付款”,卖出“款到发货”,公司希望本季度末库存为1500吨,问应采取什么样的买进与卖出策略才能使三个月的总利润最大? 解:设三个月月末进货分别为x1,x2,x3,出货分
20、别为y1,y2,y3,分析可知x2=0 则该问题的目标函数为: Max=24700-100y1+2470y2+2410y3-2300x3-2250x1 其线性规划模型如下: Max=24700-100y1+2470y2+2410y3-2300x3-2250x1 S.T.2250x1≤5000000+2350y1 y1≤1000 y2≤1000+x1-y1 y3≤1000+x1-y1-y2 y3=x1+x3-y1-y2-1000 下求解目
21、标函数的最优解: max=2470000-100*y1+2470*y2+2410*y3-2300*x3-2250*x1; 2250*x1<5000000+2350*y1; y1<1000; 1000+x1-y1<5000; y2<1000+x1-y1; y3<1000+x1-y1-y2; y3=x1+x3-y1-y2-1000; Global optimal solution found. Objective value: 828888.9 Total solver iterations:
22、 1 Variable Value Reduced Cost Y1 0.000000 2340.222 Y2 3222.222 0.000000 Y3 0.000000 60.000
23、00 X3 2000.000 0.000000 X1 2222.222 0.000000 Row Slack or Surplus Dual Price 1 828888.9 1.000000
24、 2 0.000000 0.9777778E-01 3 1000.000 0.000000 4 1777.778 0.000000 5 0.000000 0.000000 6
25、 0.000000 170.0000 7 0.000000 2300.000 故1月份买进2222.2吨,3月份买进2000吨,2月份卖出3222.2吨即可获得最大利润828888.9元。 11.某饲料厂用A,B,C三种天然饲料来混合配置甲、乙两种混合饲料,要求在混合饲料甲中含蛋白质不少于0.5%,矿物质不少于0.1%,维生素不少于0.08%;乙中含蛋白质不少于0.4%,矿物质不少于0.11%,维生素不少于0.07%。混合饲料甲的售价为1元/千克,乙的售价为0.9元/
26、千克,加工费甲为0.2元/千克,乙为0.15元/千克。已知天然饲料A,B,C中蛋白质、矿物质、维生素的含量,A,B,C的单价及每周的限用量如表1-22所示。问该厂应如何安排生产,才能使利润收入为最大? 表1-22 天然饲料 蛋白质(%) 矿物质(%) 维生素(%) 单价 (元/千克) 每周限制用量(千克) A 0.8 0.05 0.19 0.5 5000 B 0.3 0.13 0.05 0.4 1000 C 0.4 0.09 0.09 0.45 8000 解:设每周生产甲饲料用A,B,C天然饲料各x1,x2,x3,每周生产乙饲料用A,B,C
27、天然饲料各y1,y2,y3,则得目标函数: Max=0.3x1+0.4x2+0.35x3+0.25y1+0.35y2+0.3y3 对甲饲料: 蛋白质含量:0.8x1+0.3x2+0.4x3≥0.5(x1+x2+x3) 矿物质含量:0.05x1+0.13x2+0.09x3≥0.1(x1+x2+x3) 维生素含量:0.19x1+0.05x2+0.09x3≥0.08(x1+x2+x3) 同理,对乙饲料也有上述关系式。 A原料的周限用量为:x1+y1≤5000,对B、C原料同理。 综上,该问题的线性规划模型如下: Max Z=0.3x1+0.4x2+0.35x3+0.25y1+0
28、35y2+0.3y3 S.T.0.8x1+0.3x2+0.4x3≥0.5(x1+x2+x3) 0.05x1+0.13x2+0.09x3≥0.1x1+x2+x3 0.19x1+0.05x2+0.09x3≥0.08x1+x2+x3 0.8y1+0.3y2+0.4y3≥0.4(y1+y2+y3) 0.05y1+0.13y2+0.09y3≥0.11(y1+y2+y3) 0.19y1+0.05y2+0.09y3≥0.07(y1+y2+y3) x1+y1≤5000
29、 x2+y2≤1000 x3+y3≤8000 xi≥0,yi≥0(i=1,2,3) 下求解目标函数的最优解: max=0.3*x1+0.4*x2+0.35*x3+0
30、25*y1+0.35*y2+0.3*y3; 0.8*x1+0.3*x2+0.4*x3>0.5*(x1+x2+x3); 0.8*y1+0.3*y2+0.4*y3>0.4*(y1+y2+y3); 0.05*x1+0.13*x2+0.09*x3>0.1*(x1+x2+x3); 0.05*y1+0.13*y2+0.09*y3>0.11*(y1+y2+y3); 0.19*x1+0.05*x2+0.09*x3>0.08*(x1+x2+x3); 0.19*y1+0.05*y2+0.09*y3>0.07*(y1+y2+y3); x1+y1<5000; x2+y2<1000; x3+y3<8
31、000; Global optimal solution found. Objective value: 487.5000 Total solver iterations: 10 Variable Value Reduced Cost X1 0.000000 0.000000
32、 X2 0.000000 0.000000 X3 0.000000 0.4500000 Y1 250.0000 0.000000 Y2 1000.000 0.000000
33、 Y3 250.0000 0.000000 Row Slack or Surplus Dual Price 1 487.5000 1.000000 2 0.000000 -4.625000 3 0.0000
34、00 -1.625000 4 0.000000 -33.75000 5 0.000000 -15.00000 6 0.000000 0.000000 7 15.00000 0.000000
35、 8 4750.000 0.000000 9 0.000000 0.4875000 10 7750.000 0.000000 故该厂每周获得最大利润为487.5元。 数学建模与数学实验作业 1.对以下问题,编写M文件: (1)用起泡法对1
36、0个数由小到大排序,即将相邻两个数比较,将小的调到前面。 解:编写M文件f1.m如下: function y=f1(x) [m,n]=size(x); for i=1:n for j=1:n-1 if (x(j)>x(j+1)) a=x(j); x(j)=x(j+1); x(j+1)=a; end end end y=x; 例如对12,2,32,34,5,24,78,7,9,97用起泡法排序,则编写程序如下: >>a=[12 2 32 34 5 24 78 7 9 97]; f1(a) 运行结果如下: ans =
37、 2 5 7 9 12 24 32 34 78 97 (2)有一个4×5阶矩阵,编程求出其最大值及其所处的位置。 解:编写M文件fun.m如下: function fun(x) [c,t]=max(c); [y,i]=max(c); t(i); disp(['最大值为:',num2str(y)]); disp(['位置为:',num2str(t(i)),'行',num2str(i),'列']); end 例如有以下矩阵: 则编写程序如下: >>a=[1 4 2 1 5;3 5 0 8 1;1 2 7
38、 5 2;6 4 5 2 0]; fun(a) 运行结果为: a = 1 4 2 1 5 3 5 0 8 1 1 2 7 5 2 6 4 5 2 0 最大值为:8 位置为:2行4列 (3)编程求 解:编写M文件JCH.m如下: function y=JCH(n) y=1; for i=1:n for j=1:i; z=(i-1)*i; end y=y+z; end
39、则编写程序:JCH(20) 运行结果为: >>JCH(20) ans = 2661 (4)一球从100m的高度自由落下,每次落地后反跳回原来高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹有多高? 解:编写M文件sh.m如下: function [s,h]=sh(n) z=100; s=z; for i=1:n-1 z=z/2; s=s+2*z; end h=z/2; 则编写程序:sh(10) 运行结果为: >> sh(10) ans = 299.6094 (5)有一函数fx,y=x2+sinxy+
40、2y,写一程序,输入自变量的值,输出函数值。 解:编写M文件f.m如下: function y=f(x,y) y=x^2+sin(x*y)+2*y; end 若输入自变量(2,4),则程序运行结果如下: >> f(2,4) ans = 12.9894 2.用plot,fplot绘制函数y=cos(tan(πx))的图形。 解:用plot绘制: >>x=0:1e-4:1 plot(cos(tan(pi*x))) 用fplot绘制:fplot('cos(tan(pi*x))',[0,1],1e-4) 运行结果为: 3.用ezplot绘制exy-sinx+y=
41、0在[-3,3]上的图形。 解:ezplot('exp(x*y)-sin(x+y)',[-3,3]) 运行结果为: 4.用ezplot绘制摆线x=at-sint,y=a1-cost,t∈[0,2π] 的图形。 解:取a=1,编程为: >> ezplot('t-sin(t)','1-cos(t)',[0,2*pi]) 运行结果为: 5.用surf,mesh绘制曲面z=2x2+y2。 解:编写如下程序: 用mesh绘制: x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=2*X^2+Y^2; mesh(X,Y,Z)
42、其运行结果如下: 用surf绘制: x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=2*X^2+Y^2; surf(X,Y,Z) 其运行结果如下: 6.用polar绘制阿基米德螺线r=aθ和三叶玫瑰线r=acos3θ。 解:用polar绘制阿基米德螺线的程序如下: a=100; thita=0:0.1:2*pi; rho=a*thita; polar(thita,rho) 其运行结果为: 用polar绘制三叶玫瑰线的程序如下: a=2; thita=0:0.1:2*pi; rho=a*sin(3*th
43、ita); polar(thita,rho) 其运行结果如下: 7.在同一平面的两个窗口中分别画出心形线和马鞍面,要求: (1)在图形上加格栅、图例和标注; (2)定制坐标; (3)以不同的角度观察马鞍面。 解:编写以下程序: subplot(2,2,1); ezplot('2*(2*cos(t)-cos(2*t))','2*(2*sin(t)-sin(2*t))'); title('心形线'); view(-45,45); subplot(2,2,2); [X,Y]=meshgrid(-2:0.1:2); Z=X.^2-Y.^2; surf(X,Y,Z); colormap('default'); grid on;view(40,0); title('以(40,0)视角观看马鞍面'); subplot(2,2,3);surf(X,Y,Z); colormap('default'); grid on;view(-60,10); title('以(-60,10)视角观看马鞍面'); subplot(2,2,4);surf(X,Y,Z); colormap('default'); grid on;view(10,20); title('以(10,20)视角观看马鞍面'); 运行结果为: 14






