您的当前位置:首页正文

酒店客房的预留分配问题

来源:独旅网
客房最优分配模型

摘要:信息技术的不断发展,已经影响了人们生活的方方面面,在现代酒店管理中,酒店在线预订系统是酒店经营不可缺少的现代工具。本文主要讨论的是某酒店以一个星期为时间段,跟据常客户(指旅行社等大宗团队)的预订要求及现有房源情况,如何做出最优的房间分配以取得最大利润的问题。跟据题目要求,以酒店利润最大为目标,分常规策略、免费升级策略和折扣优惠策略三种情况建立整数线性规划模型。运用LINGO软件求解模型,比较三个模型的收入状况,由此得出酒店的客房分配的最优模型。通过模型求解,常规策略下酒店的最大收入是1407503元;免费升级策略:不考虑商务间、豪华间客户需求时去的最大收入为1496845元;折扣升级策略:不考虑商务间、豪华间客户需求时去的最大收入为1527105元 。

关键词:整数线性规划模型、LINGO软件、折扣优惠策略、客房分配方案。

1

问题重述

酒店一般把客人分为散客户和常客户(旅行社等大宗团队),散客户折扣较少,利润率高。常客户通常是预定的,并要求较多的优惠。假设某酒店以一周为一个时段为常客户开设标准间、商务间、豪华间三类客房的预定服务。预定需求单见表1、表2、表3。其中在表1中“星期一”一行的数字表示是星期一入住,只预定当天的2间,预定到星期二的20间,预定到星期三的6间……,预定到星期日的7间。酒店对常客户的报价见表4、表5、表6。酒店本星期提供三类房间的数量如表7。

为达到收入最大化的原则,分下列3种情况下,制订客房分配方案。 1、常规策略:完全按照顾客要求制定酒店的客房分配方案。

2、免费升级策略:在低价房不够分配,而高价房有剩余的情况下,将高价房间按低价房分配使用和收费。

3、折扣优惠策略:在首选价位房间无法满足,而其他客房有剩余的情况下,可以给顾客适当的折扣优惠,鼓励客人改变原需求,选择其他客房。

问题分析

根据表1、表2、表3统计三类客房每天的需求量记为表4 三类客房要求数量。各表如下所示:

表1 标准间要求数量

星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日 2

20 5

6 0 12

10 8 17 0

15 10 14 6 30

18 10 9 15 27 18

7 20 30 20 20 10 12

表2 商务间要求数量

星期一 星期二 星期三 星期四 星期五 星期六 星期日

2

星期一 星期二 星期三 星期四 星期五 星期六 星期日

12

8 9

6 12 12

10 10 7 8

5 9 6 7 5

4 5 5 5 8 26

7 2 2 1 24 18 0

表3 豪华间要求数量

星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日 1

1 1

2 1 1

1 1 2 1

0 2 1 0 0

0 0 0 0 0 0

0 0 0 0 0 0 0

表4 三类客房要求数量

标准间 商务间 豪华间

星期一 星期二 星期三 星期四 星期五 星期六 星期日 78 100 52 80 5 5

129 140 87 120 9 8

186 160 102 120 11 8

209 188 93 120 8 8

251 150 95 120 3 8

204 150 107 120 0 8

119 150 54 120 0 8

注:粗体为相应的房间提供量。

问题(1),完全按照客户提出的不同价位客房预订的要求制定分配方案,通过表4发现商务间每天的需求量都没有超出酒店每天的提供量,因此在常规策略中,商务间按照客户的需求进行分配,该部分的收入固定。寻找标准间以及豪华间的最优分配方案才是酒店收入最大的关键。为此以分配的标准间、豪华间房间

3

数为决策变量、最大收入为目标,建立整数线性规划模型。

问题(2),从表4中看出在有些天里出现低价房间不够分配而高价房间有剩余的情况,为了收益最大,需要将一部分高价房按对低价房的需求进行分配。有三种情况,一是考虑商务间、豪华间预订需求,将剩余的商务间、豪华间免费升级,二是不考虑商务间及豪华间预定需求进行免费升级,三是考虑商务间预订需求,不考虑豪华间预订需求而进行免费升级。分别求解,比较三种情况下的收入。

问题(3),免费升级策略是将部分高价房间按照低价房间需求分配,折扣优惠策略采用打折的方法鼓励客户改变原来的需求而选择其他价位客房,则也可以将低价房按照高价房的需求分配。则按考虑商务间、豪华间客户需求,不考虑商务间、豪华间客户需求,考虑商务间客户需求,不考虑豪华间客户需求分三种情况。其中情况一有分为完全满足豪华间客户需求量与不完全满足豪华间客户需求量两种情况,研究并比较四种的收入情况。

模型假设

1. 题中数据真实有效;

2. 一周内旅行社不改变对标准间、商务间、豪华间的预订需求; 3. 一周内酒店不改变当前房价价格; 符号说明:

i、j、n:第i、j、n天,i、n、j=1,2…7;

k:第k类房间k=1表示标准间,k=2表示商务间,k=3表示豪华间; BJkij:第k类客房从第i天入住到第j天每间客房的价格; Xkij:实际分配第k类客房从第i天入住到第j天的房间数; YSkij:旅行社对第k类客房从第i天入住到第j天的要求数; TSki:酒店第i天第k类客房的可供量;

模型建立与求解

4.1 常规策略 4.1.1模型建立

由表4看出,常规策略时商务间房间的要求量总是小于其提供量,因此商务

4

间的最优分配即为客户需求量,其收入是固定不变的,此时的最大收益问题是寻找标准间、豪华间的最优分配方案。以酒店实际分配的标准间数量、豪华间数量为决策变量、最大收入为目标建立整数线性规划模型:

max=∑7XBJ k=1,2,3 (1) i,jkijkij

s.t.Xkij≤YSkij, i,j=1,2…7 k=1,2,3 (2) Xkij ≥0,整数,i,j=1,2…7 k=1,2,3 (3)

7

∑Xknj ≤TSki n≤i≤j,i,j,n=1,2…7 k=1,2,3 (4)

i,j

(1)为目标函数,(2)为约束条件表示三类客房分配量不得超过要求数量,约束条件(3)表示三种房间的分配量为正整数,约束条件(4)表示每天三类房间总的分配量不得超过提供数量。 4.1.2模型求解

采用LINGO软件包对上述整数线性规划模型进行求解,程序见附录代码1,得到最优目标值是1407503元,将求解出的最优方案整理得到标准间、商务间、豪华间的最优分配,如表5、表6、表7。

表5标准间的分配量

星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日 2

20 5

6 0 12

10 8 17 0

15 10 0 3 0

18 10 0 0 0 18

7 20 27 20 20 10 12

表6商务间的分配量

星期一 星期二

星期一 星期二 星期三 星期四 星期五 星期六 星期日 12

8 9

6 12

5

10 10

5 9

4 5

7 2

星期三 星期四 星期五 星期六 星期日

12

7 8

6 7 5

5 5 8 26

2 1 24 18 0

表7豪华间的分配量

星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日 1

1 1

2 0 0

1 1 1 1

0 2 1 0 0

0 0 0 0 0 0

0 0 0 0 0 0 0

从表4看出周三、周四、周五、周六标准间房源紧张,但商务间却有剩余,且周二、周三豪华间房源紧张,但周五、周六、周日则有剩余,为了更好的利用空置的房间,可以将部分高价房按对低价房的需求进行分配,已达到收益最大化。 4.2免费升级策略

通过表4和对问题一求解的结果表明,酒店客房符合免费升级策略的条件:①低价房不够分配;②高价房有剩余。

免费升级策略是将部分高价房按照对低价房的需求进行分配并收费。这里分三种情况:一是考虑商务间、豪华间预订需求,将剩余的商务间、豪华间免费升级,二是不考虑商务间及豪华间预定需求进行免费升级,三是考虑商务间预订需求,不考虑豪华间预订需求而进行免费升级。以下分三种情况讨论: 4.2.1模型一

模型一是求解考虑商务间、豪华间预订需求,将剩余的商务间、豪华间免费升级分配给标准间的最优方案。 4.2.1.1模型建立

从表4看可知每天商务间的需求量均未超出酒店可供量,且周五、周六、周

6

日豪华房也有剩余,因此,将剩余的商务间、豪华间分配给标准间进行免费升级,建立整数线性规划模型。此模型下商务间的分配完全按照客户的预订要求进行分配。

max=∑7XBJ i,j=1,2…7 k=1,2,3 (1) i、jkijkij

s.t.Xkij≤YSkij, i,j=1,2…7 k=1,2,3 (2) Xkij ≥0,整数,i,j=1,2…7 k=1,2,3 (3)

∑i,jXknj≤TSki,n≤i≤j,i,j,n=1,2…7,k=1,2,3 (4)

