2006.35
计算机工程与应用
有效地提高系统的稳定性。
它 根 据 大 楼 乘 客 的 运 动 模 型
, 通过设置从 一 层 向 上 的 比
率 、向 下 到 第 一 层 的 比 率 、起 始 层 和 目 的 层 都 不 是 第 一 层 的 比
率 和 乘 客 到 达 率 等
4
个 参 数
( 分别用
A
、
B
、
C
和
λ
表 示
) , 利 用
泊松分布和蒙特卡罗算法
, 随机地产生各种交通流模式下的交
通流数据
, 然后通过
ODBC
保存到
SQL server
数据库中。流程
图如图
2
所示
:
2.2
电梯运行模块
电梯运行模块用于实现电梯的模拟运行
, 其中采用多线程
的软件实现方法
, 提高系统的稳定性。
它采用周期性采样的方法来代替现实中电梯的事件响应
,
取采样周期
T=
楼层高度
/
电梯匀速度。把电梯的状态划分为
3
种 状 态
: 电 梯 等 待 ( 电 梯 静 止 、没 有 呼 梯 信 号 ) 、电 梯 向 上 运 行
( 包括向上运行过程中的停止、进出客和运行) 和电梯向下运行
( 包括向下运行过程中的停止、进出客和运行) 。其中电梯向上
运行又可具体分为
10
个状态
: 向上匀速、向上减速、向上开门、
向 上 出 客 阶 段
1
、向 上 出 客 阶 段
2
、向 上 进 客 阶 段
1
、向 上 进 客
阶段
2
、向上进客阶段
3
、向上关门和向上加速。电梯向下运行
同理也可以具体分为
10
个状态。每个不可再分的状态的时间
都是一个
T
。当电梯为等待态时
, 电梯等待外呼信号, 直到又外
呼信号为止。当电梯向上运行时
, 假设电梯现在的状态为向上
匀 速
, 如 果 未 到 达 指 定 层 , 电 梯 继 续 向 上 匀 速 , 电 梯 楼 层 加
1
,
否则
, 电梯状态变为向上减速; 接着, 电梯由向上减速变为向上
关门
; 然后, 根据电梯里在当楼层下的乘客数, 状态变为向上出
客阶段
1
或者向上出客阶段
2
, 其中向上出客阶段
1
在 下 一 周
期 会 变 为 向 上 出 客 阶 段
2
, 从 而 使 出 客 时 间 增 加 ; 出 客 后 根 据
能进电梯的人数
, 状态变为向上进客阶段
1
或向 上 进 客 阶 段
2
或 向 上 进 客 阶 段
3
, 其 原 理 和 出 客 一 样 ; 进 客 完 后 状 态 变 成 向
上关门
; 最后状态变为向上加速, 加速后状态又变为向上匀速。
电梯向下运行的状态变化同理可得。电梯运行模块就是这样根
据电梯派梯队列模块中的运行队列
( 由呼梯信号和乘客的目的
层信号产生
) 把电梯运行起来。原理图如图
3
所示
, 流程图如图
4
所示。
2.3
电梯派梯队列模块
它 用 于 存 储 外 呼 信 号 通 过 电 梯 群 控 算 法 模 块 后 产 生 的 派
梯信号和乘客产生的目的层信号
, 供给电梯运行模块作为根据
而 使 电 梯 运 行 模 块 运 行
, 其中采用动态分配内存的技术 , 有 效
地解决恶劣电梯配置或特殊群控算法对内存分配的苛刻要求
,
增加仿真平台对各种电梯配置和群控算法的适应性
, 提高系统
稳定性。其流程图如图
5
所示。
2.4
电梯群控算法模块
电梯群控算法模块用于实现模型要采用的群控算法。群控
算 法 是 电 梯 群 控 系 统 的 核 心
, 它把外呼信号分配 给 指 定 的 电
梯。在电梯配置一定的情况下
, 群控算法是否有效决定了整个
电梯群运行性能的好坏程度。本文采用面向对象的设计方法
,
用类的封装来设计电梯群控算法模块
, 因此可以根据统一接口
轻易地改变群控算法模块
, 扩展性强。例如可以分别根据最小
等待时间算法、模糊控制算法和神经网络控制算法设计三种群
图
2 交通流产生流程图
输入
A
、
B
、
C
、
λ
和仿真时间
计算起点楼层密度向量
计算起点—终点楼层矩阵
I=1
取
(
0
,
1
) 随机数
计算第
I
个乘客的呼梯时间
第一次蒙特卡罗样本试验
确定第
I
个乘客的起始楼层
第二次蒙特卡罗样本试验
确定第
I
个乘客的目的楼层
交通流数据保存
SQL server
数据库
仿真时间到了么
?
交通流产生完成
I=I+1
182