DVD在线租赁的研究
2005 年全国大学生数学建模国家二等奖获奖论文
1
DVD 在线租赁的研究
尹作龙,姚明,金伟
指导教师 汪晓银
[摘 要]:
随着信息时代的到来,网络成为人们生活中越来越不可或缺的元素之一。许多网站
利用其强大的资源和知名度,面向其会员群提供日益专业化和便捷化的服务。例如,音
像制品的在线租赁就是一种可行的服务。本文主要讨论了在线 DVD 租赁的问题,对网站
如何购买 DVD,如何分配 DVD 进行了一些研究。对于问题一,我们首先把会员根据每月
租赁次数分成 A、B 两类,并对两类会员归还日期作了合理的假设,根据求出 DVD 归还
的期望值。最后求得会员归还一张 DVD 的时间期望为 12 天。然后用 DVD 的周转次数来
计算网站对某种 DVD 的购买量,最后根据问题的要求,求得每种 DVD 至少准备的张数如
下。
DVD 名称 DVD1 DVD2 DVD3 DVD4 DVD5
一个月内至少 50%
看到的最少张数 4000 2000 1000 500 200
三个月内至少 95%
看到的最少张数 2534 1267 634 317 127
问题二,我们首先对满意度进行了定义,并作出相应的假设。根据假设建立 0—1
规划模型,用 LINGO 软件编程求得各种 DVD 的分配方案。我们根据实际情况修改了偏
爱程度,再次用 LINGO 编程求解,得出第二中分配方案。第一种分配方案的总偏爱度
U 为 7924,有 30 张 DVD 分配给了没有预订这些 DVD 的会员;第二种分配方案的总偏
爱度 U 为 8191,有 8 张 DVD 分配给了没有预订这些 DVD 的会员。虽然第一种分配方
案的总偏爱度优于第二种,但是经证明无论怎么分配,至少有 8 张 DVD 会分配给没有
预定这些 DVD 的会员,因此我们选择第二种分配方案。
问题三,根据满意度最大,我们建立了一个规划模型,由于模型难以用计算机求解,
我们改用计算机仿真来模拟现实购 DVD 方案,模拟生成的购买的总 DVD 数为 3086。
问题四,在 DVD 的需求预测、购买和分配中重要问题的研究中,首先研究了 DVD
的需求预测,并建立了灰色 GM(1,1)模型,灰色 GM(1,1)模型能够克服相关数
据不足的缺陷和避免人为因素的影响。这表明基于灰色理论的预测方法,适合于对 DVD
在线租赁业务趋势进行预测。该方法是切实可行并有效的,并对 DVD 在线租赁业务发展
规划有重要参考价值。然后从网站的赢利角度出发,建立了一个以赢利函数为目标的线
性规划模型,此模型在租赁方面有着较高的参考价值。
最后我们对我们所建立的模型及求解方案进行评价,推广。我们考虑到对于更大规
模问题,现有模型的求解就会困难。因此我们想了模型的另外一个算法:贪心算法。贪
心算法速度快,但得到的解难以达到最优。
[关键词]:DVD 在线租赁 0—1 规划 概率模型 计算机仿真 灰色 GM(1,1)模型
2005 年全国大学生数学建模国家二等奖获奖论文
2
一、问题的重述
考虑如下的在线 DVD 租赁问题。顾客缴纳一定数量的月费成为会员,订购 DVD
租赁服务。会员对哪些 DVD 有兴趣,只要在线提交订单,网站就会通过快递的方式尽
可能满足要求。会员提交的订单包括多张 DVD,这些 DVD 是基于其偏爱程度排序的。
网站会根据手头现有的 DVD 数量和会员的订单进行分发。每个会员每个月租赁次数不
得超过 2 次,每次获得 3 张 DVD。会员看完 3 张 DVD 之后,只需要将 DVD 放进网站
提供的信封里寄回(邮费由网站承担), 就可以继续下次租赁。请考虑以下问题:
(1)网站正准备购买一些新的 DVD,通过问卷调查 1000 个会员,得到了愿意观
看这些 DVD 的人数。此外,历史数据显示,60%的会员每月租赁 DVD 两次,而另外的
40%只租一次。假设网站现有 10 万个会员,对表 1 中的每种 DVD 来说,应该至少准备
多少张,才能保证希望看到该 DVD 的会员中至少 50%在一个月内能够看到该 DVD?如
果要求保证在三个月内至少 95%的会员能够看到该 DVD 呢?
(2)表 2 中列出了网站手上 100 种 DVD 的现有张数和当前需要处理的 1000 位会
员的在线订单,如何对这些 DVD 进行分配,才能使会员获得最大的满意度?请具体列
出前 30 位会员(即 C0001~C0030)分别获得哪些 DVD。
(3)考虑表 2,并假设表 2 中 DVD 的现有数量全部为 0。如果你是网站经营管理
人员,你如何决定每种 DVD 的购买量,以及如何对这些 DVD 进行分配,才能使一个
月内 95%的会员得到他想看的 DVD,并且满意度最大?
(4)如果你是网站经营管理人员,你觉得在 DVD 的需求预测、购买和分配中还有
哪些重要问题值得研究?请明确提出你的问题,并尝试建立相应的数学模型。
二、问题的假设
1、假设所有的 DVD 都不能拷贝
2、假设调查资料具有一定代表性
3、假设所有会员自觉遵守会员规定
4、假设在租赁和归还过程中 DVD 的遗失或损坏忽略不计
5、假设 DVD 的种类与购 DVD 费用无关
三、符号的说明
符号 符号说明
V 该网站拥有的总会员数
Dij 第 i 个会员在线定单中第 j 种 DVD 的需求情况
DLij 第 i 个会员对第 j 种 DVD 的偏爱程度
yi 第 i 张 DVD 的现有量
Mi 愿意观看第 i 种 DVD 的总人数
Pi 愿意观看第 i 种 DVD 的人数占总人数的百分比
2005 年全国大学生数学建模国家二等奖获奖论文
3
R 为满足会员要求的百分比数
U 会员获得 DVD 后所得到的总偏爱度,其值越小满意度越高
四、问题的分析及模型的建立及求解
4.1 问题的背景资料
Netflix 目前是美国最大的 DVD 出租网站,现在公司预计可在 2006 年达到 500 万订
户。这家网站的经营方法是,顾客在成为网站的固定会员后,可在网站上选取自己喜欢
的 DVD 影片,该公司现有 DVD 种类有 5 万多种,包括一些最新面世的大片,由这家
网站快速寄送到顾客的登记地址,每次最多 3 张。顾客可以无限期地借用这些影片,但
只有在寄回这些影片后才能借用新影片。顾客只需每月缴纳 19.95 美元的会员费,而
邮寄费用全部由网站支付。对顾客而言,坐在电脑前拖动几下鼠标就可得到中意的影片,
既省时又省力。
据统计,超过 60%的美国家庭至少拥有一台 DVD 影 DVD 机。去年,美国人在家
看 DVD 的时间平均为 78 小时,比 2000 年上升了 53%。DVD 的销量和出租量则上升
了 676.5%[5]。
4.2 问题一的求解
4.2.1 问题一模型的建立与求解
对问题一的分析,我们根据实际情况作了一些积极的假设,并简化了模型。从网站
经营者的角度出发,出于对自身赢利的考虑,希望 DVD 的周转越快越好。那么我们就
从 DVD 的周转情况来考虑对 DVD 数的需求量。
由题目我们把所有会员分成 A、B 两类:如表 1
表 1
类型 每月租赁 DVD 次数 所占会员总数的百分比 会员人数
A 类 两次 60% 60000
B 类 一次 40% 40000
考虑到 DVD 的周转,我们对两类会员作以下假设:
A 类会员归还一张 DVD 的时间 X1 范围为 3—15 天;
B 类会员归还一张 DVD 的时间 X2 范围为 3—30 天;
根据现实情况,我们假设 X1, X2 都服从等概率分布,则:
9
2
315
1 =+=EX 5.16
2
330
2 =+=EX
则会员归还一张 DVD 的时间期望为:μ=0.6×EX1+0.4×EX2=12 天。这就是说每张
DVD 在会员手中保存的时间大约在 12 天,
那么:
在一个月内 DVD 的周转次数为:N=30÷12=2.5;
在三个月内 DVD 的周转次数为:N=90÷12=7.5。( 设 30 天为一个月)
根据题目中调查 1000 人愿意观看各种 DVD 的人数,我们得到会员愿意观看各种
DVD 的经验概率分布统计结果如下(见表 2):
表 2
2005 年全国大学生数学建模国家二等奖获奖论文
4
DVD 名称 DVD1 DVD2 DVD3 DVD4 DVD5
经验概率 Pi 20% 10% 5% 2.5% 1%
R 为满足会员要求的百分比:一个月为 50%;三个月为 95%。
因此愿意观看第 i 种 DVD 的人数 Mi 为:Mi=V×Pi×R=100000×Pi×R (V 为总会
员数)。
那么所需要 DVD 的最小数量为:S=M÷N。( 向上取整)
我们得到 S 的函数表达式:S=V×Pi×R÷N ;
求解得到每种 DVD 的准备张数(见表 3):
表 3
DVD 名称 DVD1 DVD2 DVD3 DVD4 DVD5
一个月内至少 50%
看到的最少张数 4000 2000 1000 500 200
三个月内至少 95%
看到的最少张数 2534 1267 634 317 127
作为一个租赁网站的经营者,总是希望赢利更多,就要提高周转次数,减少周转天
数,这样他的先期投入也将减少。就可以考虑尽可能缩短租借的天数,来增加网站的赢
利和减少先期投入。若我们将归还时间定为 3-9 天,则期望为 6。一个月的 DVD1 所需
最少张数为 2000 张(小于 4000 张)。
4.3 问题二模型的建立与求解
4.3.1 问题二的分析
顾客满意度可以简要地定义为:顾客接受产品和服务的实际感受与其期望值比较的
程度。首先对满意度进行了如下假设:在会员的在线订单 Dij 中,数字越小表示会员的
偏爱程度越高,如果会员得到他偏爱程度越高的 DVD,则会员的满意度越大。假设会
员对 DVD 的偏爱度为:
??
?í
ì
1
=
= 0,
0,11
ijij
ij
ij DD
D
DL
该问题的目的就是分配当前的订单,使得这些顾客的满意度最大,可以用 0-1 规划
模型来求解,定义 0-1 变量 Cij(i=1?1000,j=1?100), Cij 为 1 时表示第 i 个顾客租到了
第 j 种 DVD,其值为 0 时表示没有租到相应的 DVD。
4.3.2 问题二模型的建立
会员租赁 DVD 满意度的目标函数为: ??
= =
′
1000
1
100
1
min
i j
ijij CDL
0- 1 规划模型的约束条件为:
1、每个顾客一次能并且只能租到 3 张 DVD;
2、租赁给会员的每种 DVD 总张数不能超过现有 DVD 数量。
由上述分析得到如下的 0-1 规划模型:
2005 年全国大学生数学建模国家二等奖获奖论文
5
??
?
?
?
??
?
?
í
ì
==
£
=
=
′
?
?
??
=
=
= =
)1001,10001(
3
1,0
..
min
1000
1
100
1
1000
1
100
1
LL ji
yC
C
C
ts
CDL
i
jij
j
ij
ij
i j
ijij
4.3.3 问题二的求解
对于上述的模型,在用 LINGO 编程求解(具体程序请见附件),得到分配方案为
Ci,j 求得总偏爱度为 ??
= =
′=
1000
1
100
1i j
ijij CDU 为 7924。由 Ci,j 得到分配了 30 张 DVD 给没有要求
预订这些 DVD 的会员。前 30 个会员租到 DVD 的情况如下表 4:
表 4
会员号 C0001 C0002 C0003 C0004 C0005 C0006 C0007 C0008 C0009 C0010
1 8(1) 6(1) 32(4) 7(1) 11(3) 19(1) 26(3) 31(4) 53(1) 41(6)
2 41(7) 44(2) 50(2) 18(2) 66(1) 53(2) 66(6) 35(5) 78(3) 55(2)
分配
DVD 的
种类号 3 98(3) 62(4) 80(1) 41(3) 68(2) 66(4) 81(1) 71(1) 100(2) 85(3)
会员号 C0011 C0012 C0013 C0014 C0015 C0016 C0017 C0018 C0019 C0020
1 59(1) 2(2) 21(3) 23(2) 13(1) 10(4) 47(2) 41(1) 66(4) 45(1)
2 63(2) 31(1) 78(2) 52(1) 52(4) 84(1) 51(3) 60(2) 84(1) 61(3)
分配
DVD 的
种类号 3 66(4) 41(7) 96(1) 89(6) 85(3) 97(2) 67(1) 78(3) 86(2) 89(2)
会员号 C0021 C0022 C0023 C0024 C0025 C0026 C0027 C0028 C0029 C0030
1 45(2) 38(3) 29(2) 37(4) 9(1) 22(1) 50(4) 8(1) 26(4) 37(2)
2 50(5) 55(2) 81(3) 41(2) 69(2) 68(2) 58(1) 34(2) 30(2) 62(1)
分配
DVD 的
种类号 3 53(1) 57(1) 95(1) 76(1) 94(3) 95(3) 78(7) 82(3) 55(1) 98(5)
注:括号内的值为会员对该 DVD 喜好程度。
为使会员得到自己没有预定的 DVD 总数最少,可以将 DLij 中为 11 的数增大变为
1000,即将此偏爱程度降低,再如上求解得到一种新的分配方案 Ci,j,求得总偏爱度 U
为 8191(>7924),但是经分析,只分配了 8 张 DVD 给没有要求预订这些 DVD 的会员。
事实上这里的 8 张 DVD 已经最小,具体原因是,现有 DVD 总数为 3007 张,每个人得
到 3 张 DVD,1000 个人就得到 3000 张 DVD,则还有 7 张未出租。根据所给的数据,
第 37 种 DVD 现有 106 张,只有 91 个会员愿意租此 DVD,即第 37 张 DVD 按照会员的
需求无论怎么发放,也会有 106-91=15 张剩余,而总共应该只有 7 张 DVD 未出租,这
样就无法满足所有的会员租到自己想看的 DVD,而且一定至少有 15-7=8 张 DVD 发给
了没有订这 8 张 DVD 的会员。
比较上面两种分配方案,我们选择第二种分配方案。第二种方案下,前 30 会员的
租赁情况是只有第 25 个会员的第 3 张 DVD 与第一种分配方案不同,其值为 81(4)
4.4 问题三模型的建立与求解
0,1 变量
每位会员租 3 张 DVD
DVD 现有数量的限制
2005 年全国大学生数学建模国家二等奖获奖论文
6
4.4.1 问题三的分析及模型的建立
分析该问题的目标是保证一个月内 95%的会员得到他想看的 DVD 的情况下,使得
会员的满意程度达到最大。
假设分配给第 i 个会员 3 张 DVD,且这 3 张 DVD 都属于该会员预定的 DVD 那么
记 pi 为 1,否则记 pi 为 0。
ú
ú
?
ù
ê
ê
?
é
÷÷
?
?
??
è
?= ?
=
3
100
1j
iji Cp (注: []为向下取整)
要使一个月内 95%的会员看到他预订的 DVD,则得到 100095.0
1000
1
′=?
=i
ip
根据问题二以及这里分可以建立以下模型:
??
?
?
?
?
?
??
?
?
?
?
í
ì
==
=
ú
ú
?
ù
ê
ê
?
é
÷÷
?
?
??
è
?
£
=
=
′
? ?
?
?
??
= =
=
=
= =
)1001,10001(
1000*95.03
3
1,0
.
min
1000
1
100
1
1000
1
100
1
1000
1
100
1
LL ji
C
yC
C
C
ts
CD
i j
ij
i
jij
j
ij
ij
i j
ijij
4.4.2 问题三的求解
上述模型难以用计算机实现,这里我们用计算机仿真来解决该问题。仿真前先进行
如下假设:
a,假设 40%的会员一个月只租 DVD 一次, 60%的会员一个月租 DVD 两次,会员
还 DVD 天数在 3~30 天内并服从等概率分布。
b,假设每位顾客都有 95%的概率租到自己想看的 DVD,若一位顾客按偏爱度订 n
(n<10)种自己想看的 DVD,设该顾客租到偏爱度为 k(k
?
= -
-=
n
i i
kkp
1 11
11)( ,
c,假设已经租到 DVD 的会员只有归还 DVD 后才能再租,
在此假设基础上进行模拟一个月内 DVD 的供求,得到这一个月中每种 DVD 的需
求的最大量。仿真流程图见图 1,程序见附录。
用 MATLAB 编程[1] [2],经过多次模拟,得到每种 DVD 的购买总量在 3085 左右,
其中一次结果得到各种 DVD 购买量依次为(见表 5):
表 5
D001—D010 28 33 29 26 24 30 31 35 28 27
D011—D020 25 24 35 39 23 34 37 29 27 35
D021—D030 33 31 42 28 32 32 27 23 35 35
D031—D040 35 29 22 28 38 32 30 33 30 29
0,1 变量
每位会员租 3 张 DVD
DVD 数量的限制
2005 年全国大学生数学建模国家二等奖获奖论文
7
D041—D050 34 39 23 25 38 32 35 35 27 30
D051—D060 31 31 38 21 30 32 35 31 36 38
D061—D070 25 33 23 33 34 43 34 40 42 36
D071—D080 35 36 30 30 33 29 21 31 23 33
D081—D090 34 20 21 26 33 20 31 20 38 32
D091—D100 43 25 30 31 29 26 29 30 26 34
总和 3086
Y
N
Y
N
N
Y
Y
Y
i<30?
i=i+1 第 i 天
j=j+1,
第 j 个会员
j
会员 j 是否还
租到 DVDd1,d2,d3,
D(d1,d2,d3)减 1
计算 30 天中 Di
的减少最大
结束
N
将 1000 个人分类 i=0,
D(1..100)=1000,
j=0,n=1000
还回 DVDd1,d2,d3,
D(d1,d2,d3)加 1
会员 j 是否租
2005 年全国大学生数学建模国家二等奖获奖论文
8
图 1
4.5 问题四的分析
我们分析了 DVD 租赁的实际情况,发现以下问题:
4.5.1 已知连续前 N 个月的 DVD 需求情况,如何预测出第 N+1 个月的 DVD 需求
情况?
假设前 5 个月的 DVD 总数的需求情况为 x1,x2,x3,x4,x5
对与上述问题,我们建立灰色 GM(1,1)模型求解[3]。
以第一个月为起始点,即在该点 t=1,于是有原始数据序列:
X(0)={ X(0)(t) t=1,2, ?5}
={ X(0)(1), X(0)(2), ? X(0)(5)}
={x1,x2,x3,x4,x5}
首先按 GM(1,1)建模方法,对已知原始数据序列 X(0)进行一阶累加生成
(即 1—AG0):
?
=
=
t
m
mXtX
1
)0()1( )()(
。得到生成数列 X(1),如下:
X(0) ={ X(1)(t) t=1,2, ?5}
={ X(1)(1), X(1)(2), ? X(0)(5)}
={ x1, x 1+ x2,x1+ x2+ x3,x1+ x2+ x3+ x4,x1+ x2+ x 3+ x4+x5}
构造数据矩阵 B 及数据向量 YN
ú
ú
ú
ú
ú
?
ù
ê
ê
ê
ê
ê
?
é
+--
+-
+-
=
1))()1((2/1
1))3()2((2/1
1))2()1((2/1
)1()1(
)1()1(
)1()1(
nXnX
XX
XX
B
MM
YN=[ X(0)(2), X(0)(3), ? X(0)( n)]T
求模型参数a :
N
TTT YBBBba 1)(),( -==a)
建立模型:根据参数a 建立模型。模型的时间响应方程为:
a
be
a
bXtX at +-=+ -))1(()1( )0()1()
模型的改进:
为了提高模型精度,又对参数进行估计,以进一步改进模型。将以上时间响应方程
写成:
BAetX at +=+ )1()1(
根据第一次估计的a 值及原始 1—AGO 数列 X(0)( k)对 A 和 B 进行估计。构造数据
矩阵 G 及数据向量 X(1):
2005 年全国大学生数学建模国家二等奖获奖论文
9
ú
ú
ú
ú
ú
?
ù
ê
ê
ê
ê
ê
?
é
=
--
-
1
1
1
)1(
0
ne
e
e
G
a
a
MM
Y(1)=[ X(1)(1), X(1)(2), ? X(1)( n)]T
求出参数 A 和 B
)1(1)( XGGGB
A TT -=÷÷
?
?
??
è
?
求出时间相应方程: BAetX at +=+ )1()1(
则需求总量的预测模型为: )()1()1( )1()1()0( tXtXtX ))) -+=+
4.5.2 网站月盈利与网站 DVD 购买,会员会费的关系
网站盈利与网站会员数、会费、会员的满意度和 DVD 总量存在一定联系,如何购
买 DVD,如何确定会费使得网站盈利最大
假设网站会员人数 W 与网站会费 e,会员对网站的满意程度 m 有关,设:
),( mefW = ;
假设会员对网站的满意程度 m 与网站拥有 DVD 总数量 s,网站拥有 DVD 种数 n
有关,设:
),( nsgm =
假设拥有第 i 种 DVD 的数量为 ai,第 i 中 DVD 购买价格为 bi
假设网站的每月的盈利 F 只于购买 DVD 的费用与会员的会费有关
根据以上假设建立如下规划模型:
?
?
?
?
??
?
í
ì
=
=
=
′-′=
?
?
=
=
n
i
i
n
i
ii
as
nsgm
mefW
ts
baeWF
1
1
),(
),(
..
max
六、模型的评价及推广
在问题一中,我们的根据实际的情况,突破传统以会员为参考切题巧妙地转为以经
营者的身份用周转情况来考虑问题本身,使解题思路突现,运算简单,而且模型非常明
了,十分容易理解。问题二中,我们证明了在题设条件下每位会员不可能都租到自己想看
的 3 张 DVD,至少有 8 张 DVD 租给了不愿意租到该 DVD 的会员,同时用 0-1 规划模
型求得了在只有有 8 张 DVD 租给了不愿意租到该 DVD 的会员情况下最优的分配方案。
2005 年全国大学生数学建模国家二等奖获奖论文
10
此模型中有 10 万个 0-1 变量,规模已经相当大,但是运算只有 20 多秒,在 10 万个变
量以内规模的问题都可以求解。对于更大规模问题,模型的求解就会困难。因此我们想
了另外的一个算法:贪心算法[4]。贪心算法是在让计算机按照当前的要求逐一进行分配。
在满足一定约束条件下,每次搜索偏爱度最小,然后按此进行分配的原则,得出较优解。
对于问题三,我们建立了一个规划模型,满足题目要求并且容易理解,但模型求解较为
困难,然后用计算机仿真的方法模拟一个月内会员租DVD情况,得到网站应该购买 DVD
的数量。次方法比较贴近现实,但是每次模拟的结果都会有一定的差别,而且所得到的
结果难以求得最优解。
本文建立的模型,不仅能够解决本文的问题。在超市物品的需求预测,货物的购买
和各个连锁网点的货物分配,都能运用本文的模型进行解决,本文的模型,能很好符合
实际情况,但在精确性上还有待改进。
[参考文献]:
[1] 张 平 等,MATLAB 基础与应用,北京:北京航空航天大学出版社,2001 年
[2] 苏金明,张莲花 等,MATLAB 工具箱应用,北京:电子工业出版社,2004 年
[3] 蔡家明,灰色系统模型在汽车市场需求预测中的应用,上海工程技术大学学报,
第17卷第1期:72至74页,2003年3月
[4] 余祥宣,崔国华 等,计算机算法基础,湖北:华中科技大学出版社,2004年
[5] http://www.netflix.com,2005 年 9 月 17 日
[附录]:
1、问题二程序:
运行软件:Lingo 8.0
运行环境:windows2000
运行时间:24 秒
model:
sets:
cd/1..100/:dvd;
ren/1..1000/:people;
link(ren,cd):c,b;
endsets
min=@sum(link:c*b);
!dvd总数的约束;
@for(cd(J):@sum(ren(I):b(I,J))
!需求约束;
@for(ren(I):@sum(cd(J):b(I,J))=3);
@for(link:@bin(b));
data:
c= ;!输入偏爱度;
dvd= ;!输入现有的每张DVD张数;
enddate
end
2005 年全国大学生数学建模国家二等奖获奖论文
11
运行软件:Matlab 6.5
运行环境:windows2000
ding=[ ];%输入订单表
b=[ ];%输入由 lingo 解得的最优解
k=1;
for i=1:1000% x 为分配 DVD 方案表
for j=1:100
xx(i,j)=b(k);
k=k+1;
end
end
for i=1:1000 %满意度
for j=1:100
if ding(i,j)>0 %ding 表示订单表
man(i,j)=11-ding(i,j);
end
end
end
tt=xx.*man;
ts1=sum(tt(:)) %ts1 满意度的最大值
tt=xx.*ding;
tt2=sum(tt(:)) %tt2 订数字和最小
for i=1:1000
k=1;
for j=1:100
if xx(i,j)==1
d(i,k)=j;%d 表示发放表
k=k+1;
end
end
end
for i=1:1000
for j=1:3
ddd(i,j)=ding(i,d(i,j));%ddd 与发放表对应的订单数字
end
end
k=0;%租给了会员不愿意租到碟的个数
for i=1:1000
for j=1:100
if (xx(i,j)==1&ding(i,j)==0)
k=k+1;
2005 年全国大学生数学建模国家二等奖获奖论文
12
end
end
end
k
2、问题三程序
运行软件:Matlab 6.5
运行环境:windows2000
c0=[ ]; %输入在线订单表
n=1000;c1=zeros(n,7); %%记录 j 号会员的信息,c1(j,1)-c1(j,3)表示会员借的三张碟的号码,
olddvd=ones(1,100)*n; %c1(j,4)表示借的时间,c1(j,5)表示还的时间 c1(j,6)表示会员的类别,
c1(j,7)表示借次数
c1(:,6)=unidrnd(10,1000,1) ; % 人数分类 60%会员只能租二次 40%会员只能租一次 小于 6 为第一类
人
a=10;b=20;
yt=olddvd;
for(i=1:30)%对每一天的情况进行模拟
for(j=1:n)
if(c1(j,4)&c1(j,5)==i)%还碟
if(c1(j,1))olddvd(c1(j,1))=olddvd(c1(j,1))+1;end
if(c1(j,2))olddvd(c1(j,2))=olddvd(c1(j,2))+1;end
if(c1(j,3))olddvd(c1(j,3))=olddvd(c1(j,3))+1;end
c1(j,4)=0;
end
if(c1(j,4))continue;end %以下可以租
if(c1(j,6)<=6&c1(j,7)>=2)continue;end % 60%的会员 租了两次不能再阻
if(c1(j,6)>6&c1(j,7)>=1)continue;end % 40%的会员租了一次不再租
if(unidrnd(100)>95) continue;end %保证 0.95 的概率能选到
c2=c0(j,:);%以下开始租
ts=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
生成三个随机数
ct=0;
for s=1:100
if(c2(s)) ct=ct+1;ts(ct)=c2(s);end
end
tt=length(ts);
%tt=max(c2); %第 m 行的人预选个数
2005 年全国大学生数学建模国家二等奖获奖论文
13
%ts=1:tt;
ts=11-ts;
%生成三个不同的随机数,按照概率
tm=sum(ts(1:tt));
t1=unidrnd(tm);%生成第一个随机数
t0=0; ss=1;
while t0
t0=t0+ts(ss);
ss=ss+1;
end
ss=ss-1;
sj(1)=ts(ss);
%生成第二个随机数
for r=ss+1:tt%删除
ts(r-1)=ts(r);
end
tt=tt-1;
tm=sum(ts(1:tt));
t1=unidrnd(tm);
t0=0; ss=1;
while t0
t0=t0+ts(ss);
ss=ss+1;
end
ss=ss-1;
sj(2)=ts(ss);
for r=ss+1:tt%删除
ts(r-1)=ts(r);
end
tt=tt-1;
tm=sum(ts(1:tt));
t1=unidrnd(tm);%生成第二个随机数
t0=0; ss=1;
while t0
t0=t0+ts(ss);
ss=ss+1;
end
ss=ss-1;
sj(3)=ts(ss);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for s=1:3
j1(s)=find(c2==11-sj(s));
c1(j,s)=j1(s);
2005 年全国大学生数学建模国家二等奖获奖论文
14
olddvd(c1(j,s))=olddvd(c1(j,s))-1;
c0(j,j1(s))=0;
end
c1(j,4)=i;
c1(j,5)=i+round(unifrnd(a,b));
c1(j,7)=c1(j,7)+1;
end
mindvd(i,:)=olddvd;
end
mindvd1=1000-min(mindvd);
sum(mindvd1)
DVD在线租赁的研究.pdf