数学建模作业4.docx

上传人:b****5 文档编号:3432061 上传时间:2022-11-23 格式:DOCX 页数:19 大小:119.50KB
下载 相关 举报
数学建模作业4.docx_第1页
第1页 / 共19页
数学建模作业4.docx_第2页
第2页 / 共19页
数学建模作业4.docx_第3页
第3页 / 共19页
数学建模作业4.docx_第4页
第4页 / 共19页
数学建模作业4.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数学建模作业4.docx

《数学建模作业4.docx》由会员分享,可在线阅读,更多相关《数学建模作业4.docx(19页珍藏版)》请在冰豆网上搜索。

数学建模作业4.docx

数学建模作业4

数学建模作业-----第五章

1非线性最小二乘问题

(1)最小二乘方法

无约束问题为:

minz=

编写lingo程序:

sets:

quantity/1..15/:

x,y;

endsets

data:

x=2,5,7,10,14,19,26,31,34,38,45,52,53,60,65;

y=54,50,45,37,35,25,20,16,18,13,8,11,8,4,6;

enddata

min=@sum(quantity:

(a+b*@exp(x*c)-y)^2);

@free(a);@free(b);@free(c);

结果:

Localoptimalsolutionfound.

Objectivevalue:

44.78049

Extendedsolversteps:

5

Totalsolveriterations:

68

 

VariableValueReducedCost

A2.4301770.000000

B57.332090.000000

C-0.4460383E-010.000000

(2)最小一乘法

无约束问题为:

min(a,b)z=

编写lingo程序写出相应的LINGO程序如下:

sets:

quantity/1..15/:

x,y;

endsets

data:

x=2,5,7,10,14,19,26,31,34,38,45,52,53,60,65;

y=54,50,45,37,35,25,20,16,18,13,8,11,8,4,6;

enddata

min=@sum(quantity:

@abs(a+b*@exp(x*c)-y));

@free(a);@free(b);@free(c);

运行结果:

Localoptimalsolutionfound.

Objectivevalue:

20.80640

Extendedsolversteps:

2

Totalsolveriterations:

643

 

VariableValueReducedCost

A3.3982670.000000

B57.114610.000000

C-0.4752126E-010.000000

(3)最大偏差最小的方法

编写程序:

sets:

quantity/1..15/:

x,y;

endsets

data:

x=2,5,7,10,14,19,26,31,34,38,45,52,53,60,65;

y=54,50,45,37,35,25,20,16,18,13,8,11,8,4,6;

enddata

min=@max(quantity:

@abs(a+b*@exp(c*x)-y));

@free(a);@free(b);@free(c);

结果:

Linearizationcomponentsadded:

Constraints:

91

Variables:

76

Integers:

30

Localoptimalsolutionfound.

Objectivevalue:

2.774408

Extendedsolversteps:

38

Totalsolveriterations:

7654

 

VariableValueReducedCost

A2.8855940.000000

B55.862460.000000

C-0.4441314E-010.000000

(4)画出散点图和曲线图

编写matlab程序如下:

>>x=[257101419263134384552536065];

y=[54504537352520161813811846];

scatter(x,y,'k*');

holdon

x=0:

0.1:

100;

y=2.43+exp(-0.0446*x).*57.33;

plot(x,y,'g');

xlabel('x');ylabel('y');

holdon

x=0:

0.1:

100;

y=3.40+exp(-0.048*x).*57.11;

plot(x,y,'r');

xlabel('x');ylabel('y');

holdon

x=0:

0.1:

100;

y=2.89+exp(-0.044*x).*55.86;

plot(x,y,'b');

xlabel('x');ylabel('y');

得到图形:

 

分析:

三条曲线的结果大致相同,但是略有差异。

最小二乘法当回归残差满足正态分布时,它有很好的统计性质,但是他的回归性质不稳定。

最小一乘法和最小二乘法近似,更靠近主流数据。

最大偏差最小回归法因为受到最大平偏差的影响,曲线始终偏移。

2非线性优化问题:

(1)设汽油由

桶A类原油和

桶B类原油化合而成,民用燃料油由

桶A类原油和

桶B类原油化合而成,汽油广告费为