(1)为目标函数,(2)为约束条件,表示三类房间分配量要小于其要求量,约束(3)表示三类房间的分配量均为正整数,约束(4)表示三类房间每天的分配量之和要小于其每天的提供量。

其中TS1i′指免费升级策略时每天标准间的可提供,即没有免费升级时标准间每天可供量和每天剩余商务间量与每天剩余豪华间量的总和,TS2i′指免费升级时每天商务间的可供量,即等于每天客户要求量之和, TS3i′指免费升级策略时每天豪华间的可供量,即周一至周四每天可供量仍为履带那最初可供量,周五、周六、周日每天可供量为客户要求量之和。如表8。除此之外,其他符号和约束条件均和常规策略中相同。

表8 免费升级策略时标准间、商务间、豪华间每天可供量

升级时标准间 128 升级时商务间 升级时豪华间 4.2.1.2模型求解

采用LINGO软件包对上述整数线性规划模型进行求解,程序见附录2得到最优目标值是1493449元,将求解出的最优方案整理得到标准间、商务间、豪华间的最优分配,如表9、表10、表11。

表9 免费升级在满足商务间、豪华间预订需求时标准间分配方案

周一 周二 173 87 8

周三 178 102 8

周四 215 93 8

周五 180 95 3

周六 171 107 0

周日 224 54 0

52 5

星期一 星期二 星期三

7

星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日

2,0,0

20,0,0 5,0,0

6,0,0 0,0,0 12,0,0

10,0,0 15,0,0 8,0,0 17,0,0 0,0,0

10,0,0 12,0,0 0,0,1 0,0,0

18,0,0 10,0,0 3,0,0 15,0,0 0,0,0 18,0,0

7,0,0 20,0,0 30,0,0 20,0,0 20,0,0 10,0,0 12,0,0

注:客房分配中a,b,c表示分配标准间的房间数,将商务间按对标准间的需

求分配的房间数,将豪华间按对标准间的需求分配的房间数。如2,0,0表示,分配2间标准间和0间商务间,与0间豪华间;总共分配2间房给标准间。

表10 免费升级在满足商务间、豪华间预订需求时标准间分配方案 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 12

星期二 星期三 8 9

6 12 12

星期四 10 10 7 8

星期五 5 9 6 7 5

星期六 4 5 5 5 8 26

星期日 7 2 2 1 24 18 0

表11 免费升级在满足商务间、豪华间预订需求时商务间分配方案

星期一 1

星期二 星期三 1 1

2 0 0

8

星期一 星期二 星期三 星期四 星期五 星期六 星期日 4.2.2模型二

星期四 1 1 2 1

星期五 0 2 0 0 0

星期六 0 0 0 0 0 0

星期日 0 0 0 0 0 0 0

模型二是求解在不考虑对商务间、豪华间的预订需求下免费升级的最优方案。 4.2.2.1模型建立

记预订标准间同时也分配了标准间从第i天入住到第j天的房间数为x1ij;预订标准间而分配商务间从第i天入住到第j天的房间数为x21ij;预订标准间而分配豪华间从第i天入住到第j天的房间数为x31ij;预订商务间同时也分配商务间从第i天入住到第j天的房间数为x2ij;预订商务间而分配豪华间从第i天入住到第j天的房间数为x32ij;预订豪华间而分配豪华间从第i天入住到第j天的房间数为x3ij;则建立模型为:

7

7

7

7

7

7

max=∑X1ij BJ1ij+∑X21ijBJ1ij+∑X31ijBJ1ij+∑X2ijBJ2ij+∑X32ijBJ2ij+∑X3ijBJ3ij

i,j

i,j

i.j

i,j

i,j

i,j

I,j=1,2…7 (1) s.tX1ij+X21ij+X31ij≤YS1ij i,j=1,2…7 (2) s.tX2ij+X32ij≤YS2ij i,j=1,2…7 (3) s.tX31ij≤YS3ij i,j=1,2…7 (4) ∑i,jX1nj≤TS1i n≤i≤j i,j,n=1,2…7 (5)

7

∑X2nj+∑X21nj≤TS2i n≤i≤j i,j,n=1,2…7 (6)

i,j7

i,j7

7

∑X3ij+∑X31ij+∑X32ij≤TS3ij n≤i≤j i,j=1,2…7 (7)

i,j

i,j

i,j

X1,X2,X3,X21,X31,X32≥0,整数 (8)

对这个模型做几点解释:(1)为目标函数,在目标函数中需要标准间,但分配商务间的客房价格是标准间价格,其他以此类推;(2)为约束条件表示需要标准间而分配标准间、商务间、豪华间三类客房的总和不超出对标准间的需求;约束(3)是需要商务间而分配商务间和豪华间的总和不应超过对商务间的需求;约束(4)表示豪华间的分配量应小于其需求量;约束(5)为标准间总的分配量应小于提供量,即房源限制;约束(6)、(7)表示商务间、豪华间的房源限制。

9

约束(8)表示分配量应为正整数。 4.2.2.2模型求解

运用LINGO软件进行求解,得到最优目标值是1496845元,程序见附录3,将三类客房分配方案整理得表12、表13,、表14。

表12免费升级在不考虑商务间、豪华间预订需求时标准间分配方案 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 0,2,0

星期二 星期三 0,20,0 0,5,0

1,5,0 0,0,0 6,0,0

星期四 10,0,0 6,2,0 17,0,0 0,0,0

星期五 14,1,0 10,0,0 2,10,0 0,6,0 0,0,0

星期六 18,0,0 10,0,0 9,0,0 6,9,0 0,0,0 18,0,0

星期日 7,0,0 20,0,0 30,0,0 20,0,0 4,11,5 8,0,2 0,11,1

注:客房分配中a,b,c表示分配标准间的房间数,将商务间按对标准间的需

求分配的房间数,将豪华间按对标准间的需求分配的房间数。如4,11,5表示,分配4间标准间和11间商务间,与5间豪华间;总共分配20间房给标准间。

表13免费升级在不考虑商务间、豪华间预订需求时商务间分配方案 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 12

星期二 星期三 8 9

6 12 12

星期四 10 10 7 8

星期五 5 9 6 7 0

星期六 4 5 5 5 2 26

星期日 7 2 2 1 24 18 0

表14免费升级在不考虑商务间、豪华间预订需求时豪华间分配方案

星期一 1

星期二 星期三 1 1

2 0

10

星期一 星期二

星期四 1 1

星期五 0 2

星期六 0 0

星期日 0 0

星期三 星期四 星期五 星期六 星期日 4.2.3模型三

0

2 1

0 0 0

0 0 0 0

0 0 0 0 0

模型三是求解在考虑对商务间预订需求,不考虑豪华间的预定要求下免费升级的最优方案。 4.2.3.1模型建立

从表4看可知每天商务间的需求量均未超出酒店可供量,因此,将剩余的商务间分配给标准间。不考虑豪华间要求量,将豪华间分配给标准间与商务间。记预订标准间同时也分配了标准间从第i天入住到第j天的房间数为x1ij;预订标准间而分配豪华间从第i天入住到第j天的房间数为x31ij;预订商务间同时也分配商务间从第i天入住到第j天的房间数为x2ij;预订商务间而分配豪华间从第i天入住到第j天的房间数为x32ij;预订豪华间而分配豪华间从第i天入住到第j天的房间数为x3ij;则建立模型为:

max=∑i,jX1ijBJ1ij+∑i,jX31ijBJ1ij+∑i,jX2ijBJ2ij+∑i,jX32ijBJ2ij+∑i,jX3ijBJ2ij

ij=1,2…7 (1)

X2ij+X32ij <=YS2ij i,j,n=1,2L7 (2) X1ij+X31ij≤YS1ij i,j,n=1,2L7 (3) X31ij≤YS31ij i,j,n=1,2L7 (4) ∑X1nj≤TS1i \" n≤i≤j i,j,n=1,2L7 (5)

i,j

∑i,jX2nj≤TS2i \" n≤i≤j i,j,n=1,2L7 (6) ∑X3nj+∑X31nj+∑X32nj≤TS3i n≤i≤j i,j,n=1,2L7 (7)

i,j

i,j

i,j

X1ij,X2ij,X3ij,X31ij,X32ij≥0 整数 (8)

11

对这个模型做几点解释:(1)为目标函数,在目标函数中需要标准间、但分配豪华间的客房价格是标准间价格,其他以此类推;(2)为约束条件表示需要商务间而分配商务间、豪华间三类客房的总和不超出对商务间的需求;约束(3)是需要标准间而分配标准间和豪华间的总和不应超过对标准间的需求;约束(4)表示豪华间的分配量应小于其需求量;约束(5)为标准间分配量应小于提供量,即房源限制;约束(6)、(7)表示商务间、豪华间的房源限制。约束(8)表示分配量应为正整数。

其中TS1i”指免费升级策略时每天标准间的可提供,即没有免费升级时标准间每天可供量和每天剩余商务间量,TS2i”指免费升级时每天商务间的可供量,即等于每天客户要求量之和,如表15。

