基于教與學(xué)算法的離散制造車間靜態(tài)調(diào)度優(yōu)化系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于教與學(xué)算法的離散制造車間靜態(tài)調(diào)度優(yōu)化系統(tǒng),其包括數(shù)據(jù)服務(wù)器、運(yùn)算服務(wù)器、終端顯示屏,所述運(yùn)算服務(wù)器中嵌入有調(diào)度優(yōu)化客戶端,調(diào)度優(yōu)化客戶端通過對加工任務(wù)的分析,以及參考數(shù)據(jù)服務(wù)器的各項(xiàng)詳細(xì)信息,對當(dāng)日加工任務(wù)通過優(yōu)化算法做一個(gè)合理的調(diào)度安排,具體優(yōu)化算法采用教與學(xué)優(yōu)化算法;將生成的調(diào)度方案進(jìn)行解碼,根據(jù)編碼時(shí)對學(xué)生雙層的定義,進(jìn)行反編譯,依次將工件的加工機(jī)床和加工順序表示出來;最終將優(yōu)化過的調(diào)度方案顯示到終端顯示屏上,使車間生產(chǎn)人員以及管理人員能夠?qū)崟r(shí)的了解當(dāng)前具體的加工任務(wù)安排情況。本發(fā)明采用的教與學(xué)優(yōu)化算法具有收斂速度快、尋優(yōu)能力強(qiáng)的優(yōu)點(diǎn);也更加適應(yīng)實(shí)際生產(chǎn)中的復(fù)雜情況。
【專利說明】
基于教與學(xué)算法的離散制造車間靜態(tài)調(diào)度優(yōu)化系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及離散制造車間調(diào)度技術(shù)領(lǐng)域,具體是一種基于教與學(xué)算法的離散制造 車間靜態(tài)調(diào)度優(yōu)化系統(tǒng)。
【背景技術(shù)】
[0002] 21世紀(jì)制造業(yè)競爭日益激烈,企業(yè)在獲得極大發(fā)展空間的同時(shí),也承受著威脅和 挑戰(zhàn)。決定企業(yè)核心競爭力的因素體現(xiàn)在企業(yè)所提供的產(chǎn)品上。要求產(chǎn)品高質(zhì)量、低價(jià)格、 短交貨期,且能不斷適應(yīng)多變的市場和個(gè)性化的客戶需求,這對企業(yè)制造車間生產(chǎn)作業(yè)計(jì) 劃和均衡生產(chǎn)都提出了更高的要求。當(dāng)前離散制造車間生產(chǎn)過程中,存在機(jī)床待機(jī)時(shí)間過 長、零件生產(chǎn)安排不合理等問題,因此車間生產(chǎn)前的靜態(tài)調(diào)度安排顯得十分必要,合理的靜 態(tài)調(diào)度安排利于制造過程的能效的提高,符合企業(yè)的核心利益。當(dāng)前學(xué)術(shù)界,對于制造車間 的調(diào)度安排已經(jīng)展開了廣泛的研究,產(chǎn)生了多種理論算法,由于缺乏對實(shí)際生產(chǎn)環(huán)境的了 解,現(xiàn)階段多數(shù)算法不能直接應(yīng)用于離散制造車間靜態(tài)調(diào)度中,因此,采用合理的算法應(yīng)用 到制造車間,從而達(dá)到減小工時(shí)和生產(chǎn)耗能,是研究的關(guān)鍵點(diǎn)。
【發(fā)明內(nèi)容】
[0003] 針對現(xiàn)有技術(shù)的不足之處,本發(fā)明結(jié)合教與學(xué)算法的優(yōu)勢,經(jīng)過部分改進(jìn)將其應(yīng) 用到制造車間靜態(tài)調(diào)度中,提出一種離散制造車間靜態(tài)調(diào)度優(yōu)化系統(tǒng),從而達(dá)到提高能效 的結(jié)果。
[0004] 按照本發(fā)明提供的技術(shù)方案,所述基于教與學(xué)算法的離散制造車間靜態(tài)調(diào)度優(yōu)化 系統(tǒng)包括數(shù)據(jù)服務(wù)器、運(yùn)算服務(wù)器、終端顯示屏;所述數(shù)據(jù)服務(wù)器,收集制造車間機(jī)床的加 工耗能、耗時(shí)和待機(jī)情況,實(shí)時(shí)統(tǒng)計(jì)車間的加工情況,對車間的機(jī)床的生產(chǎn)耗能數(shù)據(jù)進(jìn)行實(shí) 時(shí)跟蹤,同時(shí)對機(jī)床的加工情況和工人的出勤情況進(jìn)行統(tǒng)計(jì);所述運(yùn)算服務(wù)器中嵌入有調(diào) 度優(yōu)化客戶端,調(diào)度優(yōu)化客戶端通過對加工任務(wù)的分析,以及參考數(shù)據(jù)服務(wù)器的各項(xiàng)詳細(xì) 信息,對當(dāng)日加工任務(wù)通過優(yōu)化算法做一個(gè)合理的調(diào)度安排,具體優(yōu)化算法采用教與學(xué)優(yōu) 化算法,所述調(diào)度優(yōu)化客戶端的構(gòu)建方法如下:
[0005] 步驟一、確定離散制造車間調(diào)度優(yōu)化的目標(biāo)函數(shù);
[0006] 以制造車間機(jī)床最大加工時(shí)間最小和總耗能最小為目標(biāo)函數(shù),采用加權(quán)的方法對 兩個(gè)目標(biāo)函數(shù)進(jìn)行融合,融合的值取最小時(shí),達(dá)到調(diào)度要求,即
[0007] FM=min(max(FMi))
[0008] (1) η WM - "V wm,
[0009] ' (2)
[0010] min(W) =uiFM+U2WM (3)
[0011] FMi--所有工件在機(jī)床Mi上的完工時(shí)間;
[0012] FM--所有工件的最后完工時(shí)間;
[0013] wnu--所有工件在機(jī)床Mi的耗能量;
[0014] WM--所有機(jī)床的總耗能量;
[0015] i一一為大于0的正整數(shù)變量;
[0016] η--機(jī)床總量;
[0017] min(ff) 兩個(gè)目標(biāo)函數(shù)的最終加權(quán)值;
[00? 8] Ul、U2--兩個(gè)加權(quán)值,根據(jù)企業(yè)實(shí)際需要取值;
[0019] 進(jìn)行排產(chǎn)時(shí),調(diào)度優(yōu)化算法需要滿足以下約束條件:
[0020] 1.1、某道工序在某一時(shí)刻只能用同一臺機(jī)器進(jìn)行加工;
[0021 ] 1.2、某個(gè)工件的一道工序一旦開始加工,在該工序完成之前不能隨意終止;
[0022] 1.3、在零時(shí)刻所有工件的加工優(yōu)先級都相同;
[0023] 1.4、不同工件的各工序之間的加工順序優(yōu)先級相同,同一工件的各工序的加工必 須按照之前約定好的加工順序;
[0024] 步驟二、采用改進(jìn)教與學(xué)優(yōu)化算法求解上述目標(biāo)函數(shù),具體求解過程包括:
[0025] 步驟2.1、編碼:每個(gè)調(diào)度方案代表一個(gè)學(xué)生,學(xué)生的成績采用雙層設(shè)計(jì)的方式進(jìn) 行定義,第一層定義為工序?qū)樱硎镜趇個(gè)零件的各個(gè)工序;第二層Xiw,., w定義為機(jī)器 層,表示第i個(gè)零件的工序加工時(shí)的機(jī)器;
[0026] 步驟2.2、參數(shù)初始化:根據(jù)機(jī)床的數(shù)量和零件的加工任務(wù)對教與學(xué)優(yōu)化算法中的 學(xué)生進(jìn)行初始化;
[0027] 步驟2.3、基于改進(jìn)教與學(xué)算法進(jìn)行求解目標(biāo)函數(shù),輸出最優(yōu)調(diào)度方案;
[0028] 所述改進(jìn)教與學(xué)算法的運(yùn)行過程包括老師的"教"過程、學(xué)生的"學(xué)"過程以及更新 階段;
[0029] a、老師的"教"過程中,假定學(xué)生為兩個(gè)目標(biāo)函數(shù)的最終加權(quán)值定義為fXX1),
[0030] j = l,2,3,. ..,N,ie{1234. . .N},N為學(xué)生總數(shù),選取Hiina(Xi))的學(xué)生作為老師 Xteacher,選取最接近/VT)即f (X)的平均值的學(xué)生作為Mean值;"教"過程公式如下:
[0031 ] X1L =Ald+i}UFr Mean) (4)
[0032] 其中,分別表示第j個(gè)調(diào)度方案優(yōu)化前后的參數(shù),即各個(gè)零件的加工安 排,TFj為教學(xué)因子,^為學(xué)習(xí)步長,這兩個(gè)參數(shù)用于調(diào)整學(xué)習(xí)的速度;此時(shí)經(jīng)過浮點(diǎn)型運(yùn)算 得到的調(diào)度方案會出現(xiàn)小數(shù)或者超過區(qū)間的數(shù),需要對Xi w進(jìn)行離散化,具體離散過程包 括:
[0033] a. 1、首先將工序?qū)雍蜋C(jī)器層的數(shù)字采用取整法,忽略小數(shù),然后將超過區(qū)間的數(shù) 字自動置零,與當(dāng)日調(diào)度任務(wù)清單對比,在工序?qū)訕?biāo)記多余工序的工件,取li、I2.....U標(biāo) 記工件號,其中cep,p為待標(biāo)記的工件號集合,最后將標(biāo)記的工件根據(jù)多余工序的數(shù)量,隨 機(jī)的從該工件號中挑出同等多余數(shù)量置為零,同時(shí)機(jī)器層對應(yīng)的部分置零;
[0034] a. 2、對置零的工件號進(jìn)行重安排,再次與調(diào)度任務(wù)清單對比,標(biāo)記工序量不夠的 工件號,按照工件的具體缺失數(shù),隨機(jī)生成一組調(diào)度方案,將該方案按照次序依次填充到工 序?qū)訛榱愕奈恢?,同時(shí)在機(jī)器層對應(yīng)的位置隨機(jī)填入符合加工要求的機(jī)器號;
[0035] a.3、將第一次生成的調(diào)度方案作為初始方案,進(jìn)行局部迭代,設(shè)置迭代次數(shù),跳轉(zhuǎn) 至a. 2,若生成的調(diào)度方案優(yōu)于初始方案,則將此次調(diào)度方案設(shè)為初始調(diào)度方案,直至迭代 次數(shù)滿足,則輸出調(diào)度方案;
[0036] b、學(xué)生的"學(xué)"過程中,每個(gè)調(diào)度方案Xh隨機(jī)的從所有的調(diào)度方案中選取一個(gè)學(xué)習(xí) 對象X g,h=l,2,3,. . .,N;g=l,2,3,. . .,N;其中h關(guān)g;Xh通過和XgK較兩者之間的差異,Xh 進(jìn)行相應(yīng)的優(yōu)化調(diào)整,"學(xué)"過程采用如下公式表示:
[0037] 當(dāng) f(Xh)<f(Xg)時(shí) JT,(5)
[0038] = ^ + (6)
[0039] 其中,rh表示第h個(gè)學(xué)生的學(xué)習(xí)步長,生成的新調(diào)度方案Xl也需要進(jìn)行離散,具體 離散過程同老師的"教"過程中所述離散過程;
[0040] c、更新階段是指經(jīng)過"學(xué)"過程之后,生成的調(diào)度方案需要更新優(yōu)化,更新方法如 下:
[0041] 當(dāng)/(Xfw) </(X二.)時(shí)Z" =X::, (7)
[0042] 當(dāng)/(Xi)>/(XL)時(shí);=X;/tw (8)
[0043] 其中,學(xué)生 de{l,2,3,".,N};
[0044] 所述調(diào)度優(yōu)化客戶端將生成的調(diào)度方案進(jìn)行解碼,根據(jù)編碼時(shí)對學(xué)生雙層的定 義,進(jìn)行反編譯,依次將工件的加工機(jī)床和加工順序表示出來;最終,將優(yōu)化過的調(diào)度方案 顯示到終端顯示屏上,使車間生產(chǎn)人員以及管理人員能夠?qū)崟r(shí)的了解當(dāng)前具體的加工任務(wù) 安排情況。
[0045] 在老師的"教"過程中,所述教學(xué)因子TFj = round[ l+rand(0,I) ],rand(0,1)表示 從0到1中隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù),round表示四舍五入函數(shù),從而滿足取到的值為整數(shù),學(xué)習(xí) 步長rj = rand(0,1) 〇
[0046] 在學(xué)生的"學(xué)"過程中,所述第h個(gè)學(xué)生的學(xué)習(xí)步長rh = rand(0,l),rand(0,l)表示 從〇到1中隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù)。
[0047] 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0048] 1)本發(fā)明搭建數(shù)據(jù)庫服務(wù)器,將設(shè)備生產(chǎn)耗能數(shù)據(jù)直接整合到系統(tǒng)中,對生產(chǎn)數(shù) 據(jù)進(jìn)行分析,能夠細(xì)化到機(jī)床生產(chǎn)單一工件的單一工序的具體耗能,從而明確相同工件不 同機(jī)床加工的差異性,有助于排產(chǎn)的合理性;同時(shí),數(shù)據(jù)服務(wù)器能夠統(tǒng)計(jì)離散制造車間的機(jī) 床的正常工作情況,以及了解車間工人加工的工時(shí)情況,有助于車間維持正常的生產(chǎn)秩序, 從而保證加工的快速進(jìn)行。
[0049] 2)本發(fā)明采用的教與學(xué)優(yōu)化算法具有收斂速度快、尋優(yōu)能力強(qiáng)的優(yōu)點(diǎn),相對于其 他群智能算法而言,該算法只需要較少的迭代次數(shù),且取得效果較好;同時(shí),該算法不需要 設(shè)置多個(gè)優(yōu)化參數(shù),更易達(dá)到優(yōu)化目的;另外,該算法在對兩個(gè)目標(biāo)函數(shù)進(jìn)行優(yōu)化時(shí),通過 實(shí)際需要設(shè)置兩個(gè)權(quán)重參數(shù)來確定優(yōu)化的程度,更加符合實(shí)際生產(chǎn)中的復(fù)雜情況。
[0050] 3)本發(fā)明直接將能效作為優(yōu)化目標(biāo),通過把加工單個(gè)工序的耗能作為單位,能夠 直接達(dá)到節(jié)能的要求,更符合當(dāng)前綠色制造的要求,實(shí)用性較好。
[0051] 4)本發(fā)明將調(diào)度方案顯示到終端顯示器上,方便加工人員和管理人員查看,以及 通過核對,及時(shí)將不合理處進(jìn)行反饋,運(yùn)算服務(wù)器根據(jù)反饋情況對調(diào)度方案進(jìn)行適當(dāng)調(diào)整, 從而使調(diào)度方案更具有合理性。
【附圖說明】
[0052]圖1調(diào)度算法的編碼形式。
[0053]圖2改進(jìn)教與學(xué)優(yōu)化算法的離散化方塊圖。
[0054] 圖3改進(jìn)教與學(xué)優(yōu)化算法的調(diào)度流程圖。
[0055] 圖4離散制造車間優(yōu)化系統(tǒng)運(yùn)行圖。
【具體實(shí)施方式】
[0056] 下面結(jié)合附圖和實(shí)施例對本發(fā)明作詳細(xì)的描述。
[0057]本發(fā)明搭建的調(diào)度優(yōu)化系統(tǒng)包括數(shù)據(jù)服務(wù)器、運(yùn)算服務(wù)器、終端顯示屏。如圖4所 示,其中,運(yùn)算服務(wù)器中嵌入調(diào)度算法,通過對數(shù)據(jù)服務(wù)器的數(shù)據(jù)進(jìn)行分析、計(jì)算,將排產(chǎn)調(diào) 度安排顯示到終端顯示屏中。具體實(shí)施步驟如下:
[0058] -:搭建數(shù)據(jù)服務(wù)器,收集制造車間機(jī)床的加工耗能、耗時(shí)和待機(jī)情況,實(shí)時(shí)統(tǒng)計(jì) 車間的加工情況,對車間的機(jī)床的生產(chǎn)耗能數(shù)據(jù)進(jìn)行實(shí)時(shí)跟蹤,同時(shí)對機(jī)床的加工情況和 工人的出勤情況進(jìn)行統(tǒng)計(jì)。
[0059] 二:搭建運(yùn)算服務(wù)器,在服務(wù)器中編寫調(diào)度優(yōu)化客戶端,調(diào)度優(yōu)化客戶端通過對加 工任務(wù)的分析,以及參考數(shù)據(jù)服務(wù)器的各項(xiàng)詳細(xì)信息,對當(dāng)日加工任務(wù)通過優(yōu)化算法做一 個(gè)合理的調(diào)度安排,具體優(yōu)化算法采用教與學(xué)優(yōu)化算法(teaching-1 earning-based optimization algorithm),由于該算法是針對于連續(xù)系統(tǒng)提出的,對該離散制造車間的應(yīng) 用需要進(jìn)行適當(dāng)?shù)母倪M(jìn),調(diào)度優(yōu)化客戶端的具體構(gòu)建方案如下:
[0060] 1)確定離散制造車間調(diào)度優(yōu)化的目標(biāo)函數(shù)。
[0061 ]根據(jù)企業(yè)的能耗和效益的綜合考慮,以制造車間機(jī)床最大加工時(shí)間最小和總耗能 最小為目標(biāo)函數(shù)。為了滿足不同的要求,采用加權(quán)的方法對兩個(gè)目標(biāo)函數(shù)進(jìn)行融合,融合的 值取最小時(shí),達(dá)到調(diào)度要求,即
[0062] FM=min(max(FMi)) (1)
[0063] WM = ^ Wtvi (2) /-I
[0064] min(W) =uiFM+U2WM (3)
[0065] FMi--所有工件在機(jī)床Mi上的完工時(shí)間;
[0066] FM--所有工件的最后完工時(shí)間;
[0067] wnu--所有工件在機(jī)床Mi的耗能量;
[0068] WM一一所有機(jī)床的總好耗能量;
[0069] i一一為大于0的正整數(shù)變量;
[0070] η--機(jī)床總量;
[0071 ] min(ff) 兩個(gè)目標(biāo)函數(shù)的最終加權(quán)值;
[0072] Ui、U2--兩個(gè)加權(quán)值,實(shí)際取值根據(jù)企業(yè)實(shí)際需要;
[0073] 進(jìn)行排產(chǎn)時(shí),調(diào)度優(yōu)化算法需要滿足以下約束條件:
[0074] 1)某道工序在某一時(shí)刻只能用同一臺機(jī)器進(jìn)行加工;
[0075] 2)某個(gè)工件的一道工序一旦開始加工,在該工序完成之前不能隨意終止(即不考 慮機(jī)器故障的發(fā)生);
[0076] 3)在零時(shí)刻所有工件的加工優(yōu)先級都相同;
[0077] 4)不同工件的各工序之間的加工順序優(yōu)先級相同,同一工件的各工序的加工必須 按照之前約定好的加工順序。
[0078] 2)采用改進(jìn)教與學(xué)優(yōu)化算法求解上述目標(biāo)函數(shù),具體求解過程如下:
[0079] 2.1)編碼:
[0080] 每個(gè)調(diào)度方案代表一個(gè)學(xué)生,學(xué)生的成績采用雙層設(shè)計(jì)的方式進(jìn)行定義,第一層 定義為工序?qū)?,表示第i個(gè)零件的各個(gè)工序;第二層定義為機(jī)器層,表示第i個(gè) 零件的工序加工時(shí)的機(jī)器。例如,學(xué)生乂1表示一個(gè)3工件5機(jī)器的調(diào)度安排方案,其中第一排 第一列中的"Γ表示工件1的第一道加工工序,第二排的第一列中的"2"表示工件1的第一道 工序在機(jī)器2上加工,第一排共有三個(gè)"Γ,表示工件1共有三道工序,三個(gè)"Γ的位置表示三 道工序被安排加工的順序,具體如圖1所示。
[0081] 2.2)參數(shù)初始化:根據(jù)機(jī)床的數(shù)量和零件的加工任務(wù)對教與學(xué)優(yōu)化算法中的學(xué)生 進(jìn)行初始化;
[0082] 2.3)基于改進(jìn)教與學(xué)算法進(jìn)行求解目標(biāo)函數(shù),輸出最優(yōu)調(diào)度方案。
[0083]具體改進(jìn)教與學(xué)算法的運(yùn)行過程如下:
[0084] a、老師的"教"過程。
[0085]參照圖3的"教"階段,假定學(xué)生為)(% = 1,2,3,...』其中~為學(xué)生總數(shù)),兩個(gè)目 標(biāo)函數(shù)的最終加權(quán)值定義為HXiMie {1234. . .N}),選取minaU1))的學(xué)生作為老師 Xteacher,選取最接近/(;T) (f (X)的平均值)的學(xué)生作為Mean值。具體"教"過程公式如下:
[0086] Aw=Xik^(Xteidler-TF rMean) (4)
[0087] 其中,ZidPX1Lw分別表示第j個(gè)調(diào)度方案優(yōu)化前后的參數(shù),即各個(gè)零件的加工安 排,TFj為教學(xué)因子(TFj = round[ l+rand(0,I) ]),rj為學(xué)習(xí)步長(rj = rand(0,1)),其中 round表示取整函數(shù),使其值始終為一個(gè)整數(shù),rand(0,l)表示從0到1之間產(chǎn)生一個(gè)隨機(jī)數(shù), 這兩個(gè)關(guān)鍵的參數(shù)用于調(diào)整學(xué)習(xí)的速度。此時(shí)經(jīng)過浮點(diǎn)型運(yùn)算得到的調(diào)度方案會出現(xiàn)小數(shù) 或者超過區(qū)間的數(shù),需要對Xi w進(jìn)行離散化,參照圖2,具體離散過程如下:
[0088] Stepl:首先將工序?qū)雍蜋C(jī)器層的數(shù)字采用取整法,忽略小數(shù),然后將超過區(qū)間的 數(shù)字自動置零,與當(dāng)日調(diào)度任務(wù)清單對比,在工序?qū)訕?biāo)記多余工序的工件,取1ι、12.....Ic (cep,p為待標(biāo)記的工件號集合)標(biāo)記工件號,最后將標(biāo)記的工件根據(jù)多余工序的數(shù)量,隨 機(jī)的從該工件號中挑出同等多余數(shù)量置為零,同時(shí)機(jī)器層也之為零;
[0089] Step2:對置零的工件號進(jìn)行重安排,再次與調(diào)度任務(wù)清單對比,標(biāo)記工序量不夠 的工件號,按照工件的具體缺失數(shù),隨機(jī)生成一組調(diào)度方案,將該方案按照次序依次填充到 工序?qū)訛榱愕奈恢茫瑫r(shí)在機(jī)器層對應(yīng)的位置隨機(jī)填入符合加工要求的機(jī)器號;
[0090] Step3:將第一次生成的調(diào)度方案作為初始方案,進(jìn)行局部迭代,設(shè)置迭代次數(shù)為 q,跳轉(zhuǎn)step2,若生成的調(diào)度方案優(yōu)于初始方案,則將此次調(diào)度方案設(shè)為初始調(diào)度方案,迭 代次數(shù)滿足q,則輸出調(diào)度方案。
[0091] b、學(xué)生的"學(xué)"過程。
[0092]參照圖3的"學(xué)"階段,學(xué)生的"學(xué)"過程中,每個(gè)調(diào)度方案Xh隨機(jī)的從所有的調(diào)度方 案中選取一個(gè)學(xué)習(xí)對象Xg,h=l,2,3,. . ·,N;g=l,2,3,. . .,N;其中h關(guān)g;Xh通過和Xg比較兩 者之間的差異,Xh進(jìn)行相應(yīng)的優(yōu)化調(diào)整,學(xué)過程采用如下公式表示:
[0093] 當(dāng) f(Xh)< f (Xg)時(shí) Zl =XL + rA-P) (5)
[0094] 當(dāng)f(Xh) >f(Xg)時(shí) C. = ·(Ρ - ;TA) (6 )
[0095] 其中,η表示第h個(gè)學(xué)生的學(xué)習(xí)步長,生成的新調(diào)度方案 也需要進(jìn)行離散,具體 離散過程同老師的"教"過程中所述離散過程;
[0096] c、更新階段是指經(jīng)過"學(xué)"過程之后,生成的調(diào)度方案需要更新優(yōu)化,具體過程參 照圖3的更新階段,更新方法如下:
[0097] 當(dāng)/(Xi)</(XL)肘浐(7)
[0098] 當(dāng)/(XD > /(XL)時(shí)浐二 IL ( 8 )
[0099] 其中,學(xué)生 de{l,2,3,.",N}。
[0100] 三:將生成的調(diào)度方案進(jìn)行解碼,根據(jù)編碼時(shí)對學(xué)生雙層的定義,進(jìn)行反編譯,依 次將工件的加工機(jī)床和加工順序表示出來
[0101]四:將優(yōu)化過的調(diào)度方案顯示到終端顯示屏上,車間生產(chǎn)人員以及管理人員能夠 實(shí)時(shí)的了解當(dāng)前具體的加工任務(wù)安排情況。
[0102] 參照圖4,本發(fā)明通過對離散制造車間搭建數(shù)據(jù)服務(wù)器和運(yùn)算服務(wù)器,通過對機(jī)床 制造信息和車間加工計(jì)劃進(jìn)行分析,采用一種改進(jìn)的教與學(xué)優(yōu)化算法對車間生產(chǎn)進(jìn)行離線 調(diào)度安排,最后通過顯示屏將具體調(diào)度任務(wù)顯示到車間,方便指導(dǎo)生產(chǎn)。
[0103] 以下為一個(gè)具體實(shí)施案例:
[0104] 步驟一:搭建數(shù)據(jù)服務(wù)器,并將其與車間機(jī)床系統(tǒng)進(jìn)行通訊,獲取機(jī)床加工單個(gè)工 件的單個(gè)工序的加工時(shí)間(包括待機(jī)時(shí)間<、空載時(shí)間O、切削時(shí)間咯)和加工耗能詳情(包 括待機(jī)能耗、_空載能耗<%:_、切削能耗),其中i表不機(jī)床,j表不工件,k表不具體的工 序,d表示待機(jī),〇表示空載,q表示切削,故機(jī)床i加工工件j的第k道工序所用的時(shí)間 %=4 +黍+4,以及耗能1% = 感·喙《在數(shù)據(jù)服務(wù)器中將獲取的數(shù)據(jù)進(jìn)行
分析處理,對能耗信息進(jìn)行集成: 陶] (9)
[祕] (1〇)
[0107]其中,txy表示機(jī)床編號X加工零件j的第y道工序所用的時(shí)間,矩陣的第一行表示 第一道工序,第一行的所有列表示能夠加工該道工序的機(jī)器所用的加工時(shí)間,第一列表示 機(jī)床編號為1的機(jī)床,當(dāng)機(jī)床不能加工該道工序時(shí),對應(yīng)的坐標(biāo)值為零,這樣更符合離散制 造車間的制造特點(diǎn);同理,W xy表示機(jī)床編號X加工零件j的第y道工序的耗能量,矩陣坐標(biāo)值 的含義同上述的相同,這里不做累述。
[0108] 同時(shí),數(shù)據(jù)服務(wù)器從車間管理系統(tǒng)中定時(shí)接受當(dāng)前的生產(chǎn)任務(wù)清單,另外匯總車 間機(jī)床的現(xiàn)有工作量和機(jī)床的正常運(yùn)行情況,以及統(tǒng)計(jì)車間操作工人的在崗情況,保證調(diào) 度任務(wù)能夠正常執(zhí)行。
[0109] 步驟二:運(yùn)算服務(wù)器向數(shù)據(jù)服務(wù)器請求當(dāng)前生產(chǎn)任務(wù)清單,同時(shí)獲取能耗集成信 息;
[0110] 步驟三:由獲得的信息和要求確定優(yōu)化目標(biāo),具體如下所示:
[0111] FM=m i n (max (FMi)) (11)
[0112]
(12)
[0113] min(W) =uiFM+U2WM( 13)
[0114] 符號定義如下:
[0115] FMi--所有工件在機(jī)床Mi上的完工時(shí)間;
[0116] FM--所有工件的最后完工時(shí)間;
[0117] wnu--所有工件在機(jī)床Mi的耗能量;
[0118] WM--所有機(jī)床的總好耗能量;
[0119] i一一為大于0的正整數(shù)變量;
[0120] η--機(jī)床總量;
[0121 ] min(ff)一一兩個(gè)目標(biāo)函數(shù)的最終加權(quán)值;
[01 22] Ul、U2--兩個(gè)加權(quán)值,實(shí)際取值根據(jù)企業(yè)實(shí)際需要;
[0123] 步驟四:改進(jìn)教與學(xué)算法參數(shù)初始化:學(xué)生個(gè)數(shù)z、迭代次數(shù)B和優(yōu)化目標(biāo)權(quán)重Ui、U2 (必須滿足m+u2 = l);學(xué)生個(gè)數(shù)設(shè)z為15,即不影響算法的運(yùn)算速度,同時(shí)也保證了算法優(yōu)化 的精度;迭代次數(shù)B設(shè)為500;優(yōu)化目標(biāo)權(quán)重值根據(jù)加工清單和客戶緊迫度來動態(tài)調(diào)節(jié);
[0124] 步驟五:編碼;
[0125] 根據(jù)任務(wù)清單和機(jī)床運(yùn)行情況,確定待加工工件個(gè)數(shù)m和可用于加工機(jī)床個(gè)數(shù)η, 將工件按照1,2,…,η進(jìn)行編號,同理將機(jī)床按照1,2,…,m進(jìn)行編號,統(tǒng)計(jì)每個(gè)工件需要的 工序數(shù) (:1(16{1,2,3,一,11})。每個(gè)學(xué)生采用雙層結(jié)構(gòu)采用結(jié)構(gòu),第一層為工序?qū)?¥;.(_^第 二層為機(jī)器層。第一層的元素個(gè)數(shù)"= ,每個(gè)工件i出現(xiàn)的次數(shù)等于該工件的 工序數(shù)Ci,且所有出現(xiàn)次數(shù)均用i表示,工件i的工序?yàn)閿?shù)字i在工序?qū)映霈F(xiàn)的的次序確定, 若第一次出現(xiàn)則為工件i的第一道工序,根據(jù)工件的工序數(shù),隨機(jī)插入到第一層中,完成工 序的隨機(jī)安排。第二層根據(jù)第一層對應(yīng)的工件的工序,從滿足加工條件的機(jī)床中,隨機(jī)選取 一臺機(jī)床的編號放入該位置。
[0126] 步驟六:進(jìn)行算法的老師"教"階段;
[0127] 將學(xué)生X\j = l,2,3,...,15)帶入目標(biāo)函數(shù)公式中,分別求解WKWj為時(shí)間優(yōu)化和 能耗優(yōu)化后的綜合值,(j = l,2,3,.. .,15)),當(dāng)學(xué)生為Xi時(shí),Hiin(W)=Wi,取Xi作為X teacher; 當(dāng)學(xué)生為Xh時(shí),Wh最接近于mean(W),取Xh作為平均值Mean。
[0128] 其中:
[0129] Wj = ui(FM)j+U2(WM)j (14) 則
(15)
[0131] 具體"教"過程公式如下:
[0132] XL =^d+^.(Xteacto-TFj-Mean) (16)
[0133] Xih^PXLs.分別表示第j個(gè)調(diào)度方案優(yōu)化前后的參數(shù),即各個(gè)零件的加工安排,TF j 為教學(xué)因子<^」=1'〇11]1(1[1+抑11(1(0,1)]),;1^為學(xué)習(xí)步長(;1^ =抑11(1(0,1)),這兩個(gè)比較關(guān)鍵 的參數(shù)用于調(diào)整學(xué)習(xí)的速度。
[0134] 分別將經(jīng)過教過程生成的學(xué)生又^進(jìn)行離散化處理,輸出代替。
[0135] 步驟七:進(jìn)行算法的"學(xué)"過程;
[0136] 在學(xué)生的相互之間學(xué)過程中,每個(gè)調(diào)度方案乂11(11=1,2,3,...,15)隨機(jī)的從所有 的調(diào)度方案中選取一個(gè)學(xué)習(xí)對象X g(g=l,2,3, . . .,15其中h關(guān)g),Xh通過和Xg比較兩者之間 的差異,Xh進(jìn)行相應(yīng)的優(yōu)化調(diào)整,具體的學(xué)過程采用如下公式表示:
[0137] 當(dāng) ?·(ΧΗ)< f(Xg)時(shí) 二^" +r, .(ΧΛ -Zs) (17)
[0138] 當(dāng)以父">以父8)時(shí)尤二.二;^+/;_(;^-;^) (18)
[0139] 其中,rh表示第h個(gè)學(xué)生的學(xué)習(xí)步長,rh = rand(0,l),生成的新調(diào)度方案尤^伺樣 需要進(jìn)行離散,具體離散過程同上述教師"教"過程。
[0140] 步驟八:更新算法,若"學(xué)"過程產(chǎn)生的,new小于1_,則,new替換掉1_,同時(shí)將調(diào) 度方案X7替換X。將B進(jìn)行自加1,判斷B是否大于500,若大于500,則算法終止,進(jìn)行步驟九; 否則,跳轉(zhuǎn)至步驟六。
[0141] 步驟九:將生成的調(diào)度方案進(jìn)行解碼,根據(jù)編碼時(shí)對學(xué)生雙層的定義,進(jìn)行反編 譯,依次將工件的加工機(jī)床和加工順序表示出來。
[0142] 步驟十:輸出當(dāng)前靜態(tài)排產(chǎn)調(diào)度方案X,同時(shí)通過內(nèi)網(wǎng)將該方案上傳到車間顯示器 上,車間生產(chǎn)人員和管理人員進(jìn)行核實(shí),若有問題,則人工轉(zhuǎn)至步驟三進(jìn)行參數(shù)調(diào)整,重新 生成調(diào)度方案,保證調(diào)度方案的合理性,若無問題,則按此方案進(jìn)行加工。
[0143] 本發(fā)明搭建的離線調(diào)度優(yōu)化系統(tǒng)用于離線排產(chǎn)制造車間機(jī)床加工任務(wù),可以實(shí)現(xiàn) 制造車間生產(chǎn)的靜態(tài)排產(chǎn)與調(diào)度管理,能夠在較短的規(guī)定時(shí)間內(nèi),找到滿足要求的最好的 可行的調(diào)度方案。
【主權(quán)項(xiàng)】
1.基于教與學(xué)算法的離散制造車間靜態(tài)調(diào)度優(yōu)化系統(tǒng),其特征是,包括數(shù)據(jù)服務(wù)器、運(yùn) 算服務(wù)器、終端顯示屏, 所述數(shù)據(jù)服務(wù)器,收集制造車間機(jī)床的加工耗能、耗時(shí)和待機(jī)情況,實(shí)時(shí)統(tǒng)計(jì)車間的加 工情況,對車間的機(jī)床的生產(chǎn)耗能數(shù)據(jù)進(jìn)行實(shí)時(shí)跟蹤,同時(shí)對機(jī)床的加工情況和工人的出 勤情況進(jìn)行統(tǒng)計(jì); 所述運(yùn)算服務(wù)器中嵌入有調(diào)度優(yōu)化客戶端,調(diào)度優(yōu)化客戶端通過對加工任務(wù)的分析, W及參考數(shù)據(jù)服務(wù)器的各項(xiàng)詳細(xì)信息,對當(dāng)日加工任務(wù)通過優(yōu)化算法做一個(gè)合理的調(diào)度安 排,具體優(yōu)化算法采用教與學(xué)優(yōu)化算法,所述調(diào)度優(yōu)化客戶端的構(gòu)建方法如下: 步驟一、確定離散制造車間調(diào)度優(yōu)化的目標(biāo)函數(shù); W制造車間機(jī)床最大加工時(shí)間最小和總耗能最小為目標(biāo)函數(shù),采用加權(quán)的方法對兩個(gè) 目標(biāo)函數(shù)進(jìn)行融合,融合的值取最小時(shí),達(dá)到調(diào)度要求,即 FM=min(max(FMi)) (1)(2) min(W)=uiFM+U2WM (3) FMi--所有工件在機(jī)床Mi上的完工時(shí)間; FM一一所有工件的最后完工時(shí)間; wmi--所有工件在機(jī)床Mi的耗能量; WM一一所有機(jī)床的總耗能量; i一一為大于0的正整數(shù)變量; η--機(jī)床總量; min(W)-一兩個(gè)目標(biāo)函數(shù)的最終加權(quán)值; U1、U2--兩個(gè)加權(quán)值,根據(jù)企業(yè)實(shí)際需要取值; 進(jìn)行排產(chǎn)時(shí),調(diào)度優(yōu)化算法需要滿足W下約束條件: 1.1、 某道工序在某一時(shí)刻只能用同一臺機(jī)器進(jìn)行加工; 1.2、 某個(gè)工件的一道工序一旦開始加工,在該工序完成之前不能隨意終止; 1.3、 在零時(shí)刻所有工件的加工優(yōu)先級都相同; 1.4、 不同工件的各工序之間的加工順序優(yōu)先級相同,同一工件的各工序的加工必須按 照之前約定好的加工順序; 步驟二、采用改進(jìn)教與學(xué)優(yōu)化算法求解上述目標(biāo)函數(shù),具體求解過程包括: 步驟2.1、編碼:每個(gè)調(diào)度方案代表一個(gè)學(xué)生,學(xué)生的成績采用雙層設(shè)計(jì)的方式進(jìn)行定 義,第一層《定義為工序?qū)樱硎镜趇個(gè)零件的各個(gè)工序;第二層定義為機(jī)器層, 表示第i個(gè)零件的工序加工時(shí)的機(jī)器; 步驟2.2、參數(shù)初始化:根據(jù)機(jī)床的數(shù)量和零件的加工任務(wù)對教與學(xué)優(yōu)化算法中的學(xué)生 進(jìn)行初始化; 步驟2.3、基于改進(jìn)教與學(xué)算法進(jìn)行求解目標(biāo)函數(shù),輸出最優(yōu)調(diào)度方案; 所述改進(jìn)教與學(xué)算法的運(yùn)行過程包括老師的"教"過程、學(xué)生的"學(xué)"過程W及更新階 段; a、老師的"教"過程中,假定學(xué)生為打,兩個(gè)目標(biāo)函數(shù)的最終加權(quán)值定義為f(r), j = l,2,3,...,N,ie{l 2 3 4…N},N為學(xué)生總數(shù),選取min(f(Xi))的學(xué)生作為老師 Xteacher,選取最接近萬方]即f(X)的平均值的學(xué)生作為Mean值;"教"過程公式如下:(4) 其中,挪沛巧。、,分別表示第j個(gè)調(diào)度方案優(yōu)化前后的參數(shù),即各個(gè)零件的加工安排,TFj 為教學(xué)因子,η為學(xué)習(xí)步長,運(yùn)兩個(gè)參數(shù)用于調(diào)整學(xué)習(xí)的速度;此時(shí)經(jīng)過浮點(diǎn)型運(yùn)算得到的 調(diào)度方案會出現(xiàn)小數(shù)或者超過區(qū)間的數(shù),需要對Xiw進(jìn)行離散化,具體離散過程包括: a. 1、首先將工序?qū)雍蜋C(jī)器層的數(shù)字采用取整法,忽略小數(shù),然后將超過區(qū)間的數(shù)字自 動置零,與當(dāng)日調(diào)度任務(wù)清單對比,在工序?qū)訕?biāo)記多余工序的工件,取h、b、…、1。標(biāo)記工件 號,其中cep, P為待標(biāo)記的工件號集合,最后將標(biāo)記的工件根據(jù)多余工序的數(shù)量,隨機(jī)的從 該工件號中挑出同等多余數(shù)量置為零,同時(shí)機(jī)器層對應(yīng)的部分置零; a. 2、對置零的工件號進(jìn)行重安排,再次與調(diào)度任務(wù)清單對比,標(biāo)記工序量不夠的工件 號,按照工件的具體缺失數(shù),隨機(jī)生成一組調(diào)度方案,將該方案按照次序依次填充到工序?qū)?為零的位置,同時(shí)在機(jī)器層對應(yīng)的位置隨機(jī)填入符合加工要求的機(jī)器號; a. 3、將第一次生成的調(diào)度方案作為初始方案,進(jìn)行局部迭代,設(shè)置迭代次數(shù),跳轉(zhuǎn)至 a. 2,若生成的調(diào)度方案優(yōu)于初始方案,則將此次調(diào)度方案設(shè)為初始調(diào)度方案,直至迭代次 數(shù)滿足,則輸出調(diào)度方案; b、 學(xué)生的"學(xué)"過程中,每個(gè)調(diào)度方案Xh隨機(jī)的從所有的調(diào)度方案中選取一個(gè)學(xué)習(xí)對象 Xg,h = l,2,3, . . .,N;g = l,2,3, . . .,N;其中h辛g;Xh通過和XS比較兩者之間的差異,xh進(jìn)行 相應(yīng)的優(yōu)化調(diào)整,"學(xué)"過程采用如下公式表示:其中,rh表示第h個(gè)學(xué)生的學(xué)習(xí)步長,生成的新調(diào)度方案Atw也需要進(jìn)行離散,具體離散 過程同老師的"教"過程中所述離散過程; C、更新階段是指經(jīng)過"學(xué)"過程之后,生成的調(diào)度方案需要更新優(yōu)化,更新方法如下:其中,學(xué)生(1Ε{1,2,3,···,Ν}; 所述調(diào)度優(yōu)化客戶端將生成的調(diào)度方案進(jìn)行解碼,根據(jù)編碼時(shí)對學(xué)生雙層的定義,進(jìn) 行反編譯,依次將工件的加工機(jī)床和加工順序表示出來;最終,將優(yōu)化過的調(diào)度方案顯示到 終端顯示屏上,使車間生產(chǎn)人員W及管理人員能夠?qū)崟r(shí)的了解當(dāng)前具體的加工任務(wù)安排情 況。2. 如權(quán)利要求1所述的基于教與學(xué)算法的離散制造車間靜態(tài)調(diào)度優(yōu)化系統(tǒng),其特征是, 老師的"教"過程中,所述教學(xué)因子Τ門=round [ 1 +rand (0,1) ],rand (0,1)表示從0到1中隨 機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù),round表示四舍五入函數(shù),從而滿足取到的值為整數(shù),學(xué)習(xí)步長ri = rand(0,1)〇3. 如權(quán)利要求1所述的基于教與學(xué)算法的離散制造車間靜態(tài)調(diào)度優(yōu)化系統(tǒng),其特征是, 學(xué)生的"學(xué)"過程中,所述第h個(gè)學(xué)生的學(xué)習(xí)步長^ = ^11(1(0,1)前11(1(0,1)表示從0到1中隨 機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù)。
【文檔編號】G05B19/418GK105843197SQ201610355967
【公開日】2016年8月10日
【申請日】2016年5月26日
【發(fā)明人】王艷, 徐軍輝, 紀(jì)志成, 陳彥
【申請人】江南大學(xué)