DVD在线租赁模型的建立与分析
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
1
DVD 在线租赁模型的建立与分析
摘要:
DVD 在线租赁业务在信息时代的今天正逐渐发展,并受欢迎。本文以某一 DVD 在
线租赁业务网站的某些具体情况为例,对租赁业务部分环节进行分析,并建立模型解决
了几个较典型的问题。
问题一:认为调查表具有代表性,由调查数据的规律,得到愿意观看每种 DVD 的
人数。假设 DVD 返还周期是 30 天。若会员要在一个月内借两次,就必须要在 15 天之
前返还,此时一张 DVD 相当于两张来满足不同会员的需求。根据:DVD 的流动盘数≥
要求满足的会员人数,解得到第①问 DVD1=6250 张,第②问 DVD1=3959 张。
上方法得出的结果实际只是需购买量的上限,即最坏情况,因为它没有考察 DVD
租还的动态过程,鉴于此给出改进的方法二,首先找出两类会员租借期限服从的正态分
布,再计算出会员平均租借期限的置信区间,根据期限换算出 DVD 月平均租借次数的
浮动区间,再结合实际愿意观看人数算出购买量的浮动区间为
DVD 名称 DVD1 DVD2 DVD3 DVD4 DVD5
第 1 问 [4530,4808] [2265,2404] [1133,1202] [567,601] [227,241]
第 2 问 [2869,3045] [1435,1523] [718,762] [359,381] [144,153]
问题二:在每个会员一次最多只能借 3 张 DVD,每种 DVD 有数量的限制的约束下
实现会员满意度达到最高和会员得到的 DVD 数量尽量为 3 的目标,基于此建立两个模
型:多目标规划模型和改进规划模型。
对于多目标规划模型,采用贪心方法思想求解,得到满意度之和为 23860,配送出
的 DVD 张数之和为 2753,分配方案见表[3]。对于改进规划模型,用 LINGO 软件求解,
得到满意度之和为 24746,分配方案见表[4]。
前两种模型都没有保证每个会员必须得到 3 张 DVD,只是追求满意度最大。而调整
可行解模型是基于每个会员必须得到 3 张 DVD 的条件下,使满意度最大。模型的算法
为:先找到满足约束条件的一个可行解,再不断的迭代调整可行解直到最优。满意度之
和为 24320,分配方案见表[5]。
多目标规划模型的结果在满足最优度之和最大的目标下较优。调整可行解模型在满
足会员必须得到 3 张 DVD 的目标下较优,并且一次分配中剩余较少。结合对本题的理
解和实际情况,调整可行解模型最优。
问题三:依据表[2],当偏爱度>4 时,统计出愿意观看每种 DVD 的人数由问题一的
思路,求出各种 DVD 的购买量(见表[6]), 算出 DVD 的总张数为 3562 >3000。进一步
利用问题 2 贪心算法的思想,得到结果如下:
DVD 总张数为 3562,配送数量 k 为 3000,剩余 DVD 的数量为 562,百分比为 15.78%,
会员对配送出的 k 张 DVD 的满意度之和为 27000,分配方案见表[7]。
关键字: 租赁 0-1 规划 贪心算法 LINGO 软件
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
2
DVD 在线租赁模型的建立与分析
1.问题的重述
随着信息时代的到来,网络成为人们生活中越来越不可或缺的元素之一。许多网站
利用其强大的资源和知名度,面向其会员群提供日益专业化和便捷化的服务。DVD 在
线租赁就是其中一种可行的服务,并广受欢迎。
考虑具体问题。顾客缴纳月费成为会员,订购 DVD 租赁服务。会员通过在线提交
订单提出对哪些 DVD 有兴趣,网站就会通过快递的方式尽可能满足要求。会员提交的
订单包括多张 DVD,它们基于其偏爱程度排序。网站会根据 DVD 数量和在线订单进行
分发。
网站政策为:会员每个月租赁次数不得超过 2 次,每次获得 3 张 DVD。会员看完 3
张 DVD 之后,只需要将 DVD 放进网站提供的信封里寄回(邮费由网站承担), 就可以
继续下次租赁。考虑解决以下问题:
1)网站正准备购买一些新的 DVD,通过问卷调查出会员愿意观看各种 DVD的情况。
此外,据历史数据,60%的会员每月租赁 DVD 两次,另外 40%只租一次。给出一定数
量会员,某些 DVD,求至少准备的张数,保证希望看到各种 DVD 的会员中至少 50%在
一个月内能够看到每一种 DVD?继续做出:如果是 95%在三个月内。
2)给出某时刻网站 DVD 的现有张数和当前需要处理的在线订单。设计出对这些
DVD 的分配方案使会员获得最大的满意度?
3)继续根据在线订单,假设其中 DVD 的现有数量全部为 0。作为网站经营管理人员,
决定每种 DVD 的购买量,接着继续对这些 DVD 进行分配,使一个月内 95%的会员得
到他想看的 DVD,并且满意度最大?
4)作为网站经营管理人员,研究在 DVD 的需求预测、购买和分配中还有哪些重要
问题。明确提出问题,并尝试建立相应的数学模型。
2.问题的分析
由假设可知调查表的结果具有代表性,由表 1 我们可以得到每种 DVD 的愿意观看
人数的比例,折合 10 万会员得愿意看每种 DVD 的人数。由于每人的租赁情况不同,会
员分两种:每月租赁 DVD 两次的会员和每月只租一次的会员。显然每月租赁 DVD 两
次的会员在 15 天前要还一次,则此种 DVD 在这个月内可以再租给另一个人,当两张看
待。分析问题 1 的两问可知:它们都要满足某 DVD 的流动盘数≥要求比例′愿意观看
的人数,建立线性规划可求解问题一。DVD 的分配在使会员满意度达到最高的同时,
要求每个会员一次最多只能借 3 张 DVD 且每种有数量的限制条件约,于是建立 0-1 规
划模型,可以利用贪心算法和 LINGO 软件进行求解。综合问题一和问题二的思想方法,
就可求解问题 3。
3.模型假设
1.DVD 经租赁后只用于会员自己观看使用,不做拷贝之用;
2.会员租赁 DVD 的期限为 30 天;
3.会员必须在还清前一次 DVD 后才能进行下次租赁;
4.1000 个会员的调查结果提供的信息具有代表性,规律具有推广性;
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
3
5.会员每次可租赁 DVD 最多三张;
6. 每次给会员配送的 DVD 当中,不会有两张相同的。
4.符号说明
i : 第 i 个会员;
j : 第 j 种 DVD;
W1: W1=40%的会员只租一次 ;
W2: W2=60%的会员每月租赁 DVD 两次;
Xi : 需购买的第 i 种 DVD 的张数;
Ai : 10 万人中愿意观看第 i 种 DVD 的人数;
aij : 第 i 个会员对第 j 种 DVD 的满意度,其定义如下:
aij=
??
?í
ì
1-
=
0,11
0,
ijij
ijij
ss
ss
其中 sij 越小表示满意度越高,
在此转化为 aij,它越大表示满意度越高;
xij : 第 i 个会员是否被分配了第 j 种 DVD(0:否;1:是);
dj : 第 j 种 DVD 的数量(算法中用 D[j]表示);
S : 表示 1000 个会员总的满意度。
5.问题 1 的解决
5.1 方法一:
分析及求解:
若会员在 30 天之内借 DVD 两次,就必须要在 15 天之前返还所借,60%的会员每
月租赁两次,即 DVD 总数中有 60%每月被借出过两次,而另外 40%的只租一次。
·对于保证至少 50%会员在一个月内能够看到某种 DVD
60%的 DVD 一张相当于两张来满足会员的需求,40%的 DVD 一张就是一张来满足会员
的需求
·对于保证至少 95%会员在三个月内能够看到某种 DVD
60%的 DVD 一张相当于六张来满足不同会员的需求,40%的 DVD 一张相当于三张来满
足不同会员的需求
·针对这两种问题,都要满足:某 DVD 的流动盘数≥要求比例′愿意观看的人数,
写出模型如下:
目标:min (W1αXi+ W2βXi)
约束: W1αXi+ W2βXi≥γAi
其中:W1=40% W2=60%
①50% α=1 β=2 γ=50%
②95% α=3 β=6 γ=95% 利用上述公式得到结果如下表[1]。
方法评价及改进:
本方法得出的结果实际只是需购买量的上限,即最坏情况,因为它没有动态考察
DVD 租还的过程,鉴于此给出改进的方法二,涉及其动态过程。
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
4
表[1]
DVD 名称 DVD1 DVD2 DVD3 DVD4 DVD5
中意比例 0.2000 0.1000 0.0500 0.0250 0.0100
Ai 20000 10000 5000 2500 1000
①Xi 6250 3125 1563 782 313
②Xi 3959 1980 990 495 198
5.2 方法二:
求解准备分析:
40%(W1)的会员每月只租 DVD 一次,60%(W2)的会员每月租赁 DVD 两次,故可把
会员分为两类:1.租两次;2.租一次。设第一类会员租期最短为 r1,最长期限为 r2,对第二
类会员,同样相应设为 r3、r4。
DVD 在会员手中的时间为介于最短租期与最长期限之间的变量,设为 x,并且认为
x 服从正态分布 N(m , 2s )
求解方案及过程:
1.令天数区间[r1,r2]为[4,16];[ r3,r4]为[14,26]
2.两类会员租借 DVD 的天数均值 =+=
2
21
1
rrm 10, 20
2
43
2 =+= rrm
3.确定租期区间后,必须要求绝大部分会员(确定比例为 99%)使用天数在租期区
间内,根据 s3 法则,由 P{| m-x |£ s3 }=0.99,算出 1s = 2s =2
4.利用 MATLAB 软件[1]中的 randn 命令模拟产生 1000 个服从上两种正态分布
N( m , 2s )的两组随机数
5 ·根据上随机数,再用 normfit 命令求出均值m 的置信度为 0.95 的置信区间
·μ1 的置信度为 0.95 的置信区间为[9.4351,10.2249]
·μ2 的置信度为 0.95 的置信区间为[19.8215,20.7185]
·那么通过加权(w1 与 w2)处理,综合两类,得到会员租借 DVD 的平均天数
ave_days 的置信度为 0.95 的置信区间为[w1*μ1+w2*μ2,w1*μ1’+w2*μ2’]=[13.5897,
14.4223]
· 一个月每张 DVD 的平均租借次数 ave_time 为:30 天?ave_days,得出 ave_time
的置信区间为[2.0801,2.2076]
6. 设愿意观看某种 DVD 的人数为 guys,它根据 1000 个会员调查的部分结果表所
确定的每一种比例来确定
·对于保证至少 50%在一个月内能够看到该种 DVD
应准备的该 DVD 张数为
ave_time
50% guys ′
·对于保证至少 95%在三个月内能够看到该种 DVD
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
5
应准备的该 DVD 张数为
3ave_time
95% guys
′
′
结果如下表:
表[2]
DVD 名称 DVD1 DVD2 DVD3 DVD4 DVD5
比例 0.2000 0.1000 0.0500 0.0250 0.0100
Ai(10 万人) 20000 10000 5000 2500 1000
张数 50%(一个
月内)
[4530,4808] [2265,2404] [1133,1202] [567,601] [227,241
]
张数 95%(3 个月
内)
[2869,3045] [1435,1523] [718,762] [359,381] [144,153
]
方法评价及其不足
1.模型中认为 DVD 的租借期服从某种随机分布,所以这从某个角度模拟了 DVD 借
还动态过程。
2.此模型中,我们是从网站管理人员的角度来考虑。
3.模型的不足有这些:①由于缺少样本(会员租借天数), 只能主观认为这是个正态
分布;②两类会员的租借天数综合成平均天数的操作缺少理论依据。
6.问题 2 的模型建立与求解
在这个分配问题中,我们认为首先应该理解“对各会员,是否如果他获得 DVD 就
必须是三张”。
认为得到 DVD 的会员必须发三张,建立一个 0-1 规划模型,用 LINGO80 求解,发
现其无解,即不可能满足发放会员 DVD 一定是三张。除非发给他们不想看的 DVD,这
样违背了会员的意愿偏好。为避免这种情况,我们认为会员得到的 DVD 必须是他想看
的,他们得到的 DVD 数小于等于三张,基于此我们首先建立以①满意度之和最大②得
到 DVD 的会员尽量是三张为目标 的多目标规划模型。
6.1 模型一:多目标规划
目标:会员满意度达到最高;每个会员得到 DVD 的张数与 3 的距离之和最小。
约束:每个会员一次最多只能借 3 张 DVD;每种 DVD 有数量的限制。
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
6
max S= ??
= =
1000
1
100
1i j
ijij xa
min ? ?
= =
-
1000
1
100
1
)](3[
i j
ijx
??
?
?
?
??
?
?
í
ì
===
=£
=£
?
?
=
=
)100~1,1000~1(,10
)100~1(,
)1000~1(,3
1000
1
100
1
jix
jdx
ix
ij
i
jij
j
ij
或
此 0-1 规划模型由于有 10 万个变量,即使经过变量删减(如果 aij=0,就令 xij=0)仍
有太多变量,直接用 LINGO 或 LINDO 软件求解较困难,所以我们为了达到两个约束下
的最优目标,利用基于贪心方法的思想,设计出下面对应的算法,搜索最优或较优解。
(1).符号附加声明:
A[i][j]:第 i 个会员对第 j 种 DVD 的偏好程度
C[i]:用户 i 一次可获得 DVD 的数量(上限为 3)
D[j]:第 j 种 DVD 的数量
SEND[ i ][1~3]:记录配送给第 i 个会员的最多三张 DVD 的种类号,0 表示为空
k :已配送出的 DVD 的数量
t :偏好程度(1~10,越小表示会员的偏好程度越高)
t_sum:已配送出 k 张 DVD 的所有用户偏好程度之和
(2).算法流程描述如下: (流程框图见附件[1])
step1 置相应初值,其中 t=1,按贪心方法思想,先配送会员偏爱程度高的
step2 根据 DVD 张数和当前需要处理的会员的在线订单矩阵,从第一个开始,i=j=1
step3 扫描第 i 个会员在 j 种 DVD 中偏好度为 t 的 DVD,找到后再看:
·会员 i 是否还可获得 DVD,若不能则结束对该会员后面所有 DVD 的扫描,开始对 i+1
个用户的处理,i 加 1 后转 step3
·第 j 种 DVD 是否还有剩余,无则看后一种的 DVD,j 加一转 step3
·要不然则表示可配送:
1)把 j 种 DVD 的剩余数量 D[j]减一;
2)用户 i 还可获得 DVD 的数量 C[i]减一;
3)最重要的是 DVD 种类号存到 SEND 配送数组里;
4)已配送出的 DVD 的数量 k 加一, t_sum 加 k;
j 加一转 step3
step4 前面扫描订单矩阵中会员偏好度为 t 的 DVD,为了寻找次优,把 t 加一,看
t 是否大于 10 或是否已完成所有 1000*3=3000(即 k=3000?)张 DVD 的配送,是则结
束整个程序;否则转 step2
结果保存在变量 k, t_sum 以及 SEND 配送矩阵里
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
7
(3).结果分析及算法评价
·DVD 总数量为 3007
·配送出的 DVD 的数量 k=2753
·剩余积压 DVD 百分比 0.0845,剩余积压率较低
·会员对配送出的 k 张 DVD 的偏好程度之和 t_sum=23860
·所以,会员对所有这收到的 DVD 的平均偏好程度为 t_sum?k=8.7,平均偏好程
度很大,说明本算法提供的配送方案可以较完美地满足会员的偏好
·由 SEND矩阵记录的配送给各会员的 DVD 种类号及该会员对其偏好程度见表[3]:
表[3]
从上表可以看出,前 30 个会员中,有 10%的会员没有得到三张 DVD,而整体 1000
会员号 第 j 种 DVD(偏好程度 aij) 会员号 第 j 种 DVD(偏好程度 aij)
C0001 8(1), 82(2),98(3) C0016 84(1),97(2) , 55(9)
C0002 6(1), 44(2) C0017 67(1) ,47(2) ,51(3)
C0003 80(1),50(2) ,4(3) C0018 41(1) ,60(2), 78(3)
C0004 7(1), 18(2),41(3) C0019 84 (1), 86(2), 66(4)
C0005 11(3),66(1),68(2) C0020 45(1) ,89(2) ,61(3 )
C0006 16(3), 19(1),53(2) C0021 53(1) ,45(2) , 2(4)
C0007 81(1) ,8(2), 26(3) C0022 57(1) , 55(2 ), 38(3)
C0008 71(1) C0023 95(1), 29(2 ) ,81(3)
C0009 53(1),100(2),78(3) C0024 76(1 ),41(2 ),37(4)
C0010 60(1), 55(2),85(3) C0025 9(1 ), 69(2 ), 81(4)
C0011 59(1), 63(2),19(3) C0026 22(1),68(2 ),95(3)
C0012 31(1),2(2), 7(3) C0027 58(1),22(3 ), 50(4)
C0013 96(1) ,78(2), 21(3) C0028 8(1 ), 34(2)
C0014 52(1),23(2), 89(6) C0029 55(1), 30(2), 44(3 )
C0015 13(1), 85(3), 66(9) C0030 62(1) ,37(2), 98(5)
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
8
名会员,大约有两百多人没有得到三张 DVD。为了达到使会员尽可能得到三张 DVD,我
们再尝试对此模型的约束方法作一些改动,建立另一个模型,看能否比较好的满足会员
尽可能得到三张 DVD 的目标。
6.2 模型二:改进规划模型
目标还是使所有会员的总满意度最大。相对模型一不同的是,增加一部分 0-1 决策
变量 yi,添加?
=
£
100
1
3
j
iij yx 这样的约束,作用是:让每个会员尽可能借 3 张,否则不借。
max S= ??
= =
1000
1
100
1i j
ijij xa
??
?
?
?
??
?
?
í
ì
===
==
=£
=£
?
?
=
=
)100,...1,1000,...1(10
)1000,...1(,10
)1000,...1(3
)100,...1(
100
1
1000
1
jix
iy
iyx
jdx
ij
i
j
iij
i
jij
或
或
用 LINGO 软件求解,程序见附件[2],前 30 个会员的分配结果见表[4]:
表[4]
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
9
从表中可以看出前 30 个会员,只有一个人没有得到三张 DVD,而且总的满意度
S=24746 大于模型一的总满意度。
6.3 模型三:调整可行解模型
6.3.1
在先保证每个会员得到三张(可以是会员不想得到的)的条件下,使用户的满意度
最大
max S= ??
= =
1000
1
100
1i j
ijij xa
??
?
?
?
??
?
?
í
ì
===
=£
==
?
?
=
=
)100~1,1000~1(,10
)100~1(,
)1000~1(,3
1000
1
100
1
jix
jdx
ix
ij
i
jij
j
ij
或
对此模型用以下算法求解。
6.3.2 首先得到一个可行解
先按各种 DVD 数量将他们从大到小的顺序排序,按此顺序把所有的 DVD 分配下去,
分配时对满意度较大的优先考虑,但要保证分配后会员的总张数不超过 3,直到此种 DVD
分配完或找不到对此 DVD 满意的会员了,若是找不到对此 DVD 满意的会员的情况,就把
剩余的记录下来。最后统计每个会员的 DVD 数量,如果小于 3,就把剩下某个分配给他,
而不管他是否对此 DVD 满意。按此方法循环下去,直到每个会员都得到了 3 张 DVD。
6.3.3 在可行范围内不断改动可行解的结构,迭代使满意度增加
会员号 第 j 种 DVD(偏好程度 aij) 会员号 第 j 种 DVD(偏好程度 aij)
C0001 8(1), 82(2),98(3) C0016 84(1),97(2) , 10(4)
C0002 6(1), 44(2),62(4) C0017 67(1) ,47(2) ,51(3)
C0003 80(1),50(2) ,32(4) C0018 41(1) ,60(2), 78(3)
C0004 7(1), 18(2),41(3) C0019 84 (1), 86(2), 66(4)
C0005 11(3),66(1),68(2) C0020 45(1) ,89(2) ,61(3 )
C0006 66(3), 19(1),53(2) C0021 53(1) ,45(2) ,50(5)
C0007 81(1) ,66(2), 26(3) C0022 57(1) , 55(2 ), 38(3)
C0008 31(4),35(5) C0023 95(1), 29(2 ) ,81(3)
C0009 53(1),100(2),78(3) C0024 76(1 ),41(2 ),37(4)
C0010 41(6), 55(2),85(3) C0025 9(1 ), 69(2 ),94(3)
C0011 59(1), 63(2),66(4) C0026 22(1),68(2 ),95(3)
C0012 31(1),2(2), 41(7) C0027 58(1),78(7), 50(4)
C0013 96(1) ,78(2), 21(3) C0028 8(1 ), 34(2),82(3)
C0014 52(1),23(2), 89(6) C0029 55(1), 30(2), 26(4)
C0015 13(1), 85(3), 52(4) C0030 62(1) ,37(2), 98(5)
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
10
表[5]
我们已得到一个可行解 x=
÷
÷
÷
?
?
?
?
?
è
?
nmn
m
xx
xx
K
MOM
K
1
111
(n=1000,m=100),但此只是可行解,为使
总满意度增加,对 x 进行搜索,如果在 x 中存在这样的第 i,j 行,s,t 列,他们组成矩阵
÷÷
?
?
??
è
?
jtjs
itis
xx
xx
的形式为 ÷÷
?
?
??
è
?
10
01 或 ÷÷
?
?
??
è
?
01
10 ,如果xis ait -xisais+xitais-xitait+xjsajt-xjsajs+x jtajs-xjtajt>0,
表明满意度增加,则将 xis 与 xit 交换,xjs 与 xjt 交换,依此法进行,直到最后满意度不再
增加为止。
6.3.4 算法结果
最后得到总满意度 S=24320,前 30 个会员的分配结果见表[5]:
6.3.5 讨论及模型评价
由于 DVD 的总数为 3007 张,在保证每个会员得到 3 张的情况下,必须分配出去
1000*3=3000 张,则只剩下 7 张。而我们仔细研究表[2]发现,对于第 37 号 DVD 总数有
106 张,但只有 91 人愿意观看,就算全部发给愿意观看的人还剩 15 张,而总共多了 7
张,那么极限情况是有 8 张 DVD 发给了对它不满意的人。
6. 问题 3 的解决
6.1 模型的建立
max S= ??
= =
1000
1
100
1i j
ijij xa
会员号 第 j 种 DVD(偏好程度 aij) 会员号 第 j 种 DVD(偏好程度 aij)
C0001 8(1),41(7),98(3) C0016 10(4),76(6),84(1)
C0002 6(1),44(2),62(4) C0017 47(2),51(3),67(1)
C0003 4(3),50(2),80(1) C0018 41(1),60(2),78(3)
C0004 7(1),18(2),41(3) C0019 66(4),84(1),86(2)
C0005 11(3),41(10),66(1) C0020 45(1),61(3),89(2)
C0006 19(1),41(10),66(4) C0021 2(4),45(2),50(5)
C0007 8(2),26(3),66(6) C0022 38(3),55(2),86(4)
C0008 31(4),37(0),71(1) C0023 29(2),81(3),95(1)
C0009 53(1),78(3),100(2) C0024 37(4),41(2),76(1)
C0010 41(6),55(2),85(3) C0025 9(1),69(2),94(3)
C0011 59(1),63(2),66(4) C0026 22(1),68(2),95(3)
C0012 2(2),31(1),41(7) C0027 50(4),58(1),78(7)
C0013 21(3),78(2),96(1) C0028 8(1),34(2),37(0)
C0014 23(2),43(3),52(1) C0029 26(4),30(2),55(1)
C0015 13(1),24(5),85(3) C0030 37(2),62(1),98(5)
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
11
min ? ?
= =
-
1000
1
100
1
)](3[
i j
ijx
??
?
?
?
??
?
?
í
ì
3+
===
=£
=£
?
?
=
=
AjXj WXjW
)100~1,1000~1(,10
)100~1(,
)1000~1(,3
21
1000
1
100
1
gba
jix
jdx
ix
ij
i
jij
j
ij
或
α=1 β=2 γ=95%
6.1 模型的求解
由表 2 会员的在线订单,会员 i 对第 j 种 DVD 的偏爱程度 aij,如果 aij 1 0,就认为
会员 i 想看第 j 种 DVD,但考虑到想看的程度不同,可以统计出这 1000 个会员中,每
种 DVD 的愿意观看的人数 Aj(j=1,2,… ,100)。根据历史数据显示,60%的会员每月租赁
DVD 两次,而另外的 40%只租一次,我们要在一个月内满足γ=95%的会员的需求,由
问题一模型的思路,求出每种 DVD 的购买量 Xj(j=1,2,… ,100),结果见下表[6]:
表[6]
DVD 各种购买量
1-10 31 37 37 39 32 37 33 34 35 36
11-20 37 35 33 36 28 40 40 36 39 40
21-30 38 36 41 33 34 37 34 29 31 37
31-40 40 37 37 34 39 38 31 37 33 34
41-50 48 43 36 35 46 33 36 33 36 31
51-60 40 32 38 32 34 42 36 30 33 40
61-70 33 40 36 43 39 45 39 39 40 39
71-80 38 39 30 34 32 30 31 37 32 36
81-90 39 28 26 27 34 30 37 28 33 38
91-100 40 36 33 34 38 29 37 40 27 37
当 aij>5 时,Aj ++;i=1……1000,统计出愿意观看第 i 种 DVD 的人数,求和后的 DVD
的总张数为 2970<3000,不能满足每个会员 3 张 DVD 的需求。
当 aij>4 时,统计出愿意观看第 i 种 DVD 的人数,见附件[3],求和后的 DVD 的总张数
为 3562 >3000,可能满足会员的需求。进一步利用问题 2 贪心算法的思想,得到结果如
下:
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
12
·DVD 总数量为 3562;
·配送出的 DVD 的数量 k 为 3000;
·剩余积压 DVD 的数量为 562,百分比为 15.78%;
·会员对配送出的 k 张 DVD 的偏好程度之和 t_sum 为 27000;
·各会员的 DVD 种类号及该会员对其偏好程度见表[7]
表[7]
会员号 第 j 种 DVD(偏好程度 aij) 会员号 第 j 种 DVD(偏好程度 aij)
C0001 8(1), 82(2),98(3) C0016 84(1),97(2) ,6(3)
C0002 6(1), 44(2), 42(3) C0017 67(1) ,47(2) ,51(3)
C0003 80(1),50(2),4(3) C0018 41(1) ,60(2), 78(3)
C0004 7(1), 18(2),41(3) C0019 84(1) ,86 (2 ) ,67 (3)
C0005 11(3),66(1),68(2) C0020 45(1) ,89(2) ,61(3 )
C0006 16(3), 19(1),53(2) C0021 53(1) ,45(2) ,65(3)
C0007 81(1) ,8(2), 26(3) C0022 57(1) ,55(2 ), 38(3)
C0008 71(1), 99(2),15(3) C0023 95(1), 29(2 ) ,81(3)
C0009 53(1),100(2),78(3) C0024 76(1), 41(2 ), 79(3)
C0010 60(1), 55(2),85(3) C0025 9(1), 69(2 ),94(3)
C0011 59(1), 63(2),19(3) C0026 22(1),68(2 ),95(3)
C0012 31(1),2(2), 7(3) C0027 58(1) ,42(2 ), 22(3 )
C0013 96(1) ,78(2),21(3) C0028 8(1), 34(2), 82(3)
C0014 52(1),23(2),43(3) C0029 55(1), 30(2), 44(3 )
C0015 13(1), 88(2),85(3) C0030 62(1) ,37(2), 1(3 )
7. 问题 4
本文前三个问题只是根据一些少量材料,针对某一特定范围,阶段或时刻的研究。
如会员订单表即是每个时刻不断变化的。
但作为对已运行过一段时间的网站的经营管理,在对 DVD 进行需求预测时,可以
注意寻找有哪些相关的因素使会员对各种 DVD 的偏好和需求有影响,形成统计资料,
比如时间季节、重要节假日到临、新片推出及其院线票房情况、原有及新增会员情况(如
所来自地域,年龄层次,知识层次)等等。统计资料的形成一方面可以从网站运行至今
的历史资料中挖掘,另一方面可直接发出市场调查、咨询,从中寻找过滤。从这些统计
资料可挖掘研究出会员需求与这些因素的统计学规律,从而建立回归模型、主成分分析
模型等预测会员对各种 DVD 的需求。
而对于 DVD 的购买和分配,考虑到会员订单表是不断变化的,不能完全利用本文
前在三个问题中所建的模型及算法,但可以参考其中的思想并可直接利用前面的算法操
作,设计 DVD 购买量以及规划分配方案。而完成这部分工作必然是以一个模块整合在
网站的租赁业务系统里,从而使充分统筹全局的系统完成高效率的运作,支撑网站的不
断盈利。
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
13
Y
Y
Y
Y
N Y
N
N
N
置初值 CD[ ][ ],C[ ],D[ ]及 SEND[ ][ ]=0 , t=1
i=j=0 k=3000
end
t=10
i=1000
j=100
t++
D[j]=0
C[i]=0
CD[i] [j]=t
i++
continue
break
continue
D[j]减一; C[i] 减一; k++;
SEND[i][3-C[i]]=j; t_sum=t_sum + t;
j++
N
参考文献:
[1] 张平 等,MATLAB 基础与应用简明教程 ,北京航空航天大学出版社,2001 年 1
月第 1 版
[2] 李继成 戴永红,数学实验,西安交通大学出版社,2003 年 5 月
附件[1]
附件[2]:LINGO 程序解问题 2
model:
2005 年全国大学生数学建模竞赛湖北省二等奖获奖论文
姜燕,汤鑫,蔡亮 指导教师 汪晓银
14
sets:
MAN/1..1000/:y;
DVD/1..100/:b;
MY(MAN,DVD):x,c;
endsets
max=@Sum(MY:c*x);
@For(DVD(j):@Sum(MAN(i):x(i,j))<=b(j));
@For(MAN(i):@Sum(DVD(j):x(i,j))<=3*y(i));
@For(MAN(i):@Bin(y(i)));
@For(MY:@Bin(x));
data:
b=
c=
附件[3]:
根据订单表统计出愿意观看各种 DVD 的人数:
表[8]
种类号 愿意观看各种 DVD 的人数
1-10 84 92 87 99 78 87 87 100 93 90
11-20 95 97 85 102 84 94 102 91 100 116
21-30 96 101 109 93 89 101 87 83 97 97
31-40 100 87 91 82 109 97 91 94 87 87
41-50 119 104 93 90 106 94 94 88 91 94
51-60 107 91 98 92 97 99 108 77 85 103
61-70 94 103 105 108 98 105 90 96 105 101
71-80 95 106 85 82 90 86 88 99 82 98
81-90 99 77 72 84 90 78 95 73 94 98
91-100 107 94 93 90 102 78 95 101 80 86
DVD在线租赁模型的建立与分析.pdf