库存说明书已知服务水平定量订货法模拟.doc

上传人:文库蛋蛋多 文档编号:3813950 上传时间:2023-03-23 格式:DOC 页数:19 大小:1.85MB
返回 下载 相关 举报
库存说明书已知服务水平定量订货法模拟.doc_第1页
第1页 / 共19页
库存说明书已知服务水平定量订货法模拟.doc_第2页
第2页 / 共19页
库存说明书已知服务水平定量订货法模拟.doc_第3页
第3页 / 共19页
库存说明书已知服务水平定量订货法模拟.doc_第4页
第4页 / 共19页
库存说明书已知服务水平定量订货法模拟.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《库存说明书已知服务水平定量订货法模拟.doc》由会员分享,可在线阅读,更多相关《库存说明书已知服务水平定量订货法模拟.doc(19页珍藏版)》请在三一办公上搜索。

1、辽 宁 工 业 大 学 库存控制技术 课程设计(说明书)题目: 已知服务水平定量订货法模拟院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: 课程设计(论文)任务及评语院(系): 教研室:学 号学生姓名专业班级课程设计(论 文)题 目已知服务水平的定量订货法模拟课程设计(论文)任务在掌握定量库存控制策略的基础上,综合运用物流学、库存控制技术、数据库语言等课程理论知识,采用蒙特卡洛模拟法,即用计算机处理模仿实际的已知服务水平定量订货法的业务过程。要求按指导书上数据建立两个数据库,分别存放R和Tk的概率分布数据及其随机数分布范围,可以通过屏幕对这两个数据库进行输入、添

2、加、修改、查询;编写模拟程序,并调试运行。主要任务:1、 人机交互操作:输入一个库存满足率p,就可以输出相应的Qk;输入C0,C1,就可以输出相应的Q*,C*。2、 分别模拟100、120、150次在C0,C1不变的情况下分析Q*结果。3、 输出库存满足率为1时的订货点Qk;概括此时的库存控制策略。完成课程设计说明书。主要内容包括:定量订货法原理、蒙特卡洛模拟的原理、软件的功能及操作说明、软件设计特点、主要任务(重点写)等。指导教师评语及成绩成绩: 指导教师签字: 年 月 日目 录第一章. 设计目的3第二章定量订货原理32.1 定量订货法原理32.2 定量订货法优点3第三章蒙特卡洛模拟法原理4

3、第四章定量订货法操作步骤5第五章软件的功能及操作说明5第六章主要任务66.1 封面表单设计66.2 分析数据库建立过程76.2.1 pqk对照表76.2.2 r概率分布数据表76.2.3 tk分布表86.2.4 模拟过程表96.3 分别模拟100、120、150次在C0,C1不变的情况下分析Q*结果106.4 输出库存满意率为1时的订货点Qk156.5 pq报表16第七章课设感想16第八章参考文献17已知服务水平的定量订货法模拟第一章. 设计目的库存控制课程设计是在学生完成库存控制技术课程后必修的教学环节。它一方面要求在设计中能初步学会综合运用过去所学的全部知识,另外也为毕业设计工作做一次综合

4、训练1、培养综合运用物流学、库存控制技术、数据库语言、管理信息系统等课程理论知识的能力。2、培养初步掌握库存控制的基本方法和基本理论,学会编制计算机应用设计程序,提高里理论与实际相结合的应用能力。3、能够进一步强化学生收集整理资料的能力,提高对文献资料的归纳、写作、综合运用的能力。对于已知服务水平的定量订货,我们通过库存控制课程设计达到以下几个目的:法模拟,要实现以下目的:1、理解定量订货法策略。2、掌握蒙特卡洛法模拟方法。3、掌握定量订货法的蒙特卡洛模拟的数字化方法。第二章定量订货原理2.1 定量订货法原理定量订货法,就是预先确定一个订货点和订货批量,随时检查库存,当库存下降到订货点R时就发

5、出订货,即按预先确定的订购量Q发出订货单,经过交纳周期(订货至到货间隔时间)LT,库存量继续下降,到达安全库存s时,收到订货Q,库存水平上升到最大库存水平S。故而,我们有时将定量订货库存控制方法称之为(s,S)库存控制策略。定量订货法库存控制方法的再订货点和订货量都是事先确定的,而且检查时刻是连续的,需求量是可变的。2.2 定量订货法优点(1) 能经常地掌握库存储备动态,及时地提出订购,不易出现缺货。(2) 每次订购量固定,因而能采用经济订货批量模型,便于包装运输和保管作业。(3) 保险储备量较少第三章蒙特卡洛模拟法原理蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间

6、序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的。蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次

