基于多智能体的泵站多机组优化调度系统研究
2019-10-30
(中移(苏州)软件技术有限公司,江苏 苏州 215153)
泵站多机组优化调度系统中有多台机组,各机组既具有一定的独立性也需要相互配合、共同协作完成调水工作,因此泵站多机组优化调度系统是一个典型的复杂系统。传统的基于还原论的建模方法不能很好地解决复杂系统的建模问题。近年来,Agent和多Agent理论的研究与发展为复杂系统的建模提供了很好的思路[1]。本文将多Agent理论引入泵站多机组优化调度中,建立基于多Agent的泵站多机组优化调度模型。在模型内部,各功能Agent在管理Agent和通信Agent的沟通协调下实现系统的涌现,使得对泵站多机组优化调度的研究不仅仅局限于算法的优化,而能够扩展到泵站多机组优化调度的整个层面。
1 Agent与多Agent
Agent可称为“智能体”,来源于20世纪80年代对人工智能的研究认识。对Agent的权威定义来自Wooldridge和Jennings[2]:Agent是封装在一些环境中的计算机系统,为了达到设计好的目标,它能够执行灵活自主的行为。它拥有以下特性:自治性、主动性、反应性、社会性。多Agent系统是由多个Agent组成的集合,各个Agent之间是松散耦合的。它的目标是将大而复杂的系统建设成小的、彼此相互通信和协调的、易于管理的系统[3]。多Agent系统的思想是通过Agent之间的相互作用,使系统作为一个整体的问题求解能力大于单个Agent所具备的问题求解能力的代数和[4]。多Agent系统的这个思想正与复杂系统理论的中心概念“涌现”的特性相同[5]。
2 基于多Agent的泵站多机组优化调度系统
泵站多机组优化调度系统是一个典型的复杂系统,系统的核心部分是泵站多机组优化数学模型。现有研究仅仅专注在对该数学模型的优化计算上,忽略了对泵站多机组运行的整体流程的管理。基于多Agent的泵站多机组优化调度系统模型构建了一个囊括从上级管理部门下达提水任务到优化决策到机组运行,以及日志记录查询、机组检测维护等一系列过程的模型,实现了对泵站多机组优化调度的有效管理。
2.1 构建系统模型
本文所建立的基于多Agent的泵站多机组优化调度系统模型包括3个多Agent子系统(监测多Agent子系统、决策支持多Agent子系统、调度执行多Agent子系统)、一个管理Agent和一个通信Agent。整个系统采用集中式结构,即每个多Agent子系统内,通过一个管理Agent来控制和协调系统内不同Agent的合作,这样能够保持系统内部信息的一致性。模型的工作过程是:监测多Agent子系统监测外界信息,决策支持多Agent子系统根据监测到的信息确定泵站多机组最优运行方式,最后调度执行多Agent子系统根据决策方案完成调度任务。在各模块运行过程中,管理Agent负责协调各模块的工作,通信Agent负责在整个系统之间传递信息。模型的层次结构见图1。
图1 模型层次结构
图2 监测多Agent子系统层次结构
2.2 各多Agent子系统
基于多Agent的泵站多机组优化调度系统由3个多Agent子系统构成,分别是监测多Agent子系统、决策支持多Agent子系统和调度执行多Agent子系统,下面分别对其进行介绍。
2.2.1 监测多Agent子系统
监测多Agent子系统功能包括扬程信息的监测、接受提水任务和记录工作日志。监测多Agent子系统由1个管理Agent和3个功能Agent(扬程监测Agent、人机交互界面Agent、日志Agent)组成,见图2。管理Agent用来管理和协调功能Agent,并同其他多Agent子系统建立联系;扬程监测Agent监测每天的扬程,通过差压传感器的测量和计算可得每日的日均扬程[6],当上级管理部门下达提水任务时,考虑到短时间内扬程变化比较小,可用执行提水任务前一天的日均扬程近似代替执行提水任务当天的日均扬程[7],并通过管理Agent将日均扬程数据传递给决策支持多Agent子系统;人机交互界面Agent用来进行接受提水任务、反馈任务完成情况等需要与外界用户交互的工作;日志Agent用来记录每次系统的工作情况,包括执行任务的时间、任务的完成情况、任务过程中的突发情况及其处理、任务的负责人等,方便后期进行查询。
2.2.2 决策支持多Agent子系统
在介绍决策支持多Agent子系统前需要对一些概念进行说明。
日均扬程统计表:指的是某一泵站所处固定水域的全年日均扬程变化统计表。对于一个固定水域,它的扬程变化主要受丰枯水期和潮汐变化影响,根据历史资料统计分析可得该地全年日均扬程变化统计表[8]。
分时电价表:指的是某一地区不同时段的电价表[9],可从当地的物价部门获取。
流量-扬程、流量-装置效率性能方程:指的是泵站所处的固定水域,机组流量和扬程以及机组流量和装置效率的性能方程。可通过对流量、扬程、装置效率数据进行曲线拟合得到[10]。
决策支持多Agent子系统用于完成提水任务的优化计算工作,包括1个管理Agent和3个功能Agent(数据库Agent、信息存储Agent、优化算法Agent),见图3。
图3 决策支持多Agent子系统层次结构
在数据库Agent中存储着泵站处地的日均扬程统计表、分时电价表、流量-扬程和流量-装置效率性能方程;信息存储Agent中存储着历次优化计算的结果;优化算法Agent负责优化计算。系统运行时,管理Agent从监测多Agent子系统获取到提水任务信息和日均扬程信息后,首先调用信息存储Agent核对监测信息是否已经存在,如果给出的监测信息在信息存储Agent中已经存储则不需要优化计算,直接将以前的优化结果通过管理Agent反馈给调度执行多Agent子系统;如果给出的监测信息在信息存储Agent中不存在则调用优化算法Agent计算出合理的运行方案传递给调度执行多Agent子系统,并将优化结果和监测信息存储到信息存储Agent中。这样,由于信息存储Agent的存在使得系统具有高度的记忆性和智能性,能够快速准确地根据监测信息给出决策方案,节省了优化时间和计算资源,提高了系统的反应率。
2.2.3 调度执行多Agent子系统
调度执行多Agent子系统由一个管理Agent和n个机组组成,本系统实现对泵站多机组的调度控制,见图4。管理Agent负责各个机组的控制协调工作,实现机组叶片偏转角信息的传递、协调机组开停机及机组状态信息的反馈,它从决策支持多Agent子系统获取优化方案,然后将决策信息传递给各个机组。每个机组内部都包括1个管理Agent和4个功能Agent(状态检测Agent、警报Agent、运行控制Agent、保护Agent),见图5。管理Agent的作用就是与上层管理Agent进行协调,接收和发送信息以及协调内部Agent之间的通信交互共同完成本机组的任务; 当管理Agent下达开
图4 调度执行多Agent子系统层次结构
图5 机组层次结构
机命令后,状态检测Agent会先检测机组的实际情况,如果机组存在异常则由管理Agent调用警报Agent发出警报,如果机组正常则运行控制Agent启动机组并进行叶片调节。机组运行过程中如果出现线路短路、零部件损坏等异常,保护Agent通过切断电路、停止机组运行等方式保护机组,并通过警报Agent发出警报。
2.3 优化算法Agent中的优化计算
系统中对优化调度是否高效起到关键作用的是决策支持多Agent子系统中的优化算法Agent。当管理Agent向优化算法Agent传递提水任务和日均扬程后,优化算法Agent从数据库Agent中的日均扬程统计表中匹配日均扬程,并读取匹配结果、分时电价信息和流量-扬程、流量-装置效率性能方程,然后根据内部算法计算出优化结果,最后将结果反馈出去。
2.3.1 数学模型
考虑分时电价和水位变化,将一天划分为SN个时段,对于一座有着JZ台机组的泵站,以总耗能费用最小为优化目标,总提水量、机组额定功率为约束条件,各时段泵站机组叶片偏转角和机组开机台数为决策变量,建立泵站多机组日优化运行数学模型。为便于模型的描述,定义如下变量,见表1。
表1 模型中变量的说明
模型的数学描述如下:
(1)
提水量约束:
(2)
功率约束:
Ni(θi)≤N0
(3)
2.3.2 模型求解
优化算法Agent采用基于动态惩罚函数的遗传算法对模型进行求解。求解过程分为约束条件处理和遗传算法求解两个部分。
第一部分,约束条件处理。首先是功率约束,不同于其他研究者将功率约束放在优化计算中进行处理的做法[11],优化算法Agent在优化计算之前进行功率约束的处理,这样可降低优化计算的复杂程度。从式(1)中可得功率计算公式如下:
(4)
根据式(3)、式(4)以及额定功率N0可计算出各个时段满足功率约束的叶片角,并将计算结果存储。其次是提水量约束,本文采用动态惩罚函数的方法处理[12],惩罚函数设计如下:
(5)
其中:
(6)
式中:P为动态惩罚函数;C、α、β为调节惩罚大小的常参数;t为迭代次数;g(θi)为当前提水量与管理部门下达的提水任务的差值。随着迭代次数的增加,即t增大,惩罚项也增大,对不可行解的惩罚加大。随着迭代进程的深入,不可行解抛弃的进程加快,使得整体算法有较快的收敛速度。
第二部分,采用遗传算法进行计算。本模型是最小值问题,为方便个体选择概率的计算需转化为最大值问题。考虑到适应度非负的要求,添加一个相对较大的常数Cmax将原问题改成最大值问题[13],并将惩罚项添加上去,则适应度函数如下式:
(7)
算法采用浮点数编码,算法的具体描述如下:
基于动态惩罚函数遗传算法(Dynamic penalty function GA)定义:pop_size //种群个体数目;run_num //迭代次数;population[pop_size] //种群数组 fitvalue[pop_size] //记录每个个体适应度的数组;maxfitvalue〈θ,N,totalcost〉//最大适应度输入:We //提水任务输出:totalcost //总费用;θ=<θ1,θ2,…,θSN> //各时段叶片角;N= 2.3.3 江都四站优化求解 江都站是南水北调东线工程的源头站,由4座大型电力抽水站组成,全站共装有大型立式轴流泵机组33台套,装机容量55800kW,最大抽水能力508m3/s,在灌溉排涝、泄洪通航以及南水北调工程中发挥着重要作用[14]。目前江都站以完成提水任务为首要目标,针对泵站站内系统的优化将有效提高泵站的提水效率。江都四站是江都站四座大型抽水站之一,安装了7台套立式轴流泵,机组额定转速n=150r/min,叶轮直径为2900mm。机组电动机额定功率为3550kW,机组叶片角调节范围为[-4°,+4°],采用液压调节系统进行叶片调节[15]。 考虑到大型泵站不宜频繁开停机等因素,将全天划分为9个时段,在7.80m日均扬程下各时段的时均扬程和分时电价见表2。 表2 7.80m日均扬程下各时段扬程及分时电价 通过拟合流量、扬程和装置效率的统计数据可得江都四站不同叶片角流量-扬程(Q-H)、流量-效率(Q-η)性能曲线方程见表3。 表3 江都四站Q-H、Q-η性能曲线方程 考虑7.80m日均扬程、60%负荷运行,此时日提水任务We为12.39×106m3,采用2.3.2中所述的优化算法Agent计算,结果见表4。 表4 日均扬程7.80m、60%负荷工作江都四站多机组日优化计算结果 注表格中空白的部分表示机组不开机。 从表4中可以看出,9个时段的开机台数分别为0,0,7,7,7,0,1,6,6,开机时段(Ⅲ,Ⅳ,Ⅴ,Ⅶ,Ⅷ,Ⅸ)的叶片偏转角分别为-2°,-1°,-1°,0°,-2°,-2°,日提水总量达到12.43×106m3,大于所下达的12.39×106m3的提水任务,需要花费的提水费用为15.75万元。 本文将Agent和多Agent理论与泵站多机组优化调度系统的建模相结合,建立一个基于多Agent的泵站多机组调度系统模型。该模型不同于现有研究仅仅专注于优化算法的状况,而是将泵站多机组优化调度的研究扩展到了优化调度的系统层面。系统模型通过内部子系统及子系统内各Agent的协同合作实现系统级的智能涌现,在很大程度上提高了泵站多机组的运行效率和管理效率,节省了运行成本。3 结 语