(大連水產學院 機械學院, 遼寧 大連 116023)
摘 要:針對離散制造業的特點對離散制造業制造執行系統的功能模塊進行了分類。構造了對應的agent模塊,以此提出一種基于多agent的分布式離散制造業制造執行系統體系結構,并研究了其中每個agent的運作機制與多agent之間的交互協調機制。特別是構造了策略agent,它與調度agent協同,可更好地實現離散制造業制造執行系統功能的合理、實時調度。這種結構非常有利于離散制造業制造執行系統的管理和控制,具有較好的可集成性、可擴展性和可重構性。
關鍵詞:離散制造業;制造執行系統;多代理;體系結構
中圖分類號:TP303 文獻標志碼:A
文章編號:10013695(2009)01024403
Research on multiagentbased MES structure of discrete manufacturing industry
PAN Ying,ZHANG Wenxiao
( Mechanical Institute, Dalian Fisheries University, Dalian Liaoning 116023, China)
Abstract:
Aiming at discrete manufacturing industry’s characteristics, the function modules of its manufacturing execution system (MES) was classified, and corresponding agent modules were built. A multiagentbased MES structure of discrete manufacturing industry was proposed. Moreover,researches were made on the circulating mechanism of each agent and the communication among multiagents. Especially strategy agent was constructed to cooperate with schedule agent so as to realize logical and realtime scheduling. Such structure makes for managing and controlling the discrete manufacturing industry MES, and has integration, expansibility and reconfigurability.
Key words:discrete manufacturing industry; MES; multiagent; structure
隨著市場競爭的進一步加劇,離散制造業的產品生命周期縮短,出現多品種小批量的生產形態,市場變化快難以預測。任何一個環節的脫節,均可能導致整條生產線乃至整個生產流程的癱瘓。這就要求企業在完成制造資源計劃(manufacture resource planning,MRPⅡ)/企業資源計劃(enterprise resource planning,ERP)等對企業資源管理信息化的同時加強生產制造過程的管理。但在大多數企業中,生產管理層和生產控制層之間缺乏必要的軟件覆蓋。制造執行系統(manufacture execution system,MES)正是為了解決這個問題應運而生的產物。它溝通了處于底層的過程控制系統(program control system,PCS)和處于上層的ERP/MRPⅡ,消除了兩者之間的鴻溝,起了承上啟下的作用,是企業生產活動和管理活動的信息集成橋梁。
相對于流程行業,離散制造業有門類眾多、自動化程度較低、產品種類多且結構復雜、物料多樣、工藝規劃復雜、生產環境更為復雜多變(臨時插單、材料短缺等)、批量小、更新快等特點。其中產品結構復雜性導致的制造工藝和流程變化差異很大,工藝規劃復雜進而導致調度過程十分復雜,并且離散制造業除了要支持訂單→計劃→調度→加工制造→反饋這條制造業務管理的閉環主線外,還需要支持另一條產品設計制造全過程及動態響應變化的主線,即產品設計→工藝規劃→復雜調度→加工制造→(設計更改或臨時插單等)→動態調度→信息反饋。
這些均對離散制造業MES的框架結構提出了新的挑戰和要求。它應是一個典型的分布式多自治體系統, 其功能子系統應該既是獨立的,又是相互協同的。所以,離散制造業MES本身的結構應該是一種模塊化的,能表現分布性、可重構、可集成以及可擴展的集成框架,而采用基于對象的分布式異構多agent協同求解的系統模式,將有利于這種集成框架的實現。
1 Agent技術
Agent是一種在分布式系統或協作系統中能持續自主地發揮作用的計算實體。可以是物理的或者抽象的實體,它能夠在特定環境下連續、自發地實現功能,并可與其他代理進行通信。采用多代理系統則是通過任務分解和任務協調達到提高軟件系統的柔性,提高應用系統的智能水平,最終提高系統解決復雜問題的能力的目的[1]。Agent具有四個屬性[2]:a)自主性。Agent具有屬于其自身的計算資源和局部于自身行為控制的機制,能在無外界直接操縱的情況下,根據其內部狀態和感知到的(外部)環境信息,決定和控制自身的行為。b)反應性。能感知所處的環境,并對相關事件作出適時反應。c)主動性。能遵循承諾采取主動行為,表現出面向目標的行為。d)交互性。能與其他agent進行多種形式的交互,能有效地與其他agent協同工作。另外,agent還具有時間連續性、自適應性、可移動性等屬性。
11 Agent的通信機制
Agent間的通信所傳遞的不僅僅是字符流或二進制數據流,因為agent是有一定智能和自治性的軟件實體,它們之間的通信更應該是在知識層上進行表達、理解和交流。需要考慮格式、語義、內容、實現、網絡運作、環境和可靠性。目前最著名的ACL(agent communication language)是DARPA的KQML[3,4],它定義了agent間傳遞消息的標準語法以及一些行為原語(per formative agent communication language),分為三類,即交談類原語、干預和對話機制(intervention and mechanics)原語、促進和網絡類(facilitation and networking)原語。基于KQML 的agent通信消息結構如下:
sender 消息發送者
receiver 消息接收者
replywith 消息發送者期望的回執標簽
inreplyto 回執標簽
content 消息內容
language 消息內容的表示語言名稱
ontology 消息內容使用的本體名稱
12 單agent的體系結構
從agent體系結構所基于的基礎理論出發,單agent的體系結構分為:a)慎思型agent(deliberative agent),包含世界和環境的顯式表示和符號模型,使用符號操作進行決策。b)反應型agent(reactive agent),不包括任何符號世界模型,不使用復雜的符號推理機制。c)混合型agent(hybrid agent),將上述兩類結構有機結合而形成的結構[5]。
13 離散制造業MES中agent的種類
多agent系統的一個關鍵問題是確定agent數目,也即適當合理地選擇agent的粒度。其基本原則是使系統簡潔明了、便于控制。根據離散制造業生產的特點及對生產管理的特殊要求,按功能將離散制造業MES的agent分為以下幾類[6,7]:管理agent、任務agent、零部件agent、調度agent、設備agent、工人agent、庫存agent和策略agent。
131 管理agent (management agent,MA)
管理agent在整個系統中起到總管作用,只需完成簡單的注冊、管理和統計功能,因此agent結構為反應型。
1)功能
①管理和注冊各agent相關信息;②統計設備故障率、設備工作情況、工人工作情況、任務完成情況統計及產品質量統計等;③管理實時和歷史數據庫;④ 監控生產狀態和任務完成情況。
2)行為
管理行為①③管理注冊各agent名稱、相關信息、及實時和歷史數據庫
統計行為②統計設備故障率、設備工作情況、工人工作情況及產品質量統計等
監控行為④監控生產狀態和任務完成情況
132 調度agent(scheduling agent ,SA)
調度agent主要負責將ERP計劃分解,確定實際生產零部件數目,并與策略agent共同確定調度目標,選擇慎思型agent結構。
1)功能
①與ERP接口agent交互信息,接受ERP的計劃,將其細化分解成各個零部件;②與庫存agent交互,確定實際生產零部件數目;③與策略agent交互信息,確定調度目標;④提供人機接口,對調度過程進行人工干預;⑤從零部件agent處獲取零部件的加工狀態。
2)行為
受控行為①接受ERP的計劃,并將其細化
規劃行為①②⑤確定各個零部件的最后生產期限、先后生產順序及各零部件之間的相互關系(裝配關系)、數目,并從零部件agent處獲取零部件的加工狀態
調度行為③④確定生產任務,并與策略agent交互信息,必要時更改生產計劃;對調度過程進行人工干預
133 零部件agent (part agent,PA)
零部件agent進一步細化任務到工序級,并傳遞給任務agent實際生產所需要的全部信息,為反應型agent。
1)功能
①從調度agent處接受任務;②與CAD/CAPP/PDM 接口agent交互信息;③將任務細化成若干工序,并下達給若干任務agent;④接受任務agent的反饋信息;5與庫存agent交互信息,確定實際需要生產零部件數目及所需物料情況。
2)行為
受控行為①接受任務agent的任務
規劃行為②③④將任務細化成若干工序,并下達給調度agent;確定各個工序的最后完工期限及先后加工順序;提供各個零部件所需的全部信息;生成調度agent;接收調度agent的反饋信息與庫存agent交互信息,確定實際需要生產零部件數目及所需物料情況
134 任務agent(task agent ,TA)
任務agent為離散制造業MES結構中核心的一環,它通過適當調度調配最終達到將生產任務下達到設備并有效執行。任務agent是動態生成與消亡的。所選agent類型為慎思型。
1)功能
①與零部件agent交互信息;②與其他任務agent交互信息,傳遞任務之間的前提和后繼條件,在滿足任務的先后順序約束之下實現任務的實時推進;③與設備agent交互信息,為任務分配合適的資源,對任務的執行情況和資源的負載情況進行監測和監控;④與策略agent交互信息,實現實時動態調度。
2) 行為
受控行為①接收零部件agent制訂的任務信息;完成任務的最后期限、任務的優先權
反饋行為①向零部件agent反饋加工信息
調度行為④實現實時動態調度
路由行為②與具有直接邏輯關聯的其他任務agent進行信息交互
資源分配行為③按照一定的準則,把任務分配給一個或多個設備agent
監控行為③檢測任務的執行情況,以及資源的負載情況,如發現資源agent處于過載狀態,則進行資源的轉移分配,即把已經完成分配的等待中任務從一個資源轉移到另一個資源,如自身不能處理,需與策略agent報告求得解決策略
135 設備agent(device agent)
設備agent只需交互和提供必要信息,并執行任務,故而選擇反應型agent即可。
1) 功能
①與工人agent交互信息,決定是否投標;②與任務agent交互信息,實現任務資源分配,向任務agent進行狀態信息反饋;③對分配到自己的任務進行調度和執行。
2) 行為
規劃行為①與工人agent交互后決定投標能力
任務資源分配行為②與任務agent一起共同實現任務設備的分配、再分配和轉移分配
任務的調度和執行③對工作列表中的活動按照要求進行任務的執行
反饋行為②向任務agent提供活動執行的狀態信息
136 策略agent (strategy agent,STA)
策略agent內部封裝了算法和調度規則,并與任務agent和調度agent交互實現動態實時調度,所擇agent類型為慎思型。
1) 功能
①接受任務agent的求助,提供調度規則;②與調度agent交互,制訂新的調度方案;③提供人機接口,可調整算法參數。
2) 行為
調度行為①提供任務agent相應的調度算法和策略
路由行為②與調度agent信息交互
受控行為③提供人機接口,維護調度算法基礎信息
還有兩個是庫存agent和工人agent。庫存agent在調度任務下達后通過與零部件agent 交互信息,確定實際的零部件生產數目和物料信息;工人agent與設備agent交互信息后,包括姓名、操作機床類型、成本和當前狀態等信息。由設備agent決定是否投標。這兩個agent均為反應型agent。
調度agent、策略agent是離散制造業MES的核心,對車間的動態調度有效執行起關鍵作用。考慮到離散制造業的特點,每個車間的生產模式,流程均可能不同,所需算法、規則也會不同,所以獨立構造一個策略agent,可針對不同狀況迅速制定決策,提供優先級,沖突解決方案等專門針對離散制造業的生產特點。調度目標又是個多目標的調度,針對不同企業的調度目標也不同,所以利用策略agent可封裝并實現不同企業所需不同的調度策略,以實現MES所應達到的實時性,針對不同離散制造業制定不同調度策略,策略agent模塊提供了人機接口,可人工操作更改規則算法,這與以往通常將算法規則封裝在調度agent中不同,更便于系統維護和升級,并保證了系統的可重構性和柔性。而調度agent模塊提供的人機接口則是為了保證當生產過程中有插單等其他緊急情況,提供人工干預調度的能力。
2 基于多agent的離散制造業MES的結構
既然離散制造業MES 是分布式系統,其每個子系統之間的通信和協調將是整個系統的關鍵。利用agent 技術,每個子系統由一個agent 代表,能夠解決通信的問題,并且通過agent之間的信息交互,能夠發揮多agent系統的柔性、可擴展的優勢。根據上述劃分的agent種類,建立一種基于多agent的離散制造業MES 結構(圖1)。
21 離散制造業MES中多agent間的交互行為
ERP/MRPII 將生產任務和產品信息傳遞給調度agent,由調度agent 確定實際需要生產零部件數目,并分解任務后,形成若干零部件agent,零部件agent從CAD/CAPP/PDM接口獲得相應產品設計圖紙和工藝規劃、工藝路線等信息,然后與庫存agent確定物料信息,根據工藝分解成若干工序,形成若干任務agent,任務agent在明確自己的任務后,利用招標— 投標—中標機制確定完成該任務的設備agent,設備agent投標前需與工人agent交互,確定相應操作設備工人信息,然后與任務agent簽訂合同,并執行生產任務。在整個生產過程中,如遇到設備選擇、人員選擇、設備沖突和人員沖突等問題需要反饋至任務agent,任務agent則需反饋至策略agent,策略agent為之提供解決方案,如果僅憑算法調整不能完成既定目標,則需策略agent建議調度agent重新制訂重排生產任務。在整個生產過程中,如有注冊、修改、完成等操作均要通過管理agent實時記錄生產運行狀態,并統計設備利用率、工人工作狀況等信息。
22 合同網機制
多agent系統的控制通常有合同網(contract net)和黑板(blackboard)兩種方式。合同網是一種動態的任務分配方法,通過任務招標、投標和訂立合同進行合作。
調度agent細化由ERP/MPR Ⅱ接口agent獲得的計劃,零部件agent根據產品的每一道工序拆分成若干任務agent,T={T1,T2,…,Ti},i為分解后的工序數。傳遞如下消息內容:{Qi,Si,Di,Li,Ci,DSi},Qi為作業量;Si為單位工序(作業)的基本執行方案;Di為任務所需設備表;Li為完工期限;Ci為其他約束;DSi為任務描述。由任務agent并發的向所有的設備agent 廣播,Di={Di1,Di2,…,Dij},j為任務Ti的可選設備集合。消息格式為{Qi,Oi,Li,Ci,DSi},Qi為需執行的作業量;Oi為作業名稱;Li為完工期限;Ci為其他約束;DSi為任務描述。設備agent收到招標書后,根據標書內容(任務時間、優先級等)和自己的能力、狀態及工人agent提供的可執行該任務的工人信息等決定是否投標。按如下格式返回任務agent :{TBj,Qj,Tj,QFk,TBk,DSj},TBj為該設備可執行的時間段表;Qj為保證期限的最大作業量;Tj為期限截止前該設備可利用時間;QFk為配備工人資格;TBk為配備工人可執行的時間段;DSi為任務描述,k為能完成該道工序的工人的編號。任務agent根據收到的標書和自身的策略進行評價,選出中標者,并將任務分配給中標的設備agent,確認消息,格式為{Oij,Qij,Lij,Cij,DSij},Oij為作業名稱;Qij為需執行的作業量;Lij為完工期限;Cij為任務約束;DSij為任務描述。中標者更新自身知識庫,執行子任務并返回結果。如果最大作業量小于任務要求作業量,任務agent考慮由數個設備承擔任務;如仍無法辦到,則任務agent通知策略agent無法承擔任務;策略agent 根據一定的規則調整未果,則需與調度agent 交互,必要時更改生產計劃或尋求外協。
最后,任務agent將任務的完成情況提交給零部件agent,零部件agent再將完工信息提交給調度agent。同時任務agent到管理agent處注銷。在建立合同關系以后,任務agent還要監測任務的執行情況,一旦發現設備agent處于過載或故障等狀態,則進行資源的轉移分配。如自身不能調停處理,需反饋至策略agent ,策略agent與調度agent根據需要修改計劃。這種合同網機制的控制過程如圖2 所示。
3 結束語
本文提出了一種基于多agent 的離散制造業MES體系結構,將離散制造業MES中的各個功能模塊通過agent 的方式建立起通信機制,并給出了整個系統的基于合同網機制的協作方法,特別構造了策略agent 以滿足離散制造業對調度的特殊要求,策略agent 協助調度agent,通過與任務、設備agent 的交互,可完成基本的實時動態調度功能。
參考文獻:
[1]
范玉順,曹軍威.多代理系統理論、方法與應用[M].北京:清華大學出版社,2002.
[2]何炎祥,陳莘萌.Agent和多agent 系統的設計與應用[M].武漢:武漢大學出版社,2001.
[3]LABROU Y, FININ T.A semantics approach for KQML:a general purpose communication language for software agents[C]//Proc of the 3rd International Conference on Information and Knowledge Management.Gaithersburg:ACM Press,1994:447455.
[4]FININ T,WEBER J,WIEDERHOLD G,et al.Specification of the KQML agentcommunication language[R].[S.l.]:DARPA Knowledge Sharing Initiative External Interfaces Working Group,1993.
[5]張潔,高亮,李培根.多agent 技術在先進制造中的應用[M].北京:科學出版社,2004.
[6]LAZANSKY J,STEPANKOVA O,MARIK V,et al.Application of the multiagent approach in product planning and modeling[J].Engineering Applications of Artificial Intelligence,2001(14):369376.
[7]YANG Hao,ZHU Jianying,ZHOU Na.A multiagent based distributed manufacturing execution system model[J].Trans on of Nanjing University of Aeronautics Astronautics,2005,22(1):1622.