元,民用燃料的广告费为

元。

由题意知道,

汽油产量为

桶,销量为

桶;

民用燃料油产量为

桶,销量为

桶。

约束条件:

销售约束:

原料约束:

指标约束:

目标函数:

利润:

编写lingo程序如下:

max=0.5*z1*250+z2*200-z1-z2;

x1+x2<=5000;

y1+y2<=10000;

10*x1+5*y1>=8*(x1+y1);

10*x2+5*y2>=6*(x2+y2);

0.5*z1<=x1+y1;

z2<=x2+y2;

得到:

Globaloptimalsolutionfound.

Objectivevalue:

3230000.

Totalsolveriterations:

2

 

VariableValueReducedCost

Z110000.000.000000

Z210000.000.000000

X13000.0000.000000

X22000.0000.000000

Y12000.0000.000000

Y28000.0000.000000

RowSlackorSurplusDualPrice

13230000.1.000000

20.000000297.0000

30.000000174.5000

40.000000-24.50000

50.000000-24.50000

60.000000248.0000

70.000000199.0000

结果分析:

汽油由3000桶A类原油和2000桶B类原油化合而成;

民用燃料油产品由2000桶A类原油和8000桶B类原油化合而成;

广告费分别为1000元;

石油公司获得最大利润3230000元。

(2)根据问题的需要,设汽油中增加SQ量

民用燃料油增加SQ量

.

根据题意,新的约束条件为:

销售约束:

SQ约束:

原料约束:

指标约束:

新的目标函数:

利润:

编写lingo程序如下:

在LINGO中输入:

max=0.5*z1*250+z2*200-z1-z2-200*(k1+k2);

x1+x2<=5000;

y1+y2<=10000;

10*x1+5*y1>=(8-k1^0.5)*(x1+y1);

10*x2+5*y2>=(6-0.6*k2^0.6)*(x2+y2);

0.5*z1<=x1+y1+k1;

z2<=x2+y2+k2;

k1<=(x1+y1)*0.05;

k2<=(x2+y2)*0.05;

得到:

Localoptimalsolutionfound.

Objectivevalue:

3756000.

Totalsolveriterations:

26

 

VariableValueReducedCost

Z131500.000.000000

Z20.6618792E-070.000000

K1750.00000.000000

K20.0000001029.000

X15000.0000.000000

X20.0000000.000000

Y110000.000.000000

Y20.0000000.000000

RowSlackorSurplusDualPrice

13756000.1.000000

20.6618757E-07250.4000

30.000000250.4000

4390791.90.000000

50.0000000.000000

60.000000248.0000

7-0.6618792E-07199.0000

80.00000048.00000

90.0000001028.000

结果分析:

汽油由5000桶A类原油和10000桶B类原油化合而成,

只生产汽油产品,不生产民用燃料油,

增加SQ添加剂750桶,

汽油广告费31500元,

石油公司获得的利润最大为3756000元。

(3)由题意知,只需要在第二问的基础上修改利润表达式,其他条件不变即可。

修改后的目标函数:

利润:

编写lingo程序:

max=0.5*z1*250+z2*200-z1-z2-200*400-100*(k1+k2-400);

x1+x2<=5000;

y1+y2<=10000;

10*x1+5*y1>=(8-k1^0.5)*(x1+y1);

10*x2+5*y2>=(6-0.6*k2^0.6)*(x2+y2);

0.5*z1<=x1+y1+k1;

z2<=x2+y2+k2;

k1<=(x1+y1)*0.05;

k2<=(x2+y2)*0.05;

得到:

Localoptimalsolutionfound.

Objectivevalue:

3791000.

Totalsolveriterations:

25

 

VariableValueReducedCost

Z131500.000.000000

Z20.0000000.000000

K1750.00000.000000

K20.0000000.000000

X15000.0000.000000

X20.00000051.45000

Y110000.000.000000

Y20.00000051.45000

RowSlackorSurplusDualPrice

13791000.1.000000

20.000000255.4000

30.000000255.4000

4390791.90.000000

50.0000000.000000

60.000000248.0000

70.000000199.0000

80.000000148.0000

90.00000099.00000