7、数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。蒙特卡洛模拟法的概念(也叫随机模拟法)当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用则可用随机模拟法近似计算出系统可靠性的预计值。随着模拟次数的增多,其预计精度也逐渐增高。由于需要大量反复的计算,一般均用计算机来完成。蒙特卡洛模拟法求解步骤1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致。2 .根据模型中各个随机变量的分布,在计

8、算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。3. 根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。5. 统计分析模拟试验结果,给出问题的概率解以及解的精度估计。在此定量订货法中,即用计算机处理模仿实际的物资销售的业务过程。已知需求速度和前置期长度的随机分布,将实际业务过程中的随机变化的日销售量通过计算机随机数的大小随机取销售量来实现,而将实际业务过程中订

9、货前置期的变化也通过计算机随机数随机提取前置期长度来实现。由计算机随机数取得的日销售量和前置期长度就可以计算出该次提前期的销售量。第四章定量订货法操作步骤第一步:先确定模拟总次数N=100。第二步:进行N次模拟,每次模拟的过程为:(1)通过随机数RND()选定订货提前期的大小(单位:天);(2)选定个日需求量相加,得到这个前置期的总需求量:(每个日需求量都是通过随机数RND(R)选定的,一共要选择个日需求量;再相加,得到这个前置期的总需求量,即。(3)累计这个需求量数字的发生次数S()。第三步:对N次模拟结果进行数据处理:(1)将模拟得到全部前置期需求量按从小到大的顺序排序;(2)求出每个需求

10、量水平的发生频数和发生概率;(3)按前置期从小到大的顺序求出每个前置期需求量的累计概率。这样就可以得出一个前置期需求量 ,其发生概率 及累计概率 )的对照表。由这个对照表就可以得到定量订货的订货策略。如果把某一个值取为订货点,则其对应的累计概率就是相应的满足率。相反,如果想达到某一个满足率,则就可以取累计概率等于这个满足率的值作为订货点。第四步:根据订货费用、单位货物单位时间的保管费用、日需求量R的平均值计算经济订货批量 和经济订货费用 ,这样就完成了定量订货法两个指标的计算。第五章软件的功能及操作说明VFP:VISUAL FOXPRO 数据库管理软件 。VFP是由FoxPro发展而来,并且根

11、据“可视化编程”的需要,增加了一些新的操作。它的语句、函数和语法规则与Xbase(如dBASE、FoxBase、FoxPro)语言基本上是兼容的,而且功能更加强大。VFP是运行在Windows操作系统下的、功能更为强大的数据库语言系统。Microsoft Visual FoxPro 6.0关系数据库系统是新一代小型数据库管理系统的杰出代表,它以强大的性能、完整而又丰富的工具、极高的处理速度、友好的界面以及完备的兼容性等特点,备受广大用户的欢迎。Visual FoxPro 6.0及其中文版,是可运行于Windows 95和Windows NT平台的32位数据库开发系统,它不仅可以简化数据库管理,

12、而且能使应用程序的开发流程更为合理。Visual FoxPro 6.0使组织数据、定义数据库规则和建立应用程序等工作变得简单易行。利用可视化的设计工具和向导,用户可以快速创建表单、查询和打印报表。 Visual FoxPro 6.0还提供了一个集成化的系统开发环境,它不仅支持过程式编程技术,而且在语言方面作了强大的扩充,支持面向对象可视化编程技术,并拥有功能强大的可视化程序设计工具。目前,Visual FoxPro 6.0是用户收集信息、查询数据、创建集成数据库系统、进行实用系统开发较为理想的工具软件。第六章主要任务6.1 封面表单设计封面表单设计如图1 图1 封面表单图(1)设置主表单属性A

13、utoCenter 属性设置为.T.,ShowWindow 属性设置为2-作为顶层表单,WindowType属性设置为0-无模式。(2)编写“模拟过程”click程序:do form模拟程序表单.scx (3)编写“退出”click程序:Quit 6.2 分析数据库建立过程6.2.1 pqk对照表Pqk对照表中pdl的类型是数值型,宽度为10,小数位数为2,索引为升,设置pdl为索引。pdl为数值型,因为pdl产生的是数值,pdl取宽度为10,小数位数为2是为了对pdl进行更好的区分,设置pdl为索引是为了使在之后的pqk报表之中能够按照pdl的升序排列;qk的类型是数值型,宽度为10,小数位

14、数为0,qk为数值型,因为qk对应的值为数值,qk取宽度为10。pqk表的设计如图2。图2 pqk对照表图6.2.2 r概率分布数据表R概率分布数据表中r的类型为数值型,宽度为10,r为数值型,因为r产生的是数值,r取宽度为10是因为r的取值范围最大为50;f的类型为数值型,宽度为10,小数位数为1;p的类型为数值型,宽度为10,小数位数为1,p为数值型,因为p产生的是数值;rnd的类型为数值型,宽度为10,rnd为数值型,因为rnd产生的是数值,rnd取宽度为10是因为rnd的取值范围最大为100。图3 r分布表图RFPRnd100.10.10-9110.20.310-29120.40.73