表15 免费升级策略时标准间、商务间、豪华间每天可供量

升级时标准间 升级时商务间 升级时豪华间

4.2.3.2模型求解

运用LINGO软件进行求解,程序见附录4得到最优目标值是1493449元,将三类客房分配方案整理得表16、表17,、表18。

表16 考虑商务间预订需求,不考虑豪华间预订需求时标准间分配方案 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 2,0,0

20,0,0 5,0,0

星期三 6,0,0 0,0,0 12,0,0

星期四 10,0,0 8,0,0 17,0,0 0,0,0

星期五 15,0,0 10,0,0 12,0,0 1,0,0 0,0,0

星期六 18,0,0 10,0,0 3,0,0 15,0,0 0,0,0 18,0,0

星期日 7,0,0 20,0,0 30,0,0 20,0,0 14,0,6 8,0,2 12,0,0

周一 128 52 5

周二 173 87 8

周三 178 102 8

周四 215 93 8

周五 175 95 8

周六 163 107 8

周日 216 54 8

注:客房分配中a,b,c表示分配标准间的房间数,将商务间按对标准间的需

12

求分配的房间数,将豪华间按对标准间的需求分配的房间数。如2,0,0表示,分配2间标准间和0间商务间,与0间豪华间;总共分配2间房给标准间。

表17考虑商务间预订需求,不考虑豪华间预订需求时商务间分配方案 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日 12,0

8,0 9,0

6,0 12,0 12,0

10,0 10,0 7,0 7,1

5,0 9,0 6,0 7,0 5,0

4,0 5,0 5,0 5,0 8,0 26,0

7,0 2,0 2,0 1,0 24,0 18,0 0,0

注:客房分配中a,b表示分配商务间的房间数,将豪华间按对商务间的需求

分配的房间数。如12,0表示,分配12间商务间和0间豪华间;总共分配12间房给商务间。

表18考虑商务间预订需求,不考虑豪华间预订需求时豪华间分配方案 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 1

星期二 星期三 1 1

2 0 0

星期四 1 1 2 1

星期五 0 2 0 0 0

星期六 0 0 0 0 0 0

星期日 0 0 0 0 0 0 0

从图表中可以看出,模型一与模型三三类房间每天分配量相同,最优目标值

也相同。但从表9、表16中的数据可以看到,模型一与模型三标准间(周六预定到周日)均分配10间房,但模型一分配10间标准间、0间商务间、0间豪华间,而模型三分配8间标准间、0间商务间、2间豪华间,并不完全相同。

比较模型一(满足商务间、豪华间客户需求下的免费升级策略)、模型二(不考虑商务间、豪华间客户需求下的免费升级策略)和模型三(满足商务间客户需

13

要不满足豪华间客户需要)可以看出,单就酒店的最大收入来说,模型二最优,值为1496845元,较模型一与模型三(1493449元)增长了0.3211%。

比较免费升级策略与常规策略,免费升级策略可以将空余的高价房分配给低价房,以保证低价房的供应,减少了空房,也为旅店获取了更多利益。免费升级策略最优值为1496845元,常规策略最优值为1407503元,增长了6.3475%。 4.3折扣优惠策略:

从表4可以看出,酒店标准间的可供量并不能都满足客户的要求,豪华间有时不足,有时剩余,商务间客房总有剩余,此时若采用打折优惠的方法鼓励部分客户改变原来的需求,选择其他价位的客房,能够给酒店带来更多的收入。同第二问一样,折扣优惠分三种情况:a.考虑商务间预订需求;b.不考虑商务间、豪华间需求;c.考虑商务间预订需求,不考虑豪华间需求。a情况中又分为a.1完全满足豪华间需求,a.2不完全满足豪华间需求两种情况。这里将逐一讨论。

4.3.1模型一

模型一是寻求在满足商务间客户需求的情况下折扣优惠策略的最优方案。模型一又分为完全满足豪华间需求和不完全满足豪华间需求。

4.3.1.1完全满足豪华间需求

此模型是在满足商务间客户需求下将剩余的商务间进行折扣优惠处理。将剩余的商务间分配给豪华间以满足豪华间周二、周三的需求后,再将剩余的商务间分配给标准间以满足标准间需求,同时将周五、周六、周日剩余的豪华间分配给标准间以满足标准间需求。

4.3.1.1.1模型建立

记预订标准间同时也分配了标准间从第i天入住到第j天的房间数为X1ij;预订标准间而分配商务间从第i天入住到第j天的房间数为X21ij、预订标准间而分配豪华间从第i天入住到第j天的房间数为X31ij,预订商务间而分配商务间从第i天入住到第j天的房间数为X2ij,预订豪华间而分配豪华间从第i天入住到第j天的房间数为X3ij,预订豪华间而分配商务间从第i天入住到第j天的房间数为X23ij,设折扣因子为a,为是计算简便,令a=0.9。以这些为决策变量、最大收入为目标建立整数线性规划模型:

Max=∑7i,jBJ1ijX1ij+aBJ2ijX21ij+aBJ3ijX31ij+BJ2ijX2ij+BJ3ijX3ij+aBJ2ijX23ij i,j=1,2L6 (1)

14

X1ij+X21ij+X31ij≤YS1ij i,j=1,2…7 (2) X2ij≤YS2ij i,j=1,2L6 (3) X3ij+X23ij≤YS3ij i,j=1,2L6

i,j

i,j

i,j

(4)

∑X1nj+∑X21nj+∑X31nj≤TS1i\"’ n≤i≤j i,j,n=1,2…7 (5) ∑X2nj≤TS2i\"‘ n≤i≤j i,j,n=1,2…7 (6)

i,j

∑X3nj+∑X23nj≤TS3i\"’ n≤i≤j i,j,n=1,2…7 (7)

i,j

i,j

∑X1nj≤TS1i n≤i≤j i,j,n=1,2…7 (8)

i,j

∑X2nj+∑X21nj+∑X23nj≤TS2i n≤i≤j i,j,n=1,2…7 (9)

i,j

i,j

i,j

∑X3nj+∑X31nj≤TS3i n≤i≤j i,j,n=1,2…7 (10)

i,j

i,j

X1ij,X2ij,X3ij,X31ij,X21ij,X23ij≥0 整数 (11)

其中(1)为目标函数;(2)为约束条件表示需要标准间而分配标准间、商务间、豪华间三类客房的总和不超出对标准间的需求;约束(3)是表示商务间的分配量不应超过对商务间的需求;约束(4)表示需要豪华间而分配商务间、豪华间的总和应小于其需求量;约束(5)、(6)、(7)分别表示在折扣升级策略模型一中且豪华间需求完全满足时标准间、商务间、豪华间总的分配量应小于新的提供量即TS1i \"‘、TS2i \"’、TS3i‘’‘。约束(8)、(9)、(10)分别表示标准间、商务间、豪华间总的分配量应小于最初旅店提供量即TS1i、TS2i、TS3i;约束(11)表示分配量应为正整数。

其中TS1i \"‘表示在折扣升级策略模型一中且豪华间需求完全满足时每天标准间的可提供,即没有升级时标准间每天可供量和在满足自身要求以及豪华间要求后每天剩余商务间量与满足自身要求后每天剩余豪华间量的总和,TS2i \"’指在折扣升级策略模型一中且豪华间需求完全满足时每天商务间的可供量,即等于每天客户要求量之和,TS3i‘’‘指在折扣升级策略模型一中且豪华间需求完全满足时每天豪华间的可供量,即等于每天客户要求量之和,如表19。

升级时 标准间提供量 商务间提供量

星期一 星期二 星期三 星期四 星期五 星期六 星期日 128 52

172 87

175 102

15

215 93

180 95

171 107

224 54

豪华间提供量 5 9 11 8 3 0 0

4.3.1.1.2模型求解

利用LINGO软件进行求解。得到收入最优值是1527674元,其中标准间、商务间、豪华间的分配见表20、表21、表22。

表20 折扣升级策略模型一中豪华间需求完全满足时标准间分配方案 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日 0,2,0

0,20,0 0,5,0

6,0,0 0,0,0

10,0,0 8,0,0

9,6,0 18,0,0 7,0,0 10,0,0 10,0,0 19,1,0 6,0,0

6,0,0 22,8,0

12.0.0 17,0,0

0,0,0

0,0,0 12,0,0 15,4,0 0,0,0

0,0,0 16,0,4 18,0,0 7,0,3

0,12,0

注:客房分配中a,b,c表示分配标准间的房间数,将商务间按对标准间的需

求分配的房间数,将豪华间按对标准间的需求分配的房间数。如0,2,0表示,分配0间标准间和2间商务间,与0间豪华间;总共分配2间房给标准间。

表21 折扣升级策略模型一中豪华间需求完全满足时商务间分配方案 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日 12

8 9

6 12 12

