摘要:根据敏捷化生产的要求,对车间管理控制系统的功能进行了分析, 论述了在车间管理控制系统的研究中引入多Agent理论与方法的必要 性和可行性,提出了基于多Agent理论与方法的车间管理控制系统的 体系结构,并论述了相应的软件原型系统的实现方案。 |
1 敏捷化生产的要求与多Agent理论与方法
敏捷制造将是21世纪主导性的生产模式,它对制造系统有3个方面的要求:Reusable,Reconfig-urable,Scalable。实现了这3个方面要求的制造系统可称之为敏捷化的制造系统,其实现关键则在于其生产过程能否实现动态快速重组。在制造自动化系统中,车间层具有重要的作用,企业的产品最终将在这里物化出来:车间控制系统负责在制造车间环境中协调物流和信息流,它是上层生产计划、生产管理模块与底层的接口。因而车间的敏捷化对整个企业的敏捷化起着重要的承上启下的作用。 Agent及Multi-Agent系统(MAS:Multi-A-gentSystem)理论与方法的研究已成为分布式人工智能(DAI)研究的一个热点。它们是解决分布、异构复杂系统的有力工具。且因其具有适应环境的动态自组织功能,MAS在许多领域受到重视。 把车间管理控制系统分解为多个相互作用、交互的代理机,将其视为一个MAS系统,既易于系统设计,也易于系统重组,且可充分利用MAS系统的种种优点。因而可以借助MAS理论与方法,实现车间管理控制系统的敏捷化。 2 引入多Agent理论与方法的必要性和可行性
传统CIMS中车间管理控制系统因存在结构刚性,修改、扩充困难以及递阶式控制系统部分出现故障易导致全局失效等弱点,而不能够适应连续不断的市场环境的变化(如定单的变化、供应商的变化、产品设计的变化、急件、特定的市场机遇的出现等)以及车间内部的各种变化(如设备发生故障、缺料等偶发事件)[4],而这恰恰是敏捷化的基本要求。故需将其改造成具有一定柔性的开放系统,将其集中递阶式控制结构改造为分布式协调控制结构。 MAS系统具有如下特点: - 分布性。各Agent的分布可以不受地域限制,在逻辑上都只是网络上的一个节点,其调度及控制是通过采用分布式人工智能(DAI)技术来实现的。
自主性。每个Agent都具有自己的局部智能,可以自主地解决自己局部子系统的问题,可以动态地响应外界环境的变化,并且可以实现同其它的Agent之间的协调。在多Agent系统中不采用递阶式集中控制方式,各Agent之间是一种平等的关系,系统的运行是基于合同、协议、标准等的并行操作。 - 互操作性。Agent之间可以互相通信,获得自己所需的信息或者别的Agent的服务,以解决自己局部无法解决的问题。
- 开放性。多Agent是一个非常开放的系统,其结构只具有相对稳定性。它因任务而产生,也因任务的结束而解散,即使在任务的执行过程中,也可根据情况的变化而增加或删除某些Agent。
由此可看出,可以借助MAS理论与方法,实现这些改造。从系统设计、开发的角度看,MAS方法的应用则可降低设计的复杂性,减小开发的工作量与难度。 我们可以将车间内的计划、管理、加工等模块看成一个个具有一定权限的,以一定协议互相协调访问的互相独立的平等实体,每个实体有类似的结构模式,它们在自己的局部数据的驱动下完成各自不同的工作,即将它们视为各个Agent,然后为它们建立一个集成管理平台,为Agent的管理及它们之间的通信、互操作提供支撑,由此而建立起一个MAS系统。在此系统中,各个Agent独立完成各自的工作,并通过它们之间的相互通信与协调达成系统整体的目标。对于复杂的实体,则用类似思想对其进行进一步的分解。 由于各Agent都是基于自己的利益自主地工作的,各Agent都是局部最优的,这往往同系统的整体最优发生冲突,因此MAS系统内需建立各Agent间的协调机制,这也是MAS系统建立的关键之一。 3 敏捷化车间管理控制系统的功能与结构
敏捷化对车间的具体要求可归结为如下三个方面: - 能够面向任务组织生产,即能够根据任务的不同,动态组织生产过程。
- 能够对外协作与交流。当车间内部出现某些变化,不能完成某些任务时可以向别的系统发出请求,将任务转包出去:本车间也可接受来自外界的协作请求。
- 能够适应车间内外环境的变化。即敏捷化的车间要具有很强的计划与调度功能,以适应不同的车间内外环境的变化,如车间外部的变化:定单的变化、供应商的变化、产品设计的变化、急件、特定的市场机遇的出现等。车间内部的各种变化:设备发生故障、缺料等偶发事件。
车间管理控制系统的基本活动过程如图1所示,由此图可以看出,车间管理控制系统的基本功能主要有:任务获取、过程组织、运行协调、组织/资源管理。要实现上述要求,必须使车间的任务获取具有主动性,使车间的过程组织具有动态性。基于对车间管理控制系统的功能理解和车间内的资源不同,可以确定采用MAS方法后的车间管理控制系统的结构如图2所示。各Agent的功能描述如下: 任务Agent:它是MAS系统的核心,主要负责接受上级任务或外界的定单,根据资源的能力,分解任务,而后在车间内部发标,根据一定规则,选定一些单元Agent组成生产过程。 组织Agent:管理根据任务及过程所确定的操作岗位、班组,也负责对车间内各类人员的人事管理,内容包括专长、业绩评估等。 图1 车间管理控制系统基本功能 | 图2 车间管理控制系统基本结构 |
单元Agent:各单元Agent(也即各资源Agent)自主负责各自的任务,单元内的诸多设备也可理解为各子Agent,单元本身则为一个MAS。单元内的各设备对于单元Agent争取到的并予分解的任务也要竞争,获胜者则须协作以完成单元任务。 过程Agent:根据任务Agent对任务的分解及对投标各Agent筛选,组成车间的生产过程。这个生产过程是面向任务的、动态的,但也具有一定的相对稳定性。各参与任务的Agent相互之间的协作方式在过程Agent中也需有动态记录。过程Agent还负责对应加工任务的成本核算,负责本生产过程中的各Agent间的运行协调与控制。 产品管理Agent:对交给本车间加工的各种工件进行管理。管理内容包括:各工件的编号、工件所用材料、工件的交货期、加工该工件各工序的内容及精度、工件的状态(等待加工、正在被加工、加工结束、在小车上等等)等。 资源管理Agent:负责车间的能力登记及车间内各种资源的动态管理,为任务Agent的决策提供依据。各Agent的功能、属性、能力等级、历史记录等都在资源Agent中有详细的记录。资源器必须定时与各Agent通信,以保持资源管理表的动态更新,还负责监视车间内各组成部分的运行状态、设备的使用折旧等情况,并及时向任务Agent报告。 协作管理Agent:从网上获取信息或发布信息都需要经过协作管理代理机进行处理,它负责接受任务或发布任务信息,接受任务反馈信息,另外,它记录任务的要求,各种相应的奖惩方法以及其他企业提出的申请,也负责本系统同外界的协调工作。
图3 Agent的结构 |
各个Agent在结构上都是类似的,一般由五个部分组成(如图3所示):通信模块、执行器、数据库、知识库、人机交互接口。通信模块包括两个部分:通信语言、通信接口。通信语言采用KQML,通信接口则采用CORBA的IDL来描述。执行器包括三个部分:事件感知器、功能适配器、功能调用器。事件感知器根据通信模块传来的消息及自身状态,来判断所发生事件,根据所发生事件,功能适配器确定采用什么功能来处理此事件,功能调用器则从知识库中调用执行相应功能。人机交互接口则提供了一种手段,以便于用户能修改各Agent的结构,也是Agent知识库获取知识的一种手段。车间管理控制系统的来自外界的扰动也可以通过人机接口输入。 车间管理控制系统各Agent之间的协调机制包括两大部分:一是过程Agent之间及过程Agent与任务Agent间的协调:二是过程Agent内各单元Agent之间及他们同过程Agent间的协调。 在加工过程中,若有单元Agent对应的设备发生故障,过程Agent首先将其承担的任务在本过程内重新分配,若分配不下去,则将其退回任务Agent重新处理。过程Agent之间也有负载平衡问题,当某过程Agent内的各设备负荷过重时,可与某些负荷很轻的过程Agent协商,将其承担的部分任务移交给他们完成。 一个生产过程内Agent间协调的一个重要内容就是确定该加工路线中各单元Agent的开工时间,这由过程Agent与各单元Agent以及各单元Agent之间协商确定(如图3所示)。具体过程描述如下:过程Agent首先将有先后顺序的子任务中的第一道子任务的开工时间确定,并将结果通知承担该子任务的单元Agent。该单元Agent计算出可能的任务交付时间(要考虑工件传至下个单元的运输时间),并将其通知到下个单元Agent。后续子任务的任务交付时间则根据前道子任务的任务交付时间、本道子任务的加工时间及本单元Agent的加工任务计划相应确定,并通知后续单元Agent。如此类推。对无先后顺序的各加工任务由各单元Agent自行确定。 最后,由过程Agent根据任务的优先级、交货期约束,从整体优化的目标出发对各单元Agent的开工时间进行调整,如对于优先级较高的急件、可能误期的子任务或瓶颈子任务,应优先安排,而将其他任务向后推延。
图4 车间管理控制系统的软件体系结构 |
图5 基于多Agent的车间管理控制原型系统 |
4 软件原型系统的体系结构
基于多Agent的车间管理控制软件原型系统采用符合公共对象请求代理结构(CORBA)规范的中间软件作为集成管理和开发平台,原型软件的体系结构如图4所示。各Agent都是一个个的应用程序。各Agent通过CORBA总线进行通信和互操作。通信语言采用KQML,通信接口则用IDL语言定义描述。各单元Agent内部则通过WinSock接口实现其同控制和内部各自动化设备的控制工作站通信。对应于普通设备的单元Agent则通过其人机接口向操作人员下达操作指令并接收操作人员的反馈从而实现对设备的控制。 原型系统的逻辑配置图如图5所示,软件的运行环境是由PC机构成的计算机网络。网络中单元Agent所在PC机与加工设备相连或与另外一些PC机相连,这些PC机作为工作站级控制器控制相应加工设备。 5 结论
本文提出了一种基于多Agent的车间管理控制系统,它能借助于MAS系统的种种优点,克服传统CIMS下车间管理控制系统的一些缺点,实现车间的敏捷化,具有自适应能力,动态重构能力,对外交流、协作能力。从本文的研究可以看出,随着分布对象技术及支撑软件的成熟,车间管理控制系统从递阶式控制结构转向分布式控制结构是可行的,也是必要的。也只有采用分布式的控制结构,车间管理控制系统才能在车间范围内更有效地支持敏捷制造或别的先进制造模式的实现。