数学建模实验报告.docx

上传人:b****2 文档编号:17631202 上传时间:2023-07-27 格式:DOCX 页数:22 大小:189.32KB
下载 相关 举报
数学建模实验报告.docx_第1页
第1页 / 共22页
数学建模实验报告.docx_第2页
第2页 / 共22页
数学建模实验报告.docx_第3页
第3页 / 共22页
数学建模实验报告.docx_第4页
第4页 / 共22页
数学建模实验报告.docx_第5页
第5页 / 共22页
数学建模实验报告.docx_第6页
第6页 / 共22页
数学建模实验报告.docx_第7页
第7页 / 共22页
数学建模实验报告.docx_第8页
第8页 / 共22页
数学建模实验报告.docx_第9页
第9页 / 共22页
数学建模实验报告.docx_第10页
第10页 / 共22页
数学建模实验报告.docx_第11页
第11页 / 共22页
数学建模实验报告.docx_第12页
第12页 / 共22页
数学建模实验报告.docx_第13页
第13页 / 共22页
数学建模实验报告.docx_第14页
第14页 / 共22页
数学建模实验报告.docx_第15页
第15页 / 共22页
数学建模实验报告.docx_第16页
第16页 / 共22页
数学建模实验报告.docx_第17页
第17页 / 共22页
数学建模实验报告.docx_第18页
第18页 / 共22页
数学建模实验报告.docx_第19页
第19页 / 共22页
数学建模实验报告.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数学建模实验报告.docx

《数学建模实验报告.docx》由会员分享,可在线阅读,更多相关《数学建模实验报告.docx(22页珍藏版)》请在冰点文库上搜索。

数学建模实验报告.docx

数学建模实验报告

内江师范学院

中学数学建模

实验报告册

编制数学建模组审定牟廉明

专业:

班级:

级班

学号:

姓名:

数学与信息科学学院

2016年3月

说明

1.学生在做实验之前必须要准备实验,主要包括预习与本次实验相关的理论知识,熟练与本次实验相关的软件操作,收集整理相关的实验参考资料,要求学生在做实验时能带上充足的参考资料;若准备不充分,则学生不得参加本次实验,不得书写实验报告;

2.要求学生要认真做实验,主要就是指不得迟到、早退与旷课,在做实验过程中要严格遵守实验室规章制度,认真完成实验内容,极积主动地向实验教师提问等;若学生无故旷课,则本次实验成绩不合格;

3.学生要认真工整地书写实验报告,实验报告的内容要紧扣实验的要求与目的,不得抄袭她人的实验报告;

4.实验成绩评定分为优秀、合格、不合格,实验只就是对学生的动手能力进行考核,跟据所做的的情况酌情给分。

根据实验准备、实验态度、实验报告的书写、实验报告的内容进行综合评定。

实验名称:

数学规划模型(实验一)指导教师:

实验时数:

4实验设备:

安装了VC++、mathematica、matlab的计算机

实验日期:

年月日实验地点:

实验目的:

掌握优化问题的建模思想与方法,熟悉优化问题的软件实现。

实验准备:

1.在开始本实验之前,请回顾教科书的相关内容;

2.需要一台准备安装WindowsXPProfessional操作系统与装有数学软件的计算机。

实验内容及要求

原料钢管每根17米,客户需求4米50根,6米20根,8米15根,如何下料最节省?

若客户增加需求:

5米10根,由于采用不同切割模式太多,会增加生产与管理成本,规定切割模式不能超过3种,如何下料最节省?

实验过程:

摘要:

生活中我们常常遇到对原材料进行加工、切割、裁剪的问题,将原材料加工成所需大小的过程,称为原料下料问题。

按工艺要求,确定下料方案,使用料最省,或利润最大就是典型的优化问题。

以此次钢管下料问题我们采用数学中的线性规划模型、对模型进行了合理的理论证明与推导,然后借助于解决线性规划的专业软件Lingo11、0对题目所提供的数据进行计算从而得出最优解。

关键词:

钢管下料、线性规划、最优解

问题一

一、问题分析:

