2005年数学建模B题(含代码).doc

收藏

编号:2724678    类型:共享资源    大小:1.20MB    格式:DOC    上传时间:2020-05-01
8
金币
关 键 词:
数学 建模 代码
资源描述:
/ 2013高教社杯全国大学生数学建模竞赛 承 诺 书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从A/B/C/D中选择一项填写): B 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 华南师范大学增城学院 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 (打印并签名): 日期: 年 月 日 赛区评阅编号(由赛区组委会评阅前进行编号): 2013高教社杯全国大学生数学建模竞赛 编 号 专 用 页 赛区评阅编号(由赛区组委会评阅前进行编号): 赛区评阅记录(可供赛区评阅时使用): 评 阅 人 评 分 备 注 全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号): DVD在线租赁 摘要 问题(三):题目需要我们回答购买各种的数量来使95%的会员能看到他想看到的,并且要怎么分配才能使满意度达到最大;每种建立以总的购买数最小、会员满意度最大为双目标的规划模型。通过确定在一个月内每张的在每个会员中手中的使用率;然后通过c语言程序编程来确定每种的购买量;建立0-1规划模型;通过软件使满意度达到最大,来最终确定的分配; 一级,二级目标,将多目标规划转化为单目标;同时将第j种DVD的购买量的整数约束去掉,求解出最小购买数为178.125张。将最小购买数作为约束条件,优化满意度后,得到最大满意度为95%;然后对此时DVD的购买量向上取整,得到总购买数为186张。当购买数为186张时,会员满意度达到97%。 三、模型假设 1、租赁周期为一个月,每月租两次的会员可以在月中再租赁一次; 2、同一种每人只能租赁一次; 3、在租赁过程中无损坏; 4、会员每月至少交一次订单; 5、会员只有把前一次所借的DVD寄回,才可以继续下一次租赁 6、月底全部收回,继续下个周期的租赁; 7、随着时间的推移,该网站的会员们的流动情况不会出现大变动。 四、符号说明 符号 意义 Q 的张数 会员对订单的数量 会员对某种偏爱度 第j种总中张数 B 会员对网站的满意度 会员的标号 j 的种类 网站对购买的量 一、问题的重述 随着信息时代的到来,网络成为人们生活中越来越不可或缺的元素之一。许多网站利用其强大的资源和知名度,面向其会员群提供日益专业化和便捷化的服务。例如,音像制品的在线租赁就是一种可行的服务。这项服务充分发挥了网络的诸多优势,包括传播范围广泛、直达核心消费群、强烈的互动性、感官性强、成本相对低廉等,为顾客提供更为周到的服务。 考虑如下的在线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中列出了网站手上100种DVD的现有张数和当前需要处理的1000位会员的在线订单,如何对这些DVD进行分配,才能使会员获得最大的满意度?请具体列出前30位会员(即C0001~C0030)分别获得哪些DVD。 (3)继续考虑表2,并假设表2中DVD的现有数量全部为0。如果你是网站经营管理人员,如何决定每种DVD的购买量,以及如何对这些DVD进行分配,才能使一个月内95%的会员得到他想看的DVD,并且满意度最大? (4)如果你是网站经营管理人员,你觉得DVD的需求预测、购买和分配中还有哪些重要问题值得研究?请明确提出你的问题,并尝试建立相应的数学模型。 表1 对1000个会员调查的部分结果 DVD名称 DVD1 DVD2 DVD3 DVD4 DVD5 愿意观看的人数 200 100 50 25 10 表2 现有DVD张数和当前需要处理的会员的在线订单(表格格式示例) DVD编号 D001 D002 D003 D004 … DVD现有数量 10 40 15 20 … 会员在线订单 C0001 6 0 0 0 … C0002 0 0 0 0 … C0003 0 0 0 3 … C0004 0 0 0 0 … … … … … … … 注:D001~D100表示100种DVD, C0001~C1000表示1000个会员, 会员的在线订单用数字1,2,…表示,数字越小表示会员的偏爱程度越高,数字0表示对应的DVD当前不在会员的在线订单中。 二、问题的分析 问题分析:题中列出了网站手上20种DVD的现有张数和当前需要处理的100位会员的在线订单,要得到使会员获得最大满意度的DVD分配方案,这可以通过建立线形规划模型来实现。由于每个会员对不同DVD的偏爱程度不同,且题中所给的列表中会员的在线订单中数字越小表示会员的偏爱程度越高。由于每个会员可以按偏爱程度在20种DVD (可以参考) 五、模型的建立与求解 (一):问题一 由历史数据,60%的会员每月租赁两次,而另外40%的人只租一次。由假设会员如果在当月归还了,一般会同时有第2次的租赁要求,因此认为有60%的会员在一个月有两次租赁需求,其他40%的会员为一次。近似认为会员的需求基本上能满足,从而认为有60%的会员会在一个月内归还,另外40%则不能。在一个月内归还的还可以满足另一个会员,又新购一般会较受欢迎,因此认为该一直在周转中,没有出现该空闲情况。故可以合理地认为一张新在一个月内以60%的概率满足两个会员,40%的概率满足一个会员,从而一张的相对一个人来说使用率为 ; 需要准备的张数为;由调查结果1000个会员中愿意观看DVD的购买量为。 模型一、 保证希望看到该的会员中至少50%在一个月内能够看到该需要准备的的张数: 保证希望看到该的会员中至少95%在三个月内能够看到该需要准备的的张数: 模型的求解: 当时 保证希望看到该的会员中至少50%在一个月内能够看到该需要准备的的张数 保证希望看到该的会员中至少95%在三个月内能够看到该需要准备的的张数: 同理可得各种需要准备的张数,计算得下表1: 表1:各种需要准备的张数 名称 1 2 3 4 5 为50%时购买量 7000 3500 1750 875 350 为95%时购买量 4434 2217 1109 555 222 为了验证模型一的准确性:我们建立了模型二 模型二 我们将每月租凭两次的会员平均分成两部分,一部分是在月初借,月中还;第二部分是在月中借,月末还;这样就将第一部分月初借的在月中的时候再借给第二部分;这样就能使需要准备的数达到最小。 保证希望看到该的会员中至少50%在一个月内能够看到该需要准备的的张数: 保证希望看到该的会员中至少95%在三个月内能够看到该需要准备的的张数: 模型求解: 保证希望看到该的会员中至少50%在一个月内能够看到该需要准备的的张数: 保证希望看到该的会员中至少95%在三个月内能够看到该需要准备的的张数: 同理可得各种需要准备的张数,计算得下表2: 表2:各种需要准备的张数 名称 1 2 3 4 5 为50%时购买量 7000 3500 1750 875 350 为95%时购买量 4434 2217 1109 555 222 (2) 、问题二 会员对某种偏爱度的量化:会员对偏爱度是随着订单数字的增加而减少,其中会员对网站的满意度与满足会员的偏爱度是挂钩的;因此我们可用一非增函数来度量;从心理学的角度来看:随着的增加,相邻的两个订单数字之间的偏爱度的差会越来越小,所以我们定义了; 不同会员在对同一种偏爱指数相同时,我们在分配时优先考虑编号在前的会员。要确定把那张租给哪个会员,才能使满意度达到最大,因此我们引入表示把第种是否租给第个会员;从问题我们可以看出这是一个如何分配的问题,我们不妨把其中现有的张数看成现有判断条件为需要完成的任务,把每一为会员看成完成这些任务的人选,其中他们对各种的偏爱度就代表他们完成相对应的任务的能力;我们就要使他们对各种任务的完成能力达到最大; 约束条件所有的会员分配到j种的数量之和不能超过现有的第j种的张数 1、2...100;为0-1变量) 由于网站每次对每个会员的分配要么0张要么3张所以 (i=1、2、...1000;为0-1变量) 对问题(2)建立0—1规划模型。 模型三: 目标函数; 约束条件:(、均为0-1变量;i=1、2....1000;j=1、2....100); 模型求解: 用 数学软件实现对此题0-1规划模型的求解;执行的代码见附录一;可以获得的最大满意度为1634.712其中前30位会员(即C0001~C0030)获得DVD情况如下表所示 前30名会员获得的情况 会员编号 编号 C0001 8 41 98 C0002 6 44 62 C0003 32 50 80 C0004 7 18 41 C0005 66 68 11 C0006 19 53 66 C0007 26 66 81 C0008 31 35 71 C0009 53 78 100 C0010 41 55 85 C0011 59 63 66 C0012 31 2 41 C0013 21 78 96 C0014 52 23 DVD 89 C0015 13 85 52 C0016 84 97 10 C0017 67 47 51 C0018 41 60 78 C0019 84 86 66 C0020 45 89 61 C0021 53 45 50 C0022 57 55 38 C0023 95 29 81 C0024 76 41 37 C0025 9 69 94 C0026 22 68 95 C0027 58 78 80 C0028 8 34 37 C0029 55 30 26 C0030 62 37 98 (3) :问题三 问题三是问题一和问题二的结合,要求我们在确保95%的会员能得到他想看的的前提下使会员对网站的满意度达到最大;在这里我们需要解决的问题 如何使采购的总数量最少;2、如何每种的采购量,才能使客户的满意度达到最大;因此我们求出需要准备总数的上下限,假定网站在一个月内分配给会员一次(三张他想要看的)即认为会员得到他想看的。由于在一个月内一张使用率为0.7设购买第种的数量为,相当于能够满足网站在一个月内需求为j种的会员数。每一种都满足95%的会员的观看,这样既能满足题目要求,又能使满足度达到最大;所以需要购买种的数量有如下表达式: 上限:每月租二次的人两次会员还回来的全部不能重复利用,则得出可以借出的总数的上限为 下限:每月租二次的人两次会员还回来的全部能重复利用,则得出可以借出的总数的下限为 利用模型一的方法进行求解: 目标函数: (为0-1变量,即当小于6大于时0,就为1;否则就为0;j=1、2....100) 约束条件: (为0-1规划;当=0时=0,=1,j=1、2....100) 建立0-1规划模型 目标函数: 约束条件: (为0、1、2变量,为0-1变量;i=1、2....1000;j=1、2....100); 模型求解: 在通过语言进行编程求解中过程中,在数据的输入方面存在很大困难,所以我们先把里们的数据复制记事本然后复制到,通过查找、替换我们把空格替换成逗号,然后就把数据复制带里面,这样数据的处理就得到了解决;然后通过c语言和进行编程可以求出各种的购买量,执行的程序见附录二与附录三; 表2:的购买量 编号 1 2 3 4 5 6 7 8 9 10 购买量 43 67 48 76 39 54 56 58 69 49 编号 11 12 13 14 15 16 17 18 19 20 购买量 51 55 51 63 51 75 52 45 51 67 编号 21 22 23 24 25 26 27 28 29 30 购买量 68 49 65 41 50 59 52 39 50 71 编号 31 32 33 34 35 36 37 38 39 40 购买量 47 68 60 62 68 61 43 59 58 52 编号 41 42 43 44 45 46 47 48 49 50 购买量 88 66 51 65 64 52 57 50 54 64 编号 51 52 53 54 55 56 57 58 59 60 购买量 71 52 57 45 57 59 57 46 59 58 编号 61 62 63 64 65 66 67 68 69 70 购买量 47 60 55 60 48 60 65 61 61 66 编号 71 72 73 74 75 76 77 78 79 80 购买量 64 66 47 59 46 39 39 57 56 51 编号 81 82 83 84 85 86 87 88 89 90 购买量 59 33 45 35 63 44 66 42 43 55 编号 91 92 93 94 95 96 97 98 99 100 购买量 73 49 43 45 79 47 67 62 39 66 (4) :问题四 我觉得的需求预测、购买和分配中还要考虑收入和费用; 假设:会员的入会费为元,网站每月共有名新会员加入;每月的收入就为 每一张的平均购买费为元,的购买数量为;每月的购买费就为 每一张使用的时间为月,所以每月的折旧费为元; 网站每月正常使用费用(如工人的工资,日常饮用水等)为元; 建立模型五 >++ 所以每月的购买数量 在的需求预测方面还需要考虑会员的入会费和的更新速度; 在的分配方面还需要考虑会员的在线时长,会员们之前所订购的的种类,消费习惯。 六、模型结果的分析 3、在问题三方面我们对每一种都满足95%的会员的观看,这样既能满足题目要求使的总数要达到满足95%的会员的观看,又能使满足度达到最大; 附件一: model: sets: dvd/1..100/:total;!total为网站现有的数量; huiyuan/1..1000/; !自定义0-1向量; pianai(huiyuan,dvd):data0; bianliang(huiyuan,dvd):data1; Endsets !目标函数(总体满意度最大); max=@sum(pianai(i,j):data1(i,j)*data0(i,j)); ! x (i,j) ,t (i)为0-1变量; @for(bianliang:@bin(data1)); ! 约束条件每人可租数Yi=3或0; @for(huiyuan(j):@sum(bianliang(j,i):data1(j,i))<=3); ! 所租总数小于网站现有的数量; @for(dvd(i):@sum(bianliang(i,j):data1(i,j))<=total(i)); data: total=10 40 15 20 20 12 30 33 35 25 29 31 28 61 2 28 28 26 31 38 34 29 35 22 29 81 1 19 25 41 29 35 1 40 39 5 106 30 29 2 110 6 15 36 34 11 32 25 2 64 40 26 33 26 61 2 11 38 44 36 27 31 42 44 12 81 10 35 33 30 2 40 15 11 28 24 20 88 9 28 31 8 22 3 70 21 34 4 38 27 39 28 24 15 50 24 36 55 2 40 ; ! 网站现有的数量; data0= 6 0 0 0 0 0 8 1 0 0 4 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 7 0 0 0 0 0 0 0 5 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 2 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 5 1 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 7 0 0 0 3 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 ...... ...... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 2 0 0 0 9 8 0 0 0 0 0 0 0 0 0 0 0 0 0 4 3 0 0 5 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 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 1 0 0 0 0 0 0 0 0 0 0 5 10 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 4 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 2 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 10 0 7 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 6 3 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 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 8 0 10 0 0 6 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 1 0 0 0 0 0 0 4 ; enddata end 附录二: #include int main(void) { int x[1000][100]={6,0 ,0 ,0 ,0 ,0 , 8 ,1 ,0 ,0 ,4 ,0 ,0 ,0 ,0 ,0................}; //输入每位会员的的在线订单 int maxB,i,j,c[1000][100],b[100],k=0,y=0,n[100]={0}; for(i=0;i<1000;i++){ for(j=0;j<100;i++){ if(x[i][j]==0) c[i][j]=0; else c[i][j]=1/x[i][j];} //得出偏爱度,当1/x[i][j]不为0时;c[i][j]=1/x[i][j];当当1/x[i][j]为0时c[i][j]=0; } //进行0—1规划; for(i=0;i<1000;i++){ for(j=0;j<100;i++){ if(x[i][j]==0) x[i][j]=0; else if(x[i][j]<=3) x[i][j]=1; else x[i][j]=0;} } //求出需要第j种DVD的人数 for(j=0;j<100;i++ ){ for(i=0;i<1000;i++){ n[j]=n[j]+x[i][j]; } } //得出第j种DVD需采购数量 for(j=0;j<100;i++){ b[j]=0.7*0.95*n[j]; } //再次进行0-1规划 for(j=0;j<100;i++){ for(i=0;i<1000;i++){ if(k
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:2005年数学建模B题(含代码).doc
链接地址:https://www.taowenge.com/p-2724678.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开