DVD在线租赁.docx
- 文档编号:24611531
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:31
- 大小:73.90KB
DVD在线租赁.docx
《DVD在线租赁.docx》由会员分享,可在线阅读,更多相关《DVD在线租赁.docx(31页珍藏版)》请在冰豆网上搜索。
DVD在线租赁
DVD在线租赁模型
摘要
随着网络的日益发达DVD的在线租赁问题越来越值得我们重视。
我们对如何调配DVD的碟片种类、数量等,进行了认真的讨论和研究,进行了合理的假设和推理,针对问题建立了三个模型。
模型一(概率模型)
问题1是考虑如何用最少的光碟满足更多用户,而会员与会员之间在租碟问题上是等概率事件,光盘与光盘之间在租碟过程中是互为独立事件。
在会员之间的概率是相等的,各个光盘之间互为独立,不会相互影响。
我们先让每月租两次的人先租,而后归还的光碟又全部借出,以满足题意。
先考虑DVD1,得出结果:
=5000
同理:
我们可以得到各DVD种类和最少的需求量;
利用我们的模型加入了分类讨论的思想进行对第一题的第个问题来求解;
得到各DVD种类和最少的需求量。
模型二(类贪婪算法模型)
问题2我们利用类贪婪算法的思想,要使整体最优,要让每个会员尽量都达到最优。
我们从第一个会员开始找最优,先满足他的最大喜爱度,依次类推,剩余会员在前面会员最优的情况下选择最优,同时保证会员得到某种光碟总量不能该碟的现有量,基于这种思想我们利用C++语言编程求解。
问题的答案:
1.1 各种DVD光碟的最少需求量如下就可以使会员中50%可以看到该碟:
各种DVD的最少数量
DVD类型
DVD1
DVD2
DVD3
DVD4
DVD5
DVD数量
5000
2500
1250
625
250
表
(一)
DVD类型
DVD1
DVD2
DVD3
DVD4
DVD5
DVD数量
3800
1900
950
475
190
1.2各种DVD光碟至少需要的数量如下就可以是3个月内可以有95%的会员看到该碟:
各种DVD的最少数量
表
(二)
2.1 经过我们的模型计算可以得到结果,因空间有限,所以结果见表(四)。
3.1问题3利用类贪婪算法思想,利用C++语言编程、计算得到结果:
DVD编号
D001
D002
D003
D004
D005
D006
D007
D008
D009
D010
数量
18
10
17
15
11
19
15
17
20
16
DVD编号
D011
D012
D013
D014
D015
D016
D017
D018
D019
D020
数量
16
16
16
12
17
10
16
15
17
7
表(三)
一 问题重述
随着信息时代的到来,网络成为人们生活中越来越不可或缺的元素之一。
许多网站利用其强大的资源和知名度,面向其会员群提供日益专业化和便捷化的服务。
例如,音像制品的在线租赁就是一种可行的服务。
这项服务充分发挥了网络的诸多优势,包括传播范围广泛、直达核心消费群、强烈的互动性、感官性强、成本相对低廉等,为顾客提供更为周到的服务。
考虑如下的在线DVD租赁问题。
顾客缴纳一定数量的月费成为会员,订购DVD租赁服务。
会员对哪些DVD有兴趣,只要在线提交订单,网站就会通过快递的方式尽可能满足要求。
会员提交的订单包括多张DVD,这些DVD是基于其偏爱程度排序的。
网站会根据手头现有的DVD数量和会员的订单进行分发。
每个会员每个月租赁次数不得超过2次,每次获得3张DVD。
会员看完3张DVD之后,只需要将DVD放进网站提供的信封里寄回(邮费由网站承担),就可以继续下次租赁。
请考虑以下问题:
1)网站正准备购买一些新的DVD,通过问卷调查1000个会员,得到了愿意观看这些DVD的人数(表1给出了其中5种DVD的数据)。
此外,历史数据显示,60%的会员每月租赁DVD两次,而另外的40%只租一次。
假设网站现有10万个会员,对表1中的每种DVD来说,应该至少准备多少张,才能保证希望看到该DVD的会员中至少50%在一个月内能够看到该DVD?
如果要求保证在三个月内至少95%的会员能够看到该DVD呢?
2)表2中列出了网站手上20种DVD的现有张数和当前需要处理的100位会员的在线订单,如何对这些DVD进行分配,才能使会员获得最大的满意度?
请具体列出前30位会员(即C0001~C0030)分别获得哪些DVD。
3)继续考虑表2,并假设表2中DVD的现有数量全部为0。
如果你是网站经营管理人员,你如何决定每种DVD的购买量,以及如何对这些DVD进行分配,才能使一个月内95%的会员得到他想看的DVD,并且满意度最大?
二 问题的分析
“DVD在线租赁”问题中,我们要解决的是如何在光碟较少的情况下使更多的人看到他们想看到的光碟。
由我们的常识可知:
在每月出租的次数一定的条件下,如果每次所租出的光碟最多,也就是尽可能全部租出的话,那样所需要的光碟数量最少。
当给我们一定数量的光碟时,我们应该考虑怎样把这些光碟分配给会员,才能够最大限度的满足会员的需求又能达到所规定的人数。
我们通过建立怎样的模型来分配这些光碟使会员的满意度最大,也能够使每个月观看的人数达到所规定的数量。
三 符号说明
表示DVD1的最少的需求量
表示DVD2的最少的需求量
表示DVD3的最少的需求量
表示DVD4的最少的需求量
表示DVD5的最少的需求量
表示会员的数量
表示能够看到该光碟的百分比
表示为上半个月租到光碟的人占愿意看该光碟的总人数的百分比(上半个月租到的概率)
表示为下半个月租到光碟的人占愿意看该光碟的总人数的百分比(下半个月租到的概率)
四问题的假设
1.假设每月租两次的会员,在每个半月的月初开始借光碟,每个半月的月末归还,每月借一次的人,租到光碟后他们在每个月的月末才还;
2.假设光碟在归还是不出现以外,即能够及时、安全到达会员和中心;
3.假设光碟在租借过程中一直完好,不影响租借;
4.假设每个会员租借光碟是一个等概率事件;
5.假设各个DVD光碟被借的事件之间互为独立事件;
6.假设会员如果租借光碟就刚好是三张。
五 模型的建立
模型一
1.问题的补充假设:
(1)设他们的租借的过程就是先让光碟租借给租借两次的人,也就是先考虑60%里的人,在前半月先借给借两次的人,等他们归还以后在借给其他的人。
(2)调查过程中完全理想化。
就是说调查的结果是完全符合所有会员的意愿,他们是所有的会员的代表。
1000个会员和100000会员里边的百分率都一样。
2.模型的建立:
光碟在被租的过程是独立事件,所以我们对DVD1先进行单独考虑不会影响其他DVD光碟的租借。
然后对其他几种光碟也进行单独考虑,这样可以简化问题,但又不会影响其他光碟的租借。
我们要利用尽可能少的光碟来满足更多想看到该光碟的人,就是如果每一次都让所有的光碟全部租完,又不重复的租借给同一个人,这样就可以省一部分的光碟。
换言之在会员数量一定的条件下,我们就不需要那么多光碟。
在一个月的月初,我们先把所有DVD1光碟
全部租给60%一个月租两次的人。
等上半个月末的时候他们归还了。
下个半月的DVD1光碟总数是
。
等下个半月初的时候再借给上半个月没有借到的人。
这样可以使DVD1光碟的数量最少,因为每一次都是全部租出。
我们可以简化问题,若是光碟随机的租出,那么这个问题就非常复杂了。
我们是考虑让所有满足要求得人看到DVD。
在1000个会员中,有200个愿意看到DVD1的光碟,那么在100000个会员中他们占有相同的百分率,即:
有20000个人想看到DVD1的光碟。
根据题目要求:
在一个月内有50%的会员看到自己想看的DVD,所以我们可以先租给60%每月租两次的会员占总人数的X/M,即:
下半个月可以租出的光碟总数还是X;则
;
一个月内没租到会员的概率是
;
则有下列关系:
(1)
(2)
=100000
可以解得
就是在一个月最多能租两次的条件下,为使在一个月内至少要有50%的人看到他想看到的DVD1光碟,至少需要5000张DVD1光碟。
同理可得:
至少需要2500张DVD2光碟,1250张DVD3,625张DVD4,250张DVD5。
也就是分别准备5000张DVD1光碟,2500张DVD2光碟,1250张DVD3光碟,625张DVD4光碟,250张DVD5光碟。
就可以满足至少有50%的会员可以看到他喜欢的碟子。
保证三个月内至95%的会员可以看到该碟,同样我们对此题也可采用上述方法,先对DVD1来考虑。
愿意观看的人数为20000人,DVD1、DVD2、DVD3、DVD4、DVD5分别至少需
、
、
、
、
。
此题中为了求解方便,我们可以将三个月划分为6个半月,时间分为6段,在整个过程中只需租到碟的人数占愿意观看DVD的人数的95%以上。
在一个月中,若上半月借给可借两次的人,上半月结束时,他必须归还。
若仅可借一次DVD光碟的人不还,待下个月开始时再还,这是现实情况,这也是此题的求解过程,我们也可以变通一下,即无论是上半月还是下半月,我们可以先让可以借两次的会员先借,等到可以借两次的会员都借过一次之后,再把剩余的碟子借出仅借一次的会员,他们一个月只可以借一次,这一次也是把光碟借完。
只有在这样的情况下,才可以需要的光碟最少。
基于上述情况,我们现在要考虑的是在这六个时间段中的哪个时间段内,可以借两次的会员都借过一次,我们可以在六个时间段进行六种情况的讨论:
1.设:
在A段可借两次的会员都借了一次。
A段租借的DVD1数量为:
,但是租出的
中含有两部分,即可借两次的会员和可借一次的会员,他们的数量分别为:
Y、Z则有下列的关系式:
(1)
+
+
+
≥20000*95%;
(2)
+Z=
;
(3)
=20000*60;
(4)
≥20000*60%;
可以得到:
≥12000;
2.设在B段可借两次的会员都借了一次。
A段租借的DVD1数量为:
,但是租出的
中含有两部分即可借两次的会员和可借一次的会员,他们的数量分别为:
Y、Z则有下列的关系式:
(1)
+
+
+
≥20000*95%;
(2)
+Z=
;
(3)
+
=20000*60%;
(4)
≤20000*60%;
(5)2
≥20000*60%;
可以得到12000≥
≥6000
3.设:
在C段可借两次的人都借了一次。
A段租借DVD1张数为
,B段为
,C段为
。
但此时C段,A段借给的会员有可借两次的会员,也有借1次的会员,可设这两种人分别为
、Z,而D只有
,因为借两次的会员到下半月归还,而上半月借一次的不归还E、F两段共为
。
关系式:
(1)2
+
+
+
≥20000*95%;
(2)2
≤20000*60%;
(3)3
≥12000;
(4)2
+
=12000;
解为:
6000≥
≥4000;
同理:
2
+2
+
≥19000;
3
≤12000;
4
≥12000;
得解为:
4000≥
≥3800;
同理:
5
+
≥19000;
4
+
=12000;
5
≤12000;
得解为:
≥7000且
≤2400即为无解;
同理:
6
≥19000
5
≥12000=>无解
6
≥12000
综上所述:
第一种情至少况需要12000张,第二中情况至少需要6000张,第三种情况至少需要4000张,第4种情至少况需要3800张,第5种情况不成立,第6种情况不成立。
所以至少需要3800张
同理:
DVD2至少需要1900张,DVD3至少需要950张,DVD4需要475张,DVD5需要190张。
即最少需要DVD1为3800张,DVD2为1900张,DVD3为950张,DVD4为475张,DVD5为190张。
模型二
1.模型补充假设:
(1)此题只要考虑会员的得到与否,所以我们假定每个会员只借一次,也就是说没个人都借到3张DVD碟。
(2)每个会员借光碟的可能都是相等的即等可能事件,所以我们从C001会员来考虑;如果我们从其他的会员来考虑的话,其得到的结果应该是一样的,只不过是会员的代号不一样而已。
2.模型分析:
该题中所要求的是如何安排才能使所有的会员获得最大的满意度,并且列出前30名会员的分配情况,该模型利用了类贪婪算法来求解,就是要使整体的会员的满意度最大,我们只要使每个会员的满意度最大就可以。
3.模型的建立:
此模型的过程是依次从第一名会员开始,是每个会员都尽量获得最大满意度。
结合该题所给出的数据,我们先从第一个名会员来考虑,也就是C001来考虑。
我们从C001所在的那一行中选出1,2,3数字,标出他们的位置,即他的选择是那几个光碟。
依次向下考虑其他的会员,前几行都象这样考虑,直到你所选该行中的数字(例如1,2等)所在的列前所选的个数之和大于该碟的总数,这时候我们就得让该会员选他们不太满意的光碟,也就是选比该数字稍大一点的数字。
同理,一直向下知道考虑所有的会员为止。
我们让每一个人的满意度最大基于上述的算法的思想我们利用所学的C++语言来编出程序计算出我们想要的结果。
程序代码(附后表)计算出的前三十名会员分配DVD情况的结果如下:
会员
编号
C001
C002
C003
C004
C005
C006
C007
C008
C009
C010
拥有的DVD
编号
D003
D008
D016
D001
D012
D015
D013
D014
D017
D011
D012
D019
D013
D015
D019
D012
D015
D016
D004
D007
D011
D001
D013
D014
D002
D003
D015
D010
D012
D018
会员
编号
C011
C012
C013
C014
C015
C016
C017
C018
C019
C020
拥有的DVD
编号
D003
D010
D013
D005
D011
D019
D009
D013
D19
D006
D016
D017
D007
D009
D017
D001
D009
D011
D001
D004
D017
D007
D011
D018
D015
D017
D019
D006
D009
D020
会员
编号
C021
C022
C023
C024
C025
C026
C027
C028
C029
C030
拥有的DVD
编号
D004
D009
D013
D003
D007
D011
D001
D012
D013
D011
D013
D019
D016
D017
D019
D003
D016
D018
D006
D0120
D012
D005
D007
D009
D004
D013
D020
D003
D009
D017
表(四)
模型三
本小题要解决的问题是在一个月内会员租到DVD的人数m即满足
,又要求这些租碟的会员总体满意度最大。
根据问题2中遇到的问题,运用类贪婪法解决优化问题我们不难想象出:
若每个会员所达到的满意度最大,则可以使整体的满意度最大。
要想使每个会员的满意度最大,就必须使他们第一次就能租到最想要得DVD。
这样我们就可以把会员在一个月内租的DVD数量限制在每人3张。
根据贪婪法的思想,我们首选的满意度最高的DVD来满足会员,即依次选择喜爱度为1、2、3的DVD。
模型建立:
我们根据C++编程思想和MATLAB编程原理,编写程序见附表程序(三),运行结果:
18,10,17,15,11,19,15,17,20,16,16,16,16,12,17,10,16,15,17,7
在如何分配的问题上,我们计算的方法就是全部把满足会员最喜爱的光碟统计出来。
因此只要按喜爱度1、2、3进行分配!
六模型检验
模型一
首先在解决一个月内满足50%会员看到DVD光碟时,我们的模型运用了概率,得到最终的结果DVD1需要5000张。
试想一下,DVD光碟每个月租两次每次都全部租出,他们都不重复。
这已经使现有的光碟租给了最多的人,没有哪种租碟的方法能够把少量的光碟租给更多的人。
反过来想,在人数一定时用此方法,求出碟的数量应该是最少,即网站至少需要的光碟数量。
现在我们来看看,在三个月内的情况,我们采取了把三个月划分为六段,之后进行了分类讨论,涵盖了所有的情况,在求解的过程中,我们经过了求解和比较,最终得到了结果,此结果比较接近现实,所以说我们的结果是符合题意的。
模型二
在模型二中,我们利用了类贪婪的思想,来编程求解,程序能够运行,说明程序在执行过程中没有错误,我们要检验我们的编程的思想是否正确,在现实生活中,我们知道一个和函数的最大值不一定等于他们各个函数的最大值之和,但是如果每一个函数的最大值之和一定是这个和函数的最大值。
不等式如果a 在高中时已经证明过。 所以说我们的编程思想是正确的。 用类贪婪的思想也具有一定的合理性。 模型三 本模型和模型二原理基本相同,都是根据贪婪思想逐个选择最优问题的。 在此我们不做过多的解释。 七模型改进 1.在现实中,借、还之间不一定是半个月,有可能是几天,借、还周期不确定。 我们不妨设周期为n,进行求解结果可能更加精确。 2.如果我们拥有的lingo优化软件的版本比较高的,可以解决很多很多变量的0-1规划,则问题2)的求解可以采用更加精确的0-1线性规划模型来解决,结果会更加精确,更加符合实际情况。 , , 其中 表示第i个人对第j张碟的喜爱程度,则 表示这100个人对得到这20张碟的满意度。 ,表示这20张碟的现有量。 则我们建立0-1规划模型: 然后利用lingo优化软件来求解。 Lingo软件的求解程序见附录里的程序 (二) 由于我们拥有的Lingo软件版本比较低,得不到运行结果。 3.对于模型三,我们只是单纯的考虑所有会员只租借三张光碟,可能有些片面,我们可以分析在一个月内有租借两次的会员,他们可能还碟,这样可以让其他的会员租到相应的光碟。 网站所需要的光碟数量会更少。 由于我们不知道租两次会员的记录,不能准确的计算。 八模型的评价与推广 该模型在理论上较好的描述了在线DVD的租赁问题(如何使顾客得到最大满意度,和使管理DVD的购买问题,)在解决该竞赛题所涉及的问题,我们在解决时运用了贪婪思想的逐步求解,优化和最优分配等理论思想,并用C++编程软件对该题问题编出解决问题的程序。 本题的特点: 数据比较多,因此我们就用简化思想和贪婪思想对会员租赁DVD进行逐步分配,达到题目所要求的最大满意度,还有就是随机性强且非均匀连续,造成分配方法的多样性,会员在每一个月的租赁次数又是不一定的,没有考虑上一个月的会员租赁的DVD的归还问题,这样必然影响到现实中的最优。 本模型还可以应用到图书管的借书问题,饭店中座位的按排问题等的研究和解决。 对物流学、商学、经济学和社会调查等有一定的参考价值。 九 模型的优缺点 (1)模型一和二基本符合题目的要求,较好地反映了实际情况。 (2)模型二解决了DVD的在线优化分配问题,使网站和顾客都达到满意。 (3)模型一和二简单易懂,便于人们理解和接受。 (4)该模型如果应用0-1模型解决,结果会更加精确,更加符合实际情况。 (5)模型二运用C++编程进行处理该问题,使大量的数据得到简化。 (6)模型二实际运用起来比较不方便,对不懂C++编程语言的用户,很难处理好如此多的数据。 (7)该模型缺少一个适当的软件就进行操作,使的操作量太大。 十 参考书目 [1]吴筑筑,于江明,《计算方法》.北京: 清华大学出版社.北京交通大学出版社. [2]万中,曾金平,《数学实验》.北京: 科学出版社,2001. [3]钱能,《C++程序设计教程》,北京.清华大学出版社.2004. [4]姜启源,谢金星,《数学建模》(第三版).高等教育出版社.2003 附表(原程序) 程序 (一): 解决问题2)的C++程序: #include voidmain() {staticintM[100][20]={{0,0,2,0,0,0,9,1,5,7,0,0,8,0,3,6,0,0,4},{1,0,9,0,0,7,0,0,4,0,0,2,0,6,3,0,0,8,5,0}, {0,6,0,0,0,7,0,0,0,0,0,4,1,3,8,0,2,0,9,5},{0,0,0,0,4,0,7,6,0,0,3,1,0,5,9,0,8,0,2,0},{5,0,0,0,0,4,7,0,0,9,0,0,3,0,2,8,6,0,1,0},{4,0,6,0,0,8,0,5,9,0,0,3,0,0,1,2,0,0,7,0},{0,0,6,3,0,0,1,2,8,0,4,0,0,0,0,5,0,0,9,7},{3,0,0,0,0,0,0,8,0,0,7,9,1,2,0,6,0,5,4,0}, {0,3,2,9,0,0,7,5,0,6,0,0,0,0,1,4,0,8,0,0},{7,0,0,0,0,0,0,6,0,1,4,2,0,0,0,0,5,3,0,0}, {0,0,4,0,0,0,0,1,0,2,8,0,3,0,5,0,0,6,7,0},{0,8,0,0,4,0,7,0,0,6,2,0,5,3,9,0,0,0,1,0}, {8,0,0,0,0,5,0,0,2,0,0,9,3,0,6,0,4,0,1,7},{7,0,9,0,0,3,0,0,0,0,0,4,6,0,0,1,2,5,8,0}, {4,0,0,0,0,0,1,0,2,7,6,5,0,0,9,0,3,0,0,8},{3,0,9,0,0,0,6,1,2,0,4,0,0,0,0,0,7,8,5,0}, {2,7,0,1,0,0,5,4,0,0,0,0,0,8,0,0,3,6,0,0},{7,5,0,0,0,0,1,0,0,0,3,0,9,0,0,4,8,2,0,6}, {0,5,0,0,0,7,0,3,0,0,8,0,0,0,2,6,1,0,4,0},{0,0,9,0,4,2,7,0,1,8,0,6,0,0,0,0,0,0,5,3}, {0,0,7,4,0,5,0,0,3,8,0,0,2,0,1,6,0,0,0,0},{0,4,2,0,6,0,1,0,0,0,3,5,0,7,0,8,0,0,0,0}, {4,3,0,0,0,0,0,0,7,9,5,1,2,0,8,0,0,6,0,0},{5,0,9,0,0,0,6,3,0,0,1,0,2,0,7,0,8,0,4,0}, {6,5,0,0,0,0,0,0,0,8,0,0,7,0,2,4,1,9,3,0},{6,8,1,0,0,5,0,3,0,7,0,0,9,0,0,2,0,4,0,0}, {7,1,0,0,8,3,5,0,0,2,0,4,0,9,6,0,0,0,0,0},{0,0,0,7,2,0,3,6,1,4,0,0,5,0,8,9,0,0,0,0}, {0,7,0,4,5,0,0,1,0,8,0,6,2,0,0,0,0,0,0,3},{0,0,1,0,0,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DVD 在线 租赁
![提示](https://static.bdocx.com/images/bang_tan.gif)