(1)我们要分析应该怎样去切割才能满足客户的需要而且又能使得所用原料比较少;

(2)我们要去确定应该怎样去切割才就是比较合理的,我们切割时要保证使用原料的较少的前提下又能保证浪费得比较少;

(3)由题意我们易得一根长为17米的原料钢管可以分别切割成如下6种情况(如表一):

表一:

切割模式表

模式

4m钢管根数

6m钢管根数

8m钢管根数

余料/m

1

4

0

0

1

2

1

2

0

1

3

2

0

1

1

4

2

1

0

3

5

0

1

1

3

6

0

0

2

1

由表一分析可知,有两种方案满足题意且使得下料最节省:

(1)钢管切割后材料剩余最少;

(2)切割的原料钢管根数最少。

二、模型假设:

表示运用第i种切割方案所切割的根数(i=1,、、、,6)

三、建立模型:

(一)所剩余量最少

目标函数:

MinZ1=

约束条件:

模型求解:

Lingo

Min=x1+x2+x3+3*x4+3*x5+x6;

4*x1+x2+2*x3+2*x4>50;

2*x2+x4+x5>20;

x3+x5+2*x6>15;

@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);

end

实验结果:

由Lingo运行结果分析可知:

切割钢管最优解为:

x1=10,x2=10;x6=8;x3=x4=x5=0;最优值为:

x1+x2+x6=28、

即按模式1切割10根,按模式2切割10根,按模式6切割8根,共28根,余料为28m。

(二)所用钢管数最少

目标函数:

约束条件:

模型求解:

Lingo

Min=x1+x2+x3+x4+x5+x6;

4*x1+x2+2*x3+2*x4>50;

2*x2+x4+x5>20;

x3+x5+2*x6>15;

@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);

end

Globaloptimalsolutionfound、

Objectivevalue:

28、00000

Objectivebound:

28、00000

Infeasibilities:

0、000000

Extendedsolversteps:

0

Totalsolveriterations:

3

VariableValueReducedCost

X110、000001、000000

X210、000001、000000

X30、0000001、000000

X40、0000001、000000

X50、0000001、000000

X68、0000001、000000

X70、0000001、000000

RowSlackorSurplusDualPrice

128、00000-1、000000

20、0000000、000000

30、0000000、000000

41、0000000、00000

最优解为x1=10,x2=10;x6=8;其余为0;最优值为:

28、

即按方式1切割10根,按方式2切割10根,按方式6切割8根,共28根,余料28m。

综上,我们可以分析若按最小切割钢管根数去切割,我们需要用到28根,若要求余量最少则也只需要切割28根,所以要使下料最省我们两种选择都就是切割28根钢管。

问题二

一、问题分析:

(1)与问题1类似我们要分析应该怎样去切割才能满足客户的需要而且又能使得所用原料比较少;

(2)由于客户对钢管的需求又增加了一种,且需求的最小尺寸为4米,所以要能合理切割那么余量就只能小于4米;

(3)每根钢管使用量不得超过17米,但也必须超过14米;

(4)要使下料最节省,如果我们还就是得从所剩余量最少与所用根数最少的两种情况分析那出现的情况就不仅仅就是像问题

(1)中的6种了,因此我们就可简化该问题,对使用原料数量最少进行求解以便达到最佳切割模式,并使得余量相对较少;

二、建立模型:

决策变量:

表示第i种模式(i=1,2,3)切割的原料钢管的根数,生产4米长、5米长、6米长、8米长的钢管数量分别设为

目标函数:

约束条件:

s、t、

又由提议可知,增加约束条件:

原料钢管的总根数不可能少于

为满足每种模式下的钢管需求量,有

所以:

模型求解:

Lingo,

model:

sets:

needs/1、、4/:

length,num;

cuts/1、、3/:

x;

patterns(needs,cuts):

r;

endsets

data:

length=4568;

num=50102015;

capacity=17;

enddata

min=@sum(cuts(i):

x(i));

@for(needs(i):

@sum(cuts(j):

x(j)*r(i,j))>num(i));

