论文部分内容阅读
近年来,随着计算机技术的发展,计算机仿真作为研究问题的新方法,越来越受到学者们的重视。通过将问题抽象为程序模型在计算机中进行运算,可模拟现实情况,据此给出建议和参考信息,并可验证理论和辅助性地对理论进行推导。在众多的仿真方法中基于Agent的建模与仿真方法(ABMS),是一种有效的建模方式。ABMS将复杂系统中的组成实体按照Agent的思想、方式来建模,通过对Agent的自主行为及其之间的交互关系的刻画与描述,进而得到整个系统的行为表现。
本文基于ABMS方法,构建了排队系统仿真模型。在此仿真模型中将顾客、队列、服务台抽象为不同的Agent,并引入了管理Agent。通过顾客Agent、队列Agent、服务台Agent、管理Agent之间的交互仿真排队现象。模型中队列Agent是连接顾客Agent和管理Agent的纽带。管理Agent主要负责任务调度,协调顾客Agent和服务台Agent的行为,并对服务台Agent进行管理。服务台Agent接受管理Agent的调度与管理,为顾客Agent提供具体服务。并且服务台Agent根据管理Agent的调度,决定是否需要调整其服务类型,以便优化系统。本模型根据排队理论将顾客、队列、服务台抽象为不同的Agent,并引入了管理Agent。管理Agent的引入不仅减少了顾客与服务台交互的负担,而且有效的协调了整个排队过程,使整个排队仿真模型能高效、有序的运行。大型的排队系统中往往有多个服务台,可提供多种业务的办理,顾客按照业务类型到达不同的队列等待服务。不同的业务所需的办理时间不同,并且在某个时间段办理各种业务的顾客数也不尽相同,因此会造成在某个时间段,有的服务台的等候队列为空,而有的服务台却人满为患,为避免出现这种情况,本仿真模型提出了服务台业务类型的动态调整算法。其基本思想为:服务台Agent完成当前的业务后,将其完成消息及业务类型发送给管理Agent,管理Agent负责通知该业务类型所对应的队列Agent,由其比较自己队列中等待的顾客Agent的个数和为该类型业务提供服务的服务台的数量,若等待的顾客Agent的个数少于相应的服务台的个数,则通知当前服务台准备改变业务类型,则管理Agent负责检测其它队列Agent中等待的顾客数,得到等待顾客数最多的队列Agent对应的业务类型,将当前服务台Agent改为该种业务类型。该算法通过动态调整服务台的业务类型,使各服务台的工作量比较接近,合理的利用了有效的资源,减少了顾客Agent的等待时间,提高工作效率。
本文采用Repast平台实现了排队模型,并进行了银行排队仿真。实验和分析表明,该仿真模型可以真实地模拟银行业务窗口排队现象,对减少顾客等待时间、提高银行服务效率有借鉴作用。需要说明的是,该模型假定同一类型服务其服务时间是不变的,这与现实有一定差异,比如同样是取款业务,取100元与取10000元对应的服务时间肯定是不一样的,因此同一类型服务其服务时间可动态调整下的模型仿真是本文进一步研究的课题。