顧 曦,張 鑫,唐秋華
(武漢科技大學(xué)機(jī)械自動(dòng)化學(xué)院,湖北 武漢430081)
煉鋼-連鑄是鋼鐵制造的重要工藝流程之一,由于各鋼種工藝路徑的差異、不同加工工藝上并行機(jī)的存在以及生產(chǎn)中出現(xiàn)的動(dòng)態(tài)擾動(dòng),使煉鋼-連鑄生產(chǎn)調(diào)度同時(shí)具有復(fù)雜性、分布性和動(dòng)態(tài)性的特點(diǎn).這些特點(diǎn)使得煉鋼-連鑄生產(chǎn)調(diào)度系統(tǒng)同時(shí)具備靜態(tài)模型和動(dòng)態(tài)模型,也使得系統(tǒng)中的功能結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu)之間有著密不可分的聯(lián)系[1],各功能模塊及數(shù)據(jù)庫之間的交互關(guān)系顯得尤為重要.文獻(xiàn)[2]為連鑄-熱軋過程建立多Agent系統(tǒng),利用Agent的特性實(shí)現(xiàn)系統(tǒng)熱軋、板坯庫和連鑄之間的消息傳遞.文獻(xiàn)[3]將生產(chǎn)調(diào)度系統(tǒng)按照功能劃分為不同的Agent,形成分層分布式系統(tǒng)模型,并建立Agent之間的協(xié)商機(jī)制,采用擴(kuò)展的合同網(wǎng)機(jī)制進(jìn)行型號任務(wù)分配.但是,很少有文獻(xiàn)為煉鋼-連鑄生產(chǎn)過程建立多Agent系統(tǒng).然而由于Agent與對象還是存在諸多的區(qū)別,如Agent具有自治性,具有關(guān)于環(huán)境的知識,而不僅僅是對象的屬性和方法那么簡單[4],采用傳統(tǒng)的UML無法為多Agent系統(tǒng)建模,需要對其進(jìn)行適當(dāng)?shù)臄U(kuò)展,以適應(yīng)Agent的特性.
關(guān)于Agent目前比較容易接受的是 Wooldridge等給出的定義:“智能體是一個(gè)滿足特定設(shè)計(jì)需求的計(jì)算機(jī)系統(tǒng).它位于特定的環(huán)境中,具有高度的靈活性和自治性”[5].單個(gè)Agent最基本的特性應(yīng)當(dāng)包括:反應(yīng)性、自治性、面向?qū)ο笮?、移?dòng)性、自適應(yīng)性、通信能力(包括協(xié)商、協(xié)作等能力)、理性、持續(xù)性或時(shí)間連續(xù)性和自動(dòng)性等.單個(gè)Agent的研究目標(biāo)是認(rèn)識與模擬人工智能行為[6].多智能體系統(tǒng)(Multi-Agent System,MAS)是指多個(gè) Agent通過協(xié)作以完成某些任務(wù)或達(dá)到某些目標(biāo)的計(jì)算系統(tǒng)[7].多Agent系統(tǒng)通過協(xié)調(diào)各個(gè)Agent的知識、目標(biāo)、技能、規(guī)劃,并產(chǎn)生出相應(yīng)的行為,以解決問題.
面向?qū)ο螅∣bject-Oriented,OO)是一種當(dāng)前比較通用的軟件開發(fā)方法.統(tǒng)一建模語言(Unified Modeling Language,UML)是在多種面向?qū)ο蠓治雠c設(shè)計(jì)方法融合的基礎(chǔ)上形成的,是一種專用于系統(tǒng)建模的語言,主要以圖形的方式對系統(tǒng)進(jìn)行分析、設(shè)計(jì).利用UML為系統(tǒng)建模,不僅可以詳細(xì)描述系統(tǒng)框架,且易于編程人員的理解.從系統(tǒng)分析和設(shè)計(jì)的角度出發(fā),UML模型中最主要的部分可以分為以下3大類:
用例圖:是從系統(tǒng)外部用戶的角度對系統(tǒng)功能進(jìn)行的描述,刻畫系統(tǒng)用戶和外部系統(tǒng)與本系統(tǒng)的交互,可直觀反映用戶對功能的要求.
有關(guān)靜態(tài)結(jié)構(gòu)的圖:靜態(tài)結(jié)構(gòu)圖主要用于定義系統(tǒng)中具有重要意義的各種對象和實(shí)現(xiàn),以及它們之間的關(guān)系,它們是定義系統(tǒng)動(dòng)態(tài)行為的基礎(chǔ),主要包括類圖、對象圖、包圖等.
有關(guān)動(dòng)態(tài)行為的圖:動(dòng)態(tài)行為圖主要用于定義對象在時(shí)間上的的歷史,以及對象之間為達(dá)到一定目標(biāo)所進(jìn)行的通信,即描述系統(tǒng)中的對象在執(zhí)行期間不同時(shí)間點(diǎn)是如何動(dòng)態(tài)交互的,主要包括狀態(tài)圖、活動(dòng)圖、順序圖等.
這3類模型反映了客觀事物及對象的一些共性規(guī)律,適當(dāng)?shù)財(cái)U(kuò)展這3類模型,可以用來進(jìn)行多A-gent系統(tǒng)的分析和建模[8].
對象和Agent都是對客觀世界的抽象,兩者有一定的相似性,但是兩者還有一定的差異,主要表現(xiàn)在:對象封裝了實(shí)體的屬性、方法和事件,而Agent除了封裝這些外,還包括對思維和決策能力的封裝,表現(xiàn)出更高的自治性;Agent能夠?qū)ν饨绛h(huán)境的變化作出響應(yīng),而對象不能自主感知外部世界;Agent在運(yùn)行過程中,可以根據(jù)以往的經(jīng)驗(yàn)不斷改善自己對同一問題的求解能力,而對象的方法是不變的;Agent之間可以進(jìn)行通訊,相互協(xié)調(diào),從而提高解決問題的能力.因此,UML為Agent系統(tǒng)建模時(shí),需要對UML進(jìn)行擴(kuò)展,包括關(guān)系的擴(kuò)展和消息模式的擴(kuò)展等.在UML的類圖關(guān)系中,類與類之間的關(guān)系通常有4種:關(guān)聯(lián)、繼承、依賴和精化,而Agent組織中的角色關(guān)系還包括控制關(guān)系、平等關(guān)系等.另外由于Agent處理復(fù)雜問題的能力,如對多個(gè)消息或事件的并發(fā)處理,將消息模式擴(kuò)展為可以同時(shí)發(fā)布消息、在多條路徑中選擇一條或多條路徑發(fā)布消息等等.
生產(chǎn)調(diào)度就是組織執(zhí)行生產(chǎn)進(jìn)度計(jì)劃的工作.現(xiàn)代工業(yè)企業(yè),生產(chǎn)環(huán)節(jié)多,協(xié)作關(guān)系復(fù)雜,生產(chǎn)連續(xù)性強(qiáng),情況變化快,某一局部發(fā)生故障,或某一措施沒有按期實(shí)現(xiàn),往往會(huì)波及整個(gè)生產(chǎn)系統(tǒng)的運(yùn)行.因此,加強(qiáng)生產(chǎn)調(diào)度工作,對于及時(shí)了解、掌握生產(chǎn)進(jìn)度,研究分析影響生產(chǎn)的各種因素,根據(jù)不同情況采取相應(yīng)對策,使差距縮小或恢復(fù)正常是非常重要的.具體到煉鋼-連鑄生產(chǎn)調(diào)度過程,涉及到煉鋼(LD)、爐外精煉(包括真空處理RH和鋼包處理LF)和連鑄(CC)3個(gè)關(guān)鍵工序的協(xié)調(diào)組織.由于煉鋼-連鑄生產(chǎn)過程中復(fù)雜的物理和化學(xué)過程交織,原料、半成品和成品間的溫度、化學(xué)成分及物理形態(tài)在各工序都截然不同,因此各種突變和不確定性因素變動(dòng)比較大,從而加劇了煉鋼-連鑄調(diào)度作業(yè)的難度[9].
按照煉鋼-連鑄生產(chǎn)調(diào)度系統(tǒng)功能的定義,將煉鋼-連鑄生產(chǎn)系統(tǒng)劃分為任務(wù)Agent、調(diào)度A-gent、工藝Agent、設(shè)備Agent、執(zhí)行Agent和管理Agent.系統(tǒng)中的數(shù)據(jù)庫包括工藝數(shù)據(jù)庫、規(guī)則數(shù)據(jù)庫、原料數(shù)據(jù)庫、設(shè)備數(shù)據(jù)庫和工具數(shù)據(jù)庫等.
各Agent的工作功能和業(yè)務(wù)流程如圖1所示.
圖1 各Agent之間的消息傳遞
1)任務(wù)Agent接收日生產(chǎn)計(jì)劃,包括生產(chǎn)鋼種、規(guī)格、數(shù)量和交貨期等,并下發(fā)至調(diào)度Agent.
2)調(diào)度Agent將日計(jì)劃分解為批次計(jì)劃.下發(fā)至工藝數(shù)據(jù)庫,并允許工藝Agent進(jìn)行投標(biāo).篩選標(biāo)書后生成生產(chǎn)調(diào)度表,并發(fā)送至執(zhí)行Agent.
3)執(zhí)行Agent收到生產(chǎn)調(diào)度表后,組織設(shè)備資源進(jìn)行生產(chǎn).
4)管理Agent收集實(shí)時(shí)生產(chǎn)數(shù)據(jù),包括任務(wù)完成情況、設(shè)備狀況、原料及工具準(zhǔn)備狀況等,并對收集數(shù)據(jù)進(jìn)行分析,實(shí)時(shí)與調(diào)度Agent協(xié)調(diào),解決各種生產(chǎn)故障,必要時(shí)對生產(chǎn)調(diào)度表進(jìn)行更新.
為了保證鋼坯能按時(shí)交貨,基于拉式生產(chǎn)思想,在招投標(biāo)過程中,先確定連鑄工藝的加工設(shè)備號和加工時(shí)間,然后是真空或鋼包處理,最后是煉鋼.例如,假設(shè)某鋼種的加工工藝路徑是LD-LF-RH-CC,調(diào)度Agent將批次計(jì)劃先下發(fā)到工藝Agent CC,由CC組織設(shè)備Agent的CC1、CC2、CC3進(jìn)行投標(biāo).調(diào)度Agent確定連鑄調(diào)度表后,將連鑄計(jì)劃發(fā)送至工藝Agent RH,RH組織設(shè)備Agent中的RH1和RH2進(jìn)行投標(biāo),調(diào)度Agent再確定真空處理計(jì)劃表,并下發(fā)至工藝Agent LF,依此類推.在整個(gè)招投標(biāo)過程中,鋼種各個(gè)工藝的招投標(biāo)順序是按照工藝路徑的反向路徑進(jìn)行的(圖2).
圖2 招投標(biāo)順序示意圖
煉鋼-連鑄生產(chǎn)調(diào)度系統(tǒng)的主要用戶是計(jì)劃人員和執(zhí)行人員,主要完成的工作包括任務(wù)Agent接收上級計(jì)劃,將計(jì)劃下發(fā)至調(diào)度Agent;調(diào)度Agent將計(jì)劃分解為批次計(jì)劃,下發(fā)至工藝Agent和設(shè)備Agent進(jìn)行招投標(biāo),確定生產(chǎn)調(diào)度表;執(zhí)行Agent接收生產(chǎn)調(diào)度表組織生產(chǎn);管理Agent收集生產(chǎn)數(shù)據(jù)并分析,及時(shí)解決生產(chǎn)中的各種故障.總體而言,系統(tǒng)包括的功能主要有:生成生產(chǎn)調(diào)度表、組織生產(chǎn)、生產(chǎn)數(shù)據(jù)收集并分析.
用例圖是從用戶角度來描述系統(tǒng)功能的,所以在進(jìn)行需求分析時(shí),使用用例圖可以很好地描述系統(tǒng)所具備的功能,表達(dá)參與者與用例圖的連接關(guān)系.圖3為系統(tǒng)的用例圖.
圖3 系統(tǒng)用例圖
靜態(tài)模型視圖主要通過類及其相互關(guān)系來反映系統(tǒng)的基本框架,而類本身的屬性和操作則完成用例圖中所表達(dá)的系統(tǒng)功能需求.圖4為系統(tǒng)的靜態(tài)結(jié)構(gòu)模型.
圖4 系統(tǒng)的靜態(tài)結(jié)構(gòu)模型
在系統(tǒng)實(shí)現(xiàn)時(shí)主要使用的類定義有:
1)任務(wù)Agent類 主要負(fù)責(zé)接收日生產(chǎn)計(jì)劃,并發(fā)送至調(diào)度Agent,同時(shí)向上級系統(tǒng)反饋生產(chǎn)調(diào)度表,資源不足需要補(bǔ)充,設(shè)備故障需要檢修等.
調(diào)度Agent類 接收日生產(chǎn)計(jì)劃,查詢工藝路徑和規(guī)則信息,分解為批次計(jì)劃,向工藝Agent發(fā)布計(jì)劃,允許投標(biāo),評估標(biāo)書,生成生產(chǎn)調(diào)度表.當(dāng)管理Agent反饋生產(chǎn)異常時(shí),及時(shí)更新生產(chǎn)調(diào)度表.
2)工藝Agent類和設(shè)備Agent類 負(fù)責(zé)競標(biāo).同時(shí)工藝Agent按照設(shè)備負(fù)載均衡的原則對標(biāo)書進(jìn)行初步篩選,將結(jié)果發(fā)送至調(diào)度Agent.設(shè)備A-gent還負(fù)責(zé)生產(chǎn).
執(zhí)行Agent類 負(fù)責(zé)組織生產(chǎn),統(tǒng)計(jì)計(jì)劃完成情況,并上報(bào),保證資源合理分配,生產(chǎn)順利進(jìn)行.
3)管理Agent類 負(fù)責(zé)數(shù)據(jù)信息收集.實(shí)時(shí)收集資源信息和設(shè)備狀態(tài),下面還有一個(gè)子類問題分析,對生產(chǎn)中發(fā)生的異常進(jìn)行分析,及時(shí)解決生產(chǎn)故障,當(dāng)發(fā)生生產(chǎn)中斷時(shí),向調(diào)度Agent反饋.
動(dòng)態(tài)行為建模主要用于描述Agent組織中角色間的動(dòng)態(tài)行為,也是Agent社會(huì)性的重要體現(xiàn),是組織中角色關(guān)系的動(dòng)態(tài)反應(yīng).這也是煉鋼-連鑄生產(chǎn)調(diào)度系統(tǒng)的實(shí)時(shí)性決定的,系統(tǒng)必須在保證時(shí)間嚴(yán)格性、可靠性的前提下進(jìn)行.在系統(tǒng)中動(dòng)態(tài)建模主要是對于消息序列的描述,包括消息的發(fā)送和接收.
順序圖是UML中交互圖的重要組成部分,順序圖用一個(gè)二維圖描述系統(tǒng)中各個(gè)對象之間的交互關(guān)系.其中,縱軸是時(shí)間軸,橫軸代表了參與相互作用的對象.當(dāng)對象存在時(shí),生命線是一條虛線表示,當(dāng)對象的過程處于激活狀態(tài)時(shí),生命線是一雙道線.消息是從一個(gè)對象到另一個(gè)對象生命線的箭頭表示.箭頭以時(shí)間順序在圖中從上到下排列.
由于Agent與對象之間的差異,在用UML中的順序圖為Agent之間的交互關(guān)系建模時(shí),需要對其進(jìn)行適當(dāng)?shù)臄U(kuò)展.首先是將順序圖中對象的概念擴(kuò)展到Agent,然后是消息格式的擴(kuò)展,允許Agent在多條消息路徑中進(jìn)行選擇,以增強(qiáng)對復(fù)雜情況的應(yīng)對能力.
圖5為任務(wù)Agent生成生產(chǎn)調(diào)度表順序圖.首先是任務(wù)Agent接收二級機(jī)下發(fā)的日生產(chǎn)計(jì)劃,然后將生產(chǎn)計(jì)劃下發(fā)至調(diào)度Agent,調(diào)度Agent向工藝數(shù)據(jù)庫請求鋼種的工藝路線數(shù)據(jù),向規(guī)則數(shù)據(jù)庫請求規(guī)則信息,例如有的鋼種需要在特定的鑄機(jī)上加工.將計(jì)劃分解為批次計(jì)劃后,發(fā)送至工藝A-gent,工藝Agent再發(fā)送至設(shè)備Agent,允許設(shè)備Agent進(jìn)行招投標(biāo).這里本文引入文獻(xiàn)[3]中提出的擴(kuò)展UML消息連接圖符表示設(shè)備Agent對批次計(jì)劃的選擇,選擇投標(biāo)或選擇拒絕.工藝Agent對設(shè)備Agent的標(biāo)書進(jìn)行初步評估,在滿足設(shè)備負(fù)載均衡的約束下,將初步篩選的標(biāo)書發(fā)送至調(diào)度Agent,調(diào)度Agent根據(jù)最早加工時(shí)間優(yōu)先的原則選擇任務(wù)合適的設(shè)備和時(shí)間進(jìn)行加工,生成生產(chǎn)調(diào)度表.調(diào)度Agent再將生產(chǎn)調(diào)度表發(fā)送至執(zhí)行Agent、管理Agent和任務(wù)Agent.
圖5 生成生產(chǎn)調(diào)度表順序圖
圖6 為組織生產(chǎn)的順序圖.執(zhí)行Agent收到生產(chǎn)調(diào)度表后,向管理Agent查詢設(shè)備狀態(tài)和資源信息,保證生產(chǎn)調(diào)度計(jì)劃能按時(shí)實(shí)施.然后向設(shè)備A-gent發(fā)出生產(chǎn)指令,設(shè)備Agent向執(zhí)行Agent發(fā)出資源請求,執(zhí)行Agent根據(jù)資源狀況向資源控制器發(fā)出資源請求.設(shè)備Agent收到所需資源后,開始生產(chǎn).在生產(chǎn)過程中,及時(shí)向執(zhí)行Agent反饋計(jì)劃完成狀況,執(zhí)行Agent再將計(jì)劃完成情況反饋至管理A-gent.
圖7為信息收集與數(shù)據(jù)分析順序圖.管理A-gent會(huì)定時(shí)及在每次執(zhí)行生產(chǎn)計(jì)劃之前向數(shù)據(jù)庫請求資源信息和設(shè)備狀態(tài),當(dāng)發(fā)生資源不足或設(shè)備故障時(shí)向任務(wù)Agent反饋,由任務(wù)Agent向上級系統(tǒng)反饋,及時(shí)解決問題.每個(gè)爐次計(jì)劃完成后,執(zhí)行A-gent都會(huì)向管理Agent反饋計(jì)劃完成情況,當(dāng)實(shí)際生產(chǎn)與生產(chǎn)調(diào)度表發(fā)生較大出入時(shí),管理Agent根據(jù)收集的生產(chǎn)數(shù)據(jù)進(jìn)行原因分析,及時(shí)解決出現(xiàn)的問題,當(dāng)需要對生產(chǎn)調(diào)度表進(jìn)行調(diào)整時(shí),管理Agent向調(diào)度Agent提出生產(chǎn)調(diào)度表更新請求.每天管理Agent都要向任務(wù)Agent反饋日計(jì)劃完成計(jì)劃,以 便及時(shí)分析原因并調(diào)整第二天的生產(chǎn)計(jì)劃.
煉鋼-連鑄是鋼鐵生產(chǎn)過程中的重要環(huán)節(jié),由于實(shí)際生產(chǎn)中存在各種動(dòng)態(tài)干擾,在為煉鋼-連鑄生產(chǎn)調(diào)度系統(tǒng)建模時(shí)必須考慮系統(tǒng)的復(fù)雜性和動(dòng)態(tài)性.本文首先構(gòu)建了基于多Agent的煉鋼-連鑄生產(chǎn)調(diào)度組織結(jié)構(gòu),按照功能分為了若干Agent,再結(jié)合UML描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)交互模型,既保證了系統(tǒng)整體的緊湊型,又保證了系統(tǒng)的動(dòng)態(tài)性.
[1]劉 偉,李鐵克.基于UML煉鋼–連鑄車間生產(chǎn)調(diào)度系統(tǒng)建模[J].北京科技大學(xué)學(xué)報(bào),2003,25(6):532-536.
[2]Ouelhadj D,Petrovic S,Cowling P I,Meisels A.Interagent cooperation and communication for agent-based robust dynamic scheduling in steel production[J].Ad-vanced Engineering Informatics,2004,18(3):161-172.
[3]李敬花,劉文劍.基于多Agent的多型號生產(chǎn)調(diào)度系統(tǒng)研究[J].計(jì)算機(jī)集成制造,2006,12(4):573-578
[4]高 陽,江資斌.基于擴(kuò)展UML的虛擬企業(yè)多Agent協(xié)作建模研究[J].制造技術(shù)與機(jī)床,2006,(2):108-111.
[5]Wooldridge M,Jennings N R.Intelligent agents:theory and practice[J].The Knowledge Engineering Review,1995,10(2):115-152.
[6]劉大有,楊 鯤.Agent研究現(xiàn)狀與發(fā)展趨勢[J].軟件學(xué)報(bào),2000,11(3):315-321.
[7]Sabar M,Montreuil B,F(xiàn)rayret J M.A multi-agentbased approach for personnel scheduling in assembly centers[J].Engineering Applications of Articial Intelligence,2009,22(7):1 080-1 088.
[8]游曉明,帥典勛.基于擴(kuò)展UML的Agent建模語言的設(shè)計(jì)與研究[J].小型微型計(jì)算機(jī)系統(tǒng),2006,27(3):534-537.
[9]唐秋華,陳偉明.基于JIT的煉鋼-連鑄生產(chǎn)調(diào)度模型研究[J].武漢科技大學(xué)學(xué)報(bào),2008,31(1):78-82.