10 10 7 8

5 9 6 7 5

4 5 5 5 8 26

7 2 2 1 24 18 0

表22 折扣升级策略模型一中豪华间需求完全满足时豪华间分配方案

星期一 星期二 星期三 星期四 星期五 星期六 星期日 1,0

1,0 1,0

2,0 0,1

16

星期一 星期二

1,0 1,0

0,0 2,0

0,0 0,0

0,0 0,0

星期三 星期四 星期五 星期六 星期日

0,1

1,1 1,0

1,0 0,0 0,0

0,0 0,0 0,0 0,0

0,0 0,0 0,0 0,0 0,0

注:客房分配中a,b表示分配豪华间的房间数,将商务间按对豪华间的需求

分配的房间数。如1,0表示,分配1间豪华间和0间商务间;总共分配1间房给豪华间。

4.3.1.2 不完全满足豪华间需求

此模型是在满足商务间客户需求下将剩余的商务间分配给标准间以满足标准间需求,同时将周五、周六、周日剩余的豪华间分配给标准间以满足标准间需求。

4.3.1.2.1 模型建立

记预订标准间同时也分配了标准间从第i天入住到第j天的房间数为X1ij;预订标准间而分配商务间从第i天入住到第j天的房间数为X21ij、预订标准间而分配豪华间从第i天入住到第j天的房间数为X31ij,预订商务间而分配商务间从第i天入住到第j天的房间数为X2ij,预订豪华间而分配豪华间从第i天入住到第j天的房间数为X3ij,设折扣因子为a,为使计算简便,令a=0.9。以这些为决策变量、最大收入为目标建立整数线性规划模型:

Max=∑i,jBJ1ijX1ij+aBJ2ijX21ij+aBJ3ijX31ij+BJ2ijX2ij+BJ3ijX3ij i,j=1,2L7 (1) X1ij+X21ij+X31ij≤YS1ij i,j=1,2L6 (2) X2ij≤YS2ij i,j=1,2L6 (3) X3ij≤YS3ij i,j=1,2L6 (4) ∑X1nj+∑X21nj+∑X31nj≤TS1i\"\" n≤i≤j i,j,n=1,2L7 (5)

i,j

i,j

i,j

∑X2nj≤TS2i\"\" n≤i≤j i,j,n=1,2L7 (6)

i,j

∑X3nj≤TS3i\"\" n≤i≤j i,j,n=1,2L7 (7)

i,j

∑X1nj≤TS1i n≤i≤j i,j,n=1,2L7 (8)

i,j

17

∑X2nj+∑X21nj≤TS2i n≤i≤j i,j,n=1,2L7 (9)

i,j

i,j

∑X3nj+∑X31nj≤TS3i n≤i≤j i,j,n=1,2L7 (10)

i,j

i,j

X1ij,X2ij,X3ij,X31ij,X21ij≥0 整数 (11)

其中(1)为目标函数;(2)为约束条件表示需要标准间而分配标准间、商务间、豪华间三类客房的总和不超出对标准间的需求;约束(3)是表示商务间的分配量不应超过对商务间的需求;约束(4)表示豪华间的分配量不应超过对豪华间的需求;约束(5)、(6)、(7)分别表示在折扣升级策略模型一中且豪华间需求不完全满足时标准间、商务间、豪华间总的分配量应小于新的提供量即TS1i\"\"、TS2i\"\"、TS3i\"\"。约束(8)、(9)、(10)分别表示标准间、商务间、豪华间总的分配量应小于最初旅店提供量即TS1i、TS2i、TS3i;约束(11)表示分配量应为正整数。

其中TS1i\"\"表示在折扣升级策略模型一中且豪华间需求不完全满足时每天标准间的可提供,即没有升级时标准间每天可供量和每天剩余的商务间可供量和每天剩余的豪华间可供量的总和,TS2i\"\"指在折扣升级策略模型一中且豪华间需求不完全满足时每天商务间的可供量,即等于每天客户要求量之和,TS3i\"\"指在折扣升级策略模型一中且豪华间需求不完全满足时每天豪华间的可供量,即周一至周四为最初旅店可供量,周五至周日为客户要求量之和。如表23。

星期

星期二 173 87 8

星期三 178 102 8

星期四 215 93 8

星期五 180 95 3

星期六 171 107 0

星期日 224 54 0

一 128 52 5

升级时标准间提供量 升级时商务间提供量 升级时豪华间提供量 4.3.1.2.2模型求解

利用LINGO软件进行求解。得到收入最优值是1526499元,其中标准间、商务间、豪华间的分配见表24、表25、表26。

表24:标准间分配量 星期一

星期一

0,0,2

星期二 星期三

0,20,0

6,0,0

18

星期四

10,0,0

星期五

9,6,0

星期六

18,0,0

星期日

7,0,0

星期二 星期三 星期四 星期五 星期六 星期日

0,5,0

0,0,0 12,0,0

8,0,0 17,0,0 0,0,0

10,0,0 6,0,0 0,6,0 0,0,0

10,0,0 9,0,0 9,0,0 0,0,0 18,0,0

18,2,0 20,10,0 18,1,1 16,0,4 7,0,3 0,12,0

注:客房分配中a,b,c表示分配标准间的房间数,将商务间按对标准间的需求分配的房间数,将豪华间按对标准间的需求分配的房间数。如0,0,2表示,分配0间标准间和0间商务间,与2间豪华间;总共分配2间房给标准间。

表25:商务间分配量 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一

12

星期二

8 9

星期三

6 12 12

星期四

10 10 7 8

星期五

5 9 6 7 5

星期六

4 5 5 5 8 26

星期日

7 2 2 1 24 18 0

表26:豪华间分配量 星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一

1

星期二 星期三

1 1

星期四

1 1 1 1

星期五

0 2 1 0 0

星期六

0 0 0 0 0 0

星期日

0 0 0 0 0 0 0

2 0 0

通过对模型一中的这两种情况进行比较得出,完全满足豪华间需求量最优值为1527674元,较不完全满足豪华间需求量最优值(1526499元),增长了0.0769%

19

4.3.2模型二

模型二是寻求在不考虑商务间、豪华间客户需求下折扣优惠策略的最优分配方案。

4.3.2.1模型建立

记预订标准间同时也分配了标准间从第i天入住到第j天的房间数为X1ij;预订标准间而分配商务间从第i天入住到第j天的房间数为X21ij、预订标准间而分配豪华间从第i天入住到第j天的房间数为X31ij,预订商务间而分配商务间从第i天入住到第j天的房间数为X2ij,预订商务间而分配标准间从第i天入住到第j天的房间数为X12ij,预订商务间而分配豪华间从第i天入住到第j天的房间数为X32ij,预订豪华间而分配豪华间从第i天入住到第j天的房间数为X3ij,预订豪华间而分配商务间从第i天入住到第j天的房间数为X23ij,预订豪华间而分配标准间从第i天入住到第j天的房间数为X13i。设折扣因子为a,为是计算简便,令a=0.9。以这些为决策变量、最大收入为目标建立整数线性规划模型:

max=∑i,jBJ1ijX1ij+aBJ2ijX21ij+aBJ3ijX31ij+BJ2ijX2ij+aBJ1ijX12ij+aBJ3ijX32ij+BJ3ijX3ij+aBJ1ijX13ij+aBJ2ijX23ij i,j=1,2L7(1)

X1ij+X21ij+X31ij≤YS1ij i,j=1,2L7 (2)

X2ij+X12ij+X32ij≤YS2ij i,j=1,2L7 (3)

X3ij+X13ij+X23ij≤YS3ij i,j=1,2L7 (4) ∑X1nj+∑X12nj+∑X13nj≤TS1i n≤i≤j i,j,n=1,2L7 (5)

i,j

i,j

i,j

∑X2nj+∑X21nj+∑X23nj≤TS2i n≤i≤j i,j,n=1,2L7 (6)

i,j

i,j

i,j

∑X3nj+∑X31nj+∑X32nj≤TS3i n≤i≤j i,j,n=1,2L7 (7)

i,j

i,j

i,j

X1ij,X2ij,X3ij,X31ij,X21ij,X12ij,X32ij,X23ij,X13ij≥0 整数 (8)

其中(1)为目标函数;(2)为约束条件表示需要标准间而分配标准间、商务间、豪华间三类客房的总和不超出对标准间的需求;约束(3)是表示需要商

20

务间而分配标准间、商务间、豪华间三类客房不应超过对商务间的需求;约束(4)表示需要豪华间而分配标准间、商务间、豪华间的总和应小于其需求量;约束(5)、(6)、(7)分别表示标准间、商务间、豪华间每天总的分配量应小于每天旅店提供量即;约束(8)表示分配量应为正整数。 4.3.2.2模型求解

利用LINGO软件进行求解得到目标最优值是1538074元。三类客房的最优分配方案如表25、表26、表27。

表25标准间分配方案