15、0-69130.20.970-89140.11.090-99表1 自拟R分布表数据6.2.3 tk分布表tk分布表中tk的类型为数值型,宽度为10,tk为数值型,因为tk产生的是数值,tk取宽度为10,是因为tk的取值范围最大为5;f的类型为数值型,宽度为10,小数位数为1,f为数值型,因为f产生的是数值,f取宽度为10,小数位数为1,是因为fk的值是一个小数,且长度不大于4;p的类型为数值型,宽度为10,小数位数为1,p为数值型,因为p产生的是数值,p取宽度为10,小数位数为1,是因为pt的值是一个小数,且长度不大于4;rnd的类型为数值型,宽度为10, rnd为数值型,因为rnd产生的是数

16、值,rnd取宽度为10是因为rnd的取值范围最大为100,是3位数。图4 t分布表图 TkFkPtRnd10.10.10-920.20.310-2930.40.7待添加的隐藏文字内容230-6940.20.970-8950.11.090-99表2 tk分布表数据6.2.4 模拟过程表模拟过程表中模拟序号类型为数值型,宽度为10,默认值为recno(),模拟序号是数值型,因为其产生的是数值,宽度为5,是因为其产生的序号是1-200,5位可以满足其要求,设置模拟类型为索引是为了使其能在模拟过程表单之中按照模拟序号排序,设置默认值是为了让其能够按照1-200的顺序排列;提前期随机数类型为数值型,宽度

17、为5,提前期随机数为数值型,因为其产生的数位数值型,宽度为5,是因为其取值范围最大为200,是3位数,可以满足;tk类型为数值型,宽度为5,tk为数值型,因为其产生的数位数值型,宽度为5,是因为其取值最大为5,是1位数,可以满足;需求速率随机数类型为字符型,宽度为40,需求速率随机数为字符型,是因为其产生的内容为一串字符,宽度为40,是因为该字符串的长度最大可以为20,宽度40可以满足其最大要求;r序列类型为字符型,宽度为20,r序列类型为字符型,是因为其产生的内容为一串字符,宽度为20,是因为该字符串的长度最大可以为15,宽度20可以满足其最大要求;dl类型为数值型,宽度为5,dl为数值型,

18、因为其产生的数位数值型,宽度为5,是因为其取值最大为1000,是4位数,可以满足;sdl类型为数值型,宽度为5,sdl为数值型,因为其产生的数位数值型,宽度为5,是因为其取值最大为200,是3位数,可以满足;fdl类型为数值型,宽度为4,小数位数为2,fdl为数值型,因为其产生的数位数值型,宽度为4,小数位数为2,是因为其值为小数,可以满足;pdl类型为数值型,宽度为4,小数位数为2,索引为升,pdl为数值型,因为其产生的数位数值型,宽度为4,小数位数为2,是因为其值为小数,可以满足,设置pdl为索引是为了在报表中能够按p排序。模拟过程表的设计如图5。图5 模拟过程表图 6.3 分别模拟100

19、、120、150次在C0,C1不变的情况下分析Q*结果(1)模拟100次时Q*的结果,如图6图6 模拟100次时Q*结果(2)模拟120次时Q*的结果,如图7图7 模拟120次时Q*结果 (3) 模拟150次时Q*的结果,如图8图8 模拟150次时Q*结果(4)重新模拟程序:Public _r &定义内存变量r为全局性质&dimension _xx(5),_yy(5) &建立一个10*10维的数&_r=0 &_r值为0&sele 模拟过程数据表 &打开“模拟过程数据表”&Zap &删除当前数据库文件所有记录&do while reccount()rnd &如果_rantk的值大于rnd的值&s

