2.3 MAS组织架构与协商方式
多智能体制造系统进行任务调度分配时,提出以交货期、利润率、客户等级和工艺难度为生产指标的订单优先级排序规则,并设计了一种考虑 AGV 配送时间的多目标优化调度模型。选择合同网协议作为智能体间合作分工的协商机制,并针对经典合同网协议存在的标书无限制发布、仅进行单步调度优化等问题进行改进优化,最终减轻了通信网络负载和提升了全局优化性能。将功能实体抽象、封装成Agent并确定Agent功能结构,是MAS调度模型设计的第一步。如何将各Agent有效地组织在一起并实现Agent间的高效协商,则是MAS调度模型设计的另一个内容和重点,对MAS调度模型的运行性能具有十分重要的影响。这部分内容又涉及两个细分研究内容:MAS组织结构设计和MAS协商机制设计。
2.3.1 MAS基本组织结构
本书将 MAS 的组织结构分为三种基本类型,分别是集中式组织结构、层级式组织结构和分布式组织结构。三者的结构体系如图2-9所示。
图2-9 MAS基本组织结构
1.集中式组织结构(centralized organization)
集中式组织结构由一个总控Agent负责整个MAS模型的控制决策,主控Agent和其他Agent 构成主从关系,如图 2-9(a)所示。显然,由于集中式组织结构下的总控 Agent 拥有 MAS 模型的全部信息,故容易获得全局最优解。但是,集中式组织结构的缺点也是显而易见的。首先,主控Agent处于多Agent网络的核心节点,系统内其他Agent的运行都要依靠总控Agent的正常运转,属于单点集中控制,一旦总控Agent出现故障,整个MAS将崩溃;此外,当系统中Agent的粒度较小时,总控Agent的运算负荷将增大。在环境稳定、规模较小的应用场景下,集中式组织结构获得了较为广泛的运用。
2.层级式组织结构(hierarchical organization)
层级式组织结构是依据MAS中各Agent的控制范围及包容性关系而逐层划分的一种组织结构,如图2-9(b)所示。在层级式组织结构中,上层Agent生成决策并对其所属的下一层子系统进行控制,同层以及非相邻层之间无法直接通信。层次式组织结构分散了控制职责,降低了系统的设计复杂程度,但对于某个位于非底层的单个 Agent 来说,其及其下属的Agent之间仍然是简单的集中式组织结构,集中式组织结构的固有弊端仍然存在。
3.分布式组织结构(distributed organization)
分布式组织结构由一系列平等的自治Agent组成,该组织结构中没有层次划分和集中控制,所有的决策来自个体Agent间的交互协商,如图2-9(c)所示。分布式组织结构具有高度的柔性和稳健性,但是由此付出的代价是系统通信量大,个体 Agent 固有的贪婪性得不到抑制,往往导致Agent的决策是局部最优。该结构是传统基于MAS的作业车间调度研究常采用的MAS组织方式。
2.3.2 MAS协商机制概述
在多智能体制造系统中,Agent之间良好的协商机制是实现系统高效运行的重要保障。一方面,单个Agent的处理、分析能力往往是有限的,为解决超出单个Agent执行能力的复杂任务,必须同其他Agent协作完成。例如,某个加工单元Agent需要对某一工件进行加工,但是其不具备运输工件的能力,因此必须请求AGV Agent与其进行协作共同完成对该工件的运输、加工。另一方面,单个 Agent 所拥有的计算资源、所能接触到的环境是有限的,因此单个Agent的优化目标必然是局部优化的。这就导致了不同Agent之间、单个Agent与整个系统之间的目标不一致。因此必须通过协调Agent之间的目标和资源,才能实现整个MAS的全局优化。例如,为实现制造系统全局的最优化目标,加工单元Agent可以放弃选择满足自身最优化目标的工件而选取其他次优方案。
Agent 之间的协商机制涉及社会学、博弈论等多个学科的交叉领域,是 Agent 社会性的体现。许多学者对MAS模型进行了研究,并提出了很多不同的MAS协商机制。其中最具代表性、应用最为广泛的三种协商机制分别为合同网协议、黑板模型和群体智能机制。
1.合同网协议
合同网协议(Contract Net Protocol,CNP)由Smith在20世纪80年代提出。CNP引入市场中的招标—投标—竞标机制,网络中的任务发起节点和任务执行节点之间构成合同关系,用于分布式问题求解过程中节点之间的任务动态分配,是MAS最主要的协商机制,并且已经成功应用于生产制造系统。合同网协议流程如图2-10所示。合同网协议中参与交互协商的Agent分为两种角色:发起者Agent(Initiator Agent,IA)和参与者Agent(Participator Agent,PA)。当使用合同网协议的多Agent系统中某个Agent存在需要进行协调处理的任务时,该Agent便会成为一个发起者。发起者会通过广播向系统内的其他Agent发布包含任务各项要求的招标信息。其他 Agent 作为参与者收到招标信息后,会根据自身能力、负载等情况决定是否参与该任务竞标。决定参加竞标的参与者将自身状态封装成标书,回复给发起者。发起者对所有收到的标书进行评估,选出最适合的参与者,并向其发送确认信息。参与者收到确认信息后决定是否接受本次合作,若接受则回复确认信息,完成合同签订。
图2-10 合同网协议流程
合同网协议采用了招标—投标—竞标的方式进行Agent之间的协商。整个过程与现实生活中签署合同的方式比较贴近,易于理解与实现,便于异构型多 Agent 系统中实现资源的优化配置。但是合同网协议也存在通信量较大、协商效率较低等问题。
2.黑板模型
黑板模型是专家系统在 MAS 上的一种实现方式。黑板模型由黑板、知识源和控制机构组成,如图2-11所示。在黑板模型中,黑板是一个全局动态数据库,存放有系统的原始数据以及各个知识源所获得的局部解。知识源是一个独立的知识库,拥有一定的资源和局部问题的求解能力。在MAS中,知识源对应的是自治的Agent实体。控制机构负责监控、更新黑板数据状态,并根据黑板数据激活相应的知识源进行问题求解。
图2-11 黑板模型
与合同网协议不同,黑板模型中各个Agent之间不能直接通信。各个Agent通过访问黑板获取所需数据进行问题求解或任务执行,并将结果发送至黑板供其他 Agent 使用。黑板上的内容可以不断添加、删除、修改。当控制机构检测到某项触发条件达成时,便会通知相应的Agent执行任务。MAS通过不断重复上述步骤,最终实现整个系统的调度运行控制。
由于黑板模型中全局数据库的存在,系统易于实现全局优化调度。此外,所有 Agent只需要同黑板 Agent 进行通信,减少了系统中的通信量。但是黑板模型的缺点也很明显。黑板和控制机构的 Agent 模型结构非常复杂,涉及的知识源以及相关设备过多,导致在解决具体问题时实现难度大。而且系统中所有的Agent都由控制机构Agent进行统一调度,系统刚度大,只能适用于集中式组织结构,易导致单点故障、中心节点负荷大等问题。而集中式组织结构在计算大规模、复杂度高的调度问题时,求解时间太长,不适用于动态调度模型。
3.群体智能机制
群体智能机制是如蚁群算法等群体智能算法在 MAS 上的应用。由于群体智能算法源于对自然界蚁群、鸟群、蜂群等群体行为的模拟,若将其中的个体视为Agent,那么多Agent算法则是群体智能算法的自然实现。以蚁群智能机制在制造系统的应用为例,将工件Agent视为蚂蚁,加工单元 Agent 视为路径节点。工件的每次加工会在加工单元上留下一定的信息素,信息素会随时间消散。信息素浓度越高的加工单元越能吸引工件选择其进行加工。通过上述正反馈环节,最终实现最优加工路线。
群体智能算法与 MAS 结合度高,实现容易,且在静态调度中已经体现出分布式并行计算的优势。但是其运行初始阶段优化性和对扰动响应性差,而且由于实现正反馈需要假设路径节点的容量无限大,这在实际车间生产调度系统中难以实现。因此多用于物流调度或加工路径规划,而很少用于车间层的实际生产调度。
2.3.3 MAS组织结构设计
为了适应物联制造车间多品种、小批量、柔性化的生产模式,解决扰动事件频发、动作响应不及时、优化性能低等问题,分别基于功能映射与物理映射对车间制造资源进行Agent 结构建模,并采用层级式组织结构和分布式组织结构混合的设计思想来设计改进型MAS车间动态调度模型,具有全局优化、扰动及时响应等优势。针对制造车间中的现场复杂环境,为动态调度模型建立了异常事件扰动的驱动策略,扰动发生时可及时做出合理应对措施,以维持制造系统正常生产。改进后的 MAS 车间调度模型既能在复杂的车间制造环境下实现自组织生产,又能及时处理随机性动态扰动问题。
离散制造车间具有信息量大、设备种类多、异常事件频发等特点,因此集中式组织结构不适用于离散制造车间建模,易出现响应不及时、单点故障等问题。为兼具 MAS 模型的全局优化性能和最优解求解速度,同时保证 MAS 的稳健性,本节将采用层级式组织结构和分布式组织结构混合的设计思想来设计改进型MAS车间调度模型。基于MAS的改进型车间调度模型的基本构架和组成如图2-12所示。
图2-12 基于MAS的改进型车间调度模型
基于MAS的物联制造车间中,主要的制造资源包括AGV小车、原料库、成品库和加工设备四种,分别映射为AAGV(AGV智能体)、AMW(原料库智能体)、APW(成品库智能体)和AM(机床智能体)。此外,出于对动态扰动事件监控和全局性能优化的考虑设置了AC(监控智能体)。
其中,AAGV、AMW、APW、AM都是基于物理映射,分别对应于车间内的生产实体物料运输设备、原料库、成品库和加工设备;AC为功能映射,没有与之对应的车间生产实体,其内部封装了多目标优化算法和扰动事件处理策略库(优化算法部分将在第 6 章详细介绍)。AC和AMW位于资源规划层,多个AAGV和AM位于任务生产层和任务执行层,每一层均为分布式组织结构,层与层之间形成集中式组织结构,即资源规划层决定资源生产层的作业生产调度序列。改进型MAS模型中的五类Agent主要模块的功能介绍如表2-1所示。其中逻辑模块功能较为复杂,将对其进行详细论述。
表2-1 装备智能体模块功能介绍
2.3.4 Agent逻辑模块
此处所设计的MAS调度模型的五类Agent中,逻辑模块负责通过信息分析、产生执行决策,以管理、控制整个 Agent 单元运行和动作。但是由于其软硬件结构设计复杂,功能繁多,难以用较短篇幅详细叙述全部决策过程。因此,对模型中各个 Agent 逻辑模块的主要功能进行简单介绍。
1.原料库智能体(A MW)
A MW的逻辑模块主要负责订单处理、设备选择和工件出库。其流程如图2-13所示。A MW通过向云平台发送请求来获得新增订单。由于客户所下订单一般包含多种类型的工件,每种工件需要进行多种工序加工,所以将订单拆分成工序任务,根据交货期和客户重要程度等指标计算任务的优先级,最后将任务根据优先级插入任务队列中。接着A MW从任务队列中取出优先级最高的任务,收集执行调度算法所需信息后选择一组 AGV 和机床来完成任务的运输和加工。选中的AGV来到A MW出库口后,A MW控制机械结构将原料从库位运送到RFID读写器处进行标签信息初始化,接着再将原料输送至AGV上。
图2-13 原料库智能体逻辑模块流程
2.成品库智能体(APW)
APW的逻辑模块只负责控制工件入库。其流程如图2-14所示。当某个工件的所有工序全部加工完成后,接收运输任务的AGV将工件成品运送至APW入库口,APW协同AGV将工件输送至 RFID 读写器处进行信息状态读取、存储和上传至云端,最后通过APW机械装置将工件输送至成品库中对应位置处。
图2-14 成品库智能体逻辑模块流程
3.机床智能体(A M)
A M的逻辑模块负责任务工件的加工和竞标。其流程如图2-15所示。当收到招标书时,AM会根据自身加工能力和缓冲区是否有空位再决定是否投标,如果招标方选中该AM,AM收到选标书之后会再次确认缓冲区是否有空位再回复是否应标。AM也负责工件的加工,当工件工序加工完成后,需要对工件 RFID 芯片数据进行读取,判断是否还有下一道工序需要完成,如果工序已经全部完成,则通知 AGV 入库,否则针对下一道工序向其他智能体发送招标书,进行招标。
4.AGV智能体(AAGV)
AAGV的逻辑模块主要负责物流任务的接收和执行。其流程如图2-16所示。AAGV接收到物流任务后根据任务优先级大小插入到优先级队列中。AAGV在执行物流任务时先根据物流任务的起点和终点查询离线路径库,按照查到的最优路径执行任务,如果执行任务期间碰到路径冲突,通过查询冲突事件策略库搜索对应的解决策略,重新规划路线,完成物流任务。
5.监控智能体(AC)
由于AC主要负责车间动态扰动事件的监控和处理,所以AC的逻辑模块就是根据感应到的扰动事件来匹配和执行知识库中对应的扰动处理策略。具体的扰动事件和扰动处理策略将在第4.2.2等节中详细介绍。
图2-15 机床智能体逻辑模块流程
图2-16 AGV智能体逻辑模块流程