星期一

星期一 星期二

星期三

星期四

星期五

星期六

星期日

0,10,2

18,0,0 0,7,3

0,0,0

0,0,0 10,7,3

0,0,0

5,1,0 15,0,0 20,0,0

12,0,0 17,0,0 14,0,0 9,0,0 4,26,0

星期二

星期三

星期四

星期五

星期六

星期日

0,2,0 0,20,0 6,0,0 10,0,0 15,0,0 18,0,0 7,0,0

0,5,0

0,0,0

8,0,0 10,0,0 10,0,0 13,7,0

注:客房分配中a,b,c表示分配标准间的房间数,将商务间按对标准间的需求分配的房间数,将豪华间按对标准间的需求分配的房间数。如0,2,0表示,分配0间标准间和2间商务间,与0间豪华间;总共分配2间房给标准间。

表26商务见分配方案

星期一 星期二 星期三 星期四 星期五 星期六 星期日

星期一 12,0,0

星期二 8,0,0 9,0,0

星期三 6,0,0 12,0,0 0,0,5

星期四 10,0,0 10,0,0 7,0,0 6,0,2

星期五 星期六 5,0,0 9,0,0 3,0,0 7,0,0 0,0,0

4,0,0 5,0,0 5,0,0 3,2,0 2,0,0 0,0,26

星期日 7,0,0 2,0,0 2,0,0 1,0,0 24,0,0 18,0,0 0,0,0

注:客房分配中a,b,c表示分配商务间的房间数,将豪华间按对商务间的需

21

求分配的房间数,将标准间按对商务间的需求分配的房间数。如12,0,0表示,分配0间标准间和12间商务间,与0间豪华间;总共分配12间房给商务间

表27豪华间分配方案

星期一 1,0,0 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二 星期三 星期四 星期五 星期六 星期日

1,0,0 0,0,1

2,0,0 1,0,0 0,0,0

1,0,0 1,0,0 0,2,0 1,0,0

0,0,0 2,0,0 1,0,0 0,0,0 0,0,0

0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0

0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0

注:客房分配中a,b,c表示分配豪华间的房间数,将标准间按对豪华间的需

求分配的房间数,将商务间按对豪华间的需求分配的房间数。如1,0,0表示,分配0间标准间和0间商务间,与1间豪华间;总共分配1间房给豪华间 4.3.3模型三

模型三是寻求在考虑商务间,不考虑豪华间客户需求下折扣优惠策略的最优分配方案。 4.3.3.1模型建立

记预订标准间同时也分配了标准间从第i天入住到第j天的房间数为X1ij;预订标准间而分配商务间从第i天入住到第j天的房间数为X21ij、预订标准间而分配豪华间从第i天入住到第j天的房间数为X31ij,预订商务间而分配商务间从第i天入住到第j天的房间数为X2ij,预订商务间而分配标准间从第i天入住到第j天的房间数为X12ij,预订商务间而分配豪华间从第i天入住到第j天的房间数为X32ij,预订豪华间而分配豪华间从第i天入住到第j天的房间数为X3ij,预订豪华间而分配商务间从第i天入住到第j天的房间数为X23ij,预订豪华间而分配标准间从第i天入住到第j天的房间数为X13i。设折扣因子为a,为是计算简便,令a=0.9。以这些为决策变量、最大收入为目标建立整数线性规划模型:

max=∑7i,jBJ1ijX1ij+aBJ2ijX21ij+aBJ3ijX31ij+BJ2ijX2ij+

22

aBJ3ijX32ij+BJ3ijX3ij i,j=1,2L7 (1)

X1ij+X21ij+X31ij≤YS1ij X2ij+X32ij≤YS2ij i,j=1,2L

X3ij≤YS3ij

i,j=1,2L7 (4) i,j=1,2…7 (2)

(3)

∑X1nj+∑X21nj≤TS1i”“’ n≤i≤j i,j,n=1,2…7 (5)

i,j

i,j

∑X2nj≤TS2i ”“‘ n≤i≤j i,j,n=1,2…7 (6)

i,j

∑X3nj+∑X31nj+∑X32nj≤TS3i ”“′ n≤i≤j i,j,n=1,2…7 (7)

i,j

i,j

i,j

∑X1nj≤TS1i n≤i≤j i,j,n=1,2…7 (8)

i,j

∑X2nj+∑X21nj≤TS2i n≤i≤j i,j,n=1,2…7 (9)

i,j

i,j

∑X3nj+∑X31nj+∑X32nj≤TS3i n≤i≤j i,j,n=1,2…7 (10)

i,j

i,j

i,j

X1ij,X2ij,X3ij,X31ij,X21ij,X12ij,X32ij,X23ij,X13ij≥0 整数 (11) 其中(1)为目标函数;(2)为约束条件表示需要标准间而分配标准间、商务间、豪华间三类客房的总和不超出对标准间的需求;约束(3)是表示需要商务间而分配商务间、豪华间的总和不应超过对商务间的需求;约束(4)表示豪华间的分配量不应超过对豪华间的需求;约束(5)、(6)、(7)分别表示在折扣升级策略模型三中标准间、商务间、豪华间总的分配量应小于新的提供量即TS1i”“’、TS2i ”“‘ 、TS3i ”“′。约束(8)、(9)、(10)分别表示标准间、商务间、豪华间总的分配量应小于最初旅店提供量即TS1i、TS2i、TS3i;约束(11)表示分配量应为正整数。

23

其中TS1i”“’表示在折扣升级策略模型三中每天标准间的可提供,即没有升级时标准间每天可供量和每天剩余的商务间可供量的总和,TS2i\"\"′指在折扣升级策略模型三中每天商务间的可供量,即等于每天客户要求量之和,TS3i\"\"′指在折扣升级策略模型三中每天豪华间的可供量,即最初时旅店提供量。如表27。

升级时 标准间提供量 商务间提供量 豪华间提供量 4.3.3.2模型求解

利用LINGO软件进行求解得到目标最优值是1527105元。三类客房的最优分配方案如表28、表29、表30

表28标准间分配量

星期一 0,2,0 星期二 星期三 星期四 星期五 星期六 星期日

星期一 星期二

0,20,0 0,5,0

星期三 6,0,0 0,0,0 12,0,0

星期四 10,0,0 8,0,0 17,0,0 0,0,0

星期五 9,6,0 10,0,0 8,0,0 0,6,0 0,0,0

星期六 18,0,0 10,0,0 7,0,0 11,0,0 0,0,0 18,0,0

星期日 7,0,0 18,2,0 20,10,0 17,1,2 15,0,5 9,0,1 0,12,0

星期一 星期二 星期三 星期四 星期五 星期六 星期日 128 52 5

173 87 8

178 102 8

215 93 8

175 95 8

163 107 8

216 54 8

注:客房分配中a,b,c表示分配标准间的房间数,将商务间按对标准间的需

求分配的房间数,将豪华间按对标准间的需求分配的房间数。如0,2,0表示,分配0间标准间和2间商务间,与0间豪华间;总共分配2间房给标准间

表29:商务间分配量 星期一 星期二 星期三 星期四

星期一

12,0

星期二

8,0 9,0

星期三

6,0 12,0 12,0

24

星期四

10,0 10,0 7,0 8,0

星期五

5,0 9,0 6,0 7,0

星期六

4,0 5,0 5,0 5,0

星期日

7,0 2,0 2,0 1,0

星期五 星期六 星期日

5,0

8,0 26,0

24,0 18,0 0,0

注:客房分配中a,b表示分配商务间的房间数,将豪华间按对商务间的需求分配的房间数。如12,0表示,分配0间豪华间和12间商务间;总共分配12间房给商务间。

表30:豪华间分配量 星期一 星期二

星期一

1

星期二

1 1

星期三

2 1 0

星期四

1 1 2 1

星期五

0 1 0 0 0

星期六

0 0 0 0 0 0

星期日

0 0 0 0 0 0 0

星期三

星期四

星期五

星期六

星期日

通过模型一(在考虑商务间、豪华间客户需求时的折扣优惠策略)、模型二(不考虑商务间、豪华间客户需求时的折扣优惠策略)和模型三(考虑商务间客户需求量,不考虑豪华间客户需求量)对比,发现在折扣因子都是0.9时,模型一的最高收入是1527674元,模型二的收入是1538074元,模型三的收入是1527105元,模型二收入最高,较模型一增长0.681%,较模型3增长0.718%。 4.4三种策略收入分析

以上分别寻求了常规策略、免费升级策略、折扣优惠策略下的最优方案,计算出不同策略下酒店的最大收入,如下所示: 常规策略:1407503元

免费升级策略:不考虑商务间、豪华间客户需求时去的最大收入为1496845元 折扣升级策略:不考虑商务间、豪华间客户需求时去的最大收入为1527105元

