1.3 Holon与Agent
针对Holon和Agent技术在工业上的研究开创了多智能体制造系统,以两者为基础的制造系统体系的提出和研究极大地促进了多智能体制造系统理论建设和实际应用。近20年来,关于工业环境下Holon和Agent的研究论文层出不穷,在很多中文文献中,作者们直接将Holon或Agent代指为智能体。由于两者的重要性,本节将简要阐述制造系统中Holon和Agent的相关基础知识,以便读者更好地理解后续内容。
1.3.1 Holon及HMS
1.Holon的概念
Holon的概念是由哲学家亚瑟·科斯特勒(Arthur Koestler)提出的,目的是解释生物和社会系统的发展。一方面,这些系统在进化过程中会形成自力更生的稳定中间形式;另一方面,在生活和组织系统中,很难区分“整体”和“部分”,因为几乎所有事物都可以同时是一个整体或是某一个整体的一部分。这些发现促使科斯特勒提出了“Holon”一词,该词是希腊语“holos”(意为整体)和希腊语“on”(意为质子或中子)的组合,表示粒子或部分,“Holonic”是“Holon”的形容词,在中文文献中两者通常直接音译为“合弄”。
科斯特勒指出,在完全是自给自足的生物和社会组织中,不存在任何不相互作用的实体。每个可识别的组织单位,如动物中的单个细胞或社会中的家庭单位,都包含更多基本单位(血浆和细胞核,父母和兄弟姐妹),而同时又是更大组织单位的一部分(肌肉组织、社区)。合弄体系的优势在于,它可以构建非常复杂的系统,这些系统仍然可以高效利用资源,对干扰(内部和外部)具有高度的适应能力,并且可以适应环境的变化。在合弄体系中,Holon可以动态创建和更改层次结构。此外,一个Holon可能同时参与多个层次结构。在某种意义上讲,合弄体系是递归的,即一个Holon本身可能是一个完整的体系,又可能在一个合弄体系中充当自治和合作单位。
2.Holon制造系统
Suda在20世纪90年代初提出了Holon制造系统(HMS)的概念,以应对21世纪制造业的挑战,具体包括:有效利用现有设备解决产品变更、升级,维护系统稳定;自主应对制造过程中出现的扰动。
HMS的提出是基于科斯特勒所设计的“Holon”概念。HMS由多个Holon组成,单个Holon 可以帮助上位机控制系统。每个 Holon 都可以自主选择适合自己的参数,找到自己的策略并构建自己的结构,Holon 是自治的自力更生单位,具有一定程度的独立性,可以在不征求上级主管部门指示的情况下处理突发事件;同时,Holon 又可以受到(多个)上级主管部门的监管和控制。第一个特性确保了Holon是稳定的形式,可以抵抗干扰。后一个特性表明它们是中间形式,可以为更大的整体提供适当的功能。
科斯特勒认为每个Holon都应该同时具备以下职责:作为系统某个单元的自治体;作为从属于较高级别Holon的控制部分;与其他Holon协商共同作用于系统。HMS参考了最初的Holon理论,将制造系统视为由具有分布式控制的自主模块(Holon)组成的系统,目的是在制造业中实现分布式智能,达到个体自治和整体协同的状态,即使制造系统具有强稳定性,能够应对制造系统的动态扰动,使系统能够一直平稳地运行。
HMS 被认为具备面对内部动荡和外部变化的适应性和灵活性,可以有效利用生产资源。参考最初的Holon哲学上的职责,HMS期望最终成型的制造系统架构应当结合集中控制分层控制以及变态分层控制的优点。Holon 既是独立的个体,又能够组成分层结构,也能够在必要时形成变态分层结构。
以下是工业环境下关于Holon以及HMS的一些基本词条及其含义,多出现于外文文献。
● Holon 是制造系统的自主和协作组成部分,用于转换、运输、存储、验证信息和物理对象。Holon通常由信息处理部分和物理部分组成。
● Autonomy,即自治,实体创建和控制自己的计划或策略的执行的能力。
● Cooperation,即协作,一组实体制定相互接受的计划并执行这些计划的过程。
● Holarchy是由多个Holon组成的系统,可以依靠Holon之间的协助达成某一目标。Holarchy定义了Holon之间协作的基本规则,同时限制了个体完全自治而导致的独立于系统之外。
● HMS。通过设计Holon和Holarchy可以进行全部生产活动的整合,包括产品的预订和设计、订单生产和营销,最终形成的一套制造系统就是HMS,用以实现智能制造。
用于生产过程的制造控制系统应当由软件模块以及制造环境的不同物理元素组成,包括生产资源、产品、客户工单等。通过适当的通信网络可以将软件模块和对应的物理实体绑定,这就形成了一个Holon。每一个Holon都能够推理、做决策以及和其他Holon交流。软件模块的数量和类型,以及该软件部分与物理实体的互连方式,区分了不同的Holon结构。
第一套具体的Holon结构是由Christensen在1994年提出的,如图1-4所示。它由两个基本模块组成:物理实体处理模块和信息处理模块。其中物理实体处理模块是可选的,一些种类的Holon并没有对应的物理实体,如一些论文中提到的订单Holon、计划Holon、调度Holon等。物理实体处理模块分为两部分:物理实体及对应的行为;操作物理实体的控制器部分(如 NC、CNC、DNC、PLC)。信息处理模块由三部分组成:Holon 内核,负责Holon的推理能力和决策制定;Holon接口,用于与其他Holon进行通信和交互;人机交互,用于人的输入(操作命令)和输出(状态监视)数据。
图1-4 最初的Holon结构
3.典型的HMS架构
目前最为典型和著名的 HMS 架构是由 Van Brussel 等人在 1998 年提出的 PROSA(Product,Resource,Order,Staff Architecture,产品—资源—订单—辅助体系)架构,后续的HMS架构基本上都是以PROSA为蓝本进行升级改造的,较为知名的有ADACOR架构、和MetaMorph架构等。ADACOR架构由Leitao和Restivo在2006年提出,在PROSA的基础上增加了监督性Holon,用以协调和优化系统整体性能;MetaMorph架构由Maturana和Balasubramanian 等人在 21 世纪初提出,是一种整体控制架构,其基础是通过一组作为中央决策中心的中介机构进行控制。MetaMorph 架构一直是某些工业兴趣的焦点,并促使了IEC 61499标准的制定。下面介绍PROSA架构,其他HMS架构基本由其衍生而出。
PROSA的核心由三种类型的基本Holon组成:产品Holon(Product Holon,PH)、资源Holon(Resource Holon,RH)和订单Holon(Order Holon,OH),其结构如图1-5所示。PH 包含产品制造过程,即通过获得足够的质量来确保其制造所必需的知识。它充当 HMS其他功能的信息服务器,但不包含产品状态。RH包含一个物理部分(即生产设备)和一个信息处理部分,该部分对设备进行订购并包含资源分配方法。OH 代表生产系统中的一项任务,它负责在期限内完成分配的工作,它控制实际产品、产品状态模型,并管理与工作相关的物流信息处理。
图1-5 PROSA架构
与生产相关的知识管理是这三种类型的Holon之间相互作用的结果。PH和RH交互作用提供了过程知识:资源,容量,可达到的质量和可能的结果的执行方法。PH和OH相互作用提供了生产知识:批次说明(要交付的数量、产品参考、报价文件等)。RH和OH交互作用提供了执行过程的知识:对资源上的过程执行进行跟踪、监视进度和过程中断等。PROSA还设想使用辅助Holon(Staff Holon,SH)来支持基本Holon执行任务,解决阻塞情况或寻求优化的可能性。辅助Holon没有任何决策权,但是可以根据基本Holon传递给它们的数据提出总体解决方案,以解决问题,这些基本Holon仍然负责最终决策。辅助Holon的使用仍然非常接近分层结构,以集中方式详细阐述了解决方案的建议。
4.从Holon到Agent
HMS从理论上搭建了一套完善的多智能体制造系统结构,用以应对21世纪制造环境带来的挑战。然而,技术实现手段的缺乏限制了 Holon 系统的进一步发展。Holon 体系一直缺乏一套独立的程序开发框架,即研究人员没有成熟的手段直接构建单个Holon的程序。
在这种情况下,有完善开发体系、开发框架以及被各种程序语言支持的Agent技术被引入了Holon 研究体系,成为很多研究人员开发Holon 程序的首选。然而,Agent技术不仅是作为Holon体系的实现手段存在,围绕Agent技术,一套独立的面向制造系统的研究体系被建立了起来,并快速被制造领域的专家们所接受。在大多数情况下,中国的学者直接将Agent解释为“智能体”,多Agent制造系统(MAMS)在多数情况下也直接被翻译为“多智能体制造系统”。
1.3.2 Agent及MAMS
1.Agent的概念
目前,学者对Agent系统理论没有统一的定义,其研究算法和相关概念基本都来源于人工智能学科。Franklin和Graesser把Agent称为能感知环境并对环境做出反应的智能体,与工业领域最为契合。各 Agent 分别建立各自的事件流程,并可以影响要感知的信息。Wooldridge和Jennings提到Agent应具有自主性、反应性、主动性和社会性4个基本特征。在人工智能领域中,Agent 能够感知身体内部的运行状态和所处环境的变化信息,并具有推断和决策功能的行为实体,各 Agent 之间通过信息交互,改进自身决策和调控能力,完成求解问题。单 Agent 的研究主要集中在认知和模拟人类的智能行为,如计算能力、记忆能力和学习能力等。
一般来说,可以将Agent看成作用于特定环境的一段程序。它能够感知周围环境、自治运行。Agent 的最基本特性包括反应性、自主性、面向目标性和针对环境性,可以将其看成一个黑箱,Agent 能够获取环境信息,分析信息并做出符合自身规则的解释,并根据解释做出符合当前环境的动作选择。Agent基本结构如图1-6所示。
图1-6 Agent基本结构
随着研究的深入,Agent 结构也在发生变化,其中认知型和反应型是目前两种被使用得较为广泛的主流结构,如图1-7所示。图1-7(a)给出了认知型Agent结构。与基本结构相比,在接受外部信息后,认知型 Agent 会根据内部状态进行信息融合,产生修改当前状态的描述符,并在知识库的支持下制定计划。图1-7(b)给出了反应型Agent结构。此类型中没有实际的模型和规划,主要通过设置简单的行为模式,依靠外部环境刺激做出反应,与认知型Agent结构类似也需要知识库支持。拥有知识库支持也是目前Agent结构共有的特征。需要注意的是,应用于具体工程的 Agent 还需要考虑应用对象,本书主要针对柔性离散型作业制造车间,其中面向设备实体的Agent是系统的主要组成部分。
图1-7 认知型Agent和反应型Agent结构
2.多Agent制造系统
多Agent系统(Muti-Agent System,MAS)是多个Agent组成的集合,各个Agent之间是松散耦合的关系。多Agent系统的研究主要集中在各Agent之间智能行为的协调,产生相应的行为,解决相关问题,实现共同的全局目标。在求解复杂问题的过程中,可以将复杂的系统分为多个具有一定功能的Agent个体,这些Agent个体通过某种规则或结构独立开展并行运算,然后进行信息交互和协调控制,提高整个复杂系统的信息处理能力。
在多Agent系统中,各Agent通过相互通信来交流合作,并组成不同的体系结构,通过一定的控制方式进行有效组合,组合的目的是将多 Agent 的整体目标分解到各个 Agent个体上,实现多Agent系统的协调控制。
多 Agent 系统中,因各 Agent 自身存在目标不同、信息不完整或功能不同,各 Agent的目标需要多 Agent 之间建立有效的协商机制,相互协调配合共同完成复杂任务,使系统的性能达到最优。在当前的先进制造系统中,自动化设备越来越智能,通信网络技术越来越成熟等,这些因素都为 Agent 在制造系统中的应用提供了条件保障。目前,现代制造系统一般由加工设备、检测设备、自动导引装置(Automated Guided Vehicle,AGV)等物理设备构成,这些不同的物理构成及其逻辑关系是典型的分布式系统,可以把这些物理设备看成是Agent,因此可以把现代制造系统看成是由许多自治的Agent之间通过协作所构成的复杂系统。这种运用多 Agent 思想的智能制造系统组织模式就是多 Agent 制造系统,即MAMS。在MAMS中,每一个Agent都具有自治特性,多Agent之间可以通过一定的机制进行交流协商,可以在复杂动态的制造环境中高效地完成各种目标或任务。MAMS在发挥单个Agent自治特性的同时,多个Agent通过协同合作,充分发挥群体的优势,使整个MAMS的性能得以显现。
现代制造系统由其内部的物理实体(生产设备、立体化仓库、机械手、AGV小车等)和逻辑构成(生产任务、订单等)组成,每个物理实体和逻辑构成均可看成单个 Agent。因此,可以把制造系统看成是一个由多个 Agent 组成的复杂系统,该系统是典型的分布式系统,Agent之间通过相互协调来应对内外界环境的变化。本书把MAS思想应用于制造系统的组织模式过程中。
Agent 是按照特定的方式进行封装并可以映射生产制造车间的实体,多个 Agent 之间构成松耦的组织结构,为车间控制系统的开发奠定基础。目前,制造系统按控制结构可分为集中式控制结构、层次式控制结构、异构式控制结构以及混合式控制结构四种,如图1-8所示。
图1-8 基于Agent的智能调度体系结构
(1)集中式控制结构是由一个中央控制单元负责整个制造系统的控制决策的一种控制架构。显然,集中式控制结构下中央控制单元拥有制造系统的全部信息,也容易产生全局最优的决策控制。但是集中式控制结构的缺点也是显而易见的。首先,中央控制单元的职责过重,降低了系统运行效率和可靠性。其次,系统对动态变化缺乏良好的响应性。最后,系统中任意单元的变动都会引发整个控制系统的变更。因此,集中式控制结构已逐步被主流制造系统淘汰。
(2)层次式控制结构是依据制造系统不同模块的控制范围以及包容性关系逐层划分的一种控制架构。层次式控制结构中,上层控制单元生成决策对其所属的下一层子系统进行控制。同层之间、非相邻层之间无法直接通信。层次式控制结构分散了控制职责,降低了控制单元的设计复杂度,是当前应用最为广泛的一种控制结构。但是对于单个控制单元来说,采用的仍是集中式控制结构,因此层次式控制结构也有着同集中式控制结构相同的缺陷:结构刚度过高、控制单元设计难度大、缺乏柔性。
(3)异构式控制结构(heterarchical framework)可以视作一系列具有自治性的设备单元的集合。异构式控制结构中没有层次划分和集中控制,所有的决策来自设备单元之间的交互合作。异构式控制结构具有高度柔性,能够便于制造系统添加、删除、更改遵循同一协议的设备单元;同时,其也具有良好的稳健性,能够便于制造系统及时处理未预见的扰动事件。异构式控制结构通常以 MAS 的形式实现,现已成为物联制造、信息物理系统等智能制造系统的主要控制结构。但是异构式控制结构也存在着一定缺陷,如设备单元决策与系统整体运行目标缺乏协调,系统运行状态难以预测等。
(4)混合式控制结构综合了层次式和异构式控制结构的优点,既具有上层Agent的全局观念,又有分布式Agent协商的优点。
MAMS通过强调系统决策实体的智能化、自治性及决策能力和职责的分布与协调,实现可靠、灵活、开放和自组织的制造控制。为了使制造系统的控制系统具有柔性,当不确定性因素(紧急订单、机床故障、工艺路线变更等)发生时,控制系统可以通过调整来应对该扰动。以往的研究表明,层次式控制结构和异构式控制结构都很难实现控制系统柔性的目标,虽然基于知识的方法和最优化方法在层次式结构中得到广泛应用,由于其忽略了制造系统实际扰动的不确定性和复杂性等,致使层次式不能建立精确的模型,在现代分布式制造系统中不太被使用。此外,由于异构式控制结构具有一定的柔性,但因其只能在单元控制器内进行信息交互,缺少全局性的观点。Van Brussel等人曾提到,若实体完全独立则影响异构式结构中对全局性的获取,致使集中式控制或调度变得困难。
3.基于多Agent的制造系统实现方法
如何实现多Agent系统,使其能够真正使用于制造系统依旧是目前研究的主要难点。目前研究者们采用的典型的多Agent制造系统模型如图1-9所示。在这种模型中,车间层所有设备的控制器和传感装置都默认安装了统一的数据交互接口,如 OPC UA 或MTConnect,研究人员默认能从车间层提取研究中所要求的数据,并通过相应的数据处理,将从底层设备所提取的数据转变为系统利用的信息包或知识体。在服务端,设计人员建立了对应于车间层实体的Agent程序,每个Agent程序即一个线程,依靠从车间层提取的信息驱动程序运作。当 Agent 程序完成决策后,同样依靠统一的数据交换接口将行为指令发送给对应的实体设备。
图1-9 典型的多Agent制造系统模型
从车间层的信息流向来看,这种多Agent制造系统对车间层的控制还是一种上下层的控制关系,随着车间层规模扩大,数据量增多,不利于实现真正意义上的分布式控制和决策。从系统层次来设计多 Agent 制造系统时,一般将制造系统中的物料流与信息流等资源表示成不同的 Agent 结构,如机床、物流设备、机械手以及订单信息或工艺规程等,然后通过Agent协议及网络设施将独立的Agent连接成多Agent制造系统。
图1-10所示为基于Agent思想的多Agent制造系统架构。当系统中有新订单任务进入时,任务Agent被订单Agent激活,并通过分布式的网络向各设备Agent发送加工信息,设备Agent根据自己的加工能力决定是否接受任务。最终,通过多个Agent的自治与协调共同完成各种生产任务。
图1-10 基于Agent思想的多Agent制造系统架构
多Agent制造系统中,单个Agent具有自治特性,Agent之间通过一定协商机制进行信息交流与合作,共同完成生产任务。MAMS通过一定的协商机制把多个Agent关联起来,既可以发挥Agent的自治特性,又可以充分利用Agent群体的资源和优势来弥补个体的局限性,进而使得整个制造系统性能和效率远远大于单个Agent。
由于制造系统研究中Agent的智能性以及研究的广泛性,本书后续内容中出现的Agent在没有特殊说明的情况下,都可以认为是制造系统中智能体的意思。