基于Java物流配送中心系统仿真模块研究与设计.docVIP

基于Java物流配送中心系统仿真模块研究与设计.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Java物流配送中心系统仿真模块研究与设计

基于Java物流配送中心系统仿真模块研究与设计   摘要:本文选取物流工程中的配送中心作为研究对象,根据实际需要建立了离散事件系统模型,并按照事件安排和时间推进的机制采用Java程序设计语言设计仿真模块。   关键词:物流 配送中心 仿真 Java   中图分类号:TP391.9 文献标识码:A 文章编号:1007-9416(2012)11-0174-01   1、概述   物流是指物品从供应者向需要者的物理性移动,为实现用户要求而根据实际情况将运输、存储、装卸、搬运、包装、流通加工、配送、信息处理等功能有机地结合起来,包括了一系列创造时间和效用的经济活动。配送实际上是一个微型的物流过程,它包括进货、分拣、存储、拣选、组配、送货等作业环节,使得相对静态的物品完成依稀短暂而有目的的流动。而从事配送业务的物流场所或组织就是配送中心,它是物流工程中的重要节点(环节)。仿真是不需要真实系统运行,通过其模型的活动就可有效地研究系统的运行等情况。在了解配送中心的整个动态配送过程的基础上,就可以建立模型模拟运行了。   2、系统建模与仿真机制   在配送中心运行时,顾客的出货请求到达时间与配送中心为每个出货请求所提供的服务时间都是随机的,可以通过配送中心的忙闲状态和顾客出货请求排队等待的队长来描述系统的状态,这些状态量的变化是在随机离散时间点上发生的。“服务设备”时闲时忙,“服务对象”有时拥挤而需要等待的现象也是由于需要服务的请求到达时间和服务时间具有随机性而造成的。为了研究这样的系统必须建立离散事件系统模型。   为了动态地仿真系统的运行,需要一边计算和记录各种事件的发生时间,一边进行时间统计。随着仿真进程而不断更新的时间机构就是仿真时钟。开始时将仿真时钟复位为零,随后不断给出仿真时间的当前值。具体运行时有两种时钟推进方式:面向事件的仿真时钟和面向时间间隔的仿真时钟。本系统所采用的面向事件的仿真时钟是在运行时以不等距的时间间隔向前推进,先将各种将要发生的事件按发生时间的先后顺序进行排列,当第一个事件发生时,立即计算出下一事件发生的时刻,仿真时钟往前推进一??,这个过程不断地重复,直到仿真运行满足规定的终止条件为止。   随机事件的发生是离散事件仿真的核心,而未来事件表中包含了已发生事件触发的所有未来事件及其发生时刻。当仿真开始运行(TNOW=0)时,第一个事件开始,未来事件表中始终还存在一定数量尚未发生的未来事件。每当系统处理完成并消除一个事件,将同时产生一个或多个新的未来事件添加进入未来事件表,在仿真运行过程中,未来事件表不应为空表。当然,仿真时间长度是有限的,未来事件表不可能无限增长,只有仿真完成或程序出错时未来事件表才可能为空。   3、仿真模块设计   系统时间是由Java中Object类扩展得到的Date类的方法,如:   Date curDateBegin=new Date();//构造仿真开始时间对象。   BeginGMT=curDateBegin.toGMTString();//返回仿真启动的详细时间。   startTime=curDateBegin.getTime();//返回从格林威治时间1970年1月1日以来至仿真开始时刻的累计毫秒数值。   EndGMT=curDateEnd.toGMTString();返回仿真结束的详细时间   程序一旦进入循环服务状态,会首先获得开始服务的时刻:   ms3=curDate3.getTime();   这个时刻(ms3)要么是第一次循环开始时刻;要么是上次服务完成,上一个(顾客)出货请求退出系统后系统允许下一个(顾客)出货请求进入而准备对其提供服务的时刻。这个时刻与系统仿真时钟推进获得的时刻:(startTime+ArriveTime[i_lq])相比较有以下情况:   (1)若开始服务的时刻ms3小于系统仿真时钟推进获得的时刻,则表明上一个(顾客)出货请求退出系统后直至ms3时刻系统(服务台)处于空闲状态,允许下一个(顾客)出货请求进入,并时刻准备着为其提供服务。此时,服务台仍须等待直至系统时间推进到系统仿真时钟startTime+ArriveTime[i_lq]这个时刻,即:   ms3=startTime+ArriveTime[i_lq]   系统(服务台)就开始为此时的(顾客)出货请求提供服务了。   (2)若开始服务的时刻ms3等于系统仿真时钟推进获得的时刻,则表明为上一个(顾客)出货请求服务完成后的时刻刚好等于系统仿真时钟推进到startTime+ArriveTime[i_lq]时刻,即下一个(顾客)出货请求到来时系统(服务台)恰好空闲,可以其提供服务,服务立即开始。   (3)若开始服务的时刻ms3大于系统仿真时

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档