资源描述
n 更多资料请访问.(.....)
...../
更多企业学院:...../Shop/
《中小企业管理全能版》
183套讲座+89700份资料
...../Shop/40.shtml
《总经理、高层管理》
49套讲座+16388份资料
...../Shop/38.shtml
《中层管理学院》
46套讲座+6020份资料
...../Shop/39.shtml
《国学智慧、易经》
46套讲座
...../Shop/41.shtml
《人力资源学院》
56套讲座+27123份资料
...../Shop/44.shtml
《各阶段员工培训学院》
77套讲座+ 324份资料
...../Shop/49.shtml
《员工管理企业学院》
67套讲座+ 8720份资料
...../Shop/42.shtml
《工厂生产管理学院》
52套讲座+ 13920份资料
...../Shop/43.shtml
《财务管理学院》
53套讲座+ 17945份资料
...../Shop/45.shtml
《销售经理学院》
56套讲座+ 14350份资料
...../Shop/46.shtml
《销售人员培训学院》
72套讲座+ 4879份资料
...../Shop/47.shtml
n 更多资料请访问.(.....)
更多企业学院:...../Shop/
《中小企业管理全能版》
183套讲座+89700份资料
...../Shop/40.shtml
《总经理、高层管理》
49套讲座+16388份资料
...../Shop/38.shtml
《中层管理学院》
46套讲座+6020份资料
...../Shop/39.shtml
《国学智慧、易经》
46套讲座
...../Shop/41.shtml
《人力资源学院》
56套讲座+27123份资料
...../Shop/44.shtml
《各阶段员工培训学院》
77套讲座+ 324份资料
...../Shop/49.shtml
《员工管理企业学院》
67套讲座+ 8720份资料
...../Shop/42.shtml
《工厂生产管理学院》
52套讲座+ 13920份资料
...../Shop/43.shtml
《财务管理学院》
53套讲座+ 17945份资料
...../Shop/45.shtml
《销售经理学院》
56套讲座+ 14350份资料
...../Shop/46.shtml
《销售人员培训学院》
72套讲座+ 4879份资料
...../Shop/47.shtml
宾馆订购问题
【摘要】
本文需要解决的主要问题是在满足与会人员需求的情况下求得宾馆数最少、在满足宾馆数最少的前提下求得距离最短。
首先,我们根据以往四届与会人员数量及回执情况对本届会议与会人员进行预测。计算出实际与会人员数量在回执人员中所占的比例为0.8933,然后用本届回执人员的数量与这个比例相乘,预测出本届参加会议人员数量及住房要求的情况(预测的人员房间需求见文中表格)。
然后,我们根据第一步得到的数据,把与会人员对双人间及单人间的住房要求分别分为甲、乙、丙三类,由于以选择宾馆数量最少为目标,所以我们引入0—1变量来表示是否入住该宾馆,并建立优化模型,以满足与会人员的住房需求为约束条件,对0—1变量求和并利用LINGO编程求解,最后得到最小宾馆数,并求得最小宾馆数为5。
最后,我们先对10家宾馆之间的距离进行两两求和,得出每两家宾馆之间的距离(见文中表格),以宾馆之间的距离最短作为目标以求得的最小宾馆数为约束条件,并通过引入0—1变量建立优化模型,利用LINGO编程选择出相距最近的5家宾馆,解得5家宾馆为:第一家、第二家、第六家、第七家和第八家。并得出不同类别房间应预定的数量(具体方案见文中表格)。
关键词:预测 优化模型 LINGO 0—1变量
1 问题重述
某市的一家会议服务公司负责承办某专业领域的一届全国性会议,会议筹备组要为与会代表预订宾馆客房。由于预计会议规模庞大,而适于接待这次会议的几家宾馆的客房数量均有限,所以只能让与会代表分散到若干家宾馆住宿。为了便于管理,除了尽量满足代表在价位等方面的需求之外,所选择的宾馆数量应该尽可能少,并且距离上比较靠近。
筹备组经过实地考察,筛选出10家宾馆作为备选,它们的名称用代号①至⑩表示,相对位置见附图,有关客房及会议室的规格、间数、价格等数据见(附表1)。
根据这届会议代表回执整理出来的有关住房的信息(见附表2)。从以往几届会议情况看,有一些发来回执的代表不来开会,同时也有一些与会的代表事先不提交回执,相关数据(见附表3)。附表2,3都可以作为预订宾馆客房的参考。另外所考虑的宾馆距离请况(见附图3)。
需要说明的是,虽然客房房费由与会代表自付,但是如果预订客房的数量大于实际用房数量,筹备组需要支付一天的空房费,而若出现预订客房数量不足,则将造成非常被动的局面,引起代表的不满。
请你们通过数学建模方法,从经济、方便、代表满意等方面,为会议筹备组制定一个预订宾馆客房合理方案。
2 问题分析
根据筹备组筛选出的10家宾馆来确定一个宾馆预订的合理方案,需尽量满足代表在房间价位需求以及所选择的宾馆数量尽可能的少,宾馆之间的距离比较靠近。根据上述题目要求,结合实际提出以下分析:
(1)依据题目所给出的信息,根据以往几届会议情况,计算出不来参加会议的人员平均比例,综合不来参加会议人员比例的波动值,预算处本届会议实际会参加会议人数,以此为约束考虑宾馆预订方案。
(2)在满足与会代表要求的情况下,以所选择订购宾馆数量最少为目标,引入0-1变量建立模型,求解出在满足条件的情况下,预订方案选择宾馆最小的数量。
(3)以模型一所求解出的最小宾馆数量为约束条件,根据题中附图(各宾馆之间的距离),以选择宾馆之间的行进路线最短为目标,进行LINGO编程求解,最终确定最佳订购方案。
3 问题假设
通过对问题分析,根据题目要求结合实际情况,对本题提出如下假设:
(1)假设对参加会议实际人员预算合理准确,在订购方案上不会出现筹备组支付空房费问题;
(2)假设满足会议代表要求条件下不考虑房间费用问题,与会代表无其它特殊要求;
(3)假设筹备组所选择的10家宾馆在会议期间只接受该会议筹备公司的预定房间要求,不做其他顾客生意;
(4)假设给出的宾馆客房数准确可靠,且未发回执的与会代表在房间安排上能服从筹划组的安排。
4 符号说明
符 号
符号说明
第个宾馆第类双人间的数量
第个宾馆第类单人间的数量
第类双人间的需求数量
第类单人间的需求数量
第个宾馆与个宾馆之间的距离
第个宾馆有双人间的数量
第个宾馆有单人间的数量
在第个宾馆预订第种双人间的数量
在第个宾馆预订第种单人间的数量
0-1变量
本届未与会人员预测比例
以往4届参加会议未与会人员平均比例
未与会人员比例向下波动值
5 模型的建立与求解
5.1解题思路
对于本题一共分为3步进行求解。首先是对本届会议参加人员情况进行预测,得到参加会议人员的确定人数,以及需要订购的各类房间数;然后以预订宾馆数量最少为目标,订购房间数量为要求,引入0-1变量建立模型,用LINGO编程求解出订购方案需要的宾馆数量最少数;最后考虑订购方案中以订购宾馆数量为约束条件,各宾馆之间的距离为目标,进行编程求解,得到满足条件的最佳宾馆订购方案。
模型一
5.1.1模型准备
【1】本届与会实际人员预测
结合实际情况,依据题中给出前4届会议代表回执和与会情况表(见附表3),对本届参加会议实际情况进行预测:
①以往4届参加会议未与会人员平均比例M:
通过计算得各届未与会人员比例(见附图1),用为与会人员比例之和除以其会议届数,得其参加会议为与会人员的平均比例0.1242,如下:
②未与会人员比例波动值N:
为了使预算更为准确,通过拿各届未与会人员比例与未与会人员比例的平均值进行比较得各届会议未与会人员比例波动情况(见附图2),取向下波动,即与会人员比例最情况求和取平均值,得下波动平均值为-0.01705:
③最终确立未与会人员比例L:
考虑到预测的合理和更为准确,把以往四届参加会议未与会人员平均比例Z与与会人员比例向下波动值X相加,得最终未与会人员的比例为0.1067:
④预测情况表:
通过确立未与会人员比例,对本届参加会议人员进行预测得参加会议总人数为678人情况如下:
表1 预测参加会议人员情况表
合住一
合住二
合住三
独住一
独住二
独住三
男
138
93
29
96
61
37
女
70
43
16
53
25
17
【2】各宾馆客房情况与预定客房需求
①对120~160元、161~200元、201~300元三种不同价格的房间进行规范,分别代表丙类房、乙类房和甲类房。通过整理得如下表格:
表2 10家备选宾馆的有关数据
宾馆
双间
单间
甲类房
乙类房
丙类房
甲类房
乙类房
丙类房
1
30
50
0
20
30
0
2
0
65
85
0
0
0
3
0
24
50
0
0
27
4
0
45
50
0
0
0
5
0
40
70
0
0
0
6
30
40
0
0
30
40
7
0
0
50
30
0
40
8
0
40
40
0
45
0
9
60
0
0
60
0
0
10
100
0
0
0
0
0
②结合实际情况对与会人员需求预定房间数做出合理安排:同等级同性别对合住人数不能凑成偶数的,房间数量为人数加一除以二。需求如下:
表3 预定房间需求
类别
双间
单间
甲类房
乙类房
丙类房
甲类房
乙类房
丙类房
需求
23
69
104
54
86
149
【3】0-1变量的引入
由于在确定预定宾馆数量最少时,无法对各宾馆进行确定,由此引入0-1变量对在不在此宾馆预定进行约束。
5.1.2模型的分析
【1】目标的确定
对于会议筹备问题,首先需要解决的是确定宾馆订购数量最少为多少,再以宾馆数量最少为约束条件找出在确定宾馆数量为最少的情况下宾馆之间距离最近的宾馆。由此可以分为两个模型,分步求解。
模型一,以所选择宾馆预定数量最少为目标:
【2】约束条件
①由于订购房间的数量必须为整数,所以在第i个宾馆订购第j种房间的房间数必须取整:
②在第i个宾馆订购的房间的单双间数,应该小于或等于这个宾馆拥有的单双间数:
③在所确定宾馆预定的j类房间的总和等于参加会议代表需要预定j类房间的总数:
④宾馆拥有j类双间的总数必须大于或等于需求j类双间的数量:
⑤宾馆拥有j类房间的总数大于或等于需求j类单间的数量(其中单间不够可以从同类双间预定):
⑥在第i个宾馆预定的j类房间数小于或等于该宾馆此类房间数:
5.1.3模型的建立
根据以上分析,以预定计划中宾馆数量最少为目标,建立以下模型:
5.1.4模型的求解
根据模型一,用LINGO程序进行编程求解(见附录:程序一),得需要预定房间最少的宾馆数量为5家。
模型二
本题的题目要求为,所预定宾馆数量最少且宾馆之间的路程最短。从模型一中可知,所求宾馆数量最少为5家因此还需要解决各宾馆之间的距离最短问题,由此可以建立模型二求得最终的结果。
5.2.1模型准备
【1】 通过计算各宾馆之间的距离如下:
表4 各宾馆之间的路程
1
2
3
4
5
6
7
8
9
10
1
0
150
850
650
700
600
300
450
650
1300
2
150
0
750
500
850
750
450
600
800
1450
3
850
750
0
200
1600
1400
1250
1000
1150
2100
4
650
500
200
0
1350
1250
950
1050
1200
1950
5
700
850
1600
1350
0
550
300
500
600
1300
6
600
750
1400
1250
550
0
300
400
300
200
7
300
450
1250
950
300
300
0
150
250
1000
8
450
600
1000
1050
500
400
150
0
150
1050
9
650
800
1150
1200
600
300
250
150
0
950
10
1300
1450
2100
1950
1300
200
1000
1050
950
0
备注:宾馆之间路线距离计算不能取直线距离,结合实际情况应当按照实际行走路线,加上横穿马路距离计算。
【2】0-1变量的引入
由于要确定在哪几家宾馆预订客房使宾馆之间路程最短,由此引入0-1变量来确定在哪几家宾馆进行预定进行决策
5.2.2模型的分析
【1】目标的确定
模型二以所选择宾馆之间距离最近为目标:
【2】约束条件
①所选择预定的宾馆数量为最少,模型一已求出其值为5:
备注:模型二其他约束条件同模型一约束条件。
5.2.3模型的建立
根据以上分析,以模型一的目标为约束条件,宾馆之间的路程最短为目标,建立以下模型:
5.2.4模型的求解
根据模型,用LINGO程序进行编程求解(见附录:程序二),得需要预定房间最少的宾馆数量为5家,各宾馆之间的路程最短为4150米,在各宾馆预订房间计划如下:
表5 宾馆预订计划
双间
单间
宾馆
甲类房
乙类房
丙类房
甲类房
乙类房
丙类房
1
30
50
0
17
0
0
2
0
65
85
0
0
0
5
0
33
70
0
0
0
7
0
0
50
30
0
8
8
0
7
40
0
0
0
备注:对120~160元、161~200元、201~300元三种不同价格的房间进行规范,分别代表丙类房、乙类房和甲类房。
6 模型的评价与推广
本文通过对宾馆订购问题的研究和分析,对本届会议与会人员进行合理预测,得到需要订购房间数,再对预定房间宾馆数量最少,路线最近为目标,分步进行建立模型,对满足会议代表要求和实际情况进行评价,得到最佳预定宾馆房间方案。在建立模型的过程中存在一些优点特色和部分相对不足。
优点特色:
1、在模型准备期间,对本届与会人员实际情况进行预测时,引入了未与会人员比例波动这一因素,显而易见综合考虑波动值与前几届会议未与会人员平均比例,更能体现出预算的全面性与实际预测的准确性,从而对最终的预定方案合理性影响更为准确。
2、在建立模型一时,统一对宾馆拥有房间按照会议代表需求的房间类别进行归类,从而更加简洁明确的便于阅读与计算。
3、在模型建立过程中,能从客观实际出发,将问题与社会背景相结合,模型的建立贴近实际的思路方法,即拥有数学的严谨,又贴近实际生活,符合数学建模的思想和宗旨。
4、在模型建立过程中,分析思路和方法科学严谨,预测方法选取恰当,巧妙运用适当程序对数据进行处理,计算编排较为精准,结果具有一定的科学权威性,真实考虑了实际生活中预定问题所存在的约束条件。
相对不足:
在实际的问题考虑方面还存在一些不足,如在会议代表需求合住,而预测人数是单数的情况下,没有加以深入研究和考虑,只是在题目的打框架的要求之下简单对此类情况进行处理,显然不太合理。另外,预测方面也没有进行较为权威的定论,存在可以改进的空间。
模型推广
本文研究方法与思路可以广泛的应用于企业、公司预定规划问题,也可以与实际生活相结合,对生活方面计划进行合理预测和安排。本文研究问题方法和此类模型还可以在预测,和订购等领域进行推广,对公司发展规划有较大的帮助。
7.附录
附表1 10家备选宾馆的有关数据
宾馆代号
客房
规格
间数
价格(天)
①
普通双标间
50
180元
商务双标间
30
220元
普通单人间
30
180元
商务单人间
20
220元
②
普通双标间
50
140元
商务双标间
35
160元
豪华双标间A
30
180元
豪华双标间B
35
200元
③
普通双标间
50
150元
商务双标间
24
180元
普通单人间
27
150元
④
普通双标间
50
140元
商务双标间
45
200元
⑤
普通双标间A
35
140元
普通双标间B
35
160元
豪华双标间
40
200元
⑥
普通单人间
40
160元
普通双标间
40
170元
商务单人间
30
180元
精品双人间
30
220元
⑦
普通双标间
50
150元
商务单人间
40
160元
商务套房(1床)
30
300元
⑧
普通双标间A
40
180元
普通双标间B
40
160元
高级单人间
45
180元
⑨
普通双人间
30
260元
普通单人间
30
260元
豪华双人间
30
280元
豪华单人间
30
280元
⑩
经济标准房(2床)
55
260元
标准房(2床)
45
280元
附表2 本届会议的代表回执中有关住房要求的信息(单位:人)
合住1
合住2
合住3
独住1
独住2
独住3
男
154
104
32
107
68
41
女
78
48
17
59
28
19
说明:表头第一行中的数字1、2、3分别指每天每间120~160元、161~200元、201~300元三种不同价格的房间。合住是指要求两人合住一间。独住是指可安排单人间,或一人单独住一个双人间。
附表3 以往几届会议代表回执和与会情况
第一届
第二届
第三届
第四届
发来回执的代表数量
315
356
408
711
发来回执但未与会的代表数量
89
115
121
213
未发回执而与会的代表数量
57
69
75
104
附图1 未与会人员比例
附图2 各届未与会人员比例波动情况
附图3 各宾馆位置图
⑤(与⑦间距300米) ⑦
⑦(与⑦间距300米) ⑦
⑧(与⑦间距300米) ⑦
①(与⑦间距300米) ⑦
②(与⑦间距300米) ⑦
④(与⑦间距300米) ⑦
③(与⑦间距300米) ⑦
1000
500
300
150
200
300
⑨(与⑦间距300米) ⑦
⑥(与⑦间距300米) ⑦
⑩(与⑦间距300米) ⑦
300
700
150
程序一: sets:
pp/1..10/:p,q,f;
qq/1..3/:c,d;
mm(pp,qq):a,b,x,y,v;
endsets
data:
a=
30
50
0
0
65
85
0
24
50
0
45
50
0
40
70
30
40
0
0
0
50
0
40
40
60
0
0
100
0
0
;
p=80 150 74 95 110 70 50 80 60 100;
q=50 0 27 0 0 70 70 45 60 0;
b=
20
30
0
0
0
0
0
0
27
0
0
0
0
0
0
0
30
40
30
0
40
0
45
0
60
0
0
0
0
0
;
v=
50
80
0
0
65
85
0
24
77
0
45
50
0
40
70
30
70
40
30
0
90
0
45
40
120
0
0
100
0
0
;
c=
23
69
104
;
d=
54
86
149
;
enddata
@for(pp(i):@bin(f(i)));
min=@sum(pp(i):f(i));
@for(qq(j):@sum(pp(i):a(i,j)*f(i))>=c(j));
@for(qq(j):@sum(pp(i):(v(i,j)*f(i)))>=(d(j)+c(j)));
@for(qq(j):@sum(pp(i):(x(i,j)+y(i,j))*f(i))=(d(j)+c(j)));
@for(mm(i,j):@gin(x(i,j)));
@for(mm(i,j):@gin(y(i,j)));
@for(pp(i):@sum(qq(j):x(i,j))<=p(i)*f(i));
@for(pp(i):@sum(qq(j):y(i,j))<=q(i)*f(i));
@for(mm(i,j):x(i,j)<=a(i,j));
@for(mm(i,j):y(i,j)<=b(i,j));
程序二:
sets:
pp/1..10/:p,q,f;
qq/1..3/:c,d;
mm(pp,qq):a,b,x,y,v;
nn(pp,pp):k;
endsets
data:
a=
30
50
0
0
65
85
0
24
50
0
45
50
0
40
70
30
40
0
0
0
50
0
40
40
60
0
0
100
0
0
;
p=80 150 74 95 110 70 50 80 60 100;
q=50 0 27 0 0 70 70 45 60 0;
b=
20
30
0
0
0
0
0
0
27
0
0
0
0
0
0
0
30
40
30
0
40
0
45
0
60
0
0
0
0
0
;
v=
50
80
0
0
65
85
0
24
77
0
45
50
0
40
70
30
70
40
30
0
90
0
45
40
120
0
0
100
0
0
;
c=
23
69
104
;
d=
54
86
149
;
k=
0
150
850
650
700
600
300
450
650
1300
150
0
750
500
850
750
450
600
800
1450
850
750
0
200
1600
1400
1250
1000
1150
2100
650
500
200
0
1350
1250
950
1050
1200
1950
700
850
1600
1350
0
550
300
500
600
1300
600
750
1400
1250
550
0
300
400
300
200
300
450
1250
950
300
300
0
150
250
1000
450
600
1000
1050
500
400
150
0
150
1050
650
800
1150
1200
600
300
250
150
0
950
1300
1450
2100
1950
1300
200
1000
1050
950
0
;
enddata
@for(pp(i):@bin(f(i)));
min=@sum(nn(i,j):k(i,j)*f(i)*f(j)/2);
@for(qq(j):@sum(pp(i):a(i,j)*f(i))>=c(j));
@for(qq(j):@sum(pp(i):(v(i,j)*f(i)))>=(d(j)+c(j)));
@for(qq(j):@sum(pp(i):(x(i,j)+y(i,j))*f(i))=(d(j)+c(j)));
@for(mm(i,j):@gin(x(i,j)));
@for(mm(i,j):@gin(y(i,j)));
@for(pp(i):@sum(qq(j):x(i,j))<=p(i)*f(i));
@for(pp(i):@sum(qq(j):y(i,j))<=q(i)*f(i));
@for(mm(i,j):x(i,j)<=a(i,j));
@for(mm(i,j):y(i,j)<=b(i,j));
@for(qq(j):@sum(pp(i):f(i))=5);
展开阅读全文