1. 引言
1.1. 研究背景和意义
随着社会的不断发展,人们的生活水平不断提高,人民的需求也不断提升,居民的幸福度也受到越来越多的关注。在高层建筑不断崛起的当代,垂直交通问题也越来越突出[1],成为影响居民日常幸福度的因素之一。在乘客乘梯过程中,等待电梯时间过长、乘坐电梯时间过长、轿厢过于拥挤,都会降低人们日常工作出勤的幸福感。
而大多数电梯算法仅专注于办公楼的多部电梯的群控算法,反而忽视了影响居民幸福度的居民楼电梯。在电梯系统发展过程中,人们从简单地提高电梯系统效率的需求,逐渐转变为在电梯效率不变的前提下满足乘客的舒适度的新要求。
目前广泛应用的居民楼电梯普遍使用了简单的自动回归基站及中间层的算法,但乘坐电梯下降与升高的乘客人数并不完全匹配,自动回归会导致电梯电力能耗增加,浪费大量电力。
因此,本文提出基于增量学习的电梯调度算法,通过增量学习及机器学习分类算法,对小区楼栋电梯停靠楼层进行训练分析,致力解决等电梯时间过长以及降低用电能耗问题。
1.2. 电梯调度算法现状分析
目前,电梯调度算法的研究主要分为传统电梯调度算法、实时电梯调度算法以及基于神经网络的群控电梯调度算法。传统电梯调度算法没有实时性的特征。包括先来先服务算法(FCFS) [2],根据乘坐电梯的先后次序进行调度。最短寻找楼层时间优先算法(SSTF) [3],优先选择最短寻找楼层的时间,注重电梯寻找楼层的优化,但重负载的情况下响应时间较大。扫描算法(SCAN) [4]是一种按照楼层顺序依次服务请求,让电梯在最底层及最高层之间连续往返运行,运行过程中响应处在电梯运行方向相同的各楼层上的请求,效率较高。LOOK算法是扫描算法的一种改进。对LOOK算法而言,电梯同样在最底层和最顶层之间运行。但当LOOK算法发现电梯所移动的方向上不再有请求时立即改变运行方向,而扫描算法则需要移动到最底层或者最顶层时才改变运行方向。SATF算法与SSTF算法的思想类似,唯一的区别就是SATF算法将SSTF算法中的寻找楼层时间改成了访问时间。这是因为电梯技术发展到今天,寻找楼层的时间已经有了很大地改进,但是电梯的运行当中等待乘客上梯时间却不是人为可以控制。
传统电梯调度算法主要存在满载之后仍会出现不必要的开门、缺乏应急情况的调整措施问题。
实时电梯调度算法,会考虑当前电梯所在位置。最早截止期优先调度算法(EDF-Earliest Deadline First) [5]是最简单的实时电梯调度算法,但它会造成电梯任意地寻找楼层,导致极低的电梯吞吐率。SCAN-EDF算法是SCAN算法和EDF算法相结合的产物。SCAN-EDF算法先按照EDF算法选择请求列队中哪一个是下一个服务对象,而对于具有相同时限的请求,则按照SCAN算法服务每一个请求。它的效率取决于有相同deadline的数目,因而效率是有限的。PI (Priority Inversion) [6]算法将请求队列中的请求分成两个优先级,它首先保证高优先级队列中的请求得到及时响应,再搞优先级队列为空的情况下在相应地优先级队列中的请求。
基于神经网络的群控电梯调度算法,又包括基于专家系统的电梯群控方法以及基于模糊控制的电梯群控算法。专家系统定义为使用人类专家理论的计算机模型来处理现实世界中需要专家作出解释的复杂问题,并得出与专家相同的结论[7]。专家系统可视为知识库与推理机的结合[8]。基于模糊控制的电梯群控算法,模糊控制是模仿人类的思维,将模糊数学与控制理论相结合,对难以精确确定的数学模型对象实施的控制[9]。Fujitec [10]公司最早在他们的电梯中使用了根据专家知识做出的最优的控制决策。Minoru Kaneko [11]等人将专家系统和模糊控制相结合,利用专家系统的先验知识建立模糊理论。
随着科技的发展,基于人工智能的电梯算法研究越来越多,但实际应用较少,大多都着重于商业大楼的群控电梯,研究居民小区电梯的算法研究很少。且在基于神经网络的电梯调度算法中,样本更新不及时且困难,每次需要重新采样训练,因此,本课题提出基于增量学习的电梯调度算法,让训练样本进行周期性更新,使电梯调度算法能跟随楼栋居民乘坐电梯情况进行更新。
2. 电梯仿真模型搭建与特征集建立
本文以一栋16层高并具备2部电梯的居民楼为研究对象进行仿真模型搭建,2部电梯由一个控制终端统一调度,每层提供一组呼梯按钮,当用户按下某个楼层的呼梯按钮时,该信号会被电梯控制系统接收并处理。电梯系统会根据当前的运行状态和请求顺序,决定哪部电梯以及何时前往该楼层响应用户的呼梯请求。
根据实际电梯系统运行分析,居民楼电梯系统的交通模式主要包括两种:上下班高峰期以及日常的随机客流,本算法设计的主要目的为降低居民候梯时间,减少电梯调度次数以降低用电能耗。
电梯仿真模型特征集的输入为该单元前一周的呼梯情况楼层与对应时间,根据仿真模型中客户需求,按照电梯运行路径最短的原则计算,输出为对应时间电梯空闲时应停靠的楼层。
3. 基于增量学习的电梯调度方法
3.1. 增量学习模型的建立
增量学习研究如何从无限的数据流中学习,逐级扩展已学习的知识,学习过程呈顺序性。它允许模型在接收到新数据时逐步更新其知识库,而不需要重新训练整个模型。相比其他机器学习,可以减少计算成本并提高模型的适应性的增量学习更适用于电梯调度这种经常处在动态变化的环境。
理想的增量学习具有以下特性:
① 内存消耗恒定:在处理无限增长的数据流系统中,为了避免需要不断增加内存来存储新的任务或数据,增量学习范式所消耗的内存应是与任务数量或数据流长度无关的常数。
② 无需任务边界:增量学习方法中,模型可以同时学习多个任务,而不需要将它们分成不同的阶段,并且在没有明确任务划分的情况下,逐步适应和学习新的任务。这种方法使得它可以处理无限的数据流,并且可以适应不断变化的任务需求。
③ 连续在线学习:增量学习能够从连续的数据流中进行学习,而无需离线训练大量的批次或单独的任务。增量学习则可以实时更新和改进模型,使其能够适应不断变化的数据分布和任务需求。
④ 顺向迁移:增量学习能将之前学习到的知识应用到新的任务中,以帮助新任务的学习。这种特性表明了先前获得的知识对于新任务的学习具有重要性。
⑤ 后向迁移:增量学习在学习新知识的同时不仅会保留之前学到的知识,也在学习新任务时积极改进。通过保留和利用先前的知识,系统可以提高其在相关任务中的性能,而不必从头开始。
⑥ 普适性:增量学习方法不局限于特定的问题类型,在不同的任务、领域或场景中都能够有效地进行学习和适应,可以更好地应对各种不同的问题和挑战,提高模型的泛化能力和实用性。
⑦ 自适应:增量学习具备从无标签数据中学习的能力,增加了原始训练数据丢失情况下的适用性。
⑧ 不依赖预测算法:设计良好的增量学习方法不应依赖任务预测器进行预测,它应该能够在没有外部指导或测试时预测需求的情况下,从新数据中学习和适应。
⑨ 任务重访:在新任务的训练过程中重用以前学习的任务作为模型输入。这种方法通过约束新任务损失的优化来防止来自先前任务的干扰,从而有助于减轻遗忘。
将增量学习方法应用到电梯调度算法中,使其具备从连续的电梯调度数据流中学习的能力,适应从根据时间变化的电梯调度需求,具备更强大的灵活性和适应性。
在增量学习的模型建立过程中,样本输入时间颗粒度为15分钟,一次训练7日数据,共672组时间数据,呼梯楼层为−1楼到16楼共17组楼层数据,训练集总数据量共11,424个。根据历史数据中各个楼层的需求,按照距离最短的原则计算,输出下一日对应时间电梯空闲时应停靠楼层。
3.2. 用户动态需求分析
楼栋内用户乘梯需求存在微时间尺度的随机性和大时间尺度的规律性,因此可以通过分析工作日、双休日的整体乘梯情况,获取用户在宏观时间尺度中的规律。典型的用户动态需求分布如图1所示,其中时间刻度是以15分钟为基本单位。通常在工作日中,上午需要出行的用户较多,因此在24至40的时间段(即上午6点至10点之间)内乘梯需求的楼层分布范围较大,而在时间40之后,用户需求分布较为集中,通常由非工作自由出行的人群,他们的需求存在一定的随机性。增量学习模型可以通过不同时间点对应的用户需求,获取用户需求分布规律,增强对电梯闲置时停靠楼层的把控。
Figure 1. User dynamic demand distribution diagram
图1. 用户动态需求分布图
3.3. 方法流程
方法所基于的模型训练流程图如图2所示,首先对模型参数进行初始化操作,得到初代模型;其次,输入一个批次的数据,具体为当天各个时间呼梯楼层的数值;然后,模型根据输出数据进行一次输出,并将输出结果与标签值进行误差计算,即梯度;再判断一次误差的大小,若小于预设值则说明模型已收敛,可输出已训练的模型,若大于预设值则说明需要继续训练,进一步根据梯度值更新模型的参数,获得下一代模型并输入下一个批次的数据。
Figure 2. Training process of elevator dispatch learning model based on incremental learning
图2. 基于增量学习的电梯调度学习模型训练流程
利用训练好的模型进行当天的电梯位置时序计算,输出计算结果形成映射关系
,其中t为不同的时刻,y为电梯应前往的楼层。根据该映射关系
形成当天电梯调度运行流程如图3所示。
Figure 3. Elevator operation process
图3. 电梯运行流程
4. 实验与分析
本研究中采用了仿真实验平台来验证所提出的基于增量学习的电梯调度算法。该平台能够模拟真实电梯系统的运行环境,包括不同时间段内的乘客呼梯需求、电梯的运行状态及停靠策略等。
用于测试的仿真数据取于某小区居民楼电梯监控系统,涵盖了从−1楼(地下室)到16楼共17个楼层的电梯使用记录。数据按时间颗粒度为15分钟进行汇总,确保每个时间点都能反映该时间段内的乘客呼梯需求情况。通过这种方式,我们构建了包含7日(即672个时间数据点)的训练数据集,总计11,424个数据样本。每个样本包含了对应时间点的各楼层呼梯次数,为模型提供了丰富的特征信息。
在仿真实验中,首先将模型参数进行初始化,得到初代模型。随后,按照时间顺序,每天的数据被划分为多个批次,每个批次包含该天所有时间点的呼梯楼层数据。模型逐一处理这些批次,对每个批次的数据进行前向传播,输出预测结果,即电梯在空闲时应停靠的楼层。
为了评估模型的性能,本实验将预测结果与根据历史数据中各个楼层需求按距离最短原则计算得到的实际最优停靠楼层进行对比。这一步骤中,我们使用了准确率作为主要的评价指标,即正确预测的停靠楼层数量占总预测数量的比例。
经过多次迭代训练,模型逐渐收敛,直至达到预设的误差阈值。最终,如图4所示,在测试集上模型展准确率达到96.875%。此外,用户每日的等待总时长共缩减了53分钟。这一结果表明,基于增量学习的电梯调度算法能够准确地根据历史呼梯数据预测电梯在空闲时应停靠的楼层,从而有效减少乘客等待时间,提高电梯系统的运行效率。
Figure 4. Comparison between model output and actual output results
图4. 模型输出与实际输出结果对比
此外,将所提出的算法与近期几种现有算法进行了对比分析,如表1所示。通过对比分析可得,所提方法在用户需求预测的准确率、节省等待时间和预测耗时方面都具有显著优势。能够以96.875%的准确率预测不同时间下用户的乘梯需求,并有效减少了53分钟的用户等待时间,同时由于算法的轻量性,在实际预测时长测试中,耗时为2.74毫秒。
Table 1. Comparative analysis of the proposed algorithm and existing algorithms
表1. 所提算法与现有算法的对比分析
对比方案 |
文献[12]方法 |
文献[13]方法 |
所提方法 |
预测准确率(%) |
93.926% |
94.327% |
96.875% |
节省等待时间(min) |
36 |
41 |
53 |
单次预测耗时(ms) |
3.95 |
4.69 |
2.74 |
5. 结论
本研究通过仿真实验验证了基于增量学习的电梯调度算法的有效性,该算法利用历史呼梯数据,以15分钟为时间颗粒度,准确预测电梯空闲时应停靠的楼层,达到了96.875%的准确率,共减少每日用户总等待时间53分钟。与现有方法相比,所提方法在用户需求预测准确性、节省等待时间和计算速度方面具有显著优势。本文工作展现了在优化电梯运行效率、提升乘客体验方面的显著潜力和实际应用价值。
基金项目
湖南科技职业学院校级科研项目(KJ21221)的技术及经费支持。