《排队系统毕业设计》word版.doc_第1页
《排队系统毕业设计》word版.doc_第2页
《排队系统毕业设计》word版.doc_第3页
《排队系统毕业设计》word版.doc_第4页
《排队系统毕业设计》word版.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要近年来,随着我国铁路事业的迅猛发展,铁路的运输能力得到了大幅度提升。在客运技术与速度提高的同时,作为旅客体验铁路服务的一个必要环节,售票环节的重要性也随之提高。然而大型客运站真实的售票过程极为复杂,旅客的行为受事件驱动,他们的状态在一些不均匀的离散时刻发生改变且其变化的内部 机理非常复杂,离散时间点一般不能确定,这是典型的离散事件系统,通常无法利用一般的数学方法进行描述。我们通常采用离散事件系统仿真的方法来解决此类问题,它是解决此类问题的最有用处的方法之一。要对系统进行仿真研究,首先就必须建立起系统的仿真模型。本文在阅读大量文献的基础上,简单介绍了离散事件系统的建模与仿真方法,并对北京西客站售票大厅建立离散事件系统仿真模型,对旅客售票过程进行了优化改善。关键词:离散事件,系统仿真AbstractIn recent years, with the rapid development of Chinas railway business, railway transport capacity has been improved significantly. The process of Buy a ticket became more and more important , whilethe technology andspeed had Substantially Improved.But the process in the real world is so complex that we can not use Mathematical methods to study it. The most useful way to study this case is to Simulate the Discrete Event System. Simulation study of a system, we must first establish a system simulation model. On the base of studying a lot of academic articles this thesis simplely introduced the discrete eventsystemsmodeling and simulation methods and established the discrete eventsystems of Beijing West Railway Station. Simulated and optimizated the process of Buy a ticket KEYWORDS:discrete event , system simulation .1.概述41.1.售票服务环节研究41.2.离散事件系统41.3.离散事件系统仿真研究现状51.3.1.离散事件系统建模51.3.2.离散事件系统仿真51.3.3.离散事件系统仿真数据分析62.离散事件系统建模与仿真介绍62.1.基本概念62.1.1.实体(Entity)62.1.2.属性(Attribute)72.1.3.状态(State)72.1.4.事件(Event)72.1.5.活动(Activity)72.1.6.进程(Process)72.2.离散事件系统建模仿真研究的一般步骤82.3.系统建模82.3.1.确定仿真目的82.3.2.正确描述系统82.3.3.确定输出函数92.4.确定仿真算法92.4.1.随机数和随机变量的生成92.4.1.1.随机数的产生92.4.1.2.随机变量的产生方法102.4.2.离散事件系统仿真策略102.4.2.1.事件调度法(Event Scheduling)102.4.2.2.活动扫描法(Activity Scanning)102.4.2.3.进程交互法(Process Interaction)102.5.建立仿真模型112.5.1.仿真模型主要成分112.5.2.仿真程序流程管理122.5.2.1.对时间进程的管理122.5.2.2.对同时事件的管理122.5.3.完成仿真模型132.6.仿真结果分析133.北京西站售票大厅离散事件系统建模仿真133.1.仿真目的133.1.1.得到不同时段合理服务窗口数133.1.2.验证规范行人间隔能够提高服务效果133.1.3.优化调度间隔143.2.西站售票大厅离散事件系统建模143.2.1.建模思路143.2.2.实体及其属性、状态、活动和相互影响143.2.3.事件及其引发的状态变化153.2.3.1.选队事件153.2.3.2.旅客到达队列163.2.3.3.开始服务事件173.2.3.4.结束服务事件173.2.3.5.换队活动173.2.3.6.调度活动183.2.3.7.窗口开闭调度活动193.2.3.8.AnyLogic平台中的行人智能体203.3.确定仿真算法213.3.1.仿真中的随机变量213.3.1.1.旅客到达数213.3.1.2.服务时间233.3.1.3.行人间隔263.3.2.仿真策略273.4.仿真模型283.5.仿真结果分析333.5.1.不同时段合理窗口数333.5.2.规范行人间隔作用验证结果353.5.3.优化调度间隔364.全文总结与展望374.1.全文总结374.2.展望:375.参考文献376.致谢381. 概述1.1. 售票服务环节研究随着国家对铁路事业的投入越来越大,我国铁路事业无论在技术与速度上都有了大幅度的提高。与此同时售票服务环节作为旅客接受铁路服务的必要环节,其重要性也随之提高。如何提高该环节中旅客的满意程度,成为车站管理者关注重点。而旅客在购票环节中等待、接受服务,换队等行为通常是发生在离散的时间点上的,因此旅客购票流程构成了典型的离散事件系统。离散事件系统是一种广泛存在于工程技术、军事、经济、物流、计算机网络等领域的常见系统。这些系统的状态在一些不均匀的离散时间点上发生变化,而且其变化的内部机制非常复杂,通常数学方法很难描述。国内外通常采用离散事件系统仿真的方法进行研究。它是研究这类系统最有用处的方法之一。1.2. 离散事件系统所谓离散事件系统是指状态只是在离散时间点上发生变化,而且这些离散的时间点一般是不确定的系统(随机的)。如:订票系统、库存系统、加工制造系统、交通控制系统、计算机系统等。离散系统中状态在时间上和空间上都是离散的。系统中各事件以某种顺序或在某种条件下发生,并且大都属于随机性的,或由于随机的输入,或由于系统元素的属性值作随机变化。因此对这类系统的研究往往很十分困难。经典的概率及数理统计理论、随机过程理论虽然为研究这类系统提供了理论基础,并能对一些简单系统提供解析解,但对工程实际中的大量系统,只能依靠离散事件系统仿真的方法来加以研究。1.3. 离散事件系统仿真研究现状国内外对于离散事件系统仿真的研究主要集中在三个方面:离散事件系统的建模、离散事件系统仿真和离散事件系统仿真输出数据的分析。1.3.1. 离散事件系统建模离散事件系统建模是离散事件系统仿真研究的前提,一切研究都是建立在模型建立好的基础上,因此这一部分研究比较成熟。20世纪自80年代初期,哈佛大学著名的学者何毓琦教授提出对离散事件动态系统(Distributed Event Dynamic System,DEDS)理论进行研究以来,许多研究人员围绕此问题在不同层次或使用不同数学工具进行了描述,形成了许多完整的方法体系,出现了多种形式的DEDS模型设计方法。如:马尔科夫链模型、时序逻辑模型等。另外离散事件系统模型有许多衍生的模型,其中应用最广的是耦合离散事件系统(coupled DEVS)和并行离散事件系统(parallel DEVS)。耦合离散事件系统模型特点是它可以描述多个组件耦合而形成的系统结构。在耦合系统中基本组件间有着输入与输出的耦合关系。耦合事件将互相耦合的输入输出链接起来,通过耦合关系将各个子系统组成一个完整的离散事件系统。并行离散事件系统模型的特点是它允许多个组件同时处于活动状态并将输出值发送到其他组件。并行离散事件系统的状态迁移是由各子系统自发完成的,不需要选择函数来顺序选择完成迁移的子系统。1.3.2. 离散事件系统仿真建立好离散事件系统模型后,便可进行模型仿真。离散事件系统模型仿真是指利用离散事件系统模型对真实或假想的系统进行进行动态研究。它的理论依据是相似论,相似论的核心思想是将描述物理现象的微分方程进行相似变换后,便能够得到确定的无因次数群之间的关系式。也就是说只要物理条件相似,那么就能够推演出不同输入的结果。由于离散系统的状态是由一些离散时间点上的事件而改变的,因此可以说离散系统仿真模型是由这些离散事件驱动的。对于给定的离散事件系统,可能发生的所有事件的集合应该是明确的。系统依据所有事件应发生的时间先后构成一个序列。一个先后处理不同事件的通常不能颠倒的序列。仿真的关键就是确定这个事件发生的时间序列。有了这个序列,所有的离散事件才能按真实的结构组织起来。而通过这个序列将所有离散事件组织起来,是离散事件系统建模的核心。因此离散系统仿真的研究主要集中在仿真程序流程管理(即仿真调度)上和事件组织方法上(也称为系统的仿真策略)。经典的仿真程序流程管理有:时间进程管理、同时事件管理经典的仿真策略有:事件调度法、活动扫描法、进程交互法1.3.3. 离散事件系统仿真数据分析经典的离散事件系统仿真假设可以获得对于系统足够详细准确的信息(如输入过程的参数,系统中随机变量的概率分布等)来对实际的离散事件系统进行准确的描述、建模。但这在通常的建模仿真中是一个十分苛刻的要求。故对仿真系统所得出的数据进行必要的分析,处理不准确的信息,成为离散事件系统仿真的一个值得研究的问题。离散系统仿真的数据分析研究可以分为以下几个层次,各层次逐步深入,难度也逐步增大:a.单系统仿真输出分析。即针对某个实际问题,利用某种方法对模型输出的仿真数据进行统计分析,以估测模型真实特性,分析系统性能。在此方面研究上,已经有许多非常成熟的方法来分析输出数据。这些方法的目的可以归结为:对某个研究所关心的输出变量进行统计估计, 构建出尽可能小的置信区间。b.多系统性能比较多系统性能比较是指从课题需要的多种不同方案中选出最佳的或可行的方案,以此对多个系统的性能进行比较。c基于仿真的系统优化多系统性能比较是在已经给定的一些系统中进行选择,而系统优化则是在一个模拟空间(通常包含若干参数和非参数维度)中搜寻最优系统,需要结合一定的优化算法进行综合研究。2. 离散事件系统建模与仿真介绍2.1. 基本概念首先要理解这方面理论的一些概念。2.1.1. 实体(Entity)实体即构成系统的各种成分,它们是系统边界内的对象。如:售票大厅中的旅客,马路上的汽车,工厂中的机器,医院里的医生等。一般实体可以分为两大类:临时实体和永久实体。临时实体是指只在系统中存在一定时间的实体。一般来说,这类实体是按一定规律从系统外部到达系统,按一定流程通过系统,接受系统中永存实体的作用,最终离开系统。如:旅客、汽车等。永久实体是指永久驻留在系统中的实体。它是系统对临时实体产生功能的必要条件,作为系统活动的资源而被占用。如机器、医生等。临时实体一般都是主动产生活动,具有主动性;而永久实体往往是被动的,具有从动性。在仿真中我们把属性或活动行为类似的实体归结为一个类,建立模型时,只需要描述类与类之间的关系即可。2.1.2. 属性(Attribute)属性是对实体特征的描述,以此确定实体的一些性质。在仿真中不需要将实际实体的所有属性都描述出来,而只需要描述出与研究相关的属性即可。如:汽车的速度、车型等2.1.3. 状态(State)状态是指某一对象在某一时刻或时间段内,通过系统中其他对象属性以及自身属性的集合所得到的一种特征状况划分。它通过状态变量来描述。如:在购票过程中,有顾客行走的状态,在队列中等待的状态,接受服务的状态等。2.1.4. 事件(Event)事件是指导致对象状态变化的行为。可以认为系统的运行是由不同的事件来驱动的。在仿真中事件是在一个时间点上发生完成。它不仅可以实现实体之间的同步,也可以达到实体间传递信息的目的。如:旅客判断是否换队这一事件,有可能会触发旅客状态由在队列中等待状态变为换队的行走状态。2.1.5. 活动(Activity)活动是指实体在两个事件间保持一个状态的持续过程。它的开始和结束均有事件引起。如:旅客结束服务事件与到达系统出口事件之间的行走状态的持续过程。2.1.6. 进程(Process)进程是由与某个实体相关的若干事件与活动组成的一个完整的过程。它包括事件与活动间的相互逻辑与时序关系。2.2. 离散事件系统建模仿真研究的一般步骤离散事件系统的建模仿真是一个复杂、庞大的工作,因此需要按照科学的工作步骤来完成这项工作,每部分工作都要达到各自的指标,这样不仅可以提高工作效率,同时也能保证仿真研究工作的总体质量。一般仿真模型科学的工作步骤是a系统建模系统模型一般用流程图或网络图的方式来描述。反映了临时实体在系统内部历经的过程、永久实体对临时实体的作用以及它们之间的逻辑关系。b确定仿真算法要确定两方面内容,一是如何产生所需求的随机变量;二是采用怎样的方法进行仿真,即仿真策略。c建立仿真模型根据已经确定的仿真算法,对变量进行定义,确定详细流程图,完成仿真程序实现。d仿真结果分析离散事件系统具有固有的随机性,因此要多次运行模型得到仿真结果,采用一定方法对结果进行分析,才能得到较为科学的结论。 2.3. 系统建模仿真研究的首要工作就是对离散事件系统进行建模,在建模过程中我们也要遵循科学的建模步骤一般的离散事件系统模型的建立由以下四个步骤组成2.3.1. 确定仿真目的建立模型首先要做的工作就是确定系统仿真的目的。根据仿真目的的不同,通过不同的方法,建立不同种类的模型。唯有这样才能满足之后仿真及仿真结果分析的需要。2.3.2. 正确描述系统描述系统又可分为3个步骤:a.确定系统组成的成分。即离散事件系统中的实体。可以分为两大类:主动成分:所谓主动成分,即可以主动产生活动的成分,如售票系统中的旅客,他在到达后会产生排队、换队、服务等活动。被动成分:所谓被动成分,即本身不能激发主动活动的成分,只有在主动成分作用下才能产生状态的变化。例如:在北京西站售票大厅离散事件系统中,实体就旅客,窗口的服务人员以及咨询台的调度人员等。这些实体状态的改变往往发生在某些离散时间点上,而实体的行为往往符合随机分布。b.确定描述变量和参数:所谓描述变量是指系统中各个实体的属性。主要种类有:实体的内部变量、外部变量。实体通过外边变量的输入,内部变量的输出来到达实体与外部环境的相互影响。而除输入、输出变量外,其余的均是主动成分或被动成分的状态变量。c.建立实体的变量间的相互关系:两个变量间的相互关系是指这两个变量如何相互影响、相互联系、相互作用的。建立起这种关系后两变量间便形成了一种有方向的或形成回路的相关链。这种相关链如果在实体内部,那么它就描述了实体中由输入变量到输出变量的转换;如果这种相关链在实体外部,链接了两个实体,那么它就描述出两个实体间的相互关系、相互影响的行为。而当系统中各个实体间存在的相互关系都建立好后,便能够描述出一个或多个覆盖了整个系统的相关联系网。通过联系网,每个实体就能完成与系统的相互联系、相互影响。这种相关链大部分反映在各成分的活动中,而所有活动又是由事件所引发,因此弄清事件、活动的关系对于正确描述系统这一步骤来说,极为重要。2.3.3. 确定输出函数这一步要做的工作就是确定仿真模型运行后所得到的结果,以及怎样能够得到这些结果。2.4. 确定仿真算法2.4.1. 随机数和随机变量的生成2.4.1.1. 随机数的产生由于客观世界具有随机性,因此我们的系统仿真也需要有其随机性,我们获得随机性的方法是产生一个随机数,将此随机数作为模型中一些算法的输入参数。随机数不同导致模型得到结果也不同,以此来实现模型的随机性。产生随机数的方法有很多,这些方法被称为是随机数发生器。随机数发生器按照随机数得到方法又可分为物理性随机数发生器和伪随机数发生器。a物理性随机数发生器是利用物理现象产生随机数,如:掷骰子、使用电子元件的噪音、核裂变现象等。这些发生器产生的是真正的随机数,然而它们的缺点是技术要求比较高。b伪随机数发生器是利用一些使用者不知道的、固定的、用重复计算的计算方法计算出来随机数的发生器。他们产生的数列看似是随机数,其实是可以推算出来的,因此他们不是真的随机数,称为伪随机数。2.4.1.2. 随机变量的产生方法在仿真模型中光有随机数依然不能实现仿真中实体行为的随机。因此我们需要有一个能够描述实体行为随机性的规则,通常这种规则是一个概率分布。例如:我们想仿真出工厂的流水线,那么我们就需要知道工厂流水线中各个工位的加工时间的概率分布,将其输入计算机,计算机会产生一个有N个数的数组,该数组的每个元素的数值严格符合概率分布。之后从数组中抽取一个数作为该工位加工时间,抽取的这个数在数组中的编号有随机数确定。2.4.2. 离散事件系统仿真策略所谓离散事件系统仿真策略即组织离散事件的方法。它与程序流程管理不同,流程管理是对时钟推进的管理办法;而仿真策略是仿真模型怎样描述真实系统进而得到事件逻辑序列表的方法。典型的处理方法有三种,分别是事件调度法、活动扫描法、进程交互法。2.4.2.1. 事件调度法(Event Scheduling)事件调度法基本思想是以事件的观点 来分析真实系统。以定义事件和其引起的系统状态量的变 化的方法,来按时间顺序确 定并执行不同事件发生的逻辑关系,进而得到事 件逻辑序列表。该策 略是一种事件发生已经固定下来的策略,必须预先设定下初始事件。它对于确定性较强(符合某种分布的随即变量)的离散事件系统仿 真较为方便。2.4.2.2. 活动扫描法(Activity Scanning)当事件的发生不仅与时 间有关还与一些其他条件有关时,事件调度法就策略就不好使用了,因为我们无 法预定每个事件的开始和终止时间,也就不能推演出事件发生的序列表。这时我们可 以采用活动扫描法。它的基本思想是:以活动的观点建立模型。系统中实体的活动 是否会发生是依据它 是否满足规定的条件而定。若条件满足就激活活动模块。而是否去判 断这些活动的条件是根据当 前系统时间是否等于时间控制模块中 每个活动发生时间而定。2.4.2.3. 进程交互法(Process Interaction)进程交互法是一种综合了事件调度法 和活动扫描法的仿真策略。它将模型的主动成分通过系统过程中所发生的事件和活 动以时间顺序组合,从而形成 进程表。一个程序调用了进程,只要满足条件,它将完成该进程 的全部活动。这种策略采用两张事件表,当前事件表CEL(Current Events List)和将来事件表(FEL:Future Events List)。在模型仿真运行前CEL为空,FEL是将来不同时刻发生事件的事件表。仿真运行开始后依据FEL中进程开始时间逐个将进程调入到CEL中去,在CEL中都是被调入的进程所包括的所有有资格执行的事件的记录,但事件是否会发 生还不能确定,要依据仿真系统当时的状态变量而定。直到FEL中所有进程被调用到CEL,CEL中所有进程执行完毕,仿真才结束。2.5. 建立仿真模型建立好系统模型别确定了仿真策略后我们就可以开始建立仿真模型了。仿真模型与系统模型不同。系统模型只需要用逻辑语言或流程图将现实情况描述出来,然而仿真模型是以计算机的语言来模拟实际情况的程序。仿真模型建立好以后一定能要在计算机上运行,并且模型中加入实验设计的成分。2.5.1. 仿真模型主要成分首先,我们要先了解仿真模型中包含成分都有哪些,一般的仿真模型程序所包含的主要成分有:a系统仿真钟:用来记录系统仿真时间的当前值。b系统变量:记录系统在不同时刻的状态的变量。c统计计数器:用来记录仿真系统一些实时性能的统计信息,已达到关联系统不同时刻状态的目的。d初始化子程序:用来在仿真开始前对系统进行初始化e时钟推进子程序:即将仿真时钟推进到下一个仿真时间点的子程序。根据不同的仿真策略,有不同的时钟推进方式。f事件逻辑序列表:以实际系统中发生事件的时序关系为模版,根据不同的仿真策略,以不同方式描述出仿真系统中各个事件的组织情况。它是系统事件控制的核心。g事件表:以仿真中事件发生的顺序,记录仿真中将会发生的事件。h调度子程序:以事件逻辑序列表中事件发生的逻辑条件为基础,根据当前系统中状态,调度不同事件插入到事件表。i事件子程序:每一个事件都会有一个事件子程序与之对应。通过子程序的处理、输出来描述该事件。来达到更新系统、实体状态和参数的作用。j统计报告子程序:用于记录仿真模型的输出数据k随机数产生子程序:用以产生随机数的子程序。这些随即数满足输入的数据分布。l主程序:用于将上述程序集合起来完成系统仿真的总体控制。2.5.2. 仿真程序流程管理确定了仿真程序中所包含的主要成分后我们还要确定仿真程序流程管理。所谓仿真程序流程管理(即仿真事件的调度)是仿真建模的核心,他通过事件序列表和调度子程序来实现。调度管理方式包括对时间进程管理的方式和对同时事件管理方式。2.5.2.1. 对时间进程的管理时间进程的管理主要是对于仿真时钟推进方式的管理。所谓仿真时钟是指能够描述真实系统中事件发生的时间的时钟,它与计算机运行仿真模型的时间没有关系。在离散事件系统仿真中,典型的仿真时钟推进方式有两种:a面向时间间隔的时钟推进方式。这种推进方式指仿真时钟以足够小的时间间隔等距推进。每个时间间隔以后都会扫 描所有活动完成时刻,来检查这个间隔中是否有事件的发生,从而引起系统状态变量的改变。时间间隔选择的要求是每个时间间隔中基本上不会出现两个或两个 以上的离散事件。这种管理方式的优点是当仿真事件较多或事 件的变化具有周期性时,计算机运行仿真的速度较快。b面向事件的时钟推进方式。这种推进方式是指仿真时 钟按照事件表中将要的子事件的时刻,进行间隔不同的推进。时钟的时间由此事件发 生点直接跳跃到下一个事件的发生点。没当开始一个事件,系统便会计算出事件对应的相关活动,来计算出该事件在未来将会触 发的所有事件的发生时刻,经过一系列活动处理后,得到一个发生事件的事件时间顺序表,按照该表把 仿真时钟推进到触发下一个事件的时间,以触发下一个事件。再对这个触发的新事件进行活动处理,进而修改事件时间顺序表。如此往复直到仿真结束为止。这种管理方式在事件较少、两事件间隔较长时比较适合采用。2.5.2.2. 对同时事件的管理同时事件管理是指在同一时间点上发生了多个事件时,程序对于这多个事件的处理方法。同时事件管理按管理事件类型的相同与否,可以分为两方面内容:a同类同时事件管理。当同时发生的事件隶属于同一类型的事件时,属于同类同时事件管理。我们预先定制好事件规则,使同类事件发生时其状态变量为以固定值。例如:本文课题的仿真模型在被调度时间点时,所有接受被调度信息的旅客都会触发调度事件,都会以相同的调度规则进行判断,符合调度规则的所有旅客的状态都会由等待状态变为行走状态。b混合同时事件管理。当同时发生的事件不属于同一类型的事件时,属于混合同时事件管理。通常有一步法采用或解结法。所谓一步法是指,一步直接形成混合事件发生后的系统状态。所谓解结法是指将几 个同时发生的事件分成多个单独事件,按照一个事件的逻辑序列对事件进行处理。通常一步法在构建 程序时比较困难,管理起来也较为复杂,而解结法构建的模型结构较简单。2.5.3. 完成仿真模型在完成了上述两步的工作以后,我们就可以真正的进行仿真建模了。这部分的主要工作可以概括为将系统模型中所描述的一些问题,用计算机语言表达出来。这是仿真模型建立的主要部分,依据不同课题的离散事件系统模型不同其情况也大不相同。2.6. 仿真结果分析结果分析部分的工作需要依据不同仿真模型具体情况,确定具体分析方法,没有通用性,因此在此不作过多阐述。3. 北京西站售票大厅离散事件系统建模仿真了解了离散事件系统仿真研究的一般步骤后,我们针对北京西站售票大厅这一离散事件系统进行仿真研究。3.1. 仿真目的首先确立仿真研究目的:3.1.1. 得到不同时段合理服务窗口数开启窗口的个数永远是服务系统最为关心的问题。开启过多浪费资源,开启过少又不能即使满足顾客需要。基于这个问题,我们在模型中加入窗口动态开闭模块,当模型中队列人数状态的均值小于某值时,则关闭若干窗口,每次关闭窗口数不能多于3个。当当模型中队列人数状态的均值大于某值时,则开启若干窗口,开启窗口数为能够满足旅客需要的窗口数,但次开启数有上限。这样通过仿真模型的运行我们就能得到一个合理的针对不同时段的开启窗口数。3.1.2. 验证规范行人间隔能够提高服务效果在实地调研中我们发现,队长超过5后,旅客依据队列长度进行选队,然而这种选队方式并不能使旅客挑选出能够最快买到票对队列(我们先假定服务时间基本相同)。所以我们想到如果规范行人间隔是否能够显著减少那些旅客不该多等的时间,进而提高总体服务效果。我们通过对比规范行人间隔前和规范行人间隔后旅客等待时间的方差,来得出结论。3.1.3. 优化调度间隔由于咨询人员还需要进行咨询工作,一次调度间隔不能太短,但若调度间隔过长又会使左右两厅队列中人数差别较大。故需要用科学的方法选出合适的调度间隔。什么是合适的调度间隔呢?他需要满足两个条件:a 每次调度观察行为后基本都发生调度b 在条件1符合的情况下调度间隔尽可能的小。满足了这两个条件我们就得到了最佳的调度间隔。3.2. 西站售票大厅离散事件系统建模在大量的实地调研工作基础上,我们将西站售票大厅系统内各个实体的内在联系抽象出来,建立起系统模型3.2.1. 建模思路1. 确定系统中的实体及其属性2. 分析各种实体的状态和活动,及其相互间的影响。3. 确定引起实体状态变化的事件。4. 分析各种事件发生时,实体状态的变化规律5. 在一定的服务流程下,分析与队列实体有关的特殊操作(如换队等)6. 以临时实体的流动为主线,画出仿真系统实体流程图7. 给出模型参数的取值、参变量的计算方法及属性描述变量的取值方法。8. 给出队列的排队规则。3.2.2. 实体及其属性、状态、活动和相互影响建立离散系统模型的系统中的临时实体有:进入大厅的旅客、(我们把队列看作为一种特殊的实体)各窗口前的队列。永久实体有:窗口内的服务人员,服务台的调度人员,窗口开闭调度(由模型的程序控制)。其中旅客、咨询台调度人员(由于系统中由咨询台服务人员执行两个大厅之间调度活动),售票大厅建筑实体。窗口开闭调度属于主动成分,窗口内服务人员属于被动成分。我们把相似的实体归为一类,分析他们的属性、状态、活动、以及相互影响。a旅客类实体:旅客类实体所具有的属性:到达人数时间,速度属性,所在位置,所属队列,队列中所属位置,换队视野,选队所属类型。状态:行走状态,等待状态,接受服务状态。活动:旅客行走,队列中等待,换队,被调度,买票。对其他实体的影响有:影响队列状态,影响窗口服务人员状态。b队列类实体:属性:行人间隔大小分布,队列编号状态:队列人数、队列长度对其他实体的影响:影响旅客选队活动,影响调度人员调度活动,影响窗口开闭调度人员活动。c窗口内服务人员属性:服务速度。状态:繁忙,空闲,停止服务。活动:售票活动。对其他实体的影响:影响旅客买票活动,旅客买票状态。d服务台调度人员:属性:调度规则参数。状态:咨询状态,调度状态。对其他实体的影响:影响旅客状态。e窗口开闭调度人员属性:窗口开闭规则参数。状态:开启窗口状态,关闭窗口状态,闲置状态。对其他实体影响:影响窗口服务人员状态。f建筑实体属性:实体的位置和形状对其他实体影响:影响旅客实体行走状态3.2.3. 事件及其引发的状态变化3.2.3.1. 选队事件选对事件是为了描述顾客进入大厅后,选择所排队列的行为。在实际调研中我们发现,当队列中人数少于6人时,行人能够依据队列中人数最少的原则进行选队;但当队列中人数大于6时,行人多是依靠队列中最后一人的位置最靠近窗口来选择所排队列。而北京西站售票大厅分为左右两厅,两厅均有入口。两厅间不能互相观察到队列状态情况。旅客通常只会在所在的大厅进行选对。因此我们在确定选队事件规则时,需要对队列人数和旅客所在大厅进行分类讨论。旅客进入大厅入口后即触发选队事件。首先要确定的是其所选队列所属的大厅,我们将旅客分为两种。一种是全大厅选队的旅客,其所选队列总体是大厅中全部队列;另一种是单侧选队,旅客只将自己所在大厅中的队列作为选队总体。之后旅客依据各自的选队总体进行选队,若队列人数小于5,则行人会选择队列人数状态值最小的队列进行排队。队列人数状态值等于指队列中人数,没有人则状态值为0。倘若队列人数大于5,则行人会选择队列长度状态值最小的队列进行排队。所谓队列长度状态值是描述队列中最后一人所在位置的值。它等于n个从旅客间隔分布中抽取的数值的和,n为队列人数状态值。选队事件触发后行人选定自己所归属的队列,所属队列属性值变为所选队列值,其状态变为行走状态,赋予其期望速度值,并朝所选队列行走。在行走状态中旅客所在位置和速度随仿真时钟和系统中其他实体的变化而变化.行走活动流程图如图1所示加速到达期望速度NoYes减速是否将到达目的地速度为零YesNoNoYes 图1 旅客行走活动流程图3.2.3.2. 旅客到达队列本文课题模型的排队规则是先到先服务旅客到达所选队列后,队列状态改变(队列长度、人数改变);旅客所在位置属性值 = 该队列队长状态值;队列所属位置属性值 = 队列人数状态值 + 1;3.2.3.3. 开始服务事件旅客服务原则是先到先服务,即队列中第一个人先接受服务。当行人所属位置属性值为1 且队列对应窗口服务人员的状态为空闲时则触发开始服务事件。旅客触发服务事件后,队列状态改变(队列队长、人数状态值均减1);旅客状态由等待变为接受服务。所在队列中若有其他旅客则其他旅客所在位置发生改变。服务人员状态由空闲变为繁忙。3.2.3.4. 结束服务事件图2 简单旅客活动流程图选队服务人员空闲NoYes旅客开始买票买完离去等待排队旅客服务结束时会触发结束服务事件,服务人员状态由繁忙变为空闲,旅客状态由接受服务变为行走状态,依据其当前所在位置属性值判断出最近的出口,赋予其期望速度值,并朝该出口行走,行走流程与选队时行走流程相同。那么不涉及换队和调度的旅客进入大厅后活动总流程如图2所示;简单对旅客购票活动模型建立好后,我们在加入复杂的换队和选队事件。3.2.3.5. 换队活动换队活动用于描述售票大厅中旅客根据自己的判断二次选择最短队列的行为。这里涉及到的参变量有:a旅客的换队视野:即旅客在队列中所能观察到的单边的队列个数。若为1,则表示旅客能观察到左边右两边队列编号属性值与当前队列编号属性值之差小于等于1的队列。b旅客发现队形变化的时间:即队列人数和队长状态值发生变化后多久,能被旅客观察到。换队事件的前提条件是旅客状态是等待状态。换队活动触发的前提是旅客状态属于等待状态。当旅客发现在视野中的队列的队长、人数状态发生变化时,该实体会以视野内当前队列的长度、人数作为参数输入,调用换队判断函数,函数会依据一定算法得到旅客是否应该采取换队行为。若应该换队,则旅客状态由等待变为行走,赋予其期望速度,目的地是所换的队。旅客所属队列属性值变为新队列编号属性值。原队列状态发生改变(人数、队长状态值均减1)。当旅客到达新换队列后,新换队列状态发生改变(人数、队长状态值均加1)。旅客在队列中所在位置属性值、旅客所在位置属性值均重新赋值。旅客状态由行走变为等待。旅客在到达新队列后依旧可以换队活动。3.2.3.6. 调度活动调度活动是北京西站管理人员针对北京西站售票大厅左右两个厅到达同一段时间内到达人数相差较大,而旅客又不能自主发现这一问题,进而导致的左右两厅排队人数相差较大这一现象,所采取的改善措施。现实情况是,每隔一段时间,在左侧大厅咨询台的服务人员(以后简称调度人员)会到右厅去观察右厅队列情况,进而做出是否调度的选择。如果不调度调度人员会回到咨询台继续咨询;如果调度,则调度人员通过广播将大厅内两厅队列情况传达给顾客。顾客根据自己当前在队列中所在位置判断是否被调度。若被调度则顾客从原属大厅行走换到另一侧大厅,选择最短队列进行重新排队。根据现实情况我们不难发现,在调度活动中,调度人员是主动成分,旅客变为被动成分。模型中具体活动流程如下:到达另一侧大厅触发选队事件到达新队列图4 旅客被调度流程图信息传递调度人员观察情况是否调度Yes将调度信息传递给符合条件的旅客返回咨询台图3 调度员调度流程图到达调度时间,触发调度察看事件。调度人员状态由咨询变为调度,赋于其期望速度,离开咨询台。将所观察到的队列人数、长度状态值作为调度判断函数的输入值。判断函数依据一定规则做出是否调度的判断。在这里为了简化模型构建,我们将调度人员的调度判断与旅客自身的被调度判断和到一起,在仿真模型中,当调度函数值显示可以调度时,调度人员只会将调度指令发给那些符合被调度规则的旅客实体。之后调度人员回到咨询台,状态由调度变为咨询。那些接收到被调度指令的旅客会发生类似于换队活动的行为。唯一不同的是,旅客从队列中出来目的地是另一侧的大厅,当到达另一侧大厅后,旅客会再次触发选队事件。调度的整个流程图如图3所示,旅客被调度流程如图4所示;3.2.3.7. 窗口开闭调度活动最后为了得到北京西站售票大厅不同时段下窗口开启的合理个数,我们人为的加入一个窗口开闭调度活动。该活动以当前系统内队列状态量为输入参数,调用窗口开闭函数,当符合开闭规则时,触发窗口开闭事件。若触发关闭窗口事件,则关闭窗口所在队列会从旅客选队总体中移除。该窗口的服务人员在服务完队列中的所有旅客后,状态由空闲变为停止服务。若触发开启窗口事件,则开启窗口所在队列会加入旅客选队总体。该窗口服务人员状态也会由停止服务变为空闲。利用活动周期图来描述售票大厅的离散事件系统,如图5所示;外部窗口服务人员空闲服务购票/售票排队等待到达窗口开闭调度人员换队调度调度人员图5 售票服务系统活动周期图3.2.3.8. AnyLogic平台中的行人智能体在模型建立中,旅客实体的建立是以AnyLogic行人库中的行人智能体作为基础,通过Java代码的编写拓展出来的实体。其基本特性是以AnyLogic的智能体的特性为基础的。因此在这里简单介绍下AnyLogic平台里的行人智能体。AnyLogic行人智能体是基于社会力模型的元胞自动机。其力的合成元素主要有三种:a目的地对元胞施加的吸引力。该力基本保持不变。b行人间的排斥力。该力特点是当个行人间距超出一点范围时,排斥力为0;当两行人间距在一定值以下时,存在与间距成反比关系的排斥力。c行人与墙壁等建筑设施的排斥力。该力与行人间排斥力特点相似,只是在一定距离内,反比关系式的参数不同。行人每个时钟推进后都会计算一次合力,进而更改行人的速度矢量属性。3.3. 确定仿真算法3.3.1. 仿真中的随机变量在建立了仿真模型后,我们需要确定仿真中随机变量的产生方式。在北京西站离散事件系统仿真中,需要产生的随机变量有:旅客的到达数,服务窗口服务时间,行人间隔。3.3.1.1. 旅客到达数对于旅客的到达数,通常的方法是依据测的数据得到旅客到达间隔服从什么分布以及这些分布的参数。然而在实际情况中,这是极为苛刻,甚至不可能的。首先,由于旅客进入大厅后行为不一定是去窗口买票而有可能是办理临时身份证或去服务台咨询等,因此我们不能把在出入口测到的数据作为行人到达数据。我们只能通过测量行人到达部分队列时的数据来估算整个大厅行人到达的数据。然而假如观测每条队列的行人到达间隔,那么我们一个观测员只能观测一个队列。而我们只有4位观测人员。基于本课题的条件限制,我们提出了一种通过记录部分队列30内行人到达人数的方法,估测整个大厅行人到达情况。图6 观测数据表具体方法是,4个观测人员两人观测左厅,两人观测右厅。每个人可以同时观测到3条队列,不同观测员间所观测的三条队列不能重叠。所观测的三条队列是从各自所在大厅的总队列中随机抽取的三条连续队列。观测数据表如图6所示;具体观测方法是每当有一个行人到达观测3条队列内的某条队列时,观测员在对应的观测数据表的与观测队列所对应的列中画正字,每隔30秒钟就换一行重新画正字。这样观测结束后统计所画正字就能反映出30秒内行人到达人数。每侧大厅在同一30秒内,我们能够观测6条队列,而通常每侧大厅开窗口数是10条左右。我们通过随即抽取6条队列,以他们到达人数的均值作为样本,来估计10条左右队列的总体的到达人数的均值是可以的。图7我们总共观测了5天,但其中有一天售票大厅窗口数变换频繁无法记录准确的开闭窗口数。故那天的数据属于无效数据。其他四天中,每天观测时间是上午9点至下午5点。其中有两天是每小时随机抽取6个5分钟进行观测,总共得到480组数据;而另外两天是每小时随机抽取4个5分钟,总共的到320组数据,累计的到800组数据。用着800组数据组成对应8个小时的8个不同的经验分布,行人到达数的随机变量依据该经验分布产生。左右两大厅到达数据时间序列图如图7、8所示图83.3.1.2. 服务时间抽样观测通常都需要有足够的样本量,但样本量如果过大则过于费时费力。因此科学的确定观测次数十分重要。我们做了一次预测量用以确定测量服务时间的次数。预测量总共观测15次,服务时间分别为32s,28s,48s,32s,45s,23s,27s,43s,23s,50s,48s,37s,24s,33s,49s.采用d2值法确定测量次数;欲将误差控制在5%,可靠度为95%根据数据中最大服务时间为50s,最小服务时间为23s算出级差R=27依据观测预次数为15次,查表得d2=3.472 依据观测数据得到由公式得到最佳观测次数约为75次,但由于服务时间随机性波动较大,因此我们把观测次数定位240次。分不同的4天记录了240位旅客的服务时间。数据如表1所示;表格 1 服务时间原始数据时段1窗口1窗口2窗口3窗口4窗口5窗口6窗口7窗口8旅客14919453215341319旅客27155222243593424旅客3332533565364013旅客416324532242310844旅客54134564237674968旅客65541243431783649旅客72734344536354122旅客81444554376865841旅客91343344422378858 旅客102743281655204688时段2窗口1窗口2窗口3窗口4窗口5窗口6窗口7窗口8旅客1215358562333437旅客22547458872315524旅客34163313223655513旅客41935453595336219旅客53644752533854532旅客6325656444142273旅客74131354525234853旅客81832413325272751旅客96727293431432954旅客106818274145273427时段3窗口1窗口2窗口3窗口4窗口5窗口6窗口7窗口8旅客15932314911143543旅客26342523282

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论