李旭紅,王佳佳,張泉東,潘欣宇,曾曉文
(1.江蘇省生產(chǎn)力促進(jìn)中心,南京 210042;2.江蘇科技大學(xué) 機(jī)械工程學(xué)院,鎮(zhèn)江 212003;3.江蘇湯辰機(jī)械裝備制造股份有限公司,鎮(zhèn)江 212413)
建筑工業(yè)化已成為國(guó)際建筑行業(yè)發(fā)展的主流,混凝土預(yù)制件的工業(yè)化生產(chǎn)是建筑工業(yè)化的一個(gè)重要環(huán)節(jié),目前大多數(shù)國(guó)內(nèi)混泥土預(yù)制件生產(chǎn)線的智能化和信息化水平不高,響應(yīng)我國(guó)頒布的《中國(guó)制造2025》和“兩化融合”戰(zhàn)略[1~3],本文以PC構(gòu)件(預(yù)制混凝土構(gòu)件)生產(chǎn)線為研究對(duì)象,對(duì)基于多智能體(Multi-Agent)的PC構(gòu)件生產(chǎn)線智能調(diào)度系統(tǒng)進(jìn)行研究。
PC構(gòu)件自動(dòng)化生產(chǎn)線是由配料系統(tǒng)、配模系統(tǒng)、輸送系統(tǒng)、堆垛養(yǎng)護(hù)系統(tǒng)等系統(tǒng)模塊所組成,如圖1所示,PC構(gòu)件生產(chǎn)線爆炸圖。
實(shí)現(xiàn)PC構(gòu)件生產(chǎn)線設(shè)備的智能調(diào)度,首先要重點(diǎn)解決設(shè)備的三大問題:聾、啞、傻。治聾,要求PC構(gòu)件生產(chǎn)設(shè)備具有較強(qiáng)的感知外部信息的能力和允許外部信息輸入的功能;治啞,則要求PC構(gòu)件生產(chǎn)設(shè)備具有較強(qiáng)主動(dòng)發(fā)送自身狀態(tài)信息的能力;治傻,則要求PC構(gòu)件生產(chǎn)設(shè)備具有邏輯處理和分析判斷能力[4,5]。
圖1 PC構(gòu)件生產(chǎn)線爆炸圖
在PC構(gòu)件生產(chǎn)線的Multi-Agent控制系統(tǒng)中,根據(jù)工作內(nèi)容可分為4大模塊,分別為配料、配模、輸送、養(yǎng)護(hù)。各個(gè)模塊的工作都由其下的各個(gè)設(shè)備Agent共同完成,然而任何一個(gè)設(shè)備Agent都沒有全局信息,只具備局部信息和知識(shí),并且PC構(gòu)件生產(chǎn)線存在大量的協(xié)作關(guān)系,因此各個(gè)設(shè)備Agent之間的信息交換是協(xié)同工作的基本保障。
考慮協(xié)作的需要,在各工作模塊中設(shè)立代理Agent,其可以是該工作模塊下的一臺(tái)資源設(shè)備,也可以是外加的一個(gè)獨(dú)立Agent。代理Agent將其下各個(gè)設(shè)備智能體信息包括:工作狀態(tài)、故障信息、健康狀態(tài)等,進(jìn)行收集匯總,然后與其他工作模塊的代理Agent進(jìn)行信息交換,實(shí)現(xiàn)PC構(gòu)件生產(chǎn)線全部設(shè)備的互相感知,最終保證協(xié)同運(yùn)作的實(shí)現(xiàn)。具體模型如圖2所示,代理Agent分別為:配料Agent、配料Agent、輸送Agent、養(yǎng)護(hù)Agent,代理Agent的設(shè)備Agent通過對(duì)幾乎擁有全局信息的代理Agent進(jìn)行信息讀寫,從而實(shí)現(xiàn)對(duì)全局設(shè)備信息的認(rèn)知[6]。
圖2 PC構(gòu)件生產(chǎn)線多智能體調(diào)度系統(tǒng)模型
綜合考慮上述PC構(gòu)件生產(chǎn)線多智能體調(diào)度系統(tǒng)模型,本文建立以黑板會(huì)話機(jī)制為基礎(chǔ)的雙層黑板會(huì)話模型[7,8],如圖3、圖4所示,在雙層黑板會(huì)話模型中,第一層為代理Agent與子設(shè)備Agent之間的黑板模型,第二層為最高管理層Agent與代理Agent之間的黑板模型。
圖3 雙層會(huì)話第一層模型
其中,代理Agent(包括配料Agent、配模Agent、輸送Agent、養(yǎng)護(hù)Agent)的部分?jǐn)?shù)據(jù)存儲(chǔ)區(qū),作為其子設(shè)備Agent的公共訪問區(qū),即共享數(shù)據(jù)存儲(chǔ)區(qū),任何子設(shè)備Agent都可以對(duì)其代理Agent的共享數(shù)據(jù)存儲(chǔ)區(qū)讀寫數(shù)據(jù)。代理Agent的公共數(shù)據(jù)訪問區(qū)就是第一層黑板,作為數(shù)據(jù)交換的一個(gè)樞紐。
圖4 雙層會(huì)話第二層模型
其中,最高管理層Agent的部分?jǐn)?shù)據(jù)存儲(chǔ)區(qū),作為代理Agent的公共訪問區(qū),即共享數(shù)據(jù)存儲(chǔ)區(qū),任何代理Agent都可以對(duì)最高管理層Agent的共享數(shù)據(jù)存儲(chǔ)區(qū)進(jìn)行讀寫數(shù)據(jù)。最高管理層的公共數(shù)據(jù)訪問區(qū)就是第二層黑板,作為數(shù)據(jù)交換的另一個(gè)樞紐。
當(dāng)今主流的協(xié)商機(jī)制包括:協(xié)作規(guī)劃?rùn)C(jī)制、合同網(wǎng)機(jī)制、FA/C法機(jī)制等,雖然合同網(wǎng)機(jī)制與Multi-Agent系統(tǒng)契合度較高,但因?yàn)镻C構(gòu)件生產(chǎn)線為典型的流水線生產(chǎn)方式,各個(gè)工作模塊相對(duì)獨(dú)立和唯一,工作模塊之間不可彼此代替,所以合同網(wǎng)機(jī)制在Multi-Agent系統(tǒng)中不完全適用。
綜合考慮Multi-Agent系統(tǒng)的自適應(yīng)適需求,再結(jié)合PC構(gòu)件生產(chǎn)線的協(xié)作控制具體情況和控制要求,本文采用協(xié)作規(guī)劃?rùn)C(jī)制與合同網(wǎng)機(jī)制相結(jié)合的混合協(xié)商機(jī)制[9~12]。在管理Agent與代理Agent之間采用協(xié)作規(guī)劃?rùn)C(jī)制,代理Agent與其子設(shè)備Agent之間采用合同網(wǎng)機(jī)制?;旌蠀f(xié)商機(jī)制如圖5所示。
圖5 混合協(xié)商機(jī)制
首先,管理Agent將任務(wù)信息分配給各個(gè)代理Agent,任務(wù)信息包括任務(wù)描述、任務(wù)截止日前、任務(wù)質(zhì)量要求等。代理Agent將來自管理Agent的任務(wù)通過招標(biāo)的方式傳達(dá)給其設(shè)備Agent,設(shè)備Agent通過各自的評(píng)估模塊進(jìn)行任務(wù)評(píng)估和自我能力評(píng)估,設(shè)備Agent根據(jù)評(píng)估結(jié)果來決定是否要進(jìn)行投標(biāo)。自我評(píng)估滿足要求的設(shè)備Agent會(huì)向代理Agent發(fā)送投標(biāo)申請(qǐng),代理Agent接受到來自設(shè)備Agent的投標(biāo)請(qǐng)求時(shí),進(jìn)行二次評(píng)估篩選,最終將任務(wù)下達(dá)給指定設(shè)備Agent進(jìn)行執(zhí)行。
此外,系統(tǒng)具有動(dòng)態(tài)調(diào)整特性。當(dāng)有緊急任務(wù)插入時(shí),代理Agent會(huì)將該任務(wù)的優(yōu)先級(jí)設(shè)為最高,優(yōu)先進(jìn)行任務(wù)招標(biāo)。當(dāng)生產(chǎn)線中出現(xiàn)設(shè)備故障時(shí),設(shè)備Agent會(huì)馬上將自身設(shè)置為故障狀態(tài),在系統(tǒng)進(jìn)行任務(wù)招標(biāo)時(shí),會(huì)自動(dòng)避開對(duì)該設(shè)備的任務(wù)招標(biāo)。當(dāng)該設(shè)備Agent故障解除后,又會(huì)重新將自己恢復(fù)為任務(wù)待命狀態(tài),并告知其代理Agent,等待任務(wù)招標(biāo)的到來。
K近鄰(k-Nearest Neighbor,KNN)算法,是一種理論上比較成熟的算法,也是最常用機(jī)器學(xué)習(xí)算法之一。該算法的思路是:如果一個(gè)樣本在特征空間中的k個(gè)最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別[13~15]。
由于PC構(gòu)件重量的不同、設(shè)備運(yùn)行速度的不同、設(shè)備運(yùn)動(dòng)加減速時(shí)間等生產(chǎn)工藝參數(shù)的不同,導(dǎo)致生產(chǎn)能耗不同,生產(chǎn)能耗難以通過直接計(jì)算得到。下面以清掃機(jī)、劃線機(jī)1、劃線機(jī)2和擺渡平車組成的h調(diào)度模型為例,如圖6所示,進(jìn)行具體的KNN機(jī)器學(xué)習(xí)能耗評(píng)估算法設(shè)計(jì)。
圖6 h評(píng)估調(diào)度模型
目標(biāo)為劃線機(jī)1時(shí):
PC構(gòu)件完成清掃工序后,運(yùn)動(dòng)到達(dá)劃線機(jī)1耗能記為,energy1;能耗enery1=加速階段能耗+恒速階段能耗+制動(dòng)階段能耗。
其中,加速階段和減速階段的具體能耗不方便直接計(jì)算,恒速運(yùn)動(dòng)距離難以確定而導(dǎo)致恒速運(yùn)動(dòng)能耗難以計(jì)算。由于運(yùn)動(dòng)構(gòu)件重量是PC構(gòu)件重量與模臺(tái)重量之和,其中模臺(tái)的重量固定,地滾驅(qū)動(dòng)輪的運(yùn)送方式固定,又因?yàn)槟芎牟粫?huì)產(chǎn)生躍變,定為連續(xù)變化,上述特征滿足KNN機(jī)器學(xué)習(xí)算法的基本條件,因此,本系統(tǒng)從理論上講,可以采用KNN機(jī)器學(xué)習(xí)算法進(jìn)行生產(chǎn)能耗的評(píng)估。
首先,通過手動(dòng)或者默認(rèn)經(jīng)驗(yàn)值進(jìn)行生產(chǎn)線的初步運(yùn)作,產(chǎn)線設(shè)備將每一種狀態(tài)信息(PC板的重量、加速時(shí)間、減速時(shí)間、最高速度等參數(shù)),所對(duì)應(yīng)的生產(chǎn)能耗記錄下來,可以存儲(chǔ)在SQL等數(shù)據(jù)庫(kù)中,也可以存儲(chǔ)在云端。原始數(shù)據(jù)如表1所示,目標(biāo)數(shù)據(jù)如表2所示。多條相同生產(chǎn)線可以將各自的狀態(tài)信息都存儲(chǔ)到一個(gè)云端中,實(shí)現(xiàn)信息數(shù)據(jù)資源共享。
表1 原始數(shù)據(jù)
表2 目標(biāo)數(shù)據(jù)
對(duì)原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理后,轉(zhuǎn)化成服從標(biāo)準(zhǔn)正太分N(0,1)的數(shù)據(jù),通過KNN算法,求解目標(biāo)數(shù)據(jù)與原始數(shù)據(jù)歐式距離d最近的5條數(shù)據(jù),如式(1)所示。
求解出最近鄰5條數(shù)據(jù)能耗分別為:E1、E2、E3、E4、E5,目標(biāo)數(shù)據(jù)能耗取5個(gè)數(shù)據(jù)的平均值,如式(2)所示。
目標(biāo)為劃線機(jī)2時(shí):
PC構(gòu)件完成清掃工序后,運(yùn)動(dòng)到達(dá)劃線機(jī)2的耗能記為,energy2。能耗energy2=地滾驅(qū)動(dòng)輪能耗+擺渡平車能耗。
其中地滾驅(qū)動(dòng)輪能耗=2個(gè)加速階段能耗+2個(gè)恒速階段能耗+2個(gè)制動(dòng)階段能耗;其中擺渡平車能耗=空載能耗+載板能耗,空載與載板能耗皆包括:加速階段能耗、恒速階段能耗、制動(dòng)階段能耗。如同目標(biāo)為劃線機(jī)1,本系統(tǒng)從理論上講,可以通過KNN機(jī)器學(xué)習(xí)算法進(jìn)行生產(chǎn)能耗的評(píng)估計(jì)算。計(jì)算過程與目標(biāo)為劃線機(jī)1時(shí)類似,具體過程此處不再鰲述。
KNN機(jī)器學(xué)習(xí)算法好壞的評(píng)判標(biāo)準(zhǔn)是通過均方根誤差來進(jìn)行評(píng)判的,具體方法是將樣本分類成訓(xùn)練集TRAIN_LIST和測(cè)試集TEST_LIST。其中,訓(xùn)練集占樣本比例為75%,測(cè)試集占樣本比例為25%(比例值可以隨具體情況進(jìn)行調(diào)整)。
首先,將測(cè)試集TEST_LIST中的數(shù)據(jù)進(jìn)行KNN計(jì)算,并得到預(yù)測(cè)值predicted_1~predicted_N。然后求解預(yù)測(cè)值和真實(shí)值(actual_1~actual_N)的均方根誤差RMSE。很明顯,預(yù)測(cè)值與真實(shí)值的均方根誤差RMSE的值越小表示誤差越小,算法模型效果越好。
式中,RMSE為均方根誤差;
act_1~act_N為真實(shí)值;
pred_1~pred_N為預(yù)測(cè)值。
在PC構(gòu)件生產(chǎn)過程中,對(duì)于生產(chǎn)速度的要求會(huì)隨著訂單堆積度而有所不同。訂單堆積度的數(shù)學(xué)表達(dá)式,如式(4)所示。
式中,LN為產(chǎn)線待生產(chǎn)產(chǎn)品數(shù)量;
VN為產(chǎn)線平均生產(chǎn)速度;
綜合考慮產(chǎn)線評(píng)估得分,求解綜合評(píng)估得分,如式(5)所示。
式中,β為綜合評(píng)估得分;
T為時(shí)耗評(píng)估得分;
E為能耗評(píng)估得分;
θ1為時(shí)耗權(quán)重系數(shù);
θ2為能耗權(quán)重系數(shù);
其中,時(shí)耗權(quán)重系數(shù)θ1、能耗權(quán)重系數(shù)θ2和訂單堆積度服從一定的函數(shù)關(guān)系。宏觀而言,時(shí)耗權(quán)重系數(shù)θ1,隨訂單堆積度的增大而增大,能耗權(quán)重系數(shù)θ2隨訂單堆積度的增大而減少。
本系統(tǒng)采用配方的方式,進(jìn)行權(quán)重參數(shù)配定。首先,對(duì)訂單堆積度進(jìn)行區(qū)間限定,為了便于處理,可將訂單堆積度映射到區(qū)間[0,10]上,然后,進(jìn)行量化取值,本系統(tǒng)可量化為11個(gè)等級(jí){1,2,3,4,5,6,7,8,9,10,11}。配方表如表3所示。
綜合評(píng)估得分是調(diào)度選擇的重要指標(biāo),但是評(píng)估的最終結(jié)果,仍然需要考慮優(yōu)先級(jí)最高的環(huán)境評(píng)估和健康評(píng)估,當(dāng)環(huán)境評(píng)估和健康評(píng)估生效時(shí),就會(huì)自動(dòng)屏蔽綜合評(píng)估得分β。
表3 配方表
實(shí)驗(yàn)所用歷史數(shù)據(jù)由江蘇湯辰機(jī)械裝備制造有限公司提供,本數(shù)據(jù)為江蘇湯辰機(jī)械裝備制造有限公司與江蘇科技大學(xué)合作研發(fā)的PC構(gòu)建自動(dòng)化生產(chǎn)線的生產(chǎn)數(shù)據(jù),本數(shù)據(jù)具體來自該生產(chǎn)線上位機(jī)軟件WINCC的3000多條數(shù)據(jù)記錄。該歷史數(shù)據(jù)存儲(chǔ)在CSV文件中,文件名為PC_data.csv,如圖7所示。
圖7 生產(chǎn)線歷史數(shù)據(jù)
通過調(diào)用Python的可視化庫(kù)matplotlib,將原始數(shù)據(jù)、標(biāo)準(zhǔn)化數(shù)據(jù)和歸一化數(shù)據(jù)同時(shí)顯示在一張圖表中,圖8所示。標(biāo)準(zhǔn)化后的數(shù)據(jù)被轉(zhuǎn)換為服從標(biāo)準(zhǔn)正太分布的數(shù)據(jù),其均值為0,標(biāo)準(zhǔn)差為1;歸一化后的數(shù)據(jù)被歸一到區(qū)間[0~1]上。
圖8 可視化顯示
基于多變量的KNN機(jī)器學(xué)習(xí)評(píng)估調(diào)度算法仿真實(shí)驗(yàn),首先,對(duì)全部變量PC構(gòu)件質(zhì)量(PC_Wieght),目標(biāo)運(yùn)行速度(Aim_V),擺渡平車位置(Car_Position),驅(qū)動(dòng)輪加減速時(shí)間(Driving_wheel_accelerate),擺渡平車加減速時(shí)間(Car_accelerates),最終能耗(Enery)進(jìn)行標(biāo)準(zhǔn)化處理,具體程序代碼與程序輸出,如圖9所示。
圖9 數(shù)據(jù)多變量標(biāo)準(zhǔn)化處理程序
構(gòu)建多變量歐式距離計(jì)算函數(shù)forecast_Enery_multivariate(),求解各個(gè)變量測(cè)試集test_set中全部數(shù)據(jù)的歐式距離,選擇歐式距離最小的五組數(shù)據(jù)求均值,從而得到每條數(shù)據(jù)的預(yù)測(cè)能耗值forecasted_enery,最后,求解測(cè)試集數(shù)據(jù)的預(yù)測(cè)能耗值與真實(shí)能耗值之間的平方根誤差rmse,具體程序代碼與程序輸出,如圖10所示,rmse=0.85,表明多變量的KNN機(jī)器學(xué)習(xí)評(píng)估調(diào)度算法對(duì)能耗預(yù)測(cè)的預(yù)測(cè)精確度比較理想。
圖10 預(yù)測(cè)評(píng)估求解程序
如圖11所示,通過WINCC的Simulation仿真模塊,對(duì)訂單堆積度進(jìn)行隨機(jī)變量配置,其中變化范圍為1~11,然后啟動(dòng)隨機(jī)變量仿真。
圖11 訂單堆積度的Simulation配置
如圖12所示,時(shí)耗權(quán)重系數(shù)和能耗權(quán)重系數(shù)都是與堆積度有一一對(duì)應(yīng)的關(guān)系,其中,時(shí)耗權(quán)重系數(shù)隨堆積度的增大而增大,即耗權(quán)重系數(shù)與堆積度呈正相關(guān)關(guān)系,其中,能耗權(quán)重系數(shù)隨堆積度的增大而減少,即能耗權(quán)重系數(shù)與堆積度呈負(fù)相關(guān)關(guān)系。
圖12 變權(quán)重系數(shù)仿真圖
在實(shí)際的工程應(yīng)用中,變權(quán)重系統(tǒng)有很多種實(shí)現(xiàn)方式,其中,配方的方法是工控自動(dòng)化領(lǐng)域中非常常用的變系數(shù)分配法。如圖13所示,在HMI軟件EPRO的配方系統(tǒng)中,通過對(duì)堆積度(Plugging_degree)、時(shí)耗權(quán)重系數(shù)(Time_parameter)、能耗權(quán)重系數(shù)(Enery_parameter)建立配方庫(kù)(formula)。系統(tǒng)實(shí)際運(yùn)算時(shí),通過配方索引(堆積度)對(duì)配方權(quán)重參數(shù)進(jìn)行查找取值。
圖13 變權(quán)重系數(shù)仿真圖
本文通過分析PC構(gòu)件生產(chǎn)線調(diào)度系統(tǒng)的動(dòng)態(tài)復(fù)雜性,提出了一種基于多智能體的PC構(gòu)件生產(chǎn)線的智能調(diào)度系統(tǒng)。結(jié)合PC構(gòu)件生產(chǎn)線工藝流程,劃分配置了多智能體模塊,并重點(diǎn)解決了雙層黑板會(huì)話、基于合同網(wǎng)機(jī)制的競(jìng)標(biāo)、基于KNN機(jī)器學(xué)習(xí)的能耗評(píng)估算法和基于配方的綜合評(píng)估調(diào)度算法等問題。
1)通過Python進(jìn)行KNN能耗評(píng)估算法試驗(yàn)仿真,證實(shí)了該評(píng)估算法的準(zhǔn)確性較為理想;
2)通過WINCC的Simulation仿真模塊,對(duì)訂單堆積度進(jìn)行隨機(jī)變量配置,動(dòng)態(tài)展示了動(dòng)態(tài)權(quán)重系數(shù)的綜合調(diào)度評(píng)估算法,并給出了基于HMI配方的可行性方案。
3)本系統(tǒng)很好的將多智能體理論試應(yīng)用于PC構(gòu)件自動(dòng)化生產(chǎn)線的調(diào)度系統(tǒng)中,對(duì)PC構(gòu)件工業(yè)化生產(chǎn)建立更完善的理論體系具有重要意義。