数学建模急救包的设计问题的优化模型.docx
- 文档编号:10517570
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:40
- 大小:780.17KB
数学建模急救包的设计问题的优化模型.docx
《数学建模急救包的设计问题的优化模型.docx》由会员分享,可在线阅读,更多相关《数学建模急救包的设计问题的优化模型.docx(40页珍藏版)》请在冰豆网上搜索。
数学建模急救包的设计问题的优化模型
五邑大学第九届数学建模竞赛
承诺书
我们仔细阅读了数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A,B,C中选择一项填写):
B
承诺人1(手写签名):
承诺人2(手写签名):
承诺人3(手写签名):
参赛队员资料
学号
姓名
校内电话
手机
AS1010106
但从鑫
634155
AP1011535
赵冲
61449
AP1007334
王颖
657079
急救包的设计问题的优化模型
摘要
合理地设计产品使资源的利用达到最大化是企业和消费者所追求的共同目标。
本文主要根据不同类型客户对急救包所包含的物品及急救包的数量等的需求,运用所学知识,建立数学模型,设计并计算出每个模块的单位含量并成功预计了每个模块必须的总量。
模块组合问题是一个多变量、多约束的混合整数非线性规划问题,本问题涉及运筹学的相关知识,数学类优化方法如线性规划、非线性规划、动态规划等,都存在明显不足之处。
在解决问题的过程中,首先,我们用EXCEL对题目给出的相关数据进行罗列、计算、分析、比较和评价,最终确定利用线性规划及其相关知识,建立线性规划的数学模型。
其次,按照题意要求,满足汽车、徒步旅行者、野营者、运动员和勘探队对急救包的要求,又根据不同急救包对物品的需求不同,对相关问题进行分析,我们设出了模块数量和每个模块不同物品的数量,再根根其最低需求计算,列出了一个对模块重量约束的不等式组与五个模块对对物品数量约束的不等式组,利用MATLAB数学软件进行求解,得出结果。
于是,我们根据结果与分析,运用LINDO软件对其灵敏度进行了分析。
看哪种方案既可以使急救包的成本最低又可以满足客户的最低要求。
在这个过程中,我们主要考虑了不同模块设计数量之间的折衷和包含的总成本。
然后,确定好了标准模块的数量以及每个标准模块中物品的数量,再根据急救包的需求,将我们确定好的模块分配到不同需求的急救包中。
最后,我们对我们开发出的最优解决方法对急救包预计需求、对单位成本价格以及对每个模块大小重量的限制的灵敏度分析。
最终成功开发出几个能够组装并组合到不同需求的急救包的标准模块。
关键词
运筹学线性规划Excel不等式组LINDO灵敏度分析MATLAB
一问题重述
1.背景
公司位于A市,要为汽车、徒步旅行者、野营者、运动员和勘探队生产急救包。
所以,材料必须先运到A市,然后再运到客户的仓库。
通过客户市场调查,对明年急救包需求量的进行了大致的预计。
表B.1是分别对汽车、徒步旅行者、野营者、运动员和勘探队需求的一个销量预计。
而表B.2是不同销售对象对不同急救包的各项物品最低需求量,这些物品按照它们以斤(500克)为单位的基本大小。
表B.1:
急救包需求量
类型
急救包销量
类型
急救包销量
汽车
1000
运动员
200
徒步旅行者
800
勘探队
300
野营者
100
表B.2:
物品成本与基本大小
物品
成本(元)
基本大小
基本单位重量(500克)
创可贴
5.00
每包10片
0.2
最好的绷带
10.00
1捆
0.2
信号弹
20.00
每包3发
1.00
毯子
65.00
1条
2.00
胶带
12.50
1卷
0.40
冷敷包
10.00
每包2个
0.80
晒斑霜
17.50
1管
0.60
消毒膏
10.00
1管
0.50
退热净胶囊
7.50
12片
0.30
橡皮手套
7.50
3副
0.20
公司购买各种物品,然后根据各个急救包中每一个部分的要求组装急救包,如表B.3所示为不同对象对急救包内物品需求量的不同的数据。
急救包物品
汽车
徒步旅行者
野营者
运动员
勘探队
最好的绷带
1
2
4
12
6
创可贴
0
2
4
4
4
信号弹
2
1
2
0
2
毯子
1
1
4
2
3
胶带
2
2
3
6
4
冷敷包
2
2
3
6
3
晒斑霜
1
2
4
4
5
消毒膏
1
2
3
2
5
退热净胶囊
1
2
4
6
6
橡皮手套
1
1
2
10
5
表B.3:
急救包要求的物品(基本单位)
而上述表格中的数据都只是最低要求,因为客户希望每一个特定的急救包中都要包含每一种物品最少的所示数量。
因此,我们想到,可以使用两种策略来组装急救包:
①直接组装,则我们按照严格的要求组装每一个急救包。
②按模块组装,那么,我们可以通过开发一个或多个能够组装并组合到急救包中的标准模块,这样就可以满足每一种物品的最低要求。
而下图的B.1详细描绘了这种组装方式图。
如举例的说,如果你设计的模块有两个单位的创可贴(以及其他物品),而你把3个这样的模块放在勘探急救包中,那么这个包将有3×2=6个单位的创可贴;它将满足勘探急救包对4个单位创可贴的需要。
但比需要的每个勘探急救包多出了两个单位的创可贴,其成本是2×5.00元/单位=10.00元。
就额外的多余过剩,有些太浪费。
此外,按照题意的要求,策划出来的每个模块的总重量不能超过15斤(7500克)。
2.需要解决的问题
直接组装可以满足严格的要求,但与模块化组装相比,这样做通常需要较高的劳动成本。
在存放库存时,模块比较容易使用,因为它们往往比急救包小。
开发模块化组装策略。
模块化系统的主要成本是出现过剩。
因此我们需要解决以下四个问题:
1)构建怎样的模型,如何选出最少且最能满足要求的模块数量,使剩余成本最小,以致不会出想过多浪费。
2)确定模块中的各种类物品的数量
3)确定好的模块,该如何组装到汽车、徒步旅行者、野营者、运动员和勘探队所需求的急救包中,该分配多少。
4)用灵敏度分析,并验证方案最优。
图B.1:
模块化组装
二基本假设
1.生产商的计划生产量始终大于销售量;
2.市场对急救包的需求量波动是连续的且服从正态分布;
3.市场的最终需求是确定的;
4.商品销售量的波动是连续的;
5.组装模块的物品之间不存在相互影响(如物品过敏,发生化学反应等)而导致不能同时组装;
6.只要符合题意:
模块的重量不超过15斤的情况下,则不论物品的种类、数量多少,均可以任意组装在一个模块中.
三符号说明
为了叙述的方便,我们把题目中所用的变量用下列参数来代替:
(1≤n≤10,n
Z):
所设的模块
表示模块内的物品种类
表示各模块内物品数量的集合
(1≤n≤10,n
Z):
组建汽车急救包的模块的数量
(1≤n≤10,n
Z):
组建徒步者急救包的模块的数量
(1≤n≤10,n
Z):
组建野营者急救包的模块的数量
(1≤n≤10,n
Z):
组建运动员急救包的模块的数量
(1≤n≤10,n
Z):
组建勘探队急救包的模块的数量
H:
组装成满足汽车、徒步旅行者、野营者、运动员、勘探队最低需求的急救包量的成本之和
表示顾客对每个物品需求的最小量,即表B.3的数据
四问题分析
模块组合问题是一个多变量、多约束的混合整数非线性规划问题。
针对此类问题的求解,数学类优化方法如线性规划、非线性规划、动态规划等,都存在明显不足之处。
而采用智能优化算法对此问题的研究较多,主要包括单纯形算法、对偶单纯形算法、影子价格问题、背包问题、随机性存贮论。
对策论、决策论。
模块的优化组合和设计就是要在满足约束条件的情况下,优化地选定各物品参加到各模块,求出模块的最佳组合方案,实现剩余成本最小化。
首先我们认为开发模块化组装策略要满足两个要求:
一,模块的种类数量最小;二,满足完顾客要求后剩余成本最小。
组装好模块后,顾客需要的急救包时,我们要将各种模块按能够满足要求的数量提供给顾客。
进过对物品成本与基本大小(表B.2)和急救包要求的物品(表B.3)的数据分析计算,如果简单的按照不同顾客组装成不同模块,而不进行模块化组装时,直接按5个顾客(汽车,汽车、徒步旅行者、野营者、运动员和勘探队)的要求组装急救包,每个急救包里物品的总重量分别为8.2斤、9.2斤、20.7斤、21.6斤、22.3斤,有3个超过了15斤,单从重量方面考虑按不同顾客组装成的模块是不满足要求的。
其次考虑到有10种不同种类的物品,如果按照如上所说的方式将其组装,那么模块的种类数量就是10,显然,是满足要求的最大值,但不是最优值。
于是模块的种类数量就有了一个大致的范围,我们就可以设模块的种类数量为n,取值应该是1 10。 然后我们又将各顾客的实际需求,按成本价格合计出每个急救包的单个成本,分别是202.5元、237.5元、572.5元、615元、615元。 根据对明年急救包需求量的预计(表B.1),之后也求出每个种类的物品的总数量按表B.3的顺序分别是7200件、4000件、3600件、3500件、6300件、6000件、5300件、4800件、6000件、5500件。 为了方便、直观的了解见下表: 急救包物品 汽车 徒步旅行者 野营者 运动员 勘探队 需求总量(件) 最好的绷带 1 2 4 12 6 2600 创可贴 0 2 4 4 4 4000 信号弹 2 1 2 0 2 2800 毯子 1 1 4 2 3 1800 胶带 2 2 3 6 4 3610 冷敷包 2 2 3 6 3 3605 晒斑霜 1 2 4 4 5 2620 消毒膏 1 2 3 2 5 2665 退热净胶囊 1 2 4 6 6 2610 橡皮手套 1 1 2 10 5 1810 急救成本(元) 202.5 237.5 572.5 615 615 重量(斤) 8.2 9.2 20.7 21.6 22.3 需求量(件) 1000 800 100 200 300 建立合适的数学模型,鉴于运筹学作为一种新的全局优化搜索算法,以其简单通用、鲁棒性强、适于并行处理及应用范围广等显著特点,本文采用基于整数非线性规划算法来解决模块的组合问题。 五模型的构建 ㈠决策变量假设A1、A2、A3……An(1≤n≤10,n Z)分别为我们所设的模块.其中 (1≤n≤10,n Z)分别代表我们设置的An模块中最好的绷带、创可贴、信号弹、毯子、胶带、冷敷包、晒斑霜、消毒膏、退热净胶囊、橡皮手套得数量. 则(A1、A2、A3……An),即 (1≤n≤10,n Z) ㈡目标函数 H= (1≤n≤10,n Z) s.t …………………………………………………………方程式 (一) ' ㈢约束条件 在存放库存时,模块比较容易使用,因为它们往往比急救包小。 公司购买各种物品,然后根据各个急救包中每一个部分的要求组装急救包,每一个特定的急救包中都要包含每一种物品最少的所示数量,此外,每个模块的总重量不能超过15斤(7500克)。 模块越多,越能严格满足要求,但组装和库存成本也会越高 ㈣线性规划模型 综上所述,每个模块进行组装和分配之后的成本目标问题,可以描述成一个线性规划模型描述如下: minH= (1≤n≤10,n Z) ……………………………………………………………方程式 (二) 六、模型求解 通过我们一起分析,我们发现,这是一个运筹学的整数规划问题,解此类整数问题规划可以采用两种方法,具体如下: 1、用连续松弛把此整数规划妆化为线性规划问题,使问题的难度降低;然后使用MATLAB求得该问题最优解下界,在总成本增加最小的前提下,通过变量取整改进,使其逐渐逼近最优解。 2、对于一般的小规模整数规划问题,用LINO和LINGO软件直接求解。 求解完整整数规划,在采取组合规划的装箱问题对本模型来近视求解。 根据问题给出的数据,得出: ㈠对每个模块的重量约束 ……………………………………不等式组(★) 组合模块问题既具有理论价值又具有实际意义由于这类问题属Np-困难问题,只能用近似算法来求解本文提出了求解有组合问题的两个近似算法LSCPF-ALongSameColorPackedFirst算法和交叉装箱算法JCBPLSCPF-A算法首先对输入物品按种类进行分类,将相同满足要求的物品分成一类,放置时按照物品个数最多的那一类首先放置的原则.。 局部小范围用对于一般的小规模整数规划问题,用LINO软件直接求解。 求解完整整数规划,在采取组合规划的装箱问题对本模型来近视求解。 根据问题给出的过程如下图: 其中我们看到的结果 具体的代码见附录1 ㈡对模块中各物品的数量约束 根据题目要求,加以分析,我们将不同数量的急救物品组建成不同的模块,考虑到汽车、徒步旅行者、野营者、运动员、勘探队对各种物品有不同需求,且每个急救包对物品最小需求量必须满足,我们又将不同数量组成的模块组装在不同需求的急救包中,于是,得到5个不等式组. ①我们分别将bn个模块An(1 Z)用于组建汽车需要的急救包. 所以,依据题意,我们得到以下不等式组: 此处说明,其中(1≤n≤10,n Z),以下除非特殊说明,否则均满足此条件 …………………………………不等式组(Ⅰ) ②同样,我们分别将 个模块An(1 Z)用于组建徒步旅行者需要的急救包,那么,分析数据,我们又可以得到以下不等式组: ………………………………不等式组(Ⅱ) ③类似地,我们分别将 个模块An(1≤n≤10,n Z)用于组建野营者需要的急救包,将 个模块An(1≤n≤10,n Z)用于组建运动员需要的急救包,将 个模块An(1≤n≤10,n Z)用于组建勘探队需要的急救包. 则,根据题意及数据,我们再得到下面三个不等式组: ………………………………不等式组(Ⅲ) ………………………………不等式组(Ⅳ) ………………………………不等式组(Ⅴ) 组合模块问题既具有理论价值又具有实际意义由于这类问题属Np-困难问题,只能用近似算法来求解本文提出了求解有组合问题的两个近似算法 用MATLAB求解过程如下: 由给出的目标函数H可以立即求出下面的梯度函数(或Jocobi矩阵) >>symsx1x2x3x4x5x6x7x8x9x10; >>f=1000-x1*x8-x1*x2-x6*x3-x2*x4-x1*x5-x10*x5-x2*x9-x7*x4; >>J=jacobian(f,[x1,x2,x3,x4,x5,x6,x7,x8,x9,10]) J= [-x2-x5-x8,-x1-x4-x9,-x6,-x2-x7,-x1-x10,-x3,-x4,-x1,-x2,diff(1000-x1*x5-x2*x4-x10*x5-x1*x8-x3*x6-x2*x9-x4*x7-x1*x2,10)] 其数学形式可以写成 = 有了梯度,则可以重新改写目标管理函数为 Function[y,Gy]=opt_fun2(x) y=1000-x (1)*x(8)-x (2)*x(3)-x (1)*x(6)-x(4)*x(6)-x(8)*x(5)–x(6)*x (1)-x(4)*x(9)1-x(3)*x(7) Gy=-[2*x (1)+x (2)+x(3);4*x (2)+x (1);2*x(3)+x (1)]; 其中,Gy表示目标函数的梯度向量。 再调用最优化求解函数将得出下面的结果: >>x0=[1;1;1];xm=[0;0;0];xM=[];A=[];B=[];Aeq=[];Beq=[]; ff=optimset;ff.Gradobj='on';ff.Display='iter';ff.LargeScale='on'; ff.TolFun=1e-30; ff.TolX=1e-15; ff.TolCon=1e-20; [x,f_opt,c,d]=fmincon('opt_fun2',x0,A,B,Aeq,Beq,xm,xM,'opt_con1',ff); 于是,我们得出数据,构建成模板,为方便明了,如下面表格具体所示: ㈢构建的标准模块 模 块 一 物品 数量 模块一的重量8.2斤 最好的绷带 1 信号弹 2 毯子 1 胶带 2 冷敷包 2 晒斑霜 1 消毒膏 1 退热净胶囊 1 橡皮手套 1 模 块 二 物品 数量 模 块 二 的 重 量9.2斤 最好的绷带 2 创可贴 2 信号弹 1 毯子 1 胶带 2 冷敷包 2 晒斑霜 2 消毒膏 2 退热净胶囊 2 橡皮手套 1 模 块 四 物品 数量 模 块 四 的 重 量11.5斤 创可贴 2 信号弹 2 毯子 2 胶带 1 晒斑霜 3 消毒膏 4 退热净胶囊 3 模 块 三 物品 数量 模块三的重量 11.5 斤 最好的绷带 2 创可贴 2 信号弹 1 毯子 3 胶带 1 冷敷包 1 晒斑霜 2 消毒膏 1 退热净胶囊 2 橡皮手套 1 模块分配 对象 急救包模块组合 汽车 模块一 徒步旅行者 模块二 野营者 模块二和模块三 运动员 两个模块五 勘探队 模块四和模块五 模 块 五 物品 数量 模块五的重量 10.8 斤 最好的绷带 6 创可贴 2 毯子 1 胶带 3 冷敷包 3 晒斑霜 2 消毒膏 1 退热净胶囊 3 橡皮手套 5 其中,我们将模块一组装在汽车需求的急救包中,将模块二组装在徒步旅行者所需求的急救包中,将模块二和模块三合并组装在野营者需求的急救包中,将两个模块五组装在运动员所需求的急救包中,将模块四和模块五组装在勘探队所需求的急救包中。 恰好均能满足汽车、徒步旅行者、野营者、运动员、勘探队的急救包对各种物品的最低需求,且每一种需求的急救包中均没有任何一种物品剩余。 七、问题分析 ㈠模块设计数量之间的折衷和包含的总成本分析 将我们设计的模块按如表模块分配 对汽车而言,所需要的数量为12件,模块一,总成本为202.5元 对徒步旅行者而言,所需要的数量为17件,模块二,总成本为237.5元 对野营者而言,所需要的数量为33件,模块二和模块三,总成本为575.5元 对运动员而言,所需要的数量为52件,两个模块五,总成本为615元 对勘探队而言,所需要的数量为43件,模块四和模块五,总成本为615元 通过我们的运算,运用Excel数据模块求和计算,得出没有剩余而完全被利用。 因为没有剩余我们就,可以分析出包含的总成本为2242.5元。 在从我们预计明年五位顾客的总的需求量计算: 总数 1000 800 100 200 300 总价 钱数 202.5 237.5 572.5 615 615 2242.5 产值 202500 190000 57250 123000 184500 757250 在机组组合优化模型I、II中,通过二次函数对空载成本和增量成本曲线参数进行拟合过程中,采用二次函数拟合误差比较大(增量成本变化幅度比较小),特别是机组规模比较小的时候更是如此。 ㈡对急救包预计需求的灵敏度分析 对单位成本价格的灵敏度分析 对每个模块大小重量限制的灵敏度分析 LSCPF-ALongSameColorPackedFirst算法和交叉装箱算法JCBPLSCPF-A算法首先对输入物品按种类进行分类,将相同满足要求的物品分成一类,放置时按照物品个数最多的那一类首先放置的原则,将物品进行装箱而已有的SCPF-ASameColorPackedFirst算法是指按种类分类,将物品进行装箱交叉装箱算法JCBP首先对物品按重量进行排列,再从两头交叉进行装箱LSCPF-A算法与已有的SCPF-A算法相比具有更好的模块效果,使用的模块数更少,我们还从理论上论证了该算法的性能比SCPF-A算法好数值试验证明,我们提出的交叉模块算法在很多情况下能达到最优解本文还给出了组合模块问题的非线性规划模型,并给出了该非线性规划问题的一阶最优性条件。 其中我们看到的结果 具体的代码见附录1 ㈢ ㈣ 八模型的评价 1、模型的优点 (1)本模型综合采用了多种方法并尽量选用成熟的方法,如多目标规划、线性规划、多目标决策等。 这些方法经久考验,可靠性高。 (2)为了进一步提高算法的稳定性及可靠性,在从备选方案中确定最优解时,本模型用了三种比较成熟的多目标决策方法分别对备选方案进行排序,然后综合权衡这三种排序结果吗,得到总排序结果,这样就克服了单个方法可能出现的片面性及不稳定性。 (3)在确定备选方案是,本模型中采用了先粗厚精、逐步逼近的方法,从而使搜索最优方案的速度大为加快。 在保证结果有足够精度的前提下,降低了计算的复杂程度。 (4)通过对不同风险值下的资产组合方案的数据分析,我们的结果完全符合经济规律,即“高风险、高收益”“资产投资越集中,风险越大”等。 我们的所以结果都没有出现反常情况。 2、模型的缺点 (1)本模型的一个主要缺点是计算比较复杂,要进行线性规划、再运用多目标决策从备选方案中选出最优解,这需要不小的计算量。 不过这可以交给计算机来处理,我们的磁盘上有完整的程序。 (2)由于原题提供的信息比较少,所以本模型对经济效益及风险大小的衡量都比较简单,这样并不是很全面、精确的。 关于这一点将在模型的改进中做进一步讨论。 (3)在引入反馈机制对风险值区间逐步细化是,我们并没有严格地在理论上加以证明,但我们的结果证明了我们的处理方法是合适而有效的。 九参考文献 [1]黄红选,运筹学: 线性规划,北京: 清华大学出版社,2011年. [2]陈士成,实用管理运筹学,北京: 清华大学出版社,2011年. [3]赵静,但琦,数学建模与数学实验,北京: 高等教育出版社,2003年. [4]冯杰,黄力伟,王勤,尹成义,数学建模原理与案例,北京: 科学出版社,2007年. [5]王中勤,MATLAB建模与仿真应用,机械工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 急救包 设计 问题 优化 模型