@for(cuts(j):

@sum(needs(i):

length(i)*r(i,j))

@for(cuts(j):

@sum(needs(i):

length(i)*r(i,j))>capacity-@min(needs:

length));

@sum(cuts:

x)>26;

@sum(cuts:

x)<31;

@for(cuts(i)|i#lt#@size(cuts):

x(i)>x(i+1));

@for(cuts:

@gin(x););

@for(patterns:

@gin(r););

end

运行结果:

Localoptimalsolutionfound、

Objectivevalue:

30、00000

Objectivebound:

30、00000

Infeasibilities:

0、000000

Extendedsolversteps:

176

Totalsolveriterations:

06027

VariableValue

CAPACITY17、00000

LENGTH

(1)4、000000

LENGTH

(2)5、000000

LENGTH(3)6、000000

LENGTH(4)8、000000

NUM

(1)50、00000

NUM

(2)10、00000

NUM(3)20、00000

NUM(4)15、00000

X

(1)15、00000

X

(2)10、00000

X(3)5、000000

R(1,1)2、000000

R(1,2)0、000000

R(1,3)4、000000

R(2,1)0、000000

R(2,2)1、000000

R(2,3)0、000000

R(3,1)0、000000

R(3,2)2、000000

R(3,3)0、000000

R(4,1)1、000000

R(4,2)0、000000

R(4,3)0、000000

RowSlackorSurplus

130、00000

20、000000

30、000000

40、000000

50、000000

61、000000

70、000000

81、000000

93、000000

104、000000

113、000000

124、000000

131、000000

145、000000

155、000000

结果分析:

方式1:

每根原料切割成2根4米的与1根8米的钢管,共15根。

方式2:

每根原料切割成1根5米与2根6米钢管,共10根;

方式3:

每根原料切割成4根4米,共15根。

总的根数为:

15+10+5=30

实验总结(由学生填写):

通过本题实验进行分析思考以及实际操作,大致学会了如何使用lingo程序,如何运用lingo求解一般问题最优值的方法,以及如何用多种方法求解模型。

实验等级评定:

实验名称:

席位分配问题(实验二)指导教师:

实验时数:

6实验设备:

安装了VC++、mathematica、matlab的计算机

实验日期:

年月日实验地点:

实验目的:

熟悉有分配问题的建立与计算,熟悉Matlab的相关命令。

实验准备:

1.在开始本实验之前,请回顾教科书的相关内容;

2.需要一台准备安装WindowsXPProfessional操作系统与装有Matlab的计算机。

实验内容及要求

在现实生活中,经常出现席位分配的问题,人们常用的方法就是比例分配法,请简要叙述比例分配法的原理,并举例说明在现实生活中可能出现的错误。

请简要推导Q值方法,并用比例分配方法与Q值方法解决一个实际问题。

实验过程:

摘要:

处理席位分配公平与否的问题需要我们联系生活,用比例分配法求出结果,但就是在实际操作时,因为实际的现实因素,出现了问题。

本次实验以公平分配为约束条件,首先通过比例分配法进行分配,使得结果不公平,推导出Q值分配方法,运用Q值方法进行分析与检验,得出了一套使得各系席位分配最公平的方案。

关键词:

席位公平分配、最佳、最公平、Q值方法

一、提出问题:

三个系学生共200名(甲系100,乙系60,丙系40),代表会议共20席,按比例分配,三个系分别为10,6,4席。

现因学生转系,三系人数为103,63,34,问20席如何分配。

若增加为21席,又如何分配。

二、问题分析:

按照比例加惯例:

(可以得到下列数据)

表二:

比例分配结果

系别

学生人数

比例(%)

20席的分配

21席的分配

比例

结果

比例

结果

103

51、5

10、3

10

10、815

11

63

31、5

6、3

6

6、615

7

34

17、0

3、4

4

3、570

3

总与

200

100、0

20

20

21、000

21

根据表中数据,我们可以瞧到虽然只增加了一个席位,但就是丙却少了一个席位,而甲与乙却多了一个席位。

这样对丙系公平不?

三、提出假设:

公平分配方案:

人数席位

A方p1n1

B方p2n2

衡量公平分配的数量指标:

当p1/n1=p2/n2时,分配公平

若p1/n1>p2/n2,则对A不公平

四、建立模型:

令p1/n1–p2/n2为对A的绝对不公平度:

例如:

(1)p1=150,n1=10,p1/n1=15

(2)p1=1050,n1=10,p1/n1=105

p2=1000,n2=10,p2/n2=100p2=100,n2=10,p2/n2=10

对于

(1)有p1/n1–p2/n2=5对于

(2)有p1/n1–p2/n2=5

虽然二者的绝对不公平度相同,但后者对A的不公平程度已大大降低。

因此:

将绝对度量改为相对度量

首先我们定义

为对A的相对不公平度

类似地定义

而公平分配的方案应使

尽量小

将一次性的席位分配转化为动态的席位分配,即设A,B已分别有n1,n2席,若增加1席,问应分给A,还就是B

不妨设分配开始时p1/n1>p2/n2,即对A不公平

应讨论以下几种情况

初始p1/n1>p2/n2

1)若p1/(n1+1)>p2/n2,则这席应给A