综上所述比较三种策略下的最优分配方案和酒店最大收入发现,免费升级策略和折扣优惠策略解决了客房资源紧张状况,能够为酒店带来比常规策略更多的收入。不优先考虑商务间、豪华间需求时的免费升级策略和折扣优惠策略带来的

25

收入均比优先考虑商务间、豪华间需求时高,单就收入最大化而言在商务间满足需求时不优先考虑商务间、豪华间需求时可取的,但同时也必将降低客户对商务间、豪华间的满意度。

五、模型评价

应该指出,由上面这些模型得到的分配方案只考虑了客户需求和房间的可供应量这两个约束,实际问题可能还有其他的条件,例如,客户中途退房的情况,房间内部设施损坏不适宜入住的情况等。另外,当制订的分配方案不能完全满足客户需求时,客户可能会不接受酒店的安排,因此会临时改变原来住宿的需求,这就需要根据现实情况反复调整,并且采用各种策略与客户磋商,争取达到双方满意的结果,保住客源的同时,尽力实现利润最大化。

参考文献:

[1] 谢金星、薛毅,优化建模与LINDO/LINGO软件:清华大学出版社,北京2006.6. [2] 司守奎、孙玺菁,数学建模算法与应用:国防工业出版社,北京:2011. [3] 宋来忠,王志明,数学建模与实验,北京:科学出版社,2005. [4] 韩中庚,数学建模方法及其应用,北京:高等教育出版社,2006. 附录: 代码1

model: sets:

Date1..7/:TS1,TS2,TS3;

links(Date,Date):YS1,FS1,BJ1,YS2,FS2,BJ2,YS3,FS3,BJ3; endsets data:

BJ1=888 1680 2530 3197 3996 4795 4973 0 888 1680

2530

3197

3996

4262

26

0 0 888 1680 2530 3374 3552

0 0 0 888 1776 2664 3197

0 0 0 0 999 1998 2697

0 0 0 0 0 999 1680 0 0 0 0 0 0 888;

BJ2=1100 2200 3000 4000 5000 5800 6000 0 1100 2200 3000 4000 5000 5800 0 0 1100 2200 3000 4000 5000 0 0 0 1100 2200 3000 4000 0 0 0 0 1200 2400 3300 0 0 0 0 0 1200 2300 0 0 0 0 0 0 1100;

BJ3=1500 2900 4200 5400 6600 7800 8200 0 1500 2900 4200 5400 6600 7700 0 0 1500 2900 4500 5400 6600 0 0 0 1500 3000 4400 5400 0 0 0 0 1500 3000 4400 0 0 0 0 0 1500 2900 0 0 0 0 0 0 1500;

YS1=2 20 6 10 15 18 7 0 5 0 8 10 10 20 0 0 12 17 14 9 30 0 0 0 0 6 15 20 0 0 0 0 30 27 20 0 0 0 0 0 18 10 0 0 0 0 0 0 12; YS2=12 8 6 10 5 4 7 0 9 12 10 9 5 2

27

0 0 12 7 6 5 2 0 0 0 8 7 5 1 0 0 0 0 5 8 24 0 0 0 0 0 26 18 0 0 0 0 0 0 0 ; YS3=1 1 2 1 0 0 0 0 1 1 1 2 0 0 0 0 1 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;

TS1=100 140 160 188 150 150 150; TS2=80 120 120 120 120 120 120 ; TS3=5 8 8 8 8 8 8 ; enddata

@for(Date(i):@sum(links(n,j)|n#le#i#and #j#ge#i:FS1(n,j))<=TS1(i)); @for(Date(i):@sum(links(n,j)|n#le#i#and #j#ge#i:FS2(n,j))<=TS2(i)); @for(Date(i):@sum(links(n,j)|n#le#i#and #j#ge#i:FS3(n,j))<=TS3(i));; @for(links(i,j):FS1(i,j)<=YS1(i,j)); @for(links(i,j):FS2(i,j)<=YS2(i,j)); @for(links(i,j):FS3(i,j)<=YS3(i,j));!

max=@sum(links(i,j):BJ1(i,j)*FS1(i,j)+BJ2(i,j)*FS2(i,j)+BJ3(i,j)*FS3(i,j));

@for(links(i,j):@gin(FS1(i,j))); @for(links(i,j):@gin(FS2(i,j))); @for(links(i,j):@gin(FS3(i,j))); end

代码2.1

28

I: model: sets:

w/1..7/:TS,ts2,ts3;

links(w,w):YS,x1,BJ,ys2,x2,bj2,ys3,x3,bj3,x21,x31; endsets data:

BJ=888 1680 2530 3197 3996 4795 4973 0 888 1680

2530

3197

3996

4262

0 0 888 1680 2530 3374 3552

0 0 0 888 1776 2664 3197

0 0 0 0 999 1998 2697

0 0 0 0 0 999 1680 0 0 0 0 0 0 888;

bj2=1100 2200 3000 4000 5000 5800 6000 0 1100 2200 3000 4000 5000 5800 0 0 1100 2200 3000 4000 5000 0 0 0 1100 2200 3000 4000 0 0 0 0 1200 2400 3300 0 0 0 0 0 1200 2300 0 0 0 0 0 0 1100;

bj3=1500 2900 4200 5400 6600 7800 8200 0 1500 2900 4200 5400 6600 7700 0 0 1500 2900 4500 5400 6600 0 0 0 1500 3000 4400 5400 0 0 0 0 1500 3000 4400 0 0 0 0 0 1500 2900 0 0 0 0 0 0 1500;

29

YS=2 20 6 10 15 18 7

0 5 0 8 10 10 20 0 0 12 17 14 9 30 0 0 0 0 6 15 20 0 0 0 0 30 27 20 0 0 0 0 0 18 10 0 0 0 0 0 0 12; ys2=12 8 6 10 5 4 7 0 9 12 10 9 5 2 0 0 12 7 6 5 2 0 0 0 8 7 5 1 0 0 0 0 5 8 24 0 0 0 0 0 26 18 0 0 0 0 0 0 0 ; ys3=1 1 2 1 0 0 0 0 1 1 1 2 0 0 0 0 1 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;

TS=128 173 178 215 180 171 224; ts2=52 87 102 93 95 107 54 ; ts3=5 8 8 8 3 0 0 ; enddata

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x1(n,j)+x21(n,j))<=TS(i));

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x2(n,j))<=TS2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and

30

#j#ge#i:x3(n,j)+x31(n,j))<=TS3(i));

@for(links(i,j):x1(i,j)+x21(i,j)+x31(i,j)<=YS(i,j)); @for(links(i,j):x2(i,j)<=YS2(i,j)); @for(links(i,j):x3(i,j)<=YS3(i,j));

max=@sum(links(i,j):BJ(i,j)*x1(i,j)+BJ(i,j)*x21(i,j)+BJ(i,j)*x31(i,j)+bj2(i,j)*x2(i,j)+bj3(i,j)*x3(i,j)); @for(links(i,j):@gin(x1(i,j))); @for(links(i,j):@gin(x2(i,j))); @for(links(i,j):@gin(x3(i,j))); @for(links(i,j):@gin(x21(i,j))); @for(links(i,j):@gin(x31(i,j))); end

代码2.2

model: sets:

w/1..7/:TS,ts2,ts3;

links(w,w):YS,x1,BJ,ys2,x21,bj2,ys3,x31,bj3,x2,x32,x3; endsets data:

BJ=888 1680 2530 3197 3996 4795 4973 0 888 1680

2530

3197

3996

4262

0 0 888 1680 2530 3374 3552

0 0 0 888 1776 2664 3197

0 0 0 0 999 1998 2697

0 0 0 0 0 999 1680 0 0 0 0 0 0 888;

bj2=1100 2200 3000 4000 5000 5800 6000 0 1100 2200 3000 4000 5000 5800

31

0 0 1100 2200 3000 4000 5000 0 0 0 1100 2200 3000 4000 0 0 0 0 1200 2400 3300 0 0 0 0 0 1200 2300 0 0 0 0 0 0 1100;

bj3=1500 2900 4200 5400 6600 7800 8200 0 1500 2900 4200 5400 6600 7700 0 0 1500 2900 4500 5400 6600 0 0 0 1500 3000 4400 5400 0 0 0 0 1500 3000 4400 0 0 0 0 0 1500 2900 0 0 0 0 0 0 1500; YS=2

20 6 10 15 18 7

0 5 0 8 10 10 20 0 0 12 17 14 9 30 0 0 0 0 6 15 20 0 0 0 0 30 27 20 0 0 0 0 0 18 10 0 0 0 0 0 0 12; ys2=12 8 6 10 5 4 7 0 9 12 10 9 5 2 0 0 12 7 6 5 2 0 0 0 8 7 5 1 0 0 0 0 5 8 24 0 0 0 0 0 26 18 0 0 0 0 0 0 0 ; ys3=1 1 2 1 0 0 0 0 1 1 1 2 0 0

32

0 0 1 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;

