◇武汉轻工大学电气与电子工程学院 阮道杰 康胜武 费世煌 赵常青
电梯群控问题是一个输入输出参数复杂,带有许多非线性特征的控制系统,本文主要介绍了蚁群算法的原理,并创新性得将其运用到电梯群控系统中,并且通过西门子可编程逻辑控制器与Elevator Simulation软件进行联合仿真,将仿真结果与各自独立运行的电梯进行了多指标对比,结果验证了蚁群算法在电梯控制上的可行性。
随着生活质量与生活水平的提高,居民楼、商场、图书馆等场所电梯出现得越来越多。然而传统的多个单部独立运行的电梯,在面对楼层数多、交通模式多变、乘梯人次较多的情况时,每层的外部呼梯信号得不到很好地响应,导致在经常会出现轿厢过于拥挤和乘客长时间候梯的情况。为了更好地根据每层呼梯合理分配电梯去响应,由此诞生了多部电梯的群控方案。由于电梯群控系统具有复杂多变、多目标性、动态等特性,使得其一直是近些年来国内外研究的热点。
由于蚁群算法对离散组合优化问题的求解有突出的优势,其良好的全局优化能力、较快的收敛速度可以很好地应用到电梯群控调度算法中[3]。在这里我们采用蚁群算法去实现电梯群控系统的设计,通过西门子可编程逻辑控制器与Elevator Simulation软件进行联合仿真,用最接近实际生活的电梯的仿真软件去对基于蚁群算法的电梯群控系统进行评测,以实验检验其可行性与高效性。
蚁群算法是一种基于种群寻优的智能算法,其由Mr.Dorigo博士首先提出,其灵感来源于现实中的蚁群总是可以找到通往觅食点的最优路径的现象[1]。生活中可以看见蚂蚁总是可以找到通往食物地点的最短路径,这是因为蚂蚁在行走过程中会分泌一种生物激素(Pheromone)-信息素[1]。该种激素会随着时间的积累逐渐挥发直到消失,蚂蚁在行进过程中可以感知到该种激素的存在与强度,并以此为重要因素来选择行进的路径。假定有多条不同长度路径通往相同地点,最开始路径上无信息素,蚂蚁会随机选择路径,由于信息素残留与路径成反比,导致较长路径的信息素残留较少,后续蚂蚁行进过程中将更大可能的选择较短路径。随着时间的积累较短路径上的信息素浓度越来越高,而其他路径上信息素逐渐挥发,难以得到加强变得越来越少,最终会完全消失,使得蚁群都按照最短路径前往觅食点[2]。
通过上述的描述可以理解蚁群算法的基本思想是:每只蚂蚁在选择路径时都会受到前面多只蚂蚁的影响,对于多数蚂蚁走过的路径,该只蚂蚁选择的几率会更大[2]。该算法的特点描述如下:
(1)蚁群算法是一种自组织算法。在寻找最佳路径中,起始阶段,每条路径上的信息素浓度相同,每只蚂蚁间联系不大,是无序群体,行进过程中,每只蚂蚁根据信息素指导路径,经过多次循环,路径上信息素由蚁群共同决定,蚂蚁间通过信息素产生联系,共同的向最优解收敛。
(2)蚁群算法是一种并行算法。在寻找最优解的过程中,多只蚂蚁共同依照算法寻找路径,互不干扰。
(3)蚁群算法是一种正反馈算法。在蚁群寻找路径过程中,相对较短的路径走过的蚂蚁多,因此留下的信息素也多,最终全局最短路径上的信息素浓度将趋近于最大,这便是蚁群的正反馈。
(4)具有很强的鲁棒性[1]。蚁群算法对于初始的解集要求不高,输入参数不多,在算法迭代过程中单个蚂蚁变异性对于整个种群影响并不大,反而更利于搜索全局最优解。
蚁群算法最早用于解决图论中的旅行商(TSP)问题,该问题定义如下,给定n个城市及不同城市间两两连接的路径集合V,要求找到经过所有城市的闭合最短路径,并且除了起点城市外,每个城市只允许经过一次。下面我们依据此问题来介绍蚁群算法的数学模型。
定义如下变量:
表1
定义蚁群走过所有的城市后为一个循环,对于n个城市而言,需要经过n个时刻,一次循环后对整个蚁群在t时刻的信息素浓度进行更新:
其中ρ为信息素的挥发参数,决定在整个循环周期上信息素浓度的挥发惯性,其中ρ的值越大,信息素衰减的越快,反之信息素衰减的慢。第k只蚂蚁在路径上留下的信息素浓度为为在一次循后所有蚂蚁在路径上留下的信息素浓度[2]。
蚁密模型:
式中Q是常数。
蚁量模型:
蚁周模型:
蚁量模型与蚁周模型迭代速度更快,能够快速搜索到局部最优解,蚁周模型利用全局信息,速度相对较慢,更加有利于搜索到全局最优解。
电梯的群控主要目标是解决电梯的信号分配问题,以及电梯的多功能智能化运行。在信号分配上,电梯外呼信号是随时间离散分布给出的,电梯是一个复杂的机电一体化设备,输入输出变量多,参数变化复杂,电梯交通系统中有许多非线性的特性[2],至今电梯的信号分配仍旧是一个难题。
电梯的智能化运行,需要考虑到众多的因素,为了综合描述电梯运行的优劣,建立四个综合评价指标,包括舒适度指标,电梯功耗指标,乘客乘梯指标,乘客候梯指标。在运行过程中需同时满足这些指标达到最大,这是一个多目标优化问题,目标问题是找到一个或者多个解来使得问题达到最优,在电梯群控中便是为信号分配一个最优的电梯,使得电梯能够以最优的状态运行,定义电梯的群控评价函数:
(1)乘客舒适度评价函数。电梯运行速度的快慢,接待乘客的多少,以及电梯启停过程都决定着乘客的乘坐舒适度,而这其中相当重要的指标便是电梯乘坐的人数,同时电梯的乘坐人数也决定着电梯是否超载,下面主要以电梯乘坐人数来建立指标函数。
电梯乘坐人数直接反应电梯当前载重量,两者一一对应,在群控分配信号中,当前电梯处于i层,有当前载重变量,不同的电梯载重有不同的取值范围,在这里取[0 1000]kg,对于待响应的j层信号,有舒适度函数为:
(2)系统功耗评价函数。电梯的功耗主要影响电梯的经济型,实效性,因此减少电梯功耗是一项很重要的任务。在电梯运行中决定电梯功耗的主要因素是电梯的启停次数。位于i层的电梯响应第j层的信号有启停函数,启停函数的值为在i楼层与j楼层间待响应的信号个数。对于待分配j层信号,有系统功耗函数:
(3)乘客候梯评价函数。电梯设计很重要的一个目标是使得电梯能够快速响应乘客的外呼信号,极大的节省乘客的时间,乘客等候时间是电梯是否高效运行的一个很重要的指标。乘客等待的时间,主要取决于电梯运行的速度,开关门次数,待响应呼梯信号,乘客人数等这些变量。由于很难检测到电梯每次进出的人数,在这里进行简化处理。等候时间函数:
蚁群算法在电梯里面常用的形式,即多部电梯在不同情况的信号处理中,找到电梯联合起来实现该方案时所走路径最短,所花能耗最小,且途中乘客的拥挤程度比较小的情况。由于在复杂的信号选择情况中,多部电梯对外部信号的选择方案往往呈几何倍数的增长,故此采用蚁群算法来求出该情况的最优方法从而解决电梯的选择难题。在电梯中,我们从控制传感器端获取到该多部电梯的外部信息,比如电梯外呼信号情况,电梯内呼信号情况,电梯负重重量。根据这三类信号整理出电梯的三个矩阵,即候梯矩阵,拥挤度矩阵,能耗矩阵,根据这三个矩阵就能判定该多部电梯运行的真实情况,也能更加准确的,科学的将电梯的运行情况处理出来,再将这三个矩阵通过最大最小归一法从而成为蚁群算法入口参数。
蚁群算法的选择策略分两类,一个是信息素选择策略和期望值选择策略,信息素选择策略是每次蚂蚁选择完路径后,会在结束时,进行信息素散失,即所有路径的信息素都会消失,但是唯独只有蚂蚁选择过的路径的信息素浓度任然是高的,故此,从而从信息素策略中可以找出一个最优解,为防止信息素策略陷入局部最优的情况而引入了期望值策略,即选择路径时每个路径的最短距离成为左右信息素选择策略的因素,从而避免电梯程序出现局部最优解的情况,实现整个电梯程序的最优化,而蚁群算法的整个过程就是,以上的三个矩阵:候梯矩阵,拥挤度矩阵,能耗矩阵,成为电梯第一次选择的入口矩阵,随着后面进行信号筛选和收敛时,就是蚁群算法的内部运算,最后由信息素策略α和期望值策略β,以及算法的递归次数γ三个值来影响整个信号的选择策略。最后根据以上形式进行信号分配最后,就是单部电梯的信号执行与运行。
为了能够最大程度地接近实际电梯的运行效果,这里我们采用中国智能制造挑战赛离散行业自动化赛项专用的EET设备进行仿真,通过对比普通模式与蚁群算法群控模式的PLC控制程序在具有相同乘客模型的三部六层电梯仿真系统里的运行结果,分析实验数据。
在这里我们将写好的程序文件下载进西门子s7 1200PLC中,通过德普罗尔公司的Elevator Simulation软件,针对167个相同的呼梯乘客,进行时长为15分钟的仿真运行,其实验结数据如表2所示(左A为相互独立的三部六层电梯运行结果,右B为基于蚁群算法的三部六层电梯)。
图1
表2
在上表中,通过对比我们可以发现,对于相同的乘客模型,蚁群算法极大的减小了乘客的平均候梯时间,在轿厢运行总距离与能耗上有了极大的降低,很大程度上优化了三部电梯的调度。此外,在乘客平均乘梯时间上,优化效果很有限。在轿厢启停次数上,有着一定程度的优化,但不是很显著。
对于A组数据,常规的三部独立运行的电梯是生活中最为常见的电梯模型,其信号分配完全取决于候梯乘客对三部电梯的呼叫情况,其实质就是三个独立的单部六层电梯。当乘客呼梯时会主动呼叫距离最近的一部电梯,但如果乘客无法判断哪一部电梯距离最近则可能同时呼叫三部电梯造成资源的浪费,高峰模式下会导致乘客的平均候梯时间急剧增加。因此,其模型与数据对于实际生活中的多个单部电梯具有很大的参考意义。
对于B组基于蚁群算法的群控电梯,其三部为一体,共同响应外部呼梯信号,其对于外呼的分配解决了乘客同时呼叫多部电梯造成的资源浪费,同时减少了轿厢拥挤度。因此,其乘客平均候梯时间与乘客长时间候梯率有很大程度的降低,减少了乘客候梯的时间。此外,得益于这种信号找电梯式的分配,将乘客较为合理地分布到了三个轿厢里,减轻了高峰时期轿厢的拥挤度,同时避免了不必要的启停,稍稍降低了乘客平均乘梯时间与系统启停次数,也让系统的能耗大幅降低。
此次实验很好地检验了蚁群算法在多部电梯群控方面的作用及特点,但由于选用的是三部六层电梯模型,其楼层数较少,未能凸显蚁群算法在降低乘客乘梯时间方面的优势。
本文通过对蚁群算法的剖析,详细地介绍了蚁群算法的基本原理和优势。在多部电梯群控问题上,结合蚁群算法与电梯群控问题本身的特点,使得蚁群算法解决了电梯群控问题,并通过西门子s7 1200系列PLC进行编程仿真。通过Elevator Simulation软件运行乘客模型,分析实验数据,最终证明了蚁群算法在电梯群控问题中的可行性与高效性。随着后续研究的不断深入和蚁群算法的不断拓展,其将在越来越多的领域里,发挥其独有的优势,解决更多的难题。