2)若p1/(n1+1)

3)若p1/n1>p2/(n2+1),应计算rA(n1,n2+1)

问题:

p1/n1

不可能。

因为本来对A就不公平,把多的一个席位给B以后,对A应该更加不公平了,因此不会出现p1/n1

1)若rB(n1+1,n2)

2)若rB(n1+1,n2)>rA(n1,n2+1),则这席应给B。

当rB(n1+1,n2)

rA,rB的定义:

该席给A;否则,此席给B

该席给Q值较大的一方

五、模型求解:

推广:

推广到m方分配席位

计算:

Q值方法:

该席给Q值最大的一方,三系用Q值方法重新分配21个席位

按人数比例的整数部分已将19席分配完毕

甲系:

p1=103,n1=10

乙系:

p2=63,n2=6

丙系:

p3=34,n3=3

用Q值方法分配第20席与第21席

第20席:

由数据显示:

Q1最大,因此第20席给甲系;

第21席:

同上

由数据显示:

Q3最大,因此第21席给丙系。

Q值方法分配结果:

甲系11席,乙系6席,丙系4席。

clear,clc

p=[1036334];

n=round(p*(19/200));

fori=1:

2

Q=p、^2、/(n、*(n+1));

a=find(Q==max(Q));

n(a)=n(a)+1;

end

n=1164

六、结果分析:

按人数比例的整数部分已将19席分配完毕

甲系:

p1=103,n1=10;

乙系:

p2=63,n2=6;

丙系:

p3=34,n3=3、

用Q值方法分配第20席与第21席

第20席:

由数据显示:

Q1最大,因此第20席给甲系;

第21席:

同上、

因为最大,因此第21席应该给丙系、

最后的席位分配为:

甲11席,乙6席,丙4席。

与上述结果一致、

实验总结(由学生填写):

在该实验中,最大的收获就是对于在席位分配公平与否的问题中正确运用Q值方法,在建模问题中懂得假设问题与排除不确定因素,熟悉了报告撰写的基本流程。

但在实验中仍然存在不足有待改进。

实验等级评定:

实验名称:

插值与数据拟合(实验三)指导教师:

实验时数:

6实验设备:

安装了VC++、mathematica、matlab的计算机

实验日期:

年月日实验地点:

实验目的:

掌握插值与拟合的原理,熟悉插值与拟合的软件实现。

实验准备:

1.在开始本实验之前,请回顾教科书的相关内容;

2.需要一台准备安装WindowsXPProfessional操作系统与装有VC++6、0的计算机。

实验内容及要求

下表给出了某工厂产品的生产批量与单位成本(元)的数据。

从散点图可以明显地发现,生产批量在500以内时,单位成本对生产批量服从一种线性关系,生产批量超过500时服从另一种线性关系,此时单位成本明显下降。

生产批量

650

340

400

800

300

600

单位成本

2、48

4、45

4、52

1、38

4、65

2、96

生产批量

720

480

440

540

750