TS=100 140 160 188 150 150 150; ts2=80 120 120 120 120 120 120; ts3=5 8 8 8 8 8 8 ; enddata

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x1(n,j))<=TS(i)); @for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x2(n,j)+x21(n,j))<=TS2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x3(n,j)+x31(n,j)+x32(n,j))<=TS3(i));

@for(links(i,j):x1(i,j)+x21(i,j)+x31(i,j)<=YS(i,j)); @for(links(i,j):x2(i,j)+x32(i,j)<=YS2(i,j)); @for(links(i,j):x3(i,j)<=YS3(i,j));

max=@sum(links(i,j):BJ(i,j)*x1(i,j)+BJ(i,j)*x21(i,j)+BJ(i,j)*x31(i,j)+bj2(i,j)*x2(i,j)+bj2(i,j)*x32(i,j)+bj3(i,j)*x3(i,j)); @for(links(i,j):@gin(x1(i,j))); @for(links(i,j):@gin(x21(i,j))); @for(links(i,j):@gin(x31(i,j))); @for(links(i,j):@gin(x2(i,j))); @for(links(i,j):@gin(x32(i,j))); @for(links(i,j):@gin(x3(i,j))); end

代码2.3

model: sets:

33

w/1..7/:TS,ts2,ts3;

links(w,w):YS,x1,BJ,ys2,bj2,ys3,x31,bj3,x2,x32,x3,x21; endsets data:

BJ=888 1680 2530 3197 3996 4795 4973 0 888 1680

2530

3197

3996

4262

0 0 888 1680 2530 3374 3552

0 0 0 888 1776 2664 3197

0 0 0 0 999 1998 2697

0 0 0 0 0 999 1680 0 0 0 0 0 0 888;

bj2=1100 2200 3000 4000 5000 5800 6000 0 1100 2200 3000 4000 5000 5800 0 0 1100 2200 3000 4000 5000 0 0 0 1100 2200 3000 4000 0 0 0 0 1200 2400 3300 0 0 0 0 0 1200 2300 0 0 0 0 0 0 1100;

bj3=1500 2900 4200 5400 6600 7800 8200 0 1500 2900 4200 5400 6600 7700 0 0 1500 2900 4500 5400 6600 0 0 0 1500 3000 4400 5400 0 0 0 0 1500 3000 4400 0 0 0 0 0 1500 2900 0 0 0 0 0 0 1500; YS=2

20 6 10 15 18 7

0 5 0 8 10 10 20

34

0 0 12 17 14 9 30 0 0 0 0 6 15 20 0 0 0 0 30 27 20 0 0 0 0 0 18 10 0 0 0 0 0 0 12; ys2=12 8 6 10 5 4 7 0 9 12 10 9 5 2 0 0 12 7 6 5 2 0 0 0 8 7 5 1 0 0 0 0 5 8 24 0 0 0 0 0 26 18 0 0 0 0 0 0 0 ; ys3=1 1 2 1 0 0 0 0 1 1 1 2 0 0 0 0 1 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;

TS=128 173 178 215 175 163 216; ts2=52 87 102 93 95 107 54; ts3=5 8 8 8 8 8 8 ; enddata

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x1(n,j)+x21(n,j))<=TS(i));

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x2(n,j))<=TS2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x3(n,j)+x31(n,j)+x32(n,j))<=TS3(i));

@for(links(i,j):x1(i,j)+x21(i,j)+x31(i,j)<=YS(i,j));

35

@for(links(i,j):x2(i,j)+x32(i,j)<=YS2(i,j)); @for(links(i,j):x3(i,j)<=YS3(i,j));

max=@sum(links(i,j):BJ(i,j)*x1(i,j)+BJ(i,j)*x31(i,j)+BJ(i,j)*x21(i,j)+bj2(i,j)*x2(i,j)+bj2(i,j)*x32(i,j)+bj3(i,j)*x3(i,j)); @for(links(i,j):@gin(x1(i,j))); @for(links(i,j):@gin(x31(i,j))); @for(links(i,j):@gin(x21(i,j))); @for(links(i,j):@gin(x2(i,j))); @for(links(i,j):@gin(x32(i,j))); @for(links(i,j):@gin(x3(i,j))); End

代码3.1.1

model: sets:

w/1..7/:TS,ts2,ts3,t1,t2,t3;

links(w,w):YS,x1,BJ,ys2,x2,bj2,ys3,x3,bj3,x21,x31,x23; endsets data:

BJ=888 1680 2530 3197 3996 4795 4973 0 888 1680

2530

3197

3996

4262

0 0 888 1680 2530 3374 3552

0 0 0 888 1776 2664 3197

0 0 0 0 999 1998 2697

0 0 0 0 0 999 1680 0 0 0 0 0 0 888;

bj2=1100 2200 3000 4000 5000 5800 6000 0 1100 2200 3000 4000 5000 5800 0 0 1100 2200 3000 4000 5000

36

0 0 0 1100 2200 3000 4000 0 0 0 0 1200 2400 3300 0 0 0 0 0 1200 2300 0 0 0 0 0 0 1100;

bj3=1500 2900 4200 5400 6600 7800 8200 0 1500 2900 4200 5400 6600 7700 0 0 1500 2900 4500 5400 6600 0 0 0 1500 3000 4400 5400 0 0 0 0 1500 3000 4400 0 0 0 0 0 1500 2900 0 0 0 0 0 0 1500; YS=2

20 6 10 15 18 7

0 5 0 8 10 10 20 0 0 12 17 14 9 30 0 0 0 0 6 15 20 0 0 0 0 30 27 20 0 0 0 0 0 18 10 0 0 0 0 0 0 12; ys2=12 8 6 10 5 4 7 0 9 12 10 9 5 2 0 0 12 7 6 5 2 0 0 0 8 7 5 1 0 0 0 0 5 8 24 0 0 0 0 0 26 18 0 0 0 0 0 0 0 ; ys3=1 1 2 1 0 0 0 0 1 1 1 2 0 0 0 0 1 2 1 0 0

37

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;

TS=128 172 175 215 180 171 224; ts2=52 87 102 93 95 107 54 ; ts3=5 9 11 8 3 0 0 ;

t1=100 140 160 188 150 150 150; t2=80 120 120 120 120 120 120 ; t3=5 8 8 8 8 8 8 ; enddata

@for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x1(n,j)+x21(n,j)+x31(n,j))<=TS(i));

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x2(n,j))<=ts2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x3(n,j)+x23(n,j))<=ts3(i));

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x1(n,j))<=t1(i)); @for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x2(n,j)+x21(n,j)+x23(n,j))<=t2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x3(n,j)+x31(n,j))<=t3(i));

@for(links(i,j):x1(i,j)+x21(i,j)+x31(i,j)<=YS(i,j)); @for(links(i,j):x2(i,j)<=ys2(i,j));

@for(links(i,j):x3(i,j)+x23(i,j)<=ys3(i,j));

max=@sum(links(i,j):BJ(i,j)*x1(i,j)+bj2(i,j)*x21(i,j)*0.9+bj3(i,j)*x31(i,j)*0.9+bj2(i,j)*x2(i,j)+bj3(i,j)*x3(i,j)+0.9*bj2*x23(i,j)); @for(links(i,j):@gin(x1(i,j))); @for(links(i,j):@gin(x2(i,j))); @for(links(i,j):@gin(x3(i,j)));

38

@for(links(i,j):@gin(x31(i,j))); @for(links(i,j):@gin(x21(i,j))); @for(links(i,j):@gin(x23(i,j))); End

代码3.1.2

model: sets:

w/1..7/:ts1,ts2,ts3,t1,t2,t3;

links(w,w):ys1,x1,bj1,ys2,x2,bj2,ys3,x3,bj3,x21,x31; endsets data:

bj1=888 1680 2530 3197 3996 4795 4973 0 888 1680

2530

3197

3996

4262

0 0 888 1680 2530 3374 3552

0 0 0 888 1776 2664 3197

0 0 0 0 999 1998 2697

0 0 0 0 0 999 1680 0 0 0 0 0 0 888;

bj2=1100 2200 3000 4000 5000 5800 6000 0 1100 2200 3000 4000 5000 5800 0 0 1100 2200 3000 4000 5000 0 0 0 1100 2200 3000 4000 0 0 0 0 1200 2400 3300 0 0 0 0 0 1200 2300 0 0 0 0 0 0 1100;

bj3=1500 2900 4200 5400 6600 7800 8200 0 1500 2900 4200 5400 6600 7700 0 0 1500 2900 4500 5400 6600 0 0 0 1500 3000 4400 5400

39

0 0 0 0 1500 3000 4400 0 0 0 0 0 1500 2900 0 0 0 0 0 0 1500;

