3.2 离散事件系统的数学建模

3.2.1 离散事件系统

离散事件系统是指系统的状态仅在离散的时间点上发生变化的系统,而且这些离散时间点一般是不确定的。这类系统中引起状态变化的原因是事件,通常状态变化与事件的发生是一一对应的。事件的发生没有持续性,可以看作在一个时间点上瞬间完成,事件发生的时间点是离散的,因而这类系统称为离散事件系统。超市是离散事件系统的一个例子,因为状态变量(如超市中顾客人数)仅当顾客到达或顾客服务结束时才改变,且顾客到达的时间与服务的时间是随机的。与连续事件系统不同,离散事件系统内部的状态变化是随机的,同一内部状态可以向多种状态转变,很难用函数来描述系统内部状态的变化,只能掌握系统内部状态变化的统计规律。

应当注意的一点是,一个实际系统是离散的还是连续的(或者是离散、连续混合的),实质上指的是描述该系统的模型是离散的还是连续的。根据研究目的的不同,同一个现实系统可以在一种场合下用离散模型描述(这时它是离散事件系统),而在另一种场合用连续模型描述(这时它是连续系统)。例如一个电机控制系统,如果关注的是电机的开关动作和转速、力矩的临界状态,则认为系统是离散的:而如果深入分析电机的转速、力矩与控制电压的关系,则认为系统是连续的;如果综合考查该系统的连续状态和离散状态的变化过程,则认为系统是混合的。

对离散事件系统进行仿真与建立离散事件系统模型的方式密切相关。对于比较复杂的大型离散事件系统,若以整个系统为单位,直接建立其总体模型,往往比较困难,不易实现。但是,如果把系统分成若干个相对独立的又相互作用的实体,首先建立这些实体的局部模型,然后按实体间的相互联系,连接局部模型来组成总体模型,则容易实现。

3.2.2 基本要素

离散事件系统的类型虽然多种多样,但它们的主要组成元素基本上是相同的。下面介绍这些主要组成元素。

1.实体(entity

构成系统的各种成分称为实体,用系统论的术语讲,它是系统边界内的对象。实体可分为临时实体和永久实体两大类。只在系统中存在一段时间的实体称为临时实体,这类实体在系统仿真过程中的某一时刻出现,在仿真结束前从系统中消失,实体的生命不会贯彻整个仿真过程。永久驻留在系统中的实体称为永久实体,只要系统处于活动状态,这些实体就存在。临时实体常具有主动性,又称为主动成分,而永久实体往往是被动的,又称为被动成分。例如,在现代化空袭和反空袭作战中,空中目标(飞机)总是连续地、多批次地进入防空区域,以使地面防空火力处于“饱和”状态,从而提高突防概率。此时,这些目标就是临时实体(主动成分),对空武器系统是永久实体(被动成分)。临时实体按一定规律出现在仿真系统中,引起永久实体状态的变化,又在永久实体作用下离开系统,如此一来,整个系统呈现出动态变化的过程。

2.属性(attribute

实体的状态由它的属性的集合来描述,属性用来反映实体的某些性质。例如,防空武器系统中,目标是一个实体,航向、速度、高度、姿态角、到达时间、离开时间等是它的属性。对一个实体来说,其属性很多,我们在仿真建模中,只需要研究与目标相关的一部分就可以了。目标的颜色和出厂日期等与防空武器系统关系不大,则在防空武器系统中不必作为目标的一个属性,而到达时间、服务时间和离开时间是研究防空武器效率的重要依据,是防空武器系统仿真中目标的属性。

3.状态(state

在某一确定时刻,系统的状态是系统中所有实体的属性的集合。

4.事件(event

事件是引起系统状态发生变化的行为,它是在某一时间点上的瞬间行为。离散事件系统可以看作由事件驱动的。在上面的例子中,可以定义目标到达防空区域为一类事件。因为由于目标的到达使系统中防空武器的状态可能由闲变为忙,或者队列状态(排队的目标数)发生变化。目标接受服务完毕后离开防空武器系统的行为也可以定义为一类事件—目标离开,此事件可能使防空武器的状态由忙变为闲,同时现有目标数减少。

5.活动(activity

实体在两个事件之间保持某一状态的持续过程称为活动。活动的开始与结束都是由事件引起的。在上例中,从目标开始接受服务到该目标接受服务完毕后离开防空武器系统可视为一个活动,在此过程中防空武器处于忙状态。

6.进程(process

进程由和某类实体相关的事件及若干活动组成。一个进程描述了它所包括的事件及活动之间的相互逻辑关系和时序关系。例如,在服务系统中,一个目标到达系统“排队”,系统为之服务至服务完毕后离去的过程,可视为一个进程。这里的“进程”概念有别于程序设计里“进程”的概念,但是多进程程序设计也是实现离散事件系统仿真的一种手段。事件、活动和进程三者之间的关系如图3.7所示。

图3.7 事件、活动和进程三者之间的关系

7.仿真时钟(simulation clock

仿真时钟用于表示仿真时间的变化,作为仿真过程的时序控制,是系统运行时间在仿真过程中的表示,而不是计算机执行仿真过程的时间长度。在连续仿真中,将连续模型离散化后,仿真事件的变化由仿真步长确定,可以是定步长,也可以是变步长,而离散事件系统的状态本来就是在离散时间点上发生变化。仿真时钟的推进方式(time advance mechanism)基本上有两种:固定步长时间推进机制(fixed-increment time advance mechanism)和下次事件时间推进机制(Next Event Time Advance Mechanism)。

8.规则(rule

这里的规则是指描述实体之间、实体与仿真时钟之间相互影响的规则。例如,防空武器系统中,目标这类实体与防空武器这类实体之间,目标是主动实体,防空武器是被动实体,防空武器的状态受目标的影响(作用)。其规则是:如果防空武器状态为闲,目标到达防空区域则改变其当前状态,使其由闲转为忙;如果防空武器忙,则不对目标起作用,而作用到自身—目标进入排队状态。实际上,主动实体与被动实体之间产生作用,而主动实体与主动实体、被动实体与被动实体之间也可能产生作用。

3.2.3 数学描述

在一定程度上讲,离散事件系统是由事件驱动的。活动通常用于表示两个可以区分事件之间的过程,它标志着系统状态的转移。进程则是由若干个事件及若干个活动组成的。一个进程描述了它所包括事件及活动间的相互逻辑关系和时序关系。

所谓离散事件系统的数学建模,就是利用随机过程理论和概率统计学,对上述诸要素进行数学描述。这种描述的结果将产生一个离散型数集,即离散事件系统的数学模型。

离散事件系统的数学建模总是同离散系统仿真联系在一起的。迄今为止,时钟推进和事件调度机制仍然是离散事件系统模型运行的核心。在此,将离散事件系统进一步表示为外部事件(X)、输出事件(Y)、内部状态(S)、状态转移描述函数(img)、输出函数(img)和时间推进函数(img)的逻辑集合img