1、基于多Agent的制造执行系统的功能模块设计摘要离散型制造企业其生产产品种类多、结构复杂、数据信息量大,生产过程包含众多变化和不确定因素,这些使得企业的过程控制复杂、多变。基于多Agent的制造执行管理系统MES(Manufacturing Execution System)能够提高计划过程的实时性和有效性,增强生产管理过程的响应能力,同时改善资源管理的运行效率,是与之相适应的现代生产管理方式。本课题以某软包装设备总厂有限公司机加工车间为应用背景,使用某一机型印刷机生产的历史数据,采用Java语言编程,以AgentBuilder为平台,在已建立的系统数据库基础上,通过基于单件小批量生产模式的简
2、单车间调度算法,进行MES车间调度功能模块的设计仿真实现,得出相应结果并对其进行分析。在通过了解Agent的结构、通信语言的基础上,研究了Agent的封装及各个Agent之间的通信。通过Agent的封装和通信来实现MES的调度功能模块,从而形成一个基于多Agent的制造执行系统的功能模块。关键词:MES;多Agent系统;调度算法;仿真;Agent封装Design of the Function Module of Multi-agent Based Manufacturing Execution System AbstractThe process control in discrete m
3、anufacturing enterprises is complicated and variable. Because products of the enterprises are great variety, complex structure and enormous information, besides its production process contains many changes and uncertain factors. Multi-agent based Manufacturing Execution System (MES) can improve the
4、real-time and effectiveness of planning process and enhance the response ability of the Production Management Process, at the same time, it can improve the operation efficiency of resource management. In short, its a modernized production management method that fits to discrete manufacturing enterpr
5、ises.This topic chooses a machining workshop of flexible packaging equipment Co., Ltd as its application background, an AgentBuilder as its platform. To achieve the simulation of planning, we use the historical data of a printing machines production and Java programming language. Based on already es
6、tablished the system database, the simulation design of MES shop scheduling function modules can be carried out by using the shop scheduling algorithm which is based on the pattern of single and small batch production. Then we obtain the simulation results which are use to analyze the accuracy of th
7、e function modules. Thorough understanding the structure and communication language of Agents, we do a research in how to encapsulate Agents and communicate between different Agents. Then the multi-agent based MES shop scheduling function modules are built through the research.Keywords: MES; Multi-A
8、gent System; shop scheduling algorithm; simulation; encapsulate Agents目录1、绪论11.1本研究课题的背景和意义11.2本研究课题相关领域现状11.2.1 MES介绍11.2.2 MES国内外应用现状21.2.3 车间调度21.2.4 基于多Agent的制造执行系统21.3 本研究课题的主要内容32、基于多Agent的MES介绍32.1 Agent的介绍32.1.1 Agent的定义32.1.2 Agent的特性42.2多Agent技术42.3 MAS42.4基于多Agent的MES53、基于单件小批量生产模式的车间调度模块
9、63.1调度功能模块概述63.1.1 单件小批量生产模式概述63.1.2 车间调度概述63.2算法分析及编程73.2.1调度方法概述73.2.2调度功能模块的总体思想73.2.3调度问题73.2.4调度算法83.2.5编程实现123.3数据仿真分析143.3.1 4x4的数据仿真143.3.2 实例仿真153.3.3 仿真总结184、Agent的通信及封装184.1 AgentBuilder介绍184.2 Agent间的通信214.3 Agent的封装225、总结与展望255.1总结255.2展望25致谢:25参考文献:26附录:27341、绪论1.1本研究课题的背景和意义伴随着经济全球化的发
10、展,制造业的竞争日益激烈,当前越来越多的制造企业通过信息化提高自身综合竞争力。计划生产是以前制造业的传统生产方式:企业通过订单、市场情况等制定生产计划计划下放组织生产产品派送,这种生产模式的底层控制没有实时的动态指导,使上层计划与车间实际产生较大误差,最后制约其自身生产效率的提高。制造执行系统(Manufacturing Execution Systems,MES)正好解决这一问题,它可以有效地实现上层计划与车间实际的信息交互,从而使车间的计划、调度、生产更合理。对于离散型制造业想提高综合竞争力,就更要采用以 MES为核心的技术来整合自身。Agent又称代理,是一种具有自主性、交互性、反应性和
11、主动性的高度自治的实体1。基于多Agent的制造执行系统能满足敏捷制造环境下,工厂、车间和设备单元等不同管理层次自主能动、协调工作的要求;具有易于扩充、灵活性好、可靠新高等特点。随着制造系统向市场快速反应、分布自治方向发展,基于Agent的制造执行系统被认为是替代传统分级制造系统的最有前途的选择2。基于多Agent的MES能有力提高制造企业的竞争力,因此对于基于多Agent的MES技术的研究就十分有意义。调度作为MES的核心功能之一,其是否合理直接影响到MES在企业应用中的成败。本课题选MES车间作业调度功能模块为研究对象,将多Agent技术引入到调度模型,使调度系统具有高度的柔性、敏捷的反应
12、性和较强可扩充性,能够适应复杂多变的车间生产环境,以提高MES的性能和实用价值。1.2本研究课题相关领域现状1.2.1 MES介绍从上世纪90年代,美国先进制造研究机构(Advanced Manufacturing Research,AMR)首次提出制造执行系统的概念,许多国际组织都对MES的功能给出了明确的定义,并且还相继开发了相应模型,用于描述和标准化这类软件系统。但是,这些MES模型给出的定义都不够全面,对生产实体的大部分选件和系统并没有做出明确的阐述3。为了规范MES系统,美国仪表协会(ISA)编制了ISA-95企业控制系统集成标准,在ISA-95标准中对MES系统给出详细定义。其第1
13、部份“模型和专用术语”详细规定了业务经营和后勤支持系统与生产运行系统之间的接口,目前已被国际标准组织IEC/ISO所接受,正在发展成为国际标准。第2部分提供了系统之间的信息交换的基础。正在编制中的第3部分试图通过定义和详细规定发生在管理层与制造层之间的数据流和功能来重点解决互操作性的问题4。 1.2.2 MES国内外应用现状MES在发达国家已实现了产业化,其应用覆盖了离散与流程制造领域,并给企业带来了巨大的经济效益。MESA在93和96年两次对若干典型行业进行有关MES应用情况的调查,结果表明企业使用MES后,可有效缩短制造周期,缩短生产提前期,减少数据输入时间,改进产品质量或减少次品等。据权
14、威咨询公司AMR完成的一份市场调查显示:2004年,全球MES市场营收为10.6亿美元,与2001年相比,增长超过50%;2006年全球制造业在管理软件方面的投资,MES位居第二,仅次于ERP。在国外很多行业应用中MES已和ERP相提并论,而且MES已成为目前世界工业自动化领域的重点研究内容之一5。国内“十五”期间,流程工业领域MES成为技术研究突破口,在面向钢铁和石化两个典型流程制造业中已得到应用,开发出若干自主产权的MES系统。“十五”期间还对离散制造MES进行了探索性研究,并针对汽车、航空等典型离散行业进行了重点开发应用,已取得一定成果。总体来说,与发达国家相比,我国无论在MES技术开发
15、深度还是在应用广度上都存在一定差距,特别是对离散制造业MES系统的开发和应用。当前我国面向中小规模轻工设备制造行业的MES研究还远远不够。1.2.3 车间调度 车间生产过程的调度问题,是制造系统统筹、管理、优化三项技术发展的核心。车间作业调度及控制是实现高效率、高柔性和高可靠性生产的关键,有效实用的调度方法己成为先进制造技术的基础。由于调度问题的复杂性和现实世界的多样性,任何一个调度系统都很难解决所有加工车间的调度问题6。车间调度作为制造系统的研究热点,人们研究和发展了许多调度和优化算法,如遗传算法、神经网络、禁忌搜索等,其思想和内容涉及数学、人工智能、物理学等众多领域,为解决复杂车间问题提供
16、了许多新的思路。1.2.4 基于多Agent的制造执行系统多Agent系统(Multi-Agent System,MAS)是一种分布式自治系统,各Agent之间通过智能行为协调自身的知识、目标、规划,联合起来解决特定问题。由于其具有对开放、动态的现实环境良好的灵活性和适应性,因此MAS理论受到广泛重视,在制造领域,例如车间资源配置、生产调度与控制、生产管理决策等,获得越来越多的应用。基于多Agent的制造系统信息集成管理平台不同于传统企业管理平台,它是通过集成企业内部各个多Agent系统,使之相互构成一个动态网络化多层系统7。由于生产调度特别是动态调度,且其中存在许多不确定性因素,这些导致其很
17、难采用数学建模来模拟,MAS技术的采用可大大降低动态调度的复杂性,基于MAS的调度系统能够更好地适应车间制造环境的不断变化,从而增强了调度系统的敏捷性和鲁棒性8。1.3 本研究课题的主要内容随着企业向离散生产模式发展,传统的运作与管理方式已经无法满足发展要求,企业迫切需要采用与之相适应的现代生产管理方式。基于多Agent的制造执行系统成为企业对整个生产过程进行优化管理,实现敏捷制造的重要选择,成为企业提高管理效率的关键环节。本课题研究主要完成以下内容:(1) 了解Agent、MES、AgentBuilder开发平台、Java编程语言及Agent的通信和封装功能。(2) 选取基于单件小批量车间调
18、度为MES系统的一个功能模块,选择适宜算法,运用Java语言将其编程实现。(3) 了解某软包装设备总厂有限公司机加工生产车间的生产流程,并使用某一机型印刷机生产过程中的历史数据对功能模块进行仿真实现,得出仿真结果并进行分析。(4) 用AgentBuilder平台将已设计好的调度功能模块封装成一个具有车间调度功能的Agent。2、基于多Agent的MES介绍本课题研究涉及Agent和多Agent技术、MAS及基于多Agent的MES等诸多方面,为了在课题研究中把握准各专业名词的定义,本章对各相关名词一一做出介绍,便于后续的课题研究者了解、学习。2.1 Agent的介绍2.1.1 Agent的定义
19、Agent原指代理,即商品经济活动中被授权代表委托人的一方。后被引入到人工智能、计算机科学和计算机辅助工程领域,形象的描述了计算机辅助软件工具的智能作用、地位、以及与人的关系9。迄今,Agent尚没有一个统一和权威的定义,但其基本思想是“使软件实体能够模拟人类的社会行为和社会观,即人类社会的组织形式、协作关系、进化机制,以及认知、思维和解决问题的方式”。10当前对Agent的典型定义大致有两类:(1) FIPA(Foundation for Intelligent Physical Agent) 对Agent的定义:Agent是驻留于环境中的实体,它可以解释环境中所发生事件的数据,并执行对环境
20、产生影响的行为11。(2) Agent软件研究者对Agent的定义:Agent是能为用户执行特定任务的、具有一定智能的、能自主执行任务的、并能与环境相互作用的软件程序12。2.1.2 Agent的特性几乎所有被称为Agent的软件或硬件系统都具有以下的特性:(1) 自治性(autonomy):指Agent可以在没有人或其他Agent的控制下运行,并且对自己的行为和内部运行状态具有某种控制能力。(2) 社交能力(social ability):也称交流能力(communication ability) :Agent可以和其他的Agent 通过某种语言进行交互。(3) 反应能力( reactivi
21、ty):Agent 对周围环境有感知能力,并能通过自身行为改变环境。(4) 自发行为(pro-activeness):Agent 不仅能够对环境做出反应,而且能够通过接受某些启示信息,做出基于目标的行为。2.2多Agent技术今年,随着计算机科学与分布式人工智能技术的发展,多Agent技术成为研究热点,其主要研究不同自治的Agent在动态环境下,如果运用交互、合作、竞争、协商等智能完成复杂的控制或任务求解,由于其更能体现人类的社会智能,更加适合开发、动态的环境,所以被广泛运用于各领域。多Agent技术的研究涉及理论和应用两方面13:理论上主要研究多Agent系统的体系结构、多Agent间的体系
22、结构,协调及学习机制。应用上主要研究多Agent技术在科学计算、计算机网络、机器人、制造业、电力系统、交通控制等中的应用。2.3 MAS 多Agent系统(MAS)是分布式人I智能研究的一个前沿领域,它的研究重点在于如何协调系统中多个agent的行为使其协同工作。正如社会总体智能优于任何个人一样.多Agent系统协作求解能力也超过单智能体。MAS的agent是个实体.Shoham认为一个agent包含了信念、能力、决定和承诺等精神状态Freeman对agent做出了更具体的定义.agent=(m, k, a, i, I, s, r, g), 每个分量分别表示力法、知识、属性、推理机制、语击、消
23、息操作、消息接受协议和全局知识。所谓Agent系统.则是这样一些智能体的集合。它在结构上可为三个层次.如图2-1所示.即通讯层.协作层和控制层14。 图2-1 MAS组成2.4基于多Agent的MES基于多Agent的MES,是将多Agent技术引入到MES中,把MES的功能都由单个的Agent或者是几个组织良好的Agent通过通信来实现,这样MES就由几个能独立处理信息的Agent组成,并且利用Agent之间约定好的协议进行交互通信,使得系统内部的信息处理更加完善15。根据中小规模包装设备制造企业实际情况,基于多Agent的MES大致由七类Agent组成,分别为用户接口Agent、调度Age
24、nt、工单Agent、资源Agent、文档Agent、工人Agent、质检Agent。MES的功能由这些Agent及它们之间的通信来实现。多Agent系统框架结构如图2-2所示。图2-2 面向中小规模包装设备制造企业的MES系统结构3、基于单件小批量生产模式的车间调度模块设计基于单件小批量生产模式的车间调度模块作为本课题研究的主体部分,其设计算法如何,实现状态如何将直接影响课题结果,对课题有决定性作用。本章将从调度功能模块的含义入手,分别介绍单件小批量生产模式、车间调度,着重对车间调度算法的描述,通过画出的算法流程图编写相关程序,最后将实际数据应用与程序,得出相应结果并对其进行分析。3.1调度
25、功能模块概述3.1.1 单件小批量生产模式概述由于制造业产品种类繁多,将其按照产品的生产稳定性及重复性分为大量生产,成批生产,单件小批量生产三种类型。单件小批量产品通常是根据用户特殊需求专门设计和生产的产品,适用范围小,需求量也小,通常应用于研制样机、试验件,某些大型产品的生产16。随着经济的高速发展,市场结构发生了巨大变化:交通和信息技术的发展以及各国对贸易限制的减少使得生产竞争全球化,市场结构随着消费者的需求日趋个性化和多样化已转变为“牵拉”型。在此情况下,制造业所面临的市场是一个由消费者占主导地位、变化迅速且无法预测的市场。对于许多企业传统的大批大量生产模式难以适应现代市场,于是多品种、
26、单件小批生产逐渐成为其主要生产模式。3.1.2 车间调度概述调度,就是指为了实现某一目标而对公共资源实行时间分配的一种行为。车间调度指根据车间加工过程中即时情况,对车间作业计划做出相应调整,使车间生产能够顺利进行,保证产品按期交货。车间调度对生产管理具有重要意义,能够起到对生产计划补充和完善的作用。车间调度贯穿于企业的整个生产过程,是车间生产在动态实时环境下能够高效可靠运行的关键。车间调度根据设备种类和数量的不同,可分为单台设备的调度和多台设备的调度。对于多台设备的调度,根据工件加工路线的特征和设备环境的不同,又可分成单件车间(Job Shop)调度、流水车间(Flow Shop)调度和开放式
27、车间(Open Shop)问题三种类型17。在单件车间调度过程中,不同工件有各自工艺路线。生产计划要运用不同类型的设备,如车床、钻床等,每个设备在一定时间内只能完成某一种特定的加工任务。Job Shop调度适合单件小批量生产模式,其在满足工件工艺路线要求的前提下,确定每台设备上不同加工任务的先后加工顺序,使得所有工件能在一个合理的时间内加工完毕,并达到一定的性能指标。3.2算法分析及编程3.2.1调度方法概述单件车间作业调度问题(Job Shop Scheduling Problem,JSSP)是一个典型求优化解的问题,即从问题可行解集合中选出最优。最优解问题有三个基本要素:变量、约束和目标函
28、数。在实际车间生产调度中,工件工序以及设备选择是调度过程中的变量;工件的工艺路线是对变量的约束;加工总流程时间最短、设备利用率最高等都是生产调度的目标。优先规则是以某方式测评待加工的作业使加工设备在空闲时,能够选择下一个要执行的作业,这种加工调度规则适用于n个工件在m台设备上加工的调度问题,利用此法则能够有效排序加工流程。优先规则不仅可以简化排序计算方法,减少工作量,加快排序的速度,而且能够给出较好的计划方案18。多年来人们对优先法则进行了大量的研究,总结出许多条优先规则,但目前还没有哪一种规则能在动态的环境中满足多种目标同时最好。一些规则对于某一目标来说可能是最好的,但对于其它目标就不一定为
29、最优,因此目标不同,采用的规则也各异。罗耀挥19根据生产调度的优化目标将法则做如下归纳:(1) 以加工时间为目标:包括处理时间最短、剩余工序加工时间最短、剩余工序加工时间最长等。(2) 以交货期为目标:包括交货期最早、松弛量最小、拖期罚款分派最小等。(3) 以工件、设备状态为目标:包括先进先出、工件优先权、设备利用率最高等。(4)以零件工艺信息为目标:包括剩余工序数最少、剩余工序数最多等。3.2.2调度功能模块的总体思想1:根据各工件其工序所要占用的不同加工设备,建立各个设备的可排加工顺序作业集合;2:为每台可利用的设备分配加工作业,当有多个工件同时要在同一台设备上加工时,根据优化目标选择合适
30、的优先规则或组合规则,计算作业工序的优先级,将优先级最高的作业分配给该设备加工;3:当全部可利用设备都安排各自加工任务后,进入第1步循环,直至所有加工任务都计划完毕。3.2.3调度问题基于单件车间调度问题可以做如下描述:存在n个工件和m台设备,n个工件所有工序都可在m台设备上加工,工件的工艺路线已预先给定,调度目标是确定每台设备上不同工件工序的加工顺序,使其满足某项指标最优。该调度问题应当满足以下几点约束:(1) 工件必须按其工艺路线加工,后道工序只有前道工序完成后方可开始;(2) 每道工序一旦在一台设备上开始加工,便不能中断;(3) 一台设备不能同时加工不同工件(4) 同一工件不能同时在两台
31、设备上加工(5) 每道工序加工时只指定一台设备以上为理论研究所归纳的约束,能够解决一些单件小批量车间的加工排序。结合本研究课题所采取的实际数据,不考虑实际可能存在多台加工设备能够加工同一工序的情况,即不考虑一道工序可在多台设备上加工时的设备选择问题,但要考虑多道工序竞争一台设备时的工件排序问题。3.2.4调度算法本课题研究算法参考许文砚20所提出基于单件小批量的车间调度算法。设有n种工件需在m台设备上加工,为方便编程,对部分变量做如下定义:workPieceNumber(n)为工件数,processNumber(m)为工序数;processij(Pij)表示工件i的第j道工序;allProce
32、ssNumberi(Qi)表示工件i的总工序数;machineij(Mij)表示工序Pij占用的加工设备;timeij(Tij)表示工序Pij的加工时间;startTimeij(Sij)表示工序Pij的开始时间;finishTimeij(Fij)表示工序Pij的完工时间;freeTimeij(Wij)表示在工序Pij开始加工之前所选定加工设备的空闲时间;finalFinishTimei(Fi)表示工件i最后一道工序的完工时间。i1,2,n;j1,2,Qi; TijFijSij。本调度过程仅考虑单目标的车间作业排序问题,调度目标是确定工序Pij的加工设备Mij,通过求得工序Pij的开始时间Sij
33、和结束时间Fij,确定加工过程总流程时间最短,即最后完工工件的结束时间最小。本调度过程中要考虑:对于每台加工设备,确定要用该设备的各道工件工序前后顺序,对于多道工序竞争同一台设备的情况,为使各工件的加工进度均衡,且加工流程总时间较短,应优先安排未加工工序的工时之和最长的工件先进行加工。为了便于比较引入剩余加工时间的概念:令sumTimeij(SumTij)为工件i在加工到工序Pij时前j道工序(包括第j道工序)的工时之和,表达式如下:(1)令sumTimei(SumTi)为工件i所有工序的工时之和,表达式如下:(2)工序Pij的加工效率为Rij(3)用surplusrij=1Rij代表相对剩余
34、加工时间。优先加工满足max(1Rij)的工件,使最长的相对剩余加工时间减小,则可保证各工件的加工进度尽可能均衡。算法初始化:1、根据Rij公式计算Rij及surplusrij;2、根据工艺路线,为每个工件建立一个工序数组queuePi,先加工的工序排在数组前面,后加工的工序排在数组后面。工件工序采用如图3-1标记:例如 1.1代表工件1的第一道工序本标记是根据实际数据每个工件的工序数不超过10来进行假设的,不适用工序数超过10的情况。 图3-1 工件工序标记3、为每个工件Pi设一个变量Move(i)指向该工件下一步要加工的工序,每调度完一道工序后将工序数组的下一个元素赋予Move(i);4、
35、为每道工序建立一个设备数组queueM,用以存放工序Pij的可用设备集合;其中设备标记直接用M01、M02、M03、整数表示,代表不同的加工设备。5、为每台设备设一个调度指针Lk,其中0km,始终记录着该设备上最后一道工序的结束时间,初始值设为0,并对每台设备k设定一个任务队列queueTk,按先后顺序存放每台设备上的加工任务,初始化时该队列为空。初步排序:步骤1:选取Move(i)中满足max(1-Rij)的工序Pij,并将工序Pij+1赋予Move(i);步骤2:选择数组queueMij中满足min(Lk)的设备k,若该数组中所有设备的Lk相等,则任选一台;步骤3:将工序Pij插入到设备k
36、的任务队列QueueTk的队尾;步骤4:分别按下式计算Pij的开始时间Sij、完工时间Fij,选定设备在工序的空闲时间Wij,然后更新相应设备的Lk,令LkFij;SijmaxLk,Fij-1; FijSijTij;WijSijLk;步骤5:遍历数组Move(i),若Move(i)NULL,转步骤1,若所有的Move(i)=NULL,则初排结束。调节排序:在初排后,每台设备的调度指针Lk记录着该设备上的最后一个加工任务的结束时间,这时可根据王凤儒,徐蔚文,徐洪副21提出的调节算法进一步缩短加工路径和时间。Setp1:求加工路径最长(即满足max(Lk))的设备,此设备存在且不一定唯一;Setp
37、2:对其中任一设备k,判断其任务队列queueTk,若所有工序开始前Wij均为零,则排序结果不可调节,算法结束。Setp3:求第一个Wij不为零的工序,记为Pbc,若此结点不是队列的队尾,则进入Setp4;若此是该队列的队尾,且该设备上一加工任务结束时间大于工序Pbc-1的结束时间,则将Pbc的开工时间提前至该设备上一加工任务的结束时间,更新工序的开始时间Sbc、结束时间Fbc和设备空闲时间Wbc,转Setp1,否则此道工序不可提前,暂设Wbc0,转Setp1。Setp4:令在该设备Pbc的前一加工任务为Pfg,后一为Pst,若Fst-1Sbc且maxFfg,Fst-1 +Tst +TbcSb
38、c+1,则交换Pbc与Pst在该设备上的加工顺序,则SstmaxFfg,Fst-1 ,进入Setp5;否则暂时置Wbc0,转Step1。Setp5:更新队列QueueTk中Pst及其后所有工序的开工时间、完工时间、设备空闲时间和Lk,若Lkmax(Lk),恢复前面所有暂时置工序等待时间在置零前的值,转Step1;若Lk= max(Lk),算法结束。车间调度算法初步排序流程图如3-2,调整排序算法流程图如3-3:图3-2 初步排序算法流程图图3-3 车间调度调整排序算法流程图3.2.5编程实现编程采用java语言,在JDK1.6环境下运行调试,如图3-4。图3-4 JDK版本及环境调度排序功能代
39、码在UltraEdit-32(图3-5)工具中编写。图3-5 UltraEdit-32编写环境在UltraEdit-32编程工具环境下将车间调度算法编写为java代码,在JDK环境里编译成一个java的.class文件,如图3-6。图3-6 java代码的.class文件在windows xp cmd环境下编译执行,算法结果输出形式如图3-7。图3-7 算法输出形式图由于本次所采用华鹰软包装设备总厂的仿真数据中每道工序只有单一设备可选,所以编写程序时假设每道工序只一台加工设备,结合上述算法和实际数据,对其进行了编写简化,即根据输入数据算出所有Rij,将每台设备所要加工的不同设备工序作为输入(工
40、序未排序),通过工序的Rij进行初步排序。本课题只对初排算法进行编写仿真,调整算法不作为本课题对象。课题选取了两组数据作为仿真输入,根据不同情况编写了相应代码,在附件中附录了本课题所编写的两个java代码。3.3数据仿真分析3.3.1 4x4的数据仿真工件数为4,各工件工序数都为4,4台设备(M01,M02,M03,M04),加工工时与设备时间表如下:工序1工序2工序3工序4工件1M01M02M04M014435工件2M02M03M01M033456工件3M03M02M04M026244工件4M04M01M03M044266表3-8 工序工时与设备关系表将数据输入程序,运行得出如下结果:图3-
41、9 4x4数据仿真输出通过输出结果运用Microsoft Office Visio 工具将其转化为甘特图,结果如图3-10。图3-10 4x4排序结果甘特图3.3.2 实例仿真表3-11为华鹰软包装设备总厂有限公司YA800A型印刷机机头的部分部件工序、工时、设备情况:序号零件图号零件名称数量工序1工序2工序3工序41YA800A-1.1-02心轴20车钳磨铣901024402YA800A-1.2-10主轴1车磨1663YA800A-1.2-26肖座1刨车钳2.52.51.54YA1000B-1.2-18臂2刨车钳2715YA1000B-1.2-20轴衬4车钳866YA1000B-1.3-7紧
42、定套座2车铣钳4747YA800A-1.3-06气缸尾座2车钳738YA800A-1.4-01底板8刨钳磨20128注:上表的工时沿用公司的表示方法,即为方便统计工资。如:工件一的工序1,车工时实为9个工时,10元/小时,90元为加工这零件工资。表3-11 YA800A型印刷机机头部分部件工序工时与设备关系表将实际数据转化程序可接受数据形式,如表3-12:零件名称工件编号工序1工序2工序3工序4心轴1M01M02M03M04912.44主轴2M01M031.60.6肖座3M05M01M020.250.250.15臂4M05M01M020.20.70.1轴衬5M01M020.80.6紧定套座6M
43、01M04M020.40.70.4气缸尾座7M01M020.70.3底板8M05M02M0321.20.8表3-12 YA800A型印刷机机头部分部件仿真数据表其中M01代表车所需设备,M02代表钳所需设备M03代表磨所需设备,M04代表铣所需设备M05代表刨所需设备。输入数据表写调度程序,执行程序返回图3-13 结果:图3-13华鹰数据仿真输出结果转化成如图3-13的甘特图:图3-13 YA800A型印刷机机头部分部件排序结果甘特图3.3.3 仿真总结本课题仿真基于车间单件小批量生产模式,研究针对工件的每道工序可在一台设备上进行加工的情况,主要考虑不同工序竞争同一加工设备时的资源分配方法,采
44、用时间复杂度较小的优先分配方法和启发式规则求得较优解。根据理论算法分析和实例数据验证,可总结出此调度功能算法结构简单,时间复杂度较小,易于实现,通过对实际生产数据进行验证,得出算法可行且能够求得较为满意的解这一结论,该调度算法在传统的Job Shop车间作业调度问题的基础上,做了一定假设,这些假设可根据实际情况加以改变,使之能够适合企业复杂的生产环境,让其能更好的适合大多数企业实际生产,提高使用价值。4、Agent的通信及封装如何将设计好的车间调度功能模块进行封装,形成一个基于多Agent的MES车间调度功能模块,也是本次课题研究的内容。首先要了解Agent之间的通信机制及如何封装,有一定理论
45、知识后结合本课题研究所采用AgentBuilder平台,尝试对车间调度功能模块进行封装。本章分别介绍了Agent的封装、通信以及AgentBuilder开发平台,在此基础上简单的叙述了车间调度功能模块的封装过程。 4.1 AgentBuilder介绍AgentBuilder是一套用于构建智能Agent的集成开发工具,它由运行系统(Runtime System)和工具箱(Tools Box)两部分组成,其中工具箱包括用于管理基于Agent软件开发工程的全部工具,例如分析Agent操作领域的工具,设计和开发通信Agent的网络工具,定义Agent行为的工具,调试和测试工具等等;运行系统则包括Agent引擎及它提供执行Agent软件的环境。Agent程序与Agent引擎共同组成可执行的Agent22。由于AgentBuilder的工具箱和运行时系统两部分所有组件都是通过Java语言实现的,因此在任何支持Java并且拥有一个Java开发环境的机器或者操作系统上都可以进行Agent的应用和开