ys1=2 20 6 10 15 18 7 0 5 0 8 10 10 20 0 0 12 17 14 9 30 0 0 0 0 6 15 20 0 0 0 0 30 27 20 0 0 0 0 0 18 10 0 0 0 0 0 0 12; ys2=12 8 6 10 5 4 7 0 9 12 10 9 5 2 0 0 12 7 6 5 2 0 0 0 8 7 5 1 0 0 0 0 5 8 24 0 0 0 0 0 26 18 0 0 0 0 0 0 0 ; ys3=1 1 2 1 0 0 0 0 1 1 1 2 0 0 0 0 1 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;

ts1=128 173 178 215 180 171 224; ts2=52 87 102 93 95 107 54 ; ts3=5 8 8 8 3 0 0 ;

t1=100 140 160 188 150 150 150;

40

t2=80 120 120 120 120 120 120 ; t3=5 8 8 8 8 8 8 ; enddata

@for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x1(n,j)+x21(n,j)+x31(n,j))<=ts1(i));

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x2(n,j))<=ts2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x3(n,j))<=ts3(i)); @for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x1(n,j))<=t1(i)); @for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x2(n,j)+x21(n,j))<=t2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x3(n,j)+x31(n,j))<=t3(i));

@for(links(i,j):x1(i,j)+x21(i,j)+x31(i,j)<=ys1(i,j)); @for(links(i,j):x2(i,j)<=ys2(i,j)); @for(links(i,j):x3(i,j)<=ys3(i,j));

max=@sum(links(i,j):bj1(i,j)*x1(i,j)+bj2(i,j)*x21(i,j)*0.9+0.9*bj3(i,j)*x31(i,j)+bj2(i,j)*x2(i,j)+bj3(i,j)*x3(i,j)); @for(links(i,j):@gin(x1(i,j))); @for(links(i,j):@gin(x2(i,j))); @for(links(i,j):@gin(x3(i,j))); @for(links(i,j):@gin(x21(i,j))); @for(links(i,j):@gin(x31(i,j))); end

代码3.2

model: sets:

w/1..7/:TS,ts2,ts3;

links(w,w):YS,x1,BJ,ys2,x21,bj2,ys3,x31,bj3,x2,x32,x3,x12,x13,x23;

41

endsets data:

BJ=888 1680 2530 3197 3996 4795 4973 0 888 1680

2530

3197

3996

4262

0 0 888 1680 2530 3374 3552

0 0 0 888 1776 2664 3197

0 0 0 0 999 1998 2697

0 0 0 0 0 999 1680 0 0 0 0 0 0 888;

bj2=1100 2200 3000 4000 5000 5800 6000 0 1100 2200 3000 4000 5000 5800 0 0 1100 2200 3000 4000 5000 0 0 0 1100 2200 3000 4000 0 0 0 0 1200 2400 3300 0 0 0 0 0 1200 2300 0 0 0 0 0 0 1100;

bj3=1500 2900 4200 5400 6600 7800 8200 0 1500 2900 4200 5400 6600 7700 0 0 1500 2900 4500 5400 6600 0 0 0 1500 3000 4400 5400 0 0 0 0 1500 3000 4400 0 0 0 0 0 1500 2900 0 0 0 0 0 0 1500; YS=2

20 6 10 15 18 7

0 5 0 8 10 10 20 0 0 12 17 14 9 30 0 0 0 0 6 15 20 0 0 0 0 30 27 20

42

0 0 0 0 0 18 10 0 0 0 0 0 0 12; ys2=12 8 6 10 5 4 7 0 9 12 10 9 5 2 0 0 12 7 6 5 2 0 0 0 8 7 5 1 0 0 0 0 5 8 24 0 0 0 0 0 26 18 0 0 0 0 0 0 0 ; ys3=1 1 2 1 0 0 0 0 1 1 1 2 0 0 0 0 1 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;

TS=100 140 160 188 150 150 150; ts2=80 120 120 120 120 120 120; ts3=5 8 8 8 8 8 8 ; enddata

@for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x1(n,j)+x12(n,j)+x13(n,j))<=TS(i)); @for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x2(n,j)+x21(n,j)+x23(n,j))<=TS2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x3(n,j)+x31(n,j)+x32(n,j))<=TS3(i));

@for(links(i,j):x1(i,j)+x21(i,j)+x31(i,j)<=YS(i,j)); @for(links(i,j):x2(i,j)+x32(i,j)+x12(i,j)<=YS2(i,j)); @for(links(i,j):x3(i,j)+x13(i,j)+x23(i,j)<=YS3(i,j));

43

max=@sum(links(i,j):BJ(i,j)*x1(i,j)+0.9*bj2(i,j)*x21(i,j)+0.9*bj3(i,j)*x31(i,j)+bj2(i,j)*x2(i,j)+0.9*bj3(i,j)*x32(i,j)+0.9*BJ(i,j)*x12(i,j)+bj3(i,j)*x3(i,j)+BJ(i,j)*0.9*x13(i,j)+bj2(i,j)*0.9*x23(i,j)); @for(links(i,j):@gin(x1(i,j))); @for(links(i,j):@gin(x21(i,j))); @for(links(i,j):@gin(x31(i,j))); @for(links(i,j):@gin(x2(i,j))); @for(links(i,j):@gin(x32(i,j))); @for(links(i,j):@gin(x3(i,j))); @for(links(i,j):@gin(x12(i,j))); @for(links(i,j):@gin(x13(i,j))); @for(links(i,j):@gin(x23(i,j))); end

代码3.3

model: sets:

w/1..7/:TS,ts2,ts3,t1,t2,t3;

links(w,w):YS,x1,BJ,ys2,bj2,ys3,x31,bj3,x2,x32,x3,x21; endsets data:

BJ=888 1680 2530 3197 3996 4795 4973 0 888 1680

2530

3197

3996

4262

0 0 888 1680 2530 3374 3552

0 0 0 888 1776 2664 3197

0 0 0 0 999 1998 2697

0 0 0 0 0 999 1680 0 0 0 0 0 0 888;

bj2=1100 2200 3000 4000 5000 5800 6000

44

0 1100 2200 3000 4000 5000 5800 0 0 1100 2200 3000 4000 5000 0 0 0 1100 2200 3000 4000 0 0 0 0 1200 2400 3300 0 0 0 0 0 1200 2300 0 0 0 0 0 0 1100;

bj3=1500 2900 4200 5400 6600 7800 8200 0 1500 2900 4200 5400 6600 7700 0 0 1500 2900 4500 5400 6600 0 0 0 1500 3000 4400 5400 0 0 0 0 1500 3000 4400 0 0 0 0 0 1500 2900 0 0 0 0 0 0 1500; YS=2

20 6 10 15 18 7

0 5 0 8 10 10 20 0 0 12 17 14 9 30 0 0 0 0 6 15 20 0 0 0 0 30 27 20 0 0 0 0 0 18 10 0 0 0 0 0 0 12; ys2=12 8 6 10 5 4 7 0 9 12 10 9 5 2 0 0 12 7 6 5 2 0 0 0 8 7 5 1 0 0 0 0 5 8 24 0 0 0 0 0 26 18 0 0 0 0 0 0 0 ; ys3=1 1 2 1 0 0 0

45

0 1 1 1 2 0 0 0 0 1 2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;

TS=128 173 178 215 175 163 216; ts2=52 87 102 93 95 107 54; ts3=5 8 8 8 8 8 8 ;

t1=100 140 160 188 150 150 150; t2=80 120 120 120 120 120 120 ; t3=5 8 8 8 8 8 8 ; enddata

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x1(n,j)+x21(n,j))<=TS(i));

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x2(n,j))<=ts2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x3(n,j)+x31(n,j)+x32(n,j))<=ts3(i));

@for(links(i,j):x1(i,j)+x31(i,j)+x21(i,j)<=YS(i,j)); @for(links(i,j):x2(i,j)+x32(i,j)<=ys2(i,j)); @for(links(i,j):x3(i,j)<=ys3(i,j));

@for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x1(n,j))<=t1(i)); @for(w(i):@sum(links(n,j)|n#le#i#and #j#ge#i:x2(n,j)+x21(n,j))<=t2(i)); @for(w(i):@sum(links(n,j)|n#le#i#and

#j#ge#i:x3(n,j)+x31(n,j)+x32(n,j))<=t3(i));

max=@sum(links(i,j):BJ(i,j)*x1(i,j)+bj3(i,j)*x31(i,j)*0.9+bj2(i,j)*x21(i,j)*0.9+bj2(i,j)*x2(i,j)+bj3(i,j)*x32(i,j)*0.9+bj3(i,j)*x3(i,j)); @for(links(i,j):@gin(x1(i,j)));

46

@for(links(i,j):@gin(x31(i,j))); @for(links(i,j):@gin(x2(i,j))); @for(links(i,j):@gin(x32(i,j))); @for(links(i,j):@gin(x3(i,j))); @for(links(i,j):@gin(x21(i,j))); End

47

因篇幅问题不能全部显示,请点此查看更多更全内容