2. 宁夏大学 经济管理学院, 宁夏 银川 750021
2. College of Economics and Management, Ningxia University,Yinchuan 750021, China
随着市场环境的复杂多变和竞争的日益加剧,产品多样化给制造与管理带来一系列问题,导致零件种类和装配工作复杂性的迅速增加,使得传统的大批量生产模式已不能满足顾客对产品品种、交货期、价格和质量的要求,为解决这一问题,多品种、小批量、按订单生产的生产组织方式出现,能够适应市场复杂多变和难以预测的问题,按需求、按订单,保质、适量、准时地生产,是以缩短交货期、降低库存为目的生产体制。为提高多品种小批量生产效率唯有减少零件变化、提高生产系统的柔性和企业竞争力,离散制造执行系统(MES)为这一问题的解决提供了方法。但是目前大多数生产制造企业信息化程度不高,如计划的下达、调度任务的安排等都还依赖于人工分配,这就造成了生产管理层与生产控制层的脱节,使得企业在完成企业资源管理的同时无法对企业生产过程进行有效控制,这就需要一个合理的制造执行系统并能够容易地与企业资源计划、车间控制系统及其他制造系统相集成来建起企业生产活动与企业管理活动信息化之间的桥梁。
分布式制造是制造系统的关键技术之一,离散制造企业与传统流程企业相比,产品种类多样化且结构复杂、物料多样化、生产过程控制复杂多变、小批量、工艺结构复杂、加工环境复杂多变,使得制造工艺、流程和生产调度十分复杂。这无疑给离散制造业MES结构模型提出了挑战。面对制造系统外部环境的异构性、不稳定性、变化性和不可预测性,要求制造系统快速适应环境变化并对其自身做出适时调整,从而实现对市场环境的灵活应变、新产品的快速开发及经营过程的动态重组[1, 2],而传统的面向对象、Petri网等技术已无法满足离散制造系统对其自适应性、动态性、集成性、分布性等的要求。多Agent技术最适用于具有模块化、分散的、变化的、分布性、结构信息不完整以及复杂等特征的领域,能够为离散制造系统建模提供一个有效途径。因此,离散制造业EMS应该是分布式的自治系统,通过采用模块化的分布式、可集成、可扩展的多Agent协作协同模式[2, 3],能够为离散制造系统提供一个合理的模型结构。
目前对离散制造系统的研究主要集中在生产能力与自组织模型、生产控制过程中死锁、冲突问题的解决及系统框架的研究,对系统整体模型结构及系统内部成员间的协作协同的研究较少或停留在语义分析、理论研究及本体建模方面,其次每一功能模块的设计相互分离[4, 5, 6, 7, 8],这无疑增加了建模的复杂性,并且缺乏对系统的约束,往往假设系统环境不变、资源、设备产能等无限,这是不符合实际生产需要的[9],文中针对存在的问题,构建了基于多Agent的面向订单的离散制造系统结构模型,采用统一的个体Agent结构,并提出了以Agent负载、能力和信任度为指标进行综合考虑,结合合同网机制来有效提高Agent任务分配和协作效率,减少生产过程中存在的冲突问题。
1 Agent与多Agent
Agent技术来源于分布式人工智能DAI领域,它的概念由Minsky在其1986年出版的《思维的社会》一书中提出,Minsky认为社会中的某些个体经过协商之后可求得问题的解。Agent是一种在分布式系统或协作系统中能持续自主地发挥作用的计算实体[2, 3],所研究系统的某种抽象,它能够在一定的环境中为了满足其设定的目标而采取一定的自主行为,能够感知环境并且适应环境变化。Agent具有4个特征[10]:1)Agent是一个具有明确边界和界面的问题求解实体;2)具有智能性,通过感知器来感知所处环境,并通过效应器及时地对环境刺激做出反应,以适应环境变化;3)具有自治性,Agent的行为应是主动的、自发的,有自己的目标和意图;4)具有社会性,通过某种Agent交互语言与其他Agent进行交互,能有效与其他Agent协作。除了上述特征外,Agent还具有推理能力、规划能力、学习和适应能力,适合于解决模块化、分散化、可变性、复杂性问题。
MAS(多Agent系统)是一个松散耦合的Agent求解网络[11],研究在逻辑上或物理上分离的多个Agent通过交互、协作、自主协调其智能行为(知识、目标、意图及规划等),进行问题求解[12]。多Agent子系统即相互独立,又相互协同交互。
2 系统的结构模型 2.1 个体Agent结构
主体是DAI和CAS中最重要的模型构建,强调主体自治性和协作协商能力。因此,设计一个具有一定自适应能力、自治能力、交互协商能力、规划能力和计算能力的主体模型,对离散制造系统的构建至关重要。
MAS研究重点在于个体Agent个体结构的设计和多Agent交互,即Agent心智状态的描述和内部实现框架的构建方面。个体Agent的设计是整个系统设计的关键,文中结合多功能型Agent定义,在文献[13, 14]基础上给出了离散制造系统个体Agent的结构,如图 1所示。
各功能模块的解释:1)身份信息,名称(Agent在模型中的唯一标示),职责(Agent所承担的业务),状态(Agent当前所处的工作状态);2)通信管理模块,由传感器(Agent感知外界环境变化的部件,根据预先设定好的规则工作)、信箱(存储消息序列)和消息发送器(向其他成员Agent发送消息)组成;3)协商管理模块,负责Agent之间的协作协调活动,与智能模块交互,进行招标、投标决策和标书评估,与通信模块交互,进行招标、投标处理和协商结果发送;4)智能模块,Agent的核心,直接或间接指挥其他模块的活动,根据主体接收的环境信息,结合Norm库中的规范,指导主体做出适应性反应;5)Norm库,存储Agent的行为规范,表现为Agent所具有的知识,完成Agent行为匹配;6) 执行模块,模拟业务处理,管理Agent行为,并实现对相关资源的调用。
各模块间相互配合,能够实现Agent自适应、自协作,并结合规范来约束Agent行为,能够有效提高离散制造系统中主体自治性和协作协商能力。
2.2 离散制造业Agent类型根据离散制造业的生产特点和管理特殊要求,将MES中的Agent类型按功能层次划分[2, 3],见表 1。
层次 | 类型 | 功能 |
管理层 | 管理Agent | 在系统中起到总管的作用,承担协作管理、任务管理、资源管理三项职能 |
计划层 | 订单Agent库存Agent | 对客户订单、客户需求进行管理和下达订单计划确定物料信息和库存储备 |
调度决策层 | 调度Agent 零部件Agent 任务Agent | 根据任务要求和状态确定任务计划(零部件数目),并与策略Agent共同确定调度目标将任务将订单任务细化到工序级,并向任务Agent提供实际生产的信息 将生产任务下达到设备并执行 |
执行层 | 设备Agent 工人Agent | 负责车间计划资源能力评估,为任务Agent决策提供依据,提供加工类型、当前状态等信息,并执行任务 提供工人基本信息,包括姓名、操作机床类型、成本和当前状态 |
策略层 | 策略Agent | 提供相应调度算法和调度规则,与其他Agent交互,对生产过程进行协调,处理生产过程中插单、急单、短交期订单等,实现动态实时调度 |
2.3 基于多Agent的面向订单的离散制造系统结构模型
在制造系统中,不同的Agent可能具有不同的结构,针对不同的需要可能需要采用不同的Agent结构,各Agent通过协商、合作来解决复杂制造问题,这些Agent类型千差万别,实际设计过程十分繁杂,文中采用统一的个体Agent结构,简化了基于Agent的制造系统设计和开发,包括通信管理模块、智能模块、执行模块、协商管理模块和规范库模块。
基于Agent的制造系统结构的信息交互和协商协作是系统的关键,服务于系统决策和执行全过程。根据划分Agent类型,文中提出一种面向功能层次的多Agent离散制造系统结构模型,如图 2所示。
系统从ERP获得生产任务和订单信息传递给管理Agent,管理Agent记录订单信息并向调度Agent发送消息,调度Agent对生产任务进行分解,生成零部件Agent,与库存Agent交互确定物料信息和库存储备,并通过接口Agent获取产品设计图纸、工艺路线等信息,根据工艺路线信息细化生产任务为工序级,产生各个任务Agent,任务Agent根据生产要求,采用招标—投标—中标机制[13]选择完成该任务的设备Agent,设备Agent需要与工人Agent交互确定相应的操作工人信息,然后与任务Agent签订合同,完成任务生产。在生产的每个环节,若出现订单变更、插单、急单、设备故障、设备冲突和人员冲突等情况时,各个Agent则反馈至策略Agent,策略Agent为之提供解决方案,协调生产任务的进行。
为了减少Agent设计过程中的重复劳动,文中设计了基类Agent,不同类型Agent可以继承Agent来生成,并且根据各自所具有的功能构建自身功能模块,从而形成具体类型的Agent。基类Agent的具体设计如下:
public class BasicAgent{
public static string AgentID; //Agent名称。
protected static List attributes_list; //Agent相关属性(职责、知识列表、工作状态、任务列表等)。
public class CommunicationManageBlock
{……}
public class sourceManageBlock
{……}
public class normLib
{……}
public class intelligenceContrBlock
{……}
public class excuteBlock
{……}
protected static List rules_list; //条件—动作规则集合。
Protected void Exchange_ Function (message,otherAgent); //交互协商函数接收、存储和读取与该Agent相关消息,负责向其他Agent发送消息,接收其他Agent发送过来的消息,并将其转化为自身所能理解的消息形式。
{……}
Protected void Execute_Function(attributes,
rules,message); //决策机构函数根据Agent自身属性、交互协商函数和动作规则得到Agent能理解的消息并执行相应决策动作。
Protected void Update (result); //更新函数根据决策函数执行的结果更新本Agent的属性和规则。
{……}
……
}
2.4 基于合同网的任务分配模型
生产运作环境的多变性和系统成员能力的变化都会给任务分配带来困难,合理的任务分配能够有效提高系统运行效率。合同网技术是多Agent系统中解决任务分配问题的经典策略,其基本原理是 Agent之间通过“招标-投标-中标”这一市场竞争机制进行任务分配,使系统能以较低的代价、较高的质量完成任务分配的合同关系[14, 15]。在制造执行系统中,任务分配需要考虑任务特性、系统成员负载情况及生产能力,合理的任务分配策略是解决任务分配问题的关键。因此,在基于合同网的任务分配模型中,管理者Agent应根据任务本身的约束和Agent相关属性(如Agent的能力、Agent当前状态、Agent的承诺和成员Agent负载等)进行综合评价来选择合适的Agent来完成任务。文中从Agent负载、Agent能力和Agent信任度这几个方面来构建任务分配模型[16, 17]。形式化表达为:〈A,T,L,CA,CO〉,A为完成生产任务的Agent序列,T代表待分配的任务序列,L为投标Agent的当前负载,CA为Agent完成任务Tj的能力,CO为Agent对任务T的信任度。
2.4.1 Agent负载评价
实际生产中影响Agent负载的因素很多,文中以完成某项任务的平均时间来衡量某项任务的工作负载。Agent Ai的总负载ZLAij为待完成任务负载LAi任务Tj时间Vij的总和,则有: $${\rm{ZL}}{A_{ij}} = {L_{Ai}} + {V_{ij}} = \sum\limits_{k = 1}^i {{t_{ik}}} + {V_{ij}}$$ 式中tik对应任务Tik完成时间。
2.4.2 Agent能力评价
Agent能力的大小决定着Agent分配到任务的大小,文中用Agent完成任务的时间来刻画Agent的能力。若投标Agent Ai完成任务Tj的时间为TAij,所有投标Agent完成任务Tj的最大时间为Max TAj,最小时间为Min TAj,则投标Agent Ai完成任务Tj的能力CaAij为
$${\rm{C}}{{\rm{a}}_{{A_{ij}}}}{\rm{ = }}{{{\rm{T}}{{\rm{A}}_{ij}} - {\rm{MinT}}{{\rm{A}}_j}} \over {{\rm{MaxT}}{{\rm{A}}_j} - {\rm{MinT}}{{\rm{A}}_j}}}$$
2.4.3 Agent信任度评价
信任度也是决定Agent分配任务的重要影响因素之一。假设投标Agent Ai完成任务Tj的总数为CTij,其中成功完成任务的次数为STij,完成Tj的质量评价值为TQuaij,则完成Tj的信任度TrustAij为 $${\rm{Trus}}{{\rm{t}}_{{A_{ij}}}} = \theta \times {T_{{\rm{Qu}}{{\rm{a}}_{ij}}}} + \left( {1 - \theta } \right) \times {{{\rm{S}}{{\rm{T}}_{ij}}} \over {{\rm{C}}{{\rm{T}}_{ij}}}}$$ 式中0<θ<1。
2.4.4 Agent综合评价
对Agent负载、能力、信任度进行综合评价的时,首先对3个量采用线性归一化公式对其进行归一化,以保证3个量处于同一量纲级别,归一化公式为 $$y = {{x - \min } \over {\max - \min }}$$
任务分配过程中,每一方面因素对任务分配决策的影响力不同,文中定义因素影响因子α、β、γ分别作为Agent负载、能力、信任度的影响力因子,且α+β+γ=1。对于任一投标Agent Ai,综合评价值为
ComAij=α×*ZLAij+β×*CaAij+γ×*TrustAij
式中:*ZLAij、*CaAij、*TrustAij分别为Agent负载、能力和信任度归一化后的结果。对任务Tj,进行所有投标Agent Ai综合评价值进行计算后,值最大的分配到该任务。
2.4.5 基于合同网的任务分配协作过程
文中在基于合同网模型[18, 19, 20]和前文描述的基础上给出了离散制造系统任务分配协作过程,如图 3。
3 系统实例仿真 3.1 应用实例
A企业是一家控制阀生产、研发基地,主营业务为工业自动化仪表、调节阀、球阀、碟阀、闸阀、特种阀及其附件、配件的设计、制造、销售及检修服务等。为应对市场竞争需求,在生产过程中采用多品种、小批量、按订单生产的生产组织方式,其在选型、设计、工艺流程、物料准备到生产制造的过程非常复杂,产品的多样化也给企业的生产制造带来了困难,不同型号的产品涉及不同工艺、不同的工序、不同工序时间、不同的加工流程,这对对制造企业的协调性和制造系统结构的有效性及合理性提出了更高要求。该企业关注的核心如何高效完成订单,提高协作效率。
A企业Agent类型为文中所分类的3个层次的Agent类型,并以A企业为例对提出的制造系统结构模型有效性进行验证。
3.2 仿真评价指标
针对A企业对成员Agent协作协同和生产任务分配合理性要求,文中通过综合评价Agent能力、负载和信任度,以Agent对订单的执行效率、Agent订单接受率、Agent协作效率为指标构建仿真平台对提出的基于多Agent的面向订单的离散制造系统结构模型合理性及任务分配策略的有效性进行验证。
$${\rm{订单执行效率}} = {{\rm{订单期望时间}} \over {\rm{订单实际完成时间}}}$$ $${\rm{生产任务接受}} = {{\rm{接受任务数}} \over {\rm{接受任务数+拒绝任务数}}}$$ $${\rm{多主体协作效率}} = {{\rm{多主体协作次数}} \over {\rm{多主体协作时间}}}$$
3.3 仿真结果分析
本文采用Swarm仿真工具对A企业采用企业原方法和具有代表性的文献[2, 7, 21]所提供的方法分别与本文提出的制造企业结构模型及任务分配机制进行仿真对比分析。仿真结果如图 4~9,通过对仿真结果的分析得到:
1)采用本文所提出的Agent结构模型及任务分配策略,企业订单执行效率有所提高,如图 4和图 5。 2)采用本文提出的企业内部协作结构模型,通过企业内部协调协作,生产任务接受率明显提高,订单拒绝率下降,说明本文提出的基于评价Agent负载、Agent能力和Agent信任度的协作机制能够有效提高生产任务分配效率。如图 6和图 7。3)通过对比分析,发现多Agent协作效率明显提高,说明本文提出的企业结构模型和内部协作机制能够有效消解系统成员协作时产生的冲突,满足离散制造系统对系统成员有效协作和任务分配的要求,如图 8、9。
4 结束语
本文在对多Agent系统研究的基础上,提出基于多Agent的面向订单的离散制造系统结构模型,是现代先进制造系统的一种体现,并采用了统一的个体Agent结构,简化系统设计过程。在合同网模型的基础上,从投标 Agent的负载、能力和信任度,这3个方面进行综合考虑和权衡,有效提高了任务分配和任务执行效率,使制造系统模型模型具有适应性、自治性、智能化和协作性等特点,增强了企业运作能力和竞争力。最后将所提出的结构模型在实际企业中进行了应用,仿真研究表明,文中所提出的多Agent结构模型和协作方法在企业订单执行效率和企业内部协作方面是有效的,但是文中对Agent规范的设计、系统资源约束问题和制造企业自组织研究还尚欠缺,需进一步研究和完善。
[1] | 朱剑英. 智能制造的意义、技术与实现[J]. 机械制造与自动化, 2013, 42(3): 1-6, 10. ZHU Jianying. The significance, technologies and implementation of intelligent manufacturing[J]. Machine building and automation, 2013, 42(3): 1-6, 10. |
[2] | 潘颖, 张文孝. 基于多agent的离散制造业制造执行系统框架研究[J]. 计算机应用研究, 2009, 26(1): 244-246, 249. PAN Ying, ZHANG Wenxiao. Research on multi-agent-based MES structure of discrete manufacturing industry[J]. Application research of computers, 2009, 26(1): 244-246, 249. |
[3] | 甄彩霞, 侯宇彬, 林兰, 等. 柔性制造系统的改进措施[J]. 江西建材, 2015 (3): 53. |
[4] | 陈学海. 基于语义网关的离散制造企业异构系统集成框架研究[D]. 重庆: 重庆大学, 2009. CHEN Xuehai. Research on semantic gateways-based heterogeneous integration framework for intermittent manufacturing[D]. Chongqing: Chongqing University, 2009. |
[5] | 马建强. 基于Petri网的制造系统建模仿真及调度研究[D]. 金华: 浙江师范大学, 2010. MA Jianqiang. The study of modeling, simulation and scheduling of manufacturing system based on Petri Nets[D]. Jinhua: Zhejiang Normal University, 2010. |
[6] | 张于贤, 王立甫, 叶冰冰, 等. 面向对象Petri网在制造系统建模中的应用[J]. 科技广场, 2011(3): 91-95. ZHANG Yuxian, WANG Lifu, YE Bingbing, et al. Application of object-oriented Petri net in manufacturing system modeling[J]. Science mosaic, 2011(3): 91-95. |
[7] | 张路亚. 敏捷制造企业的MES设计[D]. 洛阳: 河南科技大学, 2014. |
[8] | 李春玲. 基于多色图理论的离散制造企业生产物流系统建模与优化[D]. 沈阳: 沈阳大学, 2014. LI Chunling. Discrete manufacturing industry production logistics system modeling and optimization based on the theory of polychromatic graph[D]. Shenyang: Shenyang University, 2014. |
[9] | 胡俊, 姚锡凡, 颜亮, 等. 基于多Agent的制造执行系统架构的研究[J]. 制造技术与机床, 2008(12): 48-51.HU Jun, YAO Xifan, YAN Liang, et al. Research on manufacturing execution system framework based on multi-agents[J]. Manufacturing technology & machine tool, 2008(12): 48-51. |
[10] | 王建彬, 马芷蔷, 许金元, 等. 基于Petri网的多智能体制造系统建模[J]. 安徽工程大学学报, 2013, 28(4): 47-50. WANG Jianbin, MA Zhiqiang, XU Jinyuan, et al. The modeling of multi-agent manufacturing system based on petri net[J]. Journal of Anhui polytechnic university, 2013, 28(4): 47-50. |
[11] | 廖守亿. 复杂系统基于Agent的建模与仿真方法研究及应用[D]. 长沙: 国防科学技术大学, 2005. LIAO Shouyi. Research on methodology of agent-based modeling and simulation for complex systems and application[D]. Changsha: National University of Defense Technology, 2005. |
[12] | 蒋云良, 徐从富. 智能Agent与多Agent系统的研究[J]. 计算机应用研究, 2003(4): 31-34. JIANG Yunliang, XU Congfu. Intelligent agent and multi-agent system[J]. Application research of computers, 2003(4): 31-34. |
[13] | 张少苹, 戴锋, 王成志, 等. 多Agent系统研究综述[J]. 复杂系统与复杂性科学, 2011, 8(4): 1-8. ZHANG Shaoping, DAI Feng, WANG Chengzhi, et al. Summary on research of multi-agent system[J]. Complex systems and complexity science, 2011, 8(4): 1-8. |
[14] | 吴菊华, 吴丽花, 甘仞初. 基于规范的多agent协同机制研究[J]. 计算机应用研究, 2009, 26(5): 1778-1781.WU Juhua, WU Lihua, GAN Renchu. Norm-based contract net protocol for coordination in multi-Agent system[J]. Application research of computers, 2009, 26(5): 1778-1781. |
[15] | 李洪磊, 甘仞初. 面向实体的企业建模及仿真系统框架设计[J]. 系统仿真学报, 2005, 17(1): 108-110. LI Honglei, GAN Renchu. Entity-oriented business modeling & simulation system framework design[J]. Journal of system simulation, 2005, 17(1): 108-110. |
[16] | 丁芝琴, 刘永, 王凯. 多Agent系统中基于招投标的任务分配优化[J]. 计算机应用, 2010, 30(7): 1906-1908. DING Zhiqin, LIU Yong, WANG Kai. Bidding-based optimization of task allocation in multi-Agent system[J]. Journal of computer applications, 2010, 30(7): 1906-1908. |
[17] | LUO He, HU Xiaojian, HU Xiaoxuan. Multi agent negotiation model for distributed task allocation[C]//Proceedings of the 2nd IEEE International Conference on Information Management and Engineering. Chengdu, China: IEEE, 2010: 54-57. |
[18] | 裘杭萍, 覃垚, 胡汭, 等. 多Agent系统中基于改进合同网模型的任务分配研究[J]. 计算机科学, 2012, 39(6A): 279-282. QIU Hangping, QIN Yao, HU Rui, et al. Study on the task allocation based on improved contract net in multi-agent system[J]. Computer science, 2012, 39(6A): 279-282. |
[19] | 郭锐锋, 于东, 刘明烈, 等. 基于合同网的任务分配方法的研究[J]. 小型微型计算机系统, 1999, 20(10): 740-743. GUO Ruifeng, YU Dong, LIU Minglie, et al. Research of task allocation based on contract net[J]. Mini-Micro Systems, 1999, 20(10): 740-743. |
[20] | GU P, BALASUBRAMANIAN S, NORRIE D H. Bidding-based process planning and scheduling in a multi-agent system[J]. Computers and industrial engineering, 1997, 32(2): 477-496. |
[21] | 吴昌生, 姚锡凡, 陈伟雄, 等. 基于IPDI原则和多Agent的制造系统建模研究[J]. 机电工程技术, 2009, 38(1): 70-74. WU Changsheng, YAO Xifan, CHEN Weixiong, et al. Research on manufacturing system modeling based on IPDI principle and multi-agents[J]. Mechanical and electrical engineering technology, 2009, 38(1): 70-74. |