20、kip &记录移动&enddo &结束循环&_stringx= &定义_stringx为空&_stringy= &定义_stringy为空&_前置期需求量dl=0 &将0赋予_前置期需求量dl&_tk=tk &将tk的值赋予_tk&for i=1 to _tk &让i从1至_tk进行100次循环& _xx(i)=int(rand()*100) &产生提前期随机数& _stringx=_Stringx + _ + allt(str(_xx(i) &产生提前期随机数序列&sele r概率分布数据表 &打开“r概率分布数据表”& Go 1 &指针指向1&do while _xx(i) rnd &如果

21、_xx(i)的值大于rnd的值&skip &记录移动&enddo &结束循环& _yy(i) = r &将r的值赋予_yy(i)& _stringy = _stringy + _ +allt(str(_yy(i) &产生r序列& _前置期需求量dl=_前置期需求量dl + _yy(i) &将_dl+_yy(i)的值赋予给_dl&Endfor &结束循环&sele 模拟过程数据表 &打开“模拟过程数据表”&Repl tk with _tk &将_tk的值替换给tk&repl 需求速率随机数序列 With _stringx &将_steingx的值替换给需求随机数序列&repl r序列 With

22、_stringy &将_stringy的值替换给r序列&repl 前置期需求量dl with _前置期需求量dl &将_前置期需求量dl的值替换给前置期需求量dl&skip &记录移动&enddo &结束循环&sele 模拟过程数据表 &打开“模拟过程数据表”&thisform.refresh &刷新表单&sele 模拟过程数据表 &打开“模拟过程数据表”&for i= 1 to 100 &让i从1到100进行100次循环&go I &指针指向1&_r = _r + 前置期需求量dl/tk &将_r+前置期需求量dl/_tk的值赋予_r&Endfor &结束循环&_r=_r/100 &将_r/

23、100的值赋予给_r&thisform.text3.value=_r &将_r的数值赋予给text3&sele 模拟过程数据表 &打开“模拟过程数据表”&thisform. Refresh &刷新表单&(5)密度分布计算程序:dimension _sdl(100),_pdl(100) &建立一个100*100维的数组&sele 模拟过程数据表 &打开“模拟过程”表&for i=1 to 100 &开始执行100次循环&go i &指针指向i&_dl=dl &将dl的值赋予给_dl&calculate cnt() for dl=_dl to _sdl(i) &计算“模拟过程”表中dl与_dl相等

24、的个数,并将其个数值存入_sdl中(即计算频次)&endfor &结束循环&for i=1 to 100 &让i从1至100进行100次循环&go i &指针指向第i行&repl sdl with _sdl(i) &将sdl的值替换为_sdl的值&repl fdl with _sdl(i)/100 &将_fdl除以100的值的值替换给fdl &endfor &结束循环&for i=1 to 100 &让i从1至100进行100次循环&go i &指针指向i&_dl=dl &将dl的值赋予给_dl&calculate cnt() for dl=_dl to _pdl(i) &计算“模拟过程”表中

25、dl小于等于 _dl的个数,并将其个数值存入_pdl中(即计算概率密度(第一类服务水平)&endfor &结束循环&for i=1 to 100 &让i从1至100进行100次循环&go I &指针指向i&repl pdl with _pdl(i)/100 &将_pdl除以100的值的值替换给pdl &endfor &结束循环&thisform.refresh &刷新表单&(6)p_Qk对照表程序:sele pqk对照表 &打开“pqk对照表”&zap &一次性记录表中物理删除&sele 模拟过程数据表 &打开“模拟过程数据表”&go 1 &绝对移动到首指针&_p=概率密度pdl &将概率密度

26、pdl的值赋给_p&_q=前置期需求量dl &将前置期需求量pdl的值赋给_q&do while .not. eof() &只要记录指针没到文件尾就一直循环&sele pqk对照表 &打开“pqk对照表”&loca for 库存满足率pdl=_p &当库存满足率pdl的值=_p得值时&if not found() &如果没有寻找到&append blank &添加一条空记录&repl 库存满足率pdl with _p ,订货点qk with _q &替换语句&endif &结束if循环&sele 模拟过程数据表 &打开“模拟过程数据表”&skip &相对移动&_p=概率密度pdl &将概率密度

27、pdl的值赋给_p&_q=前置期需求量dl &将前置期需求量dl的值赋给_q&Enddo &结束do循环&report form pq preview &形成“pq”报表&6.4 输出库存满意率为1时的订货点Qk 库存满足率为1时的订货点Qk,如图9图9 库存满足率为1时的订货点Qk库存控制策略:当满意率为1时,订货点Qk为11,一次订货费用C0为2,单位保管费用C1为2,订货批量Q*为2.016.5 pq报表 pq报表如图10图10 pq报表第七章课设感想此次库存控制技术课程设计我们历时两个星期,通过这些天库存控制技术课程设计,让我很好的复习了老师在课堂上讲的知识,也让我对VFP有了重新的认识。在做系统的过程中,不能急于求成,俗话说的好,不能一口吃成一个胖子,要慢慢做,认真做,慢慢来,少出错。在做表的时候,需要输入很多的数据,稍有不慎,就会出错,所以,就要认真,专心的输入;库存控制是仓储管理的一个重要组成部门。它是在满足顾客服务要求的前提下通过对企业的库存水平进行控制,力求尽可能降低库存水平、提高物流系统的效率,以提高企业的市场竞争力。第八章参考文献1 赵晓波,黄四民.库存管理M.北京:清华大学出版社,2008.2 胡明. Visual Foxpro中表单之间的参数传递.电脑学习.2009(1):1-23 宫丽娟.基金选择决策的蒙特卡洛模拟D.北京:对外经济贸易大学,2007

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号