数学建模实验报告.docx
- 文档编号:3995414
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:17
- 大小:61.51KB
数学建模实验报告.docx
《数学建模实验报告.docx》由会员分享,可在线阅读,更多相关《数学建模实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
数学建模实验报告
内江师范学院
中学数学建模
实验报告册
编制数学建模组审定牟廉明
专业:
班级:
级班
学号:
姓名:
数学与信息科学学院
2016年3月
说明
1.学生在做实验之前必须要准备实验,主要包括预习与本次实验相关的理论知识,熟练与本次实验相关的软件操作,收集整理相关的实验参考资料,要求学生在做实验时能带上充足的参考资料;若准备不充分,则学生不得参加本次实验,不得书写实验报告;
2.要求学生要认真做实验,主要是指不得迟到、早退和旷课,在做实验过程中要严格遵守实验室规章制度,认真完成实验内容,极积主动地向实验教师提问等;若学生无故旷课,则本次实验成绩不合格;
3.学生要认真工整地书写实验报告,实验报告的内容要紧扣实验的要求和目的,不得抄袭他人的实验报告;
4.实验成绩评定分为优秀、合格、不合格,实验只是对学生的动手能力进行考核,跟据所做的的情况酌情给分。
根据实验准备、实验态度、实验报告的书写、实验报告的内容进行综合评定。
实验名称:
数学规划模型(实验一)指导教师:
实验时数:
4实验设备:
安装了VC++、mathematica、matlab的计算机
实验日期:
年月日实验地点:
实验目的:
掌握优化问题的建模思想和方法,熟悉优化问题的软件实现。
实验准备:
1.在开始本实验之前,请回顾教科书的相关内容;
2.需要一台准备安装WindowsXPProfessional操作系统和装有数学软件的计算机。
实验内容及要求
原料钢管每根17米,客户需求4米50根,6米20根,8米15根,如何下料最节省若客户增加需求:
5米10根,由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过3种,如何下料最节省
实验过程:
摘要:
生活中我们常常遇到对原材料进行加工、切割、裁剪的问题,将原材料加工成所需大小的过程,称为原料下料问题。
按工艺要求,确定下料方案,使用料最省,或利润最大是典型的优化问题。
以此次钢管下料问题我们采用数学中的线性规划模型.对模型进行了合理的理论证明和推导,然后借助于解决线性规划的专业软件Lingo对题目所提供的数据进行计算从而得出最优解。
关键词:
钢管下料、线性规划、最优解
问题一
一、问题分析:
(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:
Objectivebound:
Infeasibilities:
Extendedsolversteps:
0
Totalsolveriterations:
3
VariableValueReducedCost
X1
X2
X3
X4
X5
X6
X7
RowSlackorSurplusDualPrice
1
2
3
4
最优解为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米长的钢管数量分别设为
。
目标函数:
约束条件:
.
又由提议可知,增加约束条件:
原料钢管的总根数不可能少于
为满足每种模式下的钢管需求量,有
所以:
模型求解:
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: Objectivebound: Infeasibilities: Extendedsolversteps: 176 Totalsolveriterations: 06027 VariableValue CAPACITY LENGTH (1) LENGTH (2) LENGTH(3) LENGTH(4) NUM (1) NUM (2) NUM(3) NUM(4) X (1) X (2) X(3) R(1,1) R(1,2) R(1,3) R(2,1) R(2,2) R(2,3) R(3,1) R(3,2) R(3,3) R(4,1) R(4,2) R(4,3) RowSlackorSurplus 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 结果分析: 方式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 10 11 乙 63 6 7 丙 34 4 3 总和 200 20 20 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++的计算机。 实验内容及要求 下表给出了某工厂产品的生产批量与单位成本(元)的数据。 从散点图可以明显地发现,生产批量在500以内时,单位成本对生产批量服从一种线性关系,生产批量超过500时服从另一种线性关系,此时单位成本明显下降。 生产批量 650 340 400 800 300 600 单位成本 生产批量 720 480 440 540 750 单位成本 要求: 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=[]; plot(X,Y,'.') p=polyfit(X,Y,1) 得到模型 (1)的回归系数估计值及其置信水平、检验统计量,F,p的结果见表三. 表三 参数 参数估计值 参数置信区间 [] [] 然后,对数据进行残差分析: 从结果可以看出,应将第二个点去掉后再进行拟合: 去掉第二个点(340,),再将剩下的点输入MATLAB: X=[300400440480]; Y=[]; plot(X,Y,'.') p=polyfit(X,Y,1) 得到模型 (1)的回归系数估计值及其置信水平、检验统计量,F,p的结果见表四 . 表四 参数 参数估计值 参数置信区间 [,] [,] F= p= 可见R的平方非常接近1.说明模型较准确。 于是得到模型 (1): 将x2和y2的数据分别输入MATLAB: z=polyval(p,X); plot(X,Y,'k+',X,z,'b') holdon X=[540600650720750800]; Y=[]; plot(X,Y,'.') p=polyfit(X,Y,1) 得到模型 (1)的回归系数估计值及其置信水平、检验统计量,F,p的结果见表五. 表五 参数 参数估计值 参数置信区间 [,] [,] 于是得到模型 (2): 对数据进行残差分析: 由图可知,数据无异常点。 综合模型 (1)和 (2)可得: 输入程序: z=polyval(p,X); plot(X,Y,'k+',X,z,'g'); holdon X=[300400440480540600650720750800]; Y=[]; plot(X,Y,'.'); p=polyfit(X,Y,1) 拟合可以得到 输入程序: >>z=polyval(p,X); >>plot(X,Y,'k+',X,z,'r') 用MATLAB在一个坐标系中分别作出两个函数的图像,可以看出拟合出的连续函数对X<500的情况描述的并不准确,所以采用分段函数可以得到较为精确的函数图像去描述问题。 实验总结(由学生填写): 在这次实验过程中,主要是掌握插值与拟合的原理,熟悉插值与拟合的软件实现,由于对于教材知识的掌握不是牢固,在做实验的时候遇到了许多问题,不过在同学的帮助下还是完成了这次实验,以后应先把理论知识掌握充分,再上机进行操作,增强自己的手动能力。 实验等级评定:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 实验 报告
