1、高教社杯全国大学生数学建模竞赛承 诺 书我们仔细阅读了全国大学生数学建模竞赛章程和全国大学生数学建模竞赛参赛规则(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反竞赛章程和参赛规则的行
2、为,我们将受到严肃处理。我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。我们参赛选择的题号是(从A/B/C/D中选择一项填写): A 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 西华师范大学 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 (打印并签名): (论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。) 日期: 2013 年 9 月 13
3、 日赛区评阅编号(由赛区组委会评阅前进行编号):2013高教社杯全国大学生数学建模竞赛编 号 专 用 页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):柴油机的生产计划问题 摘 要本文主要运用线性规划、正态分布的概率密度函数模型和GM(1,1)预测模型等方法解决了柴油机的生产计划问题。对于问题一:不考虑油价波动的情况下完成合同任务,这是一个产大于销的线性规划问题。油价取表2中0#柴油的平均值6.75元/升,在求出最小费用,建立优化模型,利用MATLAB求出最优解
4、,得出万元。问题二:考虑油价波动的实际情况下,这是一个产大于销的线性规划问题。由表2中数据求出该市2011年0#柴油每个季度的平均价格为,在问题一的基础上只需重新计算0#柴油的消耗费用,用替换问题一中0#柴油的消耗费用,在借用问题一的模型,求出最小费用,利用MATLAB求出最优解,得出万元。问题三:由于市场需求的是变化,且各季度柴油需求均服从正态分布,在不考虑柴油价格的波动和可以容忍2.5%的缺货概率情况下,建立关于各季度柴油机市场需求的不等式,从而得到各季度柴油机的最小需求量,只需在问题一的基础上只需重新计算柴油机积压所需储存、维护等费用,用替换问题一中柴油机积压所需储存、维护等费用,在借用
5、问题一的模型,求出生产计划x,利用MATLAB求出最优解,得出及万元。问题四:收集近几年的0#柴油价格波动数据,不考虑柴油价格对其他成本的影响,运用灰色预测的GM(1,1)模型对2012年0#柴油的价格作出预测,在重新计算0#柴油的消耗费用,用MATLAB求解,得到生产安排为:和问题三相同。问题五:这是一个回归分析问题,为了更好的描述柴油价格与物流价格的相关性,我们以近年柴油每个季度价格的平均值作为自变量x,对应的物流价格作为因变量y,得到若干点,进行数据整理后,用MATLAB描出散点图,根据散点图的分布状态猜测出可能的线性回归方程,用MATLAB回归出相应的参数,然后进行回归检验,得到函数关
6、系式:;在此前提下得到问1-3的结果分别为:。 本文综合线性规划、正态分布的概率密度函数、GM(1,1)预测、灰色预测及一元回归等模型,结合MATLAB和EXCEL等软件,对柴油机的生产计划问题进行了多角度的分析,并给出了利用线性规划模型柴来确定柴油机的生产计划。在文章的最后对模型的适用范围做出了推广,在实际应用中有较大的参考价值。 关键词:线性规划 正态分布 GM(1,1) 灰色预测 一元回归一、 问题重述某市某厂各季度柴油机的生产能力及生产每台柴油机的成本如表1所示,如果生产出的产品当季不交货,每万台积压一个季度需储存、维护等费用0.15 万元。表1:生产成本表第一季度A第二季度B第三季度
7、C第四季度D生产能力(万台)25353010需求(万台)10152520每万台耗0号柴油(升)10008008001000其他成本(万元/万台)131212101.不考虑柴油价格波动,若2011年,按合同规定须于当年每个季度末分别按照需求提供10万,15万,25万,20万台同一规格的柴油机。建立一个数学模型,要求在完成合同的情况下,使该厂全年生产(包括储存、维护)费用最小。2.考虑柴油价格波动的实际情况,具体数据见表2,重新对问题1建立数学模型,要求在完成合同的情况下,使该厂全年生产(包括储存、维护)费用最小。3.若根据以往经验,由于市场需求的变化,各季度需求是正态随机变量,若第一季度需求服从
8、,第二季度需求服从,第三季度需求服从,第四季度需求服从,请在此假设下,不考虑柴油价格,可以容忍2.5%的缺货的概率情况下,对该厂的2012年生产计划作出安排。4.收集近几年的0号柴油价格波动数据,不考虑柴油价格对其他成本的影响,对2012年的柴油价格作预测,并以此来对问题3作出计划安排。5.若考虑到柴油价格对其他成本的影响, 请收集柴油价格与物流价格的数据(可以不局限于该市),建立柴油价格变动幅度与物流价格波动幅度之间的数学模型,若其他成本中有25%是物流成本,在此假设下分别重新考虑问题1-3。二、 问题分析解决企业生产与存储问题,达到生产,需求与库存之间的平衡,以及求得在资源限制条件下的最优
9、生产方案,使生产费用最小化和利润最大化是我们追求的目的。2.1 问题一的分析在不考虑油价波动的情况下求解问题,因此问题一是一个典型的产大于销的线性规划问题,运用线性规划知识和MATLAB软件可求出最优解和最优值。 2.2 问题二的分析考虑油价波动的实际情况,说明了油价的变化会影响机器生产的耗油成本,从而问题二的0#柴油的消耗费用发生了改变,因此只要在问题一的基础上改变0#柴油的消耗费用就可以解决问题了。2.3 问题三的分析问题三中由于市场需求的是变化,且各季度柴油需求均服从正态分布,在不考虑柴油价格的波动和可以容忍2.5%的缺货概率情况下,建立关于各季度柴油机市场需求的不等式,从而得到各季度柴
10、油机的最小需求量。在借用问题一的模型,求出生产计划x及最小费用。2.4 问题四的分析问题四只需要收集近几年的0#柴油价格波动数据,在不考虑柴油价格对其他成本的影响,对2012年的柴油价格作预测,并以此来对问题3作出计划安排。所以只需在问题三的基础上改变0#柴油的消耗费用就可以作出生产安排。2.5 问题五的分析这是一个回归分析问题,为了更好的描述柴油价格与物流价格的相关性,我们以近年柴油每个季度价格的平均值作为自变量,对应的物流价格作为因变量,得到若干点,进行数据整理后,用MATLAB描出散点图,根据散点图的分布状态猜测出可能的回归方程类型,用MATLAB回归出相应的参数,然后进行回归检验,若不
11、能通过假设检验,则做残差分析,将异常数据删除,再做回归检验,重复同样的步骤,直到通过检验,得到函数关系式,再分别重新考虑问题1-3。三、 模型假设1.假设工厂每季度末能按时交货;2.假设生产的柴油机全部合格;3.假设运输用车均以柴油为燃料;4.运输方式为陆运或水运;5.所有收集的均真实有效。四、符号说明为了简化对问题的分析和对数字的处理,做出如下符号规定:序号符号符号说明1.第i个季度的生产量2.第i问中0#柴油的消耗费用3.第i问中其他成本费用4.第i问中积压所需储存、维护等费用5.第i个季度的需求量6.第i问中柴油价格7.问题5中针对第i问其他成本费用五、模型建立与求解5.1 问题一的模型
12、建立与求解在不考虑柴油价格波动的情况下完成合同,使该厂全年生产(包括储存、维护)费用最小。我们认为由以下五个步骤组成: 步骤一:确定决策变量;步骤二:分别计算出0#柴油的消耗费用、其他成本费用、积压所需储存、维护等费用;步骤三:求出约束条件;步骤四:建立线性规划模型1;步骤五:通过该模型计算最小费用。5.1.1 线性规划模型的建立在不考虑柴油价格波动的情况下,为了完成合同,使该厂全年生产(包括储存、维护)费用最小。我们设每个季度的生产量记为,并通表2中数据得到该市2011年0#柴油的平均价格,在运用EXCEL求得该市0#柴油平均价格为元/升(附件1)。 线性规划模型的建立具体步骤如下: Ste
13、p1. 计算0#柴油的消耗费用,记为,单位(万元);根据表格中原有数据,设每万台耗0#柴油,单位(升)在每个季度的消耗量记为,由于消耗量的量纲不统一,故对进行了如下处理; 得到 (5.1)Step2. 计算其他成本费用,记为,单位(万元);根据表格中原有数据,我们设其他成本(万元/万台)费用在每个季度的费用记为,故 (5.2)Step3. 计算柴油机积压所需储存、维护等费用,记为,单位(万元);由于每个季度生产的柴油机可能大于该季度的需求,故就会产生积压,积压所产生的费用为: (5.3)整理后得到: (5.4)其中Step4. 求出约束条件;由于此题是典型的产销平衡问题,经过分析我们得到 (5
14、.5)其中,,。Step5. 建立线性规划模型;综上可知,模型为: (5.6)其中为决策列向量,为目标函数系数行向量。5.1.2 线性规划模型的求解首先将问题中的数据代入模型中,在利用MATLAB软件(附录1)求出每个季度的生产安排和最小费用(表5.1.1-1):表5.1.1-1季度一二三四需求量(单位:万台)10203010最小费用(单位:万元)5.2 问题二的模型建立与求解在考虑柴油价格波动的情况下完成合同,使该厂全年生产(包括储存、维护)费用最小。我们认为由以下三个步骤组成: 步骤一:由表2中数据计算该市2011年四个季度0#柴油的平均价格;步骤二:计算0#柴油的消耗费用;步骤三:在用替
15、换的前提下借用问题一的模型,并解出最小费用。5.2.1 线性规划模型的建立考虑柴油价格波动,为了完成合同的情况下,使该厂全年生产(包括储存、维护)费用最小。在EXCEL中先求出该市2011年各月柴油的平均价格,在求出该市各个季度柴油的平均价格单位(元/升)(附件1),其中为价格向量,且。Step1. 计算0#柴油的消耗费用,记为,单位(万元);根据表格中原有数据,设每万台耗0#柴油(升)在每个季度的消耗量记为,为使量纲统一,对进行了如下处理得到: ; 其中,得到 (5.7)Step2. 计算其他成本费用,记为,单位(万元);根据表格中原有数据,我们设其他成本(万元/万台)费用在每个季度的费用记
16、为,故 (5.8)Step3. 计算柴油机积压所需储存、维护等费用,记为,单位(万元);由于每个季度生产的柴油机可能大于该季度的需求,故就会产生积压,积压所产生的费用为: (5.9)整理后得到: (5.10)其中Step4. 求出约束条件;由于此题是典型的产销平衡问题,经过分析我们得到 (5.11)其中,,。Step5. 建立线性规划模型;综上可知,模型为: (5.12)其中为决策列向量,为目标函数系数行向量。5.2.2 线性规划模型的求解首先将问题中的数据代入模型中,在利用MATLAB软件(见附录2)求出每个季度的生产安排和最小费用(表5.2.1-1):表5.2.1-1季度一二三四需求量(单
17、位:万台)10203010最小费用(单位:万元)5.3 问题三的模型建立与求解问题三中,由于市场需求的是变化,且各季度柴油需求均服从正态分布,要得到2012的生产计划,步骤如下:步骤一:正态分布标准化,公式如下: (5.13)其中,u为正态分布期望,为正态分布的标准差。步骤二:在不考虑柴油价格的波动和可以容忍2.5%的缺货概率情况下,我们得到当各个季度的生产量不能满足市场需求量时有: (5.14)其中,为第i个季度的需求量,为第i季度柴油机的生产量。5.3.1正态分布2下的概率密度函数模型的建立运用公式(5.14),我们得到每个季度的最小需求量(表5.3.1-1):表5.3.1-1季度一二三四
18、最小需求量(单位:万台)13.9220.8834.827.84在运用问题一的模型:Step1. 计算0#柴油的消耗费用,记为,单位(万元);根据表格中原有数据,设每万台耗0#柴油(升)在每个季度的消耗量记为,由于消耗量的量纲不统一,故对进行了如下处理; 得到 (5.15)Step2. 计算其他成本费用,记为,单位(万元);根据表格中原有数据,我们设其他成本(万元/万台)费用在每个季度的费用记为,故 (5.16)Step3. 计算柴油机积压所需储存、维护等费用,记为,单位(万元);由于每个季度生产的柴油机可能大于该季度的需求,故就会产生积压,积压所产生的费用为: (5.17)整理后得到: (5.
19、18)其中Step4. 求出约束条件;由于此题是典型的产销平衡问题,经过分析我们得到 (5.19)其中,,。Step5. 建立线性规划模型;综上可知,模型为: (5.20)其中为决策列向量,为目标函数系数行向量。5.3.2 线性规划模型的求解将数据代入模型中,在利用MATLAB软件(附录3)求出每个季度的生产安排及最小费用(表5.3.2-1):表5.3.2-1季度一二三四需求量(单位:万台)22.44353010最小费用(单位:万元)5.4 问题四的模型建立与求解5.4.1 GM(1,1)预测模型4的建立及求解运用EXCEL找出原始序列(附件三) Step1. 对进行一次累加,得 Step2.
20、 对作准光滑性检验。由 (5.21) 得。 当k3时准光滑条件满足。Step3. 检验是否具有准指数规律。由 (5.22)得 当k3时,准指数规律满足,故可对建立GM(1,1)模型。Step4. 对作紧邻均值生成,得 于是 Step5. 对参数列进行最小二乘估计。得 (5.23)Step6. 确定模型 (5.24) 及时间响应序列 (5.25)Step7. 求的模拟值 Step8. 还原求出的模拟值。由 (5.26) 得 Step9. 检验误差。由下表可算出残差平方和: 表5.4.1-1序号实际数据模拟数据残差-相对误差23456.0036.1976.8606.9306.31606.65817
21、.01877.3989-0.3127 -0.4610-0.1587-0.46895.21%7.44%2.31%6.77%平均相对误差5.43%Step10. 预测 即对2012年0#柴油价格预测值为元/升。(附录4)5.4.2 对问3作出计划安排模型建立由表三可知每个季度的最小需求量在运用问题三的模型:Step1. 重新计算0#柴油的消耗费用,记为,单位(万元);根据表格中原有数据,设每万台耗0#柴油(升)在每个季度的消耗量记为,由于消耗量的量纲不统一,故对进行了如下处理; 得到 (5.27)Step2. 计算其他成本费用,记为,单位(万元);根据表格中原有数据,我们设其他成本(万元/万台)费
22、用在每个季度的费用记为,故 (5.28)Step3. 计算柴油机积压所需储存、维护等费用,记为,单位(万元);由于每个季度生产的柴油机可能大于该季度的需求,故就会产生积压,积压所产生的费用为: (5.29)整理后得到: (5.30)其中Step4. 求出约束条件;由于此题是典型的产销平衡问题,经过分析我们得到 (5.31)其中,,。Step5. 建立线性规划模型;综上可知,模型为: (5.32)其中为决策列向量,为目标函数系数行向量。5.4.3 模型的求解将数据代入模型中,在利用MATLAB软件(附录5)求出每个季度的生产安排及最小费用(见下表):表5.4.2季度一二三四需求量(单位:万台)2
23、2.44353010最小费用(单位:万元)5.5 问题五的模型建立与求解5.5.1 一元回归模型的建立及求解收集近年柴油价格x和物流价格y,(表5.5.1-1)表5.5.1-1年份季度0#柴油价格x(元/升)物流价格y(元/升)200814.650.15966386624.770.16806722734.810.17647058845.130.159663866200915.140.15126050425.410.16806722735.590.17647058846.030.201680672201016.170.20168067226.290.21008403436.450.2100844
24、6.370.226890756201116.470.23529411826.710.23529411836.860.24369747946.960.218487395根据这个点集得到如下散点图(图5.5.1-1),因为这个散点图与一次函数比较吻合,故我们用一元回归,其模型为; (5.33)在用MATLAB编程(附录6)做回归,然后我们进得到结果如下(图5.5.2-2),显然这个回归效果可以通过检验,故回归方程为:,由(图5.5.2-3)可以看出这个回归效果比较显著。图5.5.1-1图5.5.2-2图5.5.2-35.5.2 对问1-3的建立及求解通过一元回归分析可得,物流价格与柴油价格的关系为
25、: (5.34)在此前提下,问题一中的其他成本发生变化,记为: (5.35)则模型的目标函数变为 (5.36)运用MATLAB解得最小费用为:对于问题二,物流价格为:,则其他成本为 (5.37)则问题二模型的目标函数模型为 (5.38) 运用MATLAB解得最小费用为:对于问题三:其他成本变为: (5.39)则问题三模型的目标函数模型为 (5.40)运用MATLAB解得各个季度的生产安排为:六、 模型的评价、改进与推广对于问题一,运用了线性规划模型的方法来解决企业生产与存储的问题,达到生产、需求与库存之间的平衡。由于没有考虑柴油价格波动,而直接将柴油价格定为一个常数,这种方法虽然不太符合实际,
26、但是模型结果还是可以接受的。因此,采用线性规划具有相对的合理性及良好的可推广性。 对于问题二,本文在问题一的基础上考虑柴油价格波动,从而有效地避免了全年柴油价格均用一个常数的现象。有效地避免了柴油价格变化对柴油消耗费用的影响,使得结果更接近于实际情况。对于问题三,在不考虑柴油价格的波动和可以容忍2.5%的缺货概率情况下,我们得到当各个季度的生产量不能满足市场需求量时有:对于问题四,通过灰色预测的GM(1,1)模型对2012年0#柴油的价格作出预测,所用的数据量比较少,但是易于预测未来近期的数据,并且预测值和实际值应该很接近。在对于模型的改进时,可以考虑将柴油价格分季度统计,再作预测。对于问题五
27、,能良好的反映出两组变量的指标之间的相关分析性,可推广性很强。虽然采用一元回归模型能较好反应数据间的相关关系,但并不一定很准确,所以我们可以采取其他回归模型来建立柴油价格和物流价格的相关函数。 七、参考文献1 谭代伦 李军 ,运筹学简明教程,北京:科学出版社,2010。2 百度百科,正态分布,3 中国石油天然气集团公司,中国石油油品信息, ypxx/ypsc/gnqcyjg/,2013年9月13日。4 林军 陈翰林 ,数学建模教程,北京:科学出版社,2011。5 姜启源 谢金星 叶俊,数学模型(第三版),北京:高等教育出版社,2006。八、附录附录1clc;clear;c1=1000 800
28、800 1000*6.75*10(-4);c2=13 12 12 10;c3=0.45 0.30 0.15 0;c=c1+c2+c3;A=1 1 0 0;1 1 1 0;b=25;50;Aeq=1 1 1 1;beq=70;vlb=10 0 0 0;vub=25 35 30 10;x,fval=linprog(c,-A,-b,Aeq,beq,vlb,vub);xfval=fval-12.75附录2clc;clear;b=6.47 0 0 0;0 6.71 0 0;0 0 6.86 0;0 0 0 6.96;c1=1000 800 800 1000*b*10(-4);c2=13 12 12 10
29、;c3=0.45 0.30 0.15 0;c=c1+c2+c3;A=1 1 0 0;1 1 1 0;b=25;50;Aeq=1 1 1 1;beq=70;vlb=10 0 0 0;vub=25 35 30 10;x,fval=linprog(c,-A,-b,Aeq,beq,vlb,vub);xfval=fval-12.75附录3clc;clear;c1=1000 800 800 1000*6.75*10(-4);c2=13 12 12 10;c3=0.45 0.30 0.15 0;c=c1+c2+c3;A=1 1 0 0;1 1 1 0;b=34.8;69.6;Aeq=1 1 1 1;beq=
30、97.44;vlb=13.92 0 0 0;vub=25 35 30 10;x,fval=linprog(c,-A,-b,Aeq,beq,vlb,vub);xfval=fval-17.748附录4clc;clear;x0 =5.1200 6.0033 6.1971 6.8600 6.9300; %原始序列x1=cumsum(x0);%对x(0)进行一次累加for i=2:5 y(i-1)=x0(i)/x1(i-1);endy; %光滑性检验for i=2:5 h(i)=x1(i)/x1(i-1);endh; %判断x(1)是否具有指数规律for i=1:4 z(i)=(x1(i)+x1(i+1
31、)/2;endz; %对x(1)作紧邻均值生成B=-z;ones(1,4);for i=1:4 Y(i)=x0(i+1);enda=(B*B)(-1)*B*Y;q=a(2)/a(1);p=x0(1)-q;for k=0:4m(k+1)=p*exp(-a(1)*k)+q;endm; %求x(1)的模拟值for k=0:4h(k+1)=p*(exp(-a(1)*(k+1)-exp(-a(1)*k);endh; %求还原出x(0)的模拟值cc=x0-h; %残差dk=abs(cc)./x0; %相对误差cc2=sum(cc(:,2:end).(2); %残差平方和k=5;d4=p*(exp(-a(1
32、)*(k+1)-exp(-a(1)*k)%预测2012 0#柴油价格附录5clc;clear;c1=1000 800 800 1000*7.7996*10(-4);c2=13 12 12 10;c3=0.45 0.30 0.15 0;c=c1+c2+c3;A=1 1 0 0;1 1 1 0;b=34.8;69.6;Aeq=1 1 1 1;beq=97.44;vlb=13.92 0 0 0;vub=25 35 30 10;x,fval=linprog(c,-A,-b,Aeq,beq,vlb,vub);xfval=fval-17.748附录6clc;clear;data=xlsread(附件4.x
33、ls,Sheet1,C2:D17);x=data(:,1);y=data(:,2);plot(x,y,*)hold onp=polyfit(x,y,1);y1=p(1)*x+p(2);plot(x,y1)grid onb,bint,r,rint,stats=regress(y,ones(sum(size(x)-1,1) x)rcoplot(r,rint)附录7clc;clear;c1=1000 800 800 1000*6.75*10(-4);c2=1000 800 800 1000*(6.75*0.0359-0.0141)*10(-4)*4;c3=0.45 0.30 0.15 0;c=c1+
34、c2+c3;A=1 1 0 0;1 1 1 0;b=25;50;Aeq=1 1 1 1;beq=70;vlb=10 0 0 0;vub=25 35 30 10;x,fval=linprog(c,-A,-b,Aeq,beq,vlb,vub);xfval=fval-12.75附录8clc;clear;b=6.47 0 0 0;0 6.71 0 0;0 0 6.86 0;0 0 0 6.96;c1=1000 800 800 1000*b*10(-4);c2=1000 800 800 1000*6.47*0.0359-0.0141 0 0 0;0 6.71*0.0359-0.0141 0 0;0 0
35、6.86*0.0359-0.0141 0;0 0 0 6.96*0.0359-0.0141*4;c3=0.45 0.30 0.15 0;c=c1+c2+c3;A=1 1 0 0;1 1 1 0;b=25;50;Aeq=1 1 1 1;beq=70;vlb=10 0 0 0;vub=25 35 30 10;x,fval=linprog(c,-A,-b,Aeq,beq,vlb,vub);xfval=fval-12.75附录9clc;clear;c1=1000 800 800 1000*6.75*10(-4);c2=1000 800 800 1000*(6.75*0.0359-0.0141)*10(-4)*4;c3=0.45 0.30 0.15 0;c=c1+c2+c3;A=1 1 0 0;1 1 1 0;b=34.8;69.6;Aeq=1 1 1 1;beq=97.44;vlb=13.92 0 0 0;vub=25 35 30 10;x,fval=linprog(c,-A,-b,Aeq,beq,vlb,vub);xfval=fval-17.74824