1、2013 高教社杯全国大学生数学建模竞赛承 诺 书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料) ,必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公
2、示,在书籍、期刊和其他媒体进行正式或非正式发表等) 。我们参赛选择的题号是(从 A/B/C/D 中选择一项填写): 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 参赛队员 (打印并签名) :1.吴飞业 2.张晓玲 3.戈长丽 指导教师或指导教师组负责人 (打印并签名): 日期: 年 月 日赛区评阅编号(由赛区组委会评阅前进行编号):2013 高教社杯全国大学生数学建模竞赛编 号 专 用 页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行
3、编号):会议筹备问题摘要本文从经济、方便和与会代表满意程度出发,建立一次线性回归、0-1 整形规划、目标规划等模型,为会议筹备组制定出一个预订宾馆客房、租借会议室、租用客车的合理方案。针对问题一:预测与会代表人数进行与会代表人数预测时,运用 matlab 软件对附表 3 进行描绘如图 1 所示,并用一次线性回归模型,对该图进行拟合,拟合图像如图 2。由模型求解可预测出本届实际可能的与会代表人数为 638 人。针对问题二:预测宾馆总数量依题意,以预订宾馆的数量最少为目标函数,用 LINGO 软件建立 0-1 规划模型,以本届回执中有住房要求的代表人数为条件列出相应的约束函数。通过求解模型,宾馆编
4、号 、 、 、 满足要求。然后依据本届实际可能的与会人 1 2 3 7数及回执中有住房要求的人数,计算出所需预订宾馆房间总数如表 4 所示。针对问题三:租用会议室和各宾馆房间类型和数量根据租用会议室的费用最低为目标函数,通过 LINGO 软件建立整数规划模型,以会议分组和参与会议总人数必须大于或等于 638 人为条件确定约束条件。所以由模型解得在各宾馆预订的会议室为:宾馆 预订规模为 200 人和 60 人的会议室各一间;宾馆 预订规模为 60 人的会议室 3 间和规模为 200 人的会议室一间。租用会议室的总费用经计算为 6840 元。为了节省费用,将人数尽可能的集中分配在选有会议室的宾馆,
5、并以此确定出在各选定宾馆中的房间数量和类型如表 5 所示。针对问题四:租用客车的费用在求解问题二和问题三的情况下,以租用客车费用最低为目标函数建立整数规划模型,确定租用客车的类型和数量。该模型只在假设条件下成立,对于超出假设外的因素应当另外考虑。关键词: 一次线性回归模型 0-1 整数规划 目标规划模型 matlab 软件 LINGO 编程软件 一 问题重述某会议服务公司负责承办某专业领域的一届全国性会议,会议筹备组要为与会代表预订宾馆客房,租借会议室,并租用客车接送代表。由于预计会议规模庞大,而适于接待这次会议的几家宾馆的客房和会议室数量均有限,所以只能让与会代表分散到若干家宾馆住宿。并且要
6、便于管理、满足代表的价位需要,而且选择宾馆数目要少、预定客房的宾馆之间的距离要近。从以往几届会议情况看,有一些发来回执的代表不参加会议,同时也有一些与会的代表事先不提交回执。但是,客房房费由与会代表自付。如果预订客房的数量大于实际用房数量,筹备组需要支付一天的空房费;而若出现预订客房数量不足,就会引起代表的不满。会议期间有一天的上下午各安排 6 个分组会议,筹备组需要在代表下榻的某几个宾馆租借会议室。由于事先无法知道哪些代表准备参加哪个分组会,筹备组还要向汽车租赁公司租用客车接送代表。所以要从经济、方便、代表满意等方面,为会议筹备组制定一个预订宾馆客房、租借会议室、租用客车的合理方案。二 问题
7、分析由于会议筹备组要为与会代表预订宾馆客房,租借会议室,并租用客车,就要根据这届会议代表回执中有关住房要求的人数,会议召开的形式和地点,到与会地点的代表人数和预定宾馆客房的分布来制定合理方案。 需考虑以下问题:1、实际到场的与会人数。从以往几届会议情况看,有一些发来回执的代表不参加会议,同时也有一些与会的代表事先不提交回执。所以确定一种合理预测到场与会人员十分重要。进行人数预测时,根据以往几届会议回执情况,得到以往几届实际与会人数 ( ) ,由 matlab 软件描述实际可能到场的与会人数,建立一4123=-+元线性回归拟合模型,确定拟合方程,再由本届回执总数和拟合方程预测出实际可能到场的与会
8、人数。2、预订宾馆总数确定宾馆数量时应考虑使选择的宾馆数量尽可能少、位置比较靠近。依题意,用 LINGO 软件建立 0-1 整数规划模型,通过求解模型得到符合要求的宾馆。根据本届回执中对住房有要求的人数分配,预测所需预订宾馆房间总数。3、租借会议室及各宾馆房间类型和数量安排由于在会议期间上下午各安排 6 个分组会议,假设上下午会议内容不同,则筹备组需要在代表下榻的某几个宾馆租借 6 个会议室。并以租借费用最低 为目标,确定在各宾馆预订的会议室情况。由会议室规模及数量的确定,将人数尽可能集中的分布在选有会议室的宾馆。根据本届回执中住房要求人数的分布,再由本届以确定出的宾馆房间总数确定出在各已选定
9、宾馆中的房间类型和数量。4、租用客车由于与会代表们的住宿问题已被确定,所以在租用客车时只要考虑租用客车的费用最低并确定租用客车的类型和数量。三 符号说明和约定四 基本假设1、假设所给数据真实可靠;2、与会代表听从为他们安排符合他们价位需要的宾馆;3、拟合求得的与会人数和实际与会人数刚好无偏差;4、选定的会议室与分组会议的规模刚好符合;5、租车在租用期间一切正常;6、备选宾馆的客房和会议厅在预定前都可用;五 模型建立与求解5.1 问题一 与会人数的预测5.1.1 模型准备由附表 2 中数据可得今年发来回执的代表数量为 755 人 。通过观察附表 3 中各数据,运用 计算出以往几届实际到场的与41
10、23=-+会人数,如表 1 所示:表 1 以往几届会议代表回执和与会情况:发来回执的代表数量1 :发来回执但未与会的代表数量2:发来回执的代表数量3 :实际与会代表数量4:宾馆标号iA: 实际可能到场的与会人数1z:被选中的宾馆总数z :发来回执的与会代表人数x:每家宾馆会议室的规模序号i :所选每种会议室的间数j:每种会议室一天的租金ic :每种会议室容纳的人数ib第一届 第二届 第三届 第四届 发来回执的代表数量 315 356 408 711发来回执但未与会的代表数量89 115 121 213未发回执而与会的代表数量 57 69 75 104根据表 1 中的数据,用 matlab 软件
11、画出历届实际与会的代表数量与历届发来回执的代表数量关系图,横坐标历届发来回执的代表数量,纵坐标表示历届实际与会的代表数量,如图 1 所示:图 1 以往几届回执情况描述从图 1 可以看出,历届实际与会的代表数量与历届发来回执的代表数量之间呈明显的线性关系,由此推断可以建立一次线性拟合模型进行求解。5.1.2 模型的建立假设用 y 表示历届实际与会的代表人数, x 表示历届发来回执的代表数量,以表 1 中的数据作为拟合数据,建立一次线性拟合模型:0x(1)和 分别为模型中待求的相关系数。05.1.3 模型的求解用 matlab 软件对该模型进行求解,编程如附录一所示,拟合图像如图 2所示:实际与会
12、代表数量 283 310 362 602图 2 拟合图像从图 2 可以看出,一次拟合函数与原始数据的拟合程度极高,故可以采用该函数作为拟合模型,根据 matlab 运行结果,可得一次拟合函数为:096.*8.0xy(2)由 5.1.1 已知今年发来回执的代表数量为 755 人 ,将 x=755 带入(2)中,可得今年实际与会的代表数量为 638 人。5.2 问题二 预定宾馆5.2.1 模型的准备通过对本届会议代表回执中对房间要求信息的研究,可以计算出对各类房间需求的比例如表 2 所示:表 2 本届会议的代表回执中对各类房间需求的比例以对问题一的模型求解结果为前提,运用表 2 中所统计的数据,预
13、测本届实际与会代表对住房的要求,统计结果如表 3 所示:表 3 本届实际与会代表的住房需求表类型性别 合住 1 合住 2 合住 3 独住 1 独住 2 独住 3男 154 104 32 107 68 41所占总人数比例 0.2040 0.1377 0.0424 0.1417 0.0901 0.0543女 78 48 17 59 28 19所占总人数比例 0.1033 0.0636 0.0225 0.0781 0.0371 0.0252类型性别 合住 1 合住 2 合住 3 独住 1 独住 2 独住 3男 130 88 26 91 58 35女 66 40 14 50 24 16根据表 3 中所
14、统计的人数,对所要预定的宾馆房间种类数量进行统计,统计结果如表 4 所示:表 4 预定房间种类数量统计表通过对表 1、表 2、表 3、表 4 的分析,拟采用 0-1 整数规划模型对预定宾馆进行预测。5.2.2 模型的建立引入 0-1 整数规划模型设 表示编号从的 10 个备选宾馆,引入 0-1 变量iA)10,.2(,).,1(ix令: 11,2.00,iiAxi, 当 被 选 中 ,当 未 被 选 中 ,以 Z 为目标函数,表示所花费的钱数, i 表示每家宾馆会议室的规模种类序号,j 表示所选每种会议室的间数, 表示每种会议室一天的租金, 表示ic ib每种会议室容纳的人数。在该模型的构建过
15、程中,以预定的宾馆数量尽可能少作为目标,以今年实际与会代表对住房的需求作为约束条件,建立 0-1 整数规划模型为:min 10iixz1071023563 46854580 2390907075. 97196213 87542或ixxxx xxxts5.2.3 模型的求解运用 LINGIO 软件对该模型进行求解,所编程序如附录二所示,根据运行结果,筛选出符合要求的宾馆编号为: 1 2 3 7客房类型所需数目合住 1120160合住 2161200合住 3201300独住 1120160独住 2161200独住 3201300男 65 44 13 91 58 35女 33 20 7 50 24
16、16总计 98 64 20 141 82 515.3 问题三 租借会议室5.3.1 模型准备以对问题一及问题二的求解为前提,通过对数据及问题的分析,拟采用整数规划模型对问题三进行求解。5.3.2 模型的建立引入整数规划模型对宾馆的会议室选择进行预测。假设 Z 为目标函数,表示所花费的钱数, i 表示每家宾馆会议室的规模种类序号,j 表示所选每种会议室的间数, 表示每种会议室一天的租金, 表ic ib示每种会议室容纳的人数。在该模型的构建过程中,以租会议室所用费用最少为目标,以实际与会代表人数及分组会议数为约束条件,建立整数规划模型为: min143ijijcxz为 整 数ijiijjjjjjj
17、jijixbxxxxts143012098765432114306831306.5.3.3 模型的求解运用 LINGO 软件求解上述模型,所编程序如附录三所示。根据运行结果,确定出 6 个会议室,上下午轮流使用, 各宾馆预订的会议室情况为:宾馆预订规模为 200 人和 60 人的会议室各一间,宾馆预订 3 间规模为 60 人的会议室和一间规模为 200 人的会议室。租用会议室的总价格为 6840 元。5.4 问题四 租用客车5.4.1 模型准备根据问题三的求解,已确定会议室所在的宾馆及规模,由此可知,在房间分配时应尽可能的将人员安排入住在有所选会议室的宾馆。各宾馆入住房间类型和数量见表 5:表
18、 5 各宾馆入住房间类型及数量统计表以对问题一、问题二、问题三的求解为前提,结合对表 5 的数据分析,拟采用整数规划模型对问题四进行求解。5.4.2 模型的建立 引入整数规划模型,对租用客车的数量、类型及费用进行预测。以 z 为目标函数,i 表示车的类别,j 表示每类车所选的数量, 表示每种ic车一天的租金, 表示每种车所能容纳的人数,以客车到各宾馆费用最低为前ib提确定租用客车的类型和数量。在该模型的构建过程中,以租用客车所花费用最少为目标,以各宾馆的与会代表人数为约束条件,建立整数规划模型。对宾馆建立整数规划模型为:min 310icijjxz为 整 数ijijxts7.31对宾馆建立整数
19、规划模型为:min 310icijjz为 整 数ijijxts7.31对宾馆建立整数规划模型为:类型编号 合住 1 合住 2 合住 3 独住 1 独住 2 独住 3 人数宾馆 50 0 0 40 0 30 170宾馆 48 24 0 29 0 0 173宾馆 0 40 0 72 25 0 177宾馆 0 0 20 0 57 21 118总计 98 64 20 141 82 51 638min 310icijjxz为 整 数ijijxts7.31对宾馆建立整数规划模型为:min 310icijjxz为 整 数ijijxts8.315.4.3 模型的求解运用 LINGO 软件求解上述模型,所编程序
20、如附录四所示。根据运行结果,得到从各宾馆发出的客车使用情况,如表 6 所示:表 6 各宾馆租用客车数量及型号统计表由表 6 可知,从宾馆 去参加其他宾馆会议的人数较多。一天租用客车 2 3的费用为 22100 元。六 模型的评价6.1 模型的优点1、所选的宾馆数目少、预定客房的宾馆之间的距离近,租用的客车数量也少,方便会议的管理;2、使用的模型方法在假设成立的条件下能准确的预测到场与会人员和所预定宾馆及客车的数量、种类。3、在假设条件成立的条件下,模型可以达到经济最优化,代表满意程度较高。 4、模型的建立方法种类较多且比较简单,易于读懂。6.2 模型的缺点1、模型中没有考虑外在环境因素和租用的
21、客车发生突发事件的条件下对该会议的影响;2、因将与会的人数理想化,导致在实际运用中,造成利润降低或代表的满意度降低。客车类型宾馆标号 45 座 36 座 33 座宾馆 3 1 0宾馆 4 0 0宾馆 4 0 0宾馆 2 0 13、用于预测本届可能到场的与会人数的数据偏少,采用一次线性拟合虽然能和给出的数据变化吻合,但数据变化的趋势不能被很好地预测。因此在预测实际到场的与会人数时存在一定误差,进而导致预测宾馆、客车数量不准确。6.3 模型的改进在建立模型过程中应将各种环境因素按不同程度对模型的影响考虑入内。在实际可能到场的与会代表人数预测时,应当充分考虑各种外在因素对模型建立的准确度的影响。这样
22、既不会造成“空房” 现象也不会出现少预订房间的尴尬局面。为提高与会代表的满意度,需将各种突发情况可能带来的时间损失带入模型中予以排除,例如客车在使用时发生事故,交通拥堵等造成代表们开会时间延误等。参考文献:【1】 孙荣恒,伊享云,何中市,重庆大学出版社:概率论和数理统计,2006;【2】 姜启源,谢金星,叶俊,数学模型,北京:高等教育出版社,2006 ;【3】 赵东方,数学模型与计算,北京:科学出版社,2007 ;附录:附录一:与会人数的预测程序:x=315 356 408 711;y=283 310 362 602;plot(x,y);polyfit(x,y,1)ans =0.8096 26
23、.9620z1=0.8096*x+26.09620;plot(x,y,x,z1,r)附录二:宾馆数目预测程序:model:min=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10;85*x2+50*x3+50*x4+70*x5+50*x7+40*x8=98;85*x2+77*x3+50*x4+70*x5+40*x6+90*x7+40*x8=239;50*x1+65*x2+24*x3+45*x4+40*x6+40*x8=64;80*x1+65*x2+24*x3+45*x4+70*x6+85*x8=146;30*x1+30*x6+60*x9+100*x10=20;50*x1+30*x6
24、+30*x7+120*x9+100*x10=71;bin(x1);bin(x2);bin(x3);bin(x4);bin(x5);bin(x6);bin(x7);bin(x8);bin(x9);bin(x10);end运行结果:Global optimal solution found.Objective value: 4.000000Objective bound: 4.000000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostX1 1
25、.000000 1.000000X2 1.000000 1.000000X3 1.000000 1.000000X4 0.000000 1.000000X5 0.000000 1.000000X6 0.000000 1.000000X7 1.000000 1.000000X8 0.000000 1.000000X9 0.000000 1.000000X10 0.000000 1.000000Row Slack or Surplus Dual Price1 4.000000 -1.0000002 87.00000 0.0000003 13.00000 0.0000004 75.00000 0.0
26、000005 23.00000 0.0000006 10.00000 0.0000007 9.000000 0.000000附录三:预测会议室程序:model:min=3000*x1j+2400*x2j+1200*x3j+2000*x4j+3000*x5j+600*x6j+600*x7j+2400*x8j+1600*x9j+2000*x10j+640*x11j+1600*x12j+600*x13j+2000*x14j;x1j+x2i+x3j+x4j+x5j+x6j+x7j+x8j+x9j+x10j+x11j+x12j+x13j+x14j=6;x1j=0;x1j=0;x2j=0;x3j=0;x4
27、j=0;x5j=0;x6j=0;x7j=0;x8j=0;x9j=0;x10j=0;x11j=0;x12j=0;x13j=0;x14j=638;gin(x1j);gin(x2j);gin(x3j);gin(x4j);gin(x5j);gin(x6j);gin(x7j);gin(x8j);gin(x9j);gin(x10j);gin(x11j);gin(x12j);gin(x13j);gin(x14j);运行结果:Global optimal solution found.Objective value: 6840.000Objective bound: 6840.000Infeasibiliti
28、es: 0.000000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostX1J 0.000000 3000.000X2J 0.000000 2400.000X3J 0.000000 1200.000X4J 0.000000 2000.000X5J 0.000000 3000.000X6J 0.000000 600.0000X7J 0.000000 600.0000X8J 1.000000 2400.000X9J 0.000000 1600.000X10J 0.000000 2000.000
29、X11J 1.000000 640.0000X12J 0.000000 1600.000X13J 3.000000 600.0000X14J 1.000000 2000.000X2I 0.000000 0.000000X13 0.000000 0.000000X14 0.000000 0.000000Row Slack or Surplus Dual Price1 6840.000 -1.0000002 0.000000 0.0000003 0.000000 0.0000004 1.000000 0.0000005 0.000000 0.0000006 2.000000 0.0000007 0
30、.000000 0.0000008 2.000000 0.0000009 0.000000 0.00000010 2.000000 0.00000011 0.000000 0.00000012 1.000000 0.00000013 0.000000 0.00000014 3.000000 0.00000015 0.000000 0.00000016 3.000000 0.00000017 1.000000 0.00000018 0.000000 0.00000019 0.000000 0.00000020 2.000000 0.00000021 0.000000 0.00000022 1.0
31、00000 0.00000023 1.000000 0.00000024 2.000000 0.00000025 0.000000 0.00000026 2.000000 0.00000027 0.000000 0.00000028 0.000000 0.00000029 0.000000 0.00000030 0.000000 0.00000031 2.000000 0.000000附录四:租用客车程序:宾馆用车程序 :model:min=1600*x1j+1400*x2j+1200*x3j;45*x1j+36*x2j+33*x3j=170;x1j=0;x2j=0;x3j=0;gin(x1j
32、);gin(x2j);gin(x3j);运行结果:Global optimal solution found.Objective value: 6200.000Objective bound: 6200.000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostX1J 3.000000 1600.000X2J 1.000000 1400.000X3J 0.000000 1200.000Row Slack or Surplus Dual Pric
33、e1 6200.000 -1.0000002 1.000000 0.0000003 3.000000 0.0000004 1.000000 0.0000005 0.000000 0.000000宾馆用车程序:model:min=1600*x1j+1400*x2j+1200*x3j;45*x1j+36*x2j+33*x3j=173;x1j=0;x2j=0;x3j=0;gin(x1j);gin(x2j);gin(x3j);运行结果:Global optimal solution found.Objective value: 6400.000Objective bound: 6400.000Infe
34、asibilities: 0.000000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostX1J 4.000000 1600.000X2J 0.000000 1400.000X3J 0.000000 1200.000Row Slack or Surplus Dual Price1 6400.000 -1.0000002 7.000000 0.0000003 4.000000 0.0000004 0.000000 0.0000005 0.000000 0.000000宾馆用车程序:model
35、:min=1600*x1j+1400*x2j+1200*x3j;45*x1j+36*x2j+33*x3j=177;x1j=0;x2j=0;x3j=0;gin(x1j);gin(x2j);gin(x3j);运行结果:Global optimal solution found.Objective value: 6400.000Objective bound: 6400.000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostX1J 4.00000
36、0 1600.000X2J 0.000000 1400.000X3J 0.000000 1200.000Row Slack or Surplus Dual Price1 6400.000 -1.0000002 3.000000 0.0000003 4.000000 0.0000004 0.000000 0.0000005 0.000000 0.000000宾馆用车程序:model:min=1600*x1j+1400*x2j+1200*x3j;45*x1j+36*x2j+33*x3j=118;x1j=0;x2j=0;x3j=0;gin(x1j);gin(x2j);gin(x3j);运行结果:Gl
37、obal optimal solution found.Objective value: 4400.000Objective bound: 4400.000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostX1J 2.000000 1600.000X2J 0.000000 1400.000X3J 1.000000 1200.000Row Slack or Surplus Dual Price1 4400.000 -1.0000002 5.000000 0.0000003 2.000000 0.0000004 0.000000 0.0000005 1.000000 0.000000