分析结果:

汽油由5000桶A类原油和10000桶B类原油化合而成,

应全部生产汽油,

添加SQ的量为750,

投入广告费31500元,

此时获得最大利润,为3791000元。

3毛巾清洗服务问题.

设订货量为Q,订货周期为t,订货费为

脏毛巾储存费为

干净毛巾储存费为

.每条毛巾的清洗费为w。

由题意得

,w=0.6

毛巾的平均存货费为

;

毛巾平均订货费为

;

毛巾的平均总费用min=

+

将各已知量代入上式得到:

min=

+

=

编写LINGO程序:

min=0.5*Q*(0.02+0.01)+600*(81+0.6*Q)/Q;

得到结果:

Localoptimalsolutionfound.

Objectivevalue:

414.0000

Extendedsolversteps:

5

Totalsolveriterations:

208

 

VariableValueReducedCost

Q1800.0000.000000

RowSlackorSurplusDualPrice

1414.0000-1.000000

所以

1800,每隔3天进行一次更换,毛巾平均总费用min=414元。

(2)根据题意知:

添加约束条件

当Q

w=0.60;

当Q

2500,w=0.50;

写出相应的LINGO程序如下:

D=600;C_P1=0.02;C_p2=0.01;C_D=81;

w=@if(Q#lt#2500,0.60,0.50);

min=1/2*Q*(C_P1+C_P2)+D*(C_D+w*Q)/Q;

运行程序得到:

Linearizationcomponentsadded:

Constraints:

15

Variables:

10

Integers:

6

Localoptimalsolutionfound.

Objectivevalue:

356.9400

Extendedsolversteps:

0

Totalsolveriterations:

4

 

VariableValueReducedCost

D600.00000.000000

C_P10.2000000E-010.000000

C_P20.1000000E-010.000000

C_D81.000000.000000

w0.50000000.000000

Q2500.0000.000000

分析结果:

当订货量为2500条时,毛巾消费为356.94元,更换周期为4-5天,可以选择打折服务。

4经济订购与生产存储模型.

(1)若公司向合同商购买

设最大库存量为Q,最小库存量为0。

由题意得

平均存货费

平均订货费=

.

平均总费用min=

+

代入数据得:

min=

编写lingo程序:

min=0.5*0.02*365*Q+15*26000/Q;

运行结果:

Localoptimalsolutionfound.

Objectivevalue:

2386.210

Extendedsolversteps:

5

Totalsolveriterations:

290

 

VariableValueReducedCost

Q326.87810.000000

分析结果:

最为327,分别代入可知,

min=2386.211元。

=327/26000=0.01258(年)

全年订货次数

=79.51070=80次/年。

(2)若公司自己生产

设单次生产量为Q,存储周期为t,有

.

由题意得:

p=

代入数据得:

p=

编写lingo程序:

min=0.5*0.02*365*(1-26000/36500)*Q+20*26000/Q;

运行得到:

Localoptimalsolutionfound.

Objectivevalue:

1477.836

Extendedsolversteps:

5

Totalsolveriterations:

190

 

VariableValueReducedCost

Q703.73160.000000

分析结果:

平均库存费用为1477.836元,

对比可知,该公司应该自己生产。

⑤加分试验(选址问题)

(1)模型建立

记工地的位置为(ai,bi),水泥日用量为di,i=1,…,6;料场位置为(xj,yj),日储量为ej,j=1,2;从料场j向工地i的运送量为Xij。

目标函数为:

约束条件为:

当用临时料场时决策变量为:

Xij,

当不用临时料场时决策变量为:

Xij,xj,yj。

使用两个临时料场A(5,1),B(2,7).求从料场j向工地i的运送量为Xij,在各工地用量必须满足和各料场运送量不超过日储量的条件下,使总的吨千米数最小,这是线性规划问题.线性规划模型为:

其中

,i=1,2,…,6,j=1,2,为常数。

.模型求解

编写相应的LINGO程序如下:

MODEL:

sets:

demand/1..6/:

a,b,d;

supply/1..2/:

x,y,e;

link(demand,supply):

c;

endsets

data:

a=1.25,8.75,0.5,5.75,3,7.25;

b=1.25,0.75,4.75,5,6.5,7.75;

d=3,5,4,7,6,11;e=20,20;

enddata

init:

x,y=5,1,2,7;

endinit

min=@sum(link(i,j):

c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^0.5);

@for(demand(i):

[DEMAND_CON]@sum(supply(j):

c(i,j))=d(i););

@for(supply(i):

[SUPPLY_CON]@sum(demand(j):

c(j,i))<=e(i););

@for(supply:

@free(x);@free(y););

END

运行程序得到如下:

Localoptimalsolutionfound.

Objectivevalue:

136.20604

Totalsolveriterations:

59

 

VariableValueReducedCost

A

(1)1.2500000.000000

A

(2)8.7500000.000000

A(3)0.50000000.000000

A(4)5.7500000.000000

A(5)3.0000000.000000

A(6)7.2500000.000000

B

(1)1.2500000.000000

B

(2)0.75000000.000000

B(3)4.7500000.000000

B(4)5.0000000.000000

B(5)6.5000000.000000

B(6)7.7500000.000000

D

(1)3.0000000.000000

D

(2)5.0000000.000000

D(3)4.0000000.000000

D(4)7.0000000.000000

D(5)6.0000000.000000

D(6)11.000000.000000

X

(1)3.2548830.000000

X

(2)7.250000-0.4340540E-05

Y

(1)5.6523320.000000

Y

(2)7.750000-0.1390490E-05

E

(1)20.000000.000000

E

(2)20.000000.000000

C(1,1)3.0000000.000000

C(1,2)0.0000004.008540

C(2,1)0.0000000.2051358

C(2,2)5.0000000.000000

C(3,1)4.0000000.000000

C(3,2)0.0000004.487750

C(4,1)7.0000000.000000

C(4,2)0.0000000.5535090

C(5,1)6.0000000.000000

C(5,2)0.0000003.544853

C(6,1)0.0000004.512336

C(6,2)11.000000.000000

所以,A料场向工地1…6运送水泥量分别为3吨、0吨、4吨、7吨、6吨和0吨,B料场向工地1…6运送水泥量分别为0吨、5吨、0吨、0吨和11吨,这样总的吨公里数最小为136.20604.

(2)

为进一步减少吨公里数,改建两个新的料场,日储量各位20吨。

即在问题

(1)中稍微改变程序,如下:

改建两个新料场,要同时确定料场的位置(xj,yj)和运送量Xij,在同样条件下使总吨千米数最小。

这是非线性规划问题。

非线性规划模型为:

MODEL:

sets:

demand/1..6/:

a,b,d;

supply/1..2/:

x,y,e;

link(demand,supply):

c;

endsets

data:

a=1.25,8.75,0.5,5.75,3,7.25;

b=1.25,0.75,4.75,5,6.5,7.75;

d=3,5,4,7,6,11;e=20,20;

enddata

init:

x,y=5,1,2,7;

endinit

min=@sum(link(i,j):

c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^0.5);

@for(demand(i):

[DEMAND_CON]@sum(supply(j):

c(i,j))=d(i););

@for(supply(i):

[SUPPLY_CON]@sum(demand(j):

c(j,i))<=e(i););

@for(supply:

@bnd(0.5,x,8.75);@bnd(0.75,y,7.75););

END

运行结果得到如下:

Localoptimalsolutionfound.

Objectivevalue:

89.88347

Totalsolveriterations:

19

 

VariableValueReducedCost

X

(1)5.6959660.000000

X

(2)7.250000-0.1277784E-05

Y

(1)4.9285580.000000

Y

(2)7.750000-0.1286103E-05

E

(1)20.000000.000000

E

(2)20.000000.000000

C(1,1)3.0000000.000000

C(1,2)0.0000001.765937

C(2,1)5.0000000.000000

C(2,2)0.0000000.6737602

C(3,1)4.0000000.000000

C(3,2)0.0000000.8781215

C(4,1)7.0000000.000000

C(4,2)0.0000001.733428

C(5,1)1.0000000.000000

C(5,2)5.0000000.000000

C(6,1)0.0000004.530599

C(6,2)11.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1