您的当前位置:首页正文

建模作业

2021-04-10 来源:易榕旅网
P9

1.1 用MATLAB求解下列线性规划问题:

maxz3x1x2x3,

x12x2x311,-4xx2x3,123 s.t.2xx1,13x1,x2,x30.

解:编写MATLAB程序如下: f=[-3;1;1]; a=[1 -2 1; 4 -1 -2]; b=[11;-3]; aeq=[-2 0 1]; beq=1;

[x,y]=linprog(f,a,b,aeq,beq,zeros(3,1)); x,y=-y

求得最优解为 x1=4.0000,x2=1.0000,x3=9.0000,对应的最优值为z= 2.0000.

1.3 某厂生产三种产品I,II,III。每种产品要经过A, B两道工序加工。设该厂有两种规格的设备能完成A工序,以A1,A2表示;有三种规格的设备能完成B工序,以B1,B2,B3表示。产品I可在A,B任何一种规格设备上加工。产品II可在任何规格的A设备上加工,但完成B 工序时,只能在B1设备上加工;产品III只能在A2与B2设备上加工。已知在各种机床设备的单件工时,原材料费,产品销售价格,各种设备有效台时以及满负荷操作时机床设备的费用如表2,求安排最优的生产计划,使该厂利润最大。

设备 产品 设备有效台时 满负荷时的设I II III 备费用/元 A1 5 10 6000 300 A2 7 9 12 10000 321 B1 6 8 4000 250 B2 4 11 7000 783 B3 7 4000 200 原料费0.25 0.35 0.50 (元/件) 单价(元/1.25 2.00 2.80 件)

解:对产品I来说,设以A1,A2完成A工序的产品分别为件x1,x2,转入B工序时,以B1,B2,B3,完成B工序的产品分别为x3,x4,x5件;

对II产品来说,设以A1,A2完成A工序的产品分别为x6,x7件,转入B工序时,以B1完成B工序的产品为x8件;

对产品III来说,设以A2完成A工序的产品分别为x9件,则以B2完成B工序的产品也为x9件。由上述条件,得:

x1x2x3x4x5

x6x7x8

有题目所给的数据可建立如下线性规划模型:

max z (1.250.25)(x1x2)(20.35)x8(2.80.5)x9

300321 (5x110x6)(7x29x712x9)600010000250783200(6x38x8)(4x411x9)7x5,400070004000

5x110x660007x9x12x10007926x38x84004x11x97000s.t.4

7x40005x1x2x3x4x5x6x7x8x0,i1,2,,9iMATLAB代码如下:

f=[-0.75 -0.7753 0.375 783/7000 0.35 0.5 0.2889 -1.15 -0.684371429]' a=[5 0 0 0 0 10 0 0 0; 0 7 0 0 0 0 9 0 12; 0 0 6 0 0 0 0 8 0; 0 0 0 4 0 0 0 0 11; 0 0 0 0 0 0 7 0 0];

b=[6000;10000;4000;7000;4000]; aeq=[1 1 -1 -1 -1 0 0 0 0; 0 0 0 0 0 1 1 -1 0]; beq=[0;0];

[x,y]=linprog(f,a,b,aeq,beq,zeros(9,1)) x,y

求得最优解为:x1=1200, x2=230, x3=0, x4=858.6207, x5=571.4286, x7=500,

x8=500, x9=324.

该题实际上应该为整数规划问题,对应整数规划的最优解为x1=1200, x2=230, x3=0, x4=859 x5=571.4286, x7=500, x8=500, x9=324. 最优值z=1146.414

故最大利润为1146.41元

P100

5.1 用给定的多项式,如y=x^3-6x^2+5x-3,产生一组数据(xi,yi,i=1,2,..n),再在yi上添加随机干扰(可用rand产生(0,1)均匀分布随机数,或randn用产生N(0.1)分布随机数),然后用xi和添加了随机干扰的yi作3次多项式拟合,与原系数比较。如果作2或4次多项式拟合,结果如何?

解:MATLAB代码如下: clear all

x=[1,2,3,4,5,6,7,8];

y=[-3,-9,-15,-15,-3,27,81,165] z=y+rand(1,8); xi=1:0.1:8;

p1=polyfit(x,z,2) ; zi= polyval(p1,xi); subplot (1,3,1);

plot(x,z, 'bo',xi,zi, 'k'); title ('二次');

p2=polyfit(x,z,3) ; zi= polyval(p2,xi); subplot (1,3,2);

plot(x,z, 'bo',xi,zi, 'k'); title ('三次 ');

p3=polyfit(x,z,4) ; zi= polyval(p3,xi); subplot (1,3,3);

plot(x,z, 'bo',xi,zi, 'k'); title ('四次 ');

MATLAB运行结果如下:

y = -3 -9 -15 -15 -3 27 81 165

5.4

用最小二乘法求一形如yaebx的经验公式拟合表5.11中的数据。 解: 把y=a两边取对数,得:lnylnabx

那个线性最小二乘法拟合参数lna和b,可得参数a的拟合值 求解的MATLAB代码如下: x=[1:8]';

y=[15.3 20.5 27.4 36.6 49.1 65.6 87.87 117.6]'; r=[ones(8,1),x]; ab=r\\log(y);

ab(1)=exp(ab(1)) x0=1:0.1:8;

y0=ab(1).*exp(ab(2).*x0); plot(x,y,'o',x0,y0,'r') 运算结果如下: ab =

11.4358

0.2913

1 15.3 2 20.5 表5.11 已知数据 3 4 5 27.4 36.6 49.1 6 65.6 7 87.87 8 117.6

求得的经验公式为:y11.4358e0.2913x。

因篇幅问题不能全部显示,请点此查看更多更全内容