单位成本

2、18

4、04

4、20

3、10

1、50

要求:

1、构造合适的模型全面地描述生产批量与单位成本的关系;

2、对于这种关系,试采用分段函数进行详细分析。

另外,从误差的角度出发,定量与定性相结合的方式来说明采用分段函数来描述这种关系的优点。

实验过程:

一、问题分析:

设生产成本为x,生产批量为y。

从散点图可以明显的发现,生产批量在500以内时,单位成本对生产批量服从一种线性关系,生产批量超过500时服从另一种线性关系,此时单位成本明显下降。

所以考虑从两个方面着手,分段建立模型:

即x在500以内时,建立模型

(1);x超过500时,建立模型

(2)。

然后综合模型

(1)与

(2)建立回归模型。

二、符号说明:

符号

意义

符号

意义

y

单位成本

x1

生产批量大于500的部分

回归方程系数

x

生产批量

回归方程系数

x2

生产批量小于500的部分

回归方程系数

三、模型的建立

分段建立模型:

记生产批量

时,单位成本为

生产批量

时,单位成本为

为了大致地分析y与x的关系,首先利用表中表中数据分别作出

的散点图。

从图中可以发现

成线性关系。

所以分别建立线性模型:

模型

(1):

模型

(2):

四、模型的求解

分段模型求解:

将x1与y1的数据分别输入MATLAB:

X=[300340400440480];

Y=[4、654、454、524、204、04];

plot(X,Y,'、')

p=polyfit(X,Y,1)

得到模型

(1)的回归系数估计值及其置信水平、检验统计量

F,p的结果见表三、

表三

参数

参数估计值

参数置信区间

5、5863

[4、57436、5983]

-0、0031

[-0、0056-0、0006]

 

 

然后,对数据进行残差分析:

从结果可以瞧出,应将第二个点去掉后再进行拟合:

去掉第二个点(340,4、45),再将剩下的点输入MATLAB:

X=[300400440480];

Y=[4、654、524、204、04];

plot(X,Y,'、')

p=polyfit(X,Y,1)

得到模型

(1)的回归系数估计值及其置信水平、检验统计量

F,p的结果见表四

表四

参数

参数估计值

参数置信区间

5、7293

[5、0902,6、0596]

-0、0034

[-0、0044,-0、0020]

   F=40、8967   p=0、0238682

可见R的平方非常接近1、说明模型较准确。

于就是得到模型

(1):

将x2与y2的数据分别输入MATLAB:

z=polyval(p,X);

plot(X,Y,'k+',X,z,'b')

holdon

X=[540600650720750800];

Y=[3、102、962、482、181、501、38];

plot(X,Y,'、')

p=polyfit(X,Y,1)

得到模型

(1)的回归系数估计值及其置信水平、检验统计量

F,p的结果见表五、

表五

参数

参数估计值

参数置信区间

[5、4316,8、8000]

-0、0072

[-0、0096,-0、0047]

 

 

于就是得到模型

(2):

对数据进行残差分析:

由图可知,数据无异常点。

综合模型

(1)与

(2)可得:

输入程序:

z=polyval(p,X);

plot(X,Y,'k+',X,z,'g');

holdon

X=[300400440480540600650720750800];

Y=[4、654、524、204、043、102、962、482、181、501、38];

plot(X,Y,'、');

p=polyfit(X,Y,1)

拟合可以得到

输入程序:

>>z=polyval(p,X);

>>plot(X,Y,'k+',X,z,'r')

用MATLAB在一个坐标系中分别作出两个函数的图像,可以瞧出拟合出的连续函数对X<500的情况描述的并不准确,所以采用分段函数可以得到较为精确的函数图像去描述问题。

实验总结(由学生填写):

在这次实验过程中,主要就是掌握插值与拟合的原理,熟悉插值与拟合的软件实现,由于对于教材知识的掌握不就是牢固,在做实验的时候遇到了许多问题,不过在同学的帮助下还就是完成了这次实验,以后应先把理论知识掌握充分,再上机进行操作,增强自己的手动能力。

实验等级评定:

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2