本發(fā)明涉及一種預(yù)測方法,尤其是一種基于模擬退火算法的人機焊接工時預(yù)測方法。
背景技術(shù):
在流量儀表智能生產(chǎn)線中,由于流量儀表中涉及的部件繁多,且工藝要求精細(xì),因此,有些工序直接由MES(Manufacturing Execution System,制造執(zhí)行系統(tǒng))控制機械臂焊接,而有的工序則由人工焊接。但由于各種流量儀表的口徑規(guī)格大小不同,因此,需要根據(jù)各自的口徑規(guī)格匹配不同的焊接操作方式,并且不同作業(yè)人員所需的焊接工時不同,也即是說,流量儀表的口徑大小、機械臂焊接工時和人工焊接工時都將影響到流量儀表整個智能生產(chǎn)線的整體工時,因此,目前亟需一種能夠統(tǒng)籌全局,能夠通過預(yù)測人工焊接工時,從而定向調(diào)配相應(yīng)工序作業(yè)人員數(shù)量,進(jìn)而使得該流量儀表智能生產(chǎn)線的資源效益最大化的方法,即能夠?qū)崿F(xiàn)高效的人員調(diào)度。
技術(shù)實現(xiàn)要素:
針對上述存在的技術(shù)問題,本發(fā)明提供一種基于模擬退火算法的人機焊接工時預(yù)測方法,其能夠預(yù)測人機焊接工時,從而為系統(tǒng)定向調(diào)配相應(yīng)工序作業(yè)人員數(shù)量提供參考,使得該流量儀表智能生產(chǎn)線的資源效益最大化。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
一種基于模擬退火算法的人機焊接工時預(yù)測方法,其包括步驟:
基于人機焊接工藝歷史工時數(shù)據(jù)建立不同口徑規(guī)格流量儀表不同等級作業(yè)人員的歷史焊接工時數(shù)據(jù)庫;
結(jié)合模擬退火算法對歷史焊接工時數(shù)據(jù)進(jìn)行訓(xùn)練,并進(jìn)行聚類分析,得到基于流量儀表口徑規(guī)格聚類的不同等級作業(yè)人員的平均工時矩陣;
根據(jù)被預(yù)測流量儀表的實時焊接工時數(shù)據(jù)來修正模擬退火算法預(yù)測的平均工時矩陣,得到所述被預(yù)測流量儀表的最優(yōu)焊接工時。
進(jìn)一步地,所述采用模擬退火算法對歷史人工焊接工藝工時數(shù)據(jù)進(jìn)行訓(xùn)練,并進(jìn)行聚類,得到基于儀表口徑規(guī)格聚類的不同等級作業(yè)人員的平均工時矩陣的步驟,具體包括步驟:
以歐式距離作為相似度建立適應(yīng)性函數(shù)模型:其中,為第j個樣本點,為第i類的聚類中心,K為歷史焊接工時數(shù)據(jù)中聚類中心數(shù),N為全部樣本數(shù)目,dji(t)表示從當(dāng)前解的領(lǐng)域N中隨即選取解后,接受的退火懲罰因子;
根據(jù)歷史焊接工時數(shù)據(jù)庫中的數(shù)據(jù)作為原始的樣本數(shù)據(jù),結(jié)合模擬退火算法計算最優(yōu)聚類,并根據(jù)模擬退火算法的最優(yōu)聚類結(jié)果得到基于不同口徑規(guī)格聚類的作業(yè)人員間的平均工時矩陣。
其中,所述退火懲罰因子的取值為:
其中,ΔJ是狀態(tài)和的目標(biāo)差,即t為當(dāng)前的溫度,為第i類初始聚類中心向量,wij為第i類初始聚類中心量第j維的元素。
進(jìn)一步地,所述結(jié)合模擬退火算法計算最優(yōu)聚類的步驟,具體包括步驟:
初始化控制參數(shù):給定聚類類別數(shù)K和迭代允許誤差ε,令迭代初始值k=1;
從歷史焊接工時數(shù)據(jù)庫中隨機選取一個初始的聚類中心并令
按照下式修正退火懲罰因子dji(i=1,2,···,K,j=1,2···,N):
按照下式修正聚類中心
計算誤差并判斷誤差e是否滿足終止條件,若滿足終止條件,則模擬退火算法結(jié)束,為最優(yōu)聚類;
若誤差e不滿足終止條件,則判斷是否達(dá)到迭代次數(shù)閾值,若沒有達(dá)到迭代次數(shù)閾值,則令k=k+1,并重新計算退火懲罰因子,然后根據(jù)重新計算的退火懲罰因子重新修正聚類中心和誤差e直至滿足終止條件,若達(dá)到迭代次數(shù)閾值,則令ti+1=λ·ti,并重新計算聚類中心和誤差直至滿足終止條件。
本發(fā)明的有益之處在于:
本發(fā)明的預(yù)測方法通過歷史工時數(shù)據(jù)進(jìn)行聚類分析預(yù)處理,用歐式距離作為相似性量度的方法選取出與待預(yù)測儀表的口徑參數(shù)具有相似性的歷史工時數(shù)據(jù),作為預(yù)測模型建模用的訓(xùn)練樣本,利用這些聚類后的相似樣本經(jīng)過訓(xùn)練后得到基于聚類分析的工時預(yù)測模型,將待預(yù)測儀表的口徑規(guī)格和作業(yè)人員的等級作為的輸入?yún)?shù),工時作為輸出,從而得到待預(yù)測儀表的預(yù)測工時。
附圖說明
圖1為本發(fā)明的一種基于模擬退火算法的人機焊接工時預(yù)測方法的一實施例的流程圖;
圖2為本發(fā)明的一種基于模擬退火算法的人機焊接工時預(yù)測方法中計算最優(yōu)聚類的一實施例的流程圖。
具體實施方式
下面結(jié)合附圖,對本發(fā)明作詳細(xì)的說明。
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明的預(yù)測方法通過對MES(Manufacturing Execution System,M ES)系統(tǒng)中記錄的歷史工時數(shù)據(jù)進(jìn)行聚類分析預(yù)處理,并結(jié)合模擬退火算法進(jìn)行預(yù)測,從而得到最有焊接工時,僅為為調(diào)配對應(yīng)工序的作業(yè)人員數(shù)量提供參考,同時也能夠提高人員調(diào)配的正確性。
參見圖1,為本發(fā)明的一種基于模擬退火算法的人機焊接工時預(yù)測方法的一實施例的流程圖,具體地,本實施例中該預(yù)測方法包括步驟:
S101,基于人機焊接工藝歷史工時數(shù)據(jù)建立不同口徑規(guī)格流量儀表不同等級作業(yè)人員的歷史焊接工時數(shù)據(jù)庫。
由于流量儀表的口徑規(guī)格、機械臂焊接工時和人工焊接工時都是影響流量儀表整個智能生產(chǎn)線的整體人機工時的主要素,因此,MES系統(tǒng)會實時記錄并存儲所有口徑規(guī)格的流量儀表各自對應(yīng)不同等級作業(yè)人員時,分別所需的歷史人工工時和歷史機械臂工時,然后根據(jù)這些歷史數(shù)據(jù)建立不同口徑規(guī)格流量儀表對應(yīng)于不同等級作業(yè)人員的歷史焊接工時數(shù)據(jù)庫。
本實施例中,上述的作業(yè)人員的等級是根據(jù)作業(yè)人員對焊接工藝操作的熟練程度來劃分的,例如對焊接工藝操作最熟悉的作業(yè)人員其對應(yīng)的等級最高。
S103,結(jié)合模擬退火算法對歷史焊接工時數(shù)據(jù)進(jìn)行訓(xùn)練,并進(jìn)行聚類分析,得到基于流量儀表口徑規(guī)格聚類的不同等級作業(yè)人員的平均工時矩陣。
在一具體實施例中,該步驟S103具體包括步驟:
I,以歐式距離作為相似度測度建立最優(yōu)數(shù)學(xué)模型,適應(yīng)性函數(shù)選取誤差誤差平方和作為目標(biāo)函數(shù):
本實施例中,為第j個樣本點,為第i類的聚類中心,K為歷史焊接工時數(shù)據(jù)中聚類中心數(shù),N為全部樣本數(shù)目,dji(t)表示從當(dāng)前解的領(lǐng)域N中隨即選取解后,接受的退火懲罰因子。
其中,火懲罰因子的取值為:
其中,ΔJ是狀態(tài)和的目標(biāo)差,即t為當(dāng)前的溫度,為第i類初始聚類中心向量,wij為第i類初始聚類中心量第j維的元素。
II,根據(jù)歷史焊接工時數(shù)據(jù)庫中的歷史焊接工時數(shù)據(jù)作為原始的樣本數(shù)據(jù),結(jié)合模擬退火算法計算最優(yōu)聚類,并根據(jù)模擬退火算法的最優(yōu)聚類結(jié)果得到基于不同口徑規(guī)格聚類的作業(yè)人員間的平均工時矩陣。
本實施例中,合模擬退火算法計算最優(yōu)聚類的步驟,具體包括步驟:
初始化控制參數(shù):給定聚類類別數(shù)K和迭代允許誤差ε;
從歷史焊接工時數(shù)據(jù)庫中隨機選取一個初始的聚類中心令其中,i=1,2,···,K;
令迭代初始值k=1;
按照下式修正退火懲罰因子dji(i=1,2,···,K,j=1,2···,N):
按照下式修正聚類中心i=i=1,2,···,K
計算誤差并判斷誤差是否滿足終止條件,即判斷誤差是否滿足e<ε,若滿足,則模擬退火算法結(jié)束,為最優(yōu)聚類;
若不滿足,則判斷是否達(dá)到預(yù)設(shè)的迭代次數(shù),即判斷k是否滿足k<N-1,若是,則重置k,即令k=k+1,并重新計算退火懲罰因子,然后根據(jù)重新計算的退火懲罰因子重新修正聚類中心,然后計算誤差e,并判斷是否滿足終止條件,若滿足算法結(jié)束若不滿足,則繼續(xù)重置k重新計算誤差,如此循環(huán)直至滿足終止條件,即e<ε;若達(dá)到了迭代次數(shù),即k=N-1時,則令ti+1=λ·ti,并重新計算聚類中心和誤差,如此循環(huán)直至滿足終止條件,即e<ε。
S105,根據(jù)實時焊接工時數(shù)據(jù)來修正模擬退火算法預(yù)測的平均工時矩陣,得到該被預(yù)測流量儀表的最優(yōu)焊接工時。
在一具體實施例中,該步驟S105具體包括步驟:
I,獲取當(dāng)前進(jìn)入焊接工序的被預(yù)測流量儀表的口徑規(guī)格D,以及該被預(yù)測流量儀表當(dāng)前對應(yīng)的當(dāng)前作業(yè)人員的等級S。
II,根據(jù)該被預(yù)測流量儀表的口徑規(guī)格D和該當(dāng)前作業(yè)人員的等級S,結(jié)合上述的平均工時矩陣計算得到人工焊接工時計算時間T0C和機械臂焊接工時計算時間T1C。
III,根據(jù)該人工焊接工時計算時間T0C和機械臂焊接工時計算時間T1C計算被預(yù)測流量儀表的人機焊接預(yù)測工時Tf。
在一具體實施例中,一般流量儀表都是成批成批的送入一條生產(chǎn)線中進(jìn)行焊接,而每個批次中的流量儀表的口徑規(guī)格相同,但在生產(chǎn)過程中:同一條生產(chǎn)線中存在工件批次更換或者工件混亂的情況,此時就可能使得當(dāng)前被預(yù)測流量儀表可能與上一次加工的流量儀表的口徑規(guī)格不同;另一方面,當(dāng)作業(yè)人員之間進(jìn)行換班時,使得同一生產(chǎn)線中同一批次的工件將面對不同等級的作業(yè)人員,因此,需要針對上述的兩種情況,分別進(jìn)行修正,具體地,
當(dāng)出現(xiàn)批次更換或者工件混亂,但作業(yè)人員不變時,該步驟III具體包括:
A1,判斷該被預(yù)測流量儀表的口徑規(guī)格D與該當(dāng)前作業(yè)人員上一次所焊接的流量儀表的口徑規(guī)格是否相同,若口徑規(guī)則不相同,則執(zhí)行步驟B1,若口徑規(guī)格相同,則執(zhí)行步驟C1。
本實施例中,該當(dāng)前作業(yè)人員上一次所焊接的流量儀表是指該當(dāng)前作業(yè)人員焊接該被預(yù)測流量儀表之前最后一次所焊接的流量儀表,系統(tǒng)中記錄有該流量儀表的口徑規(guī)格數(shù)據(jù),以及其人機焊接工時。
B1,根據(jù)該當(dāng)前作業(yè)人員的等級S從歷史數(shù)據(jù)庫中獲取與該當(dāng)前作業(yè)人員同等級的作業(yè)人員上一次焊接的流量儀表(該流量儀表與被預(yù)測流量儀表的口徑規(guī)格不同)時所需的平均焊接工時TH,以及實際操作完成的焊接工時TA,并根據(jù)該當(dāng)前作業(yè)人員的焊接工時計算時間T0C和該同等級作業(yè)人員的實際焊接工時TA計算該當(dāng)前作業(yè)人員的預(yù)測焊接工時T0f。
本實施例中,該步驟B1具體地包括步驟:計算該同等級作業(yè)人員(與該當(dāng)前作業(yè)人員同等級的作業(yè)人員)的操作比率,即γ=TH/TA,然后根據(jù)該操作比率對當(dāng)前作業(yè)人員的人工焊接工時計算時間T0C進(jìn)行修改,得到當(dāng)前作業(yè)人員的預(yù)測焊接工時:T0f=T0C/γ。C1,對當(dāng)前作業(yè)人員的焊接工時計算時間T0C和機械臂焊接工時計算時間T1C求和,得到所述被預(yù)測流量儀表的人機焊接預(yù)測工時Tf=T0C+T1C。
D1,對上述步驟B1的焊接預(yù)測工時T0f和機械臂焊接工時計算時間T1C進(jìn)行求和,得到被預(yù)測流量儀表的人機焊接預(yù)測工時Tf=T0f+T1C。
當(dāng)作業(yè)人員等級變化,但流量儀表口徑規(guī)格不變時,該步驟III具體包括:
A2,判斷當(dāng)前作業(yè)人員的等級S與上一次焊接與該被預(yù)測流量儀表同種口徑規(guī)格的流量儀表的作業(yè)人員等級S'是否相同,若等級不相同,則執(zhí)行步驟B2,若等級相同,則執(zhí)行步驟C2。
B2,獲取上次焊接時作業(yè)人員(等級為S')的平均工時T′H和實際焊接工時TA',并根據(jù)當(dāng)前作業(yè)人員的焊接工時計算時間T0C與上次焊接作業(yè)人員的實際焊接工時T′AA計算當(dāng)前作業(yè)人員的焊接預(yù)測工時T0f。
本實施例中,該步驟B2具體包括步驟:計算上一作業(yè)人員(與當(dāng)前作業(yè)人員的等級不同)的操作比率γ=TH/TA;根據(jù)該操作比率修正該當(dāng)前作業(yè)人員的人工焊接工時計算時間T0c,得到該當(dāng)前作業(yè)人員的人工焊接預(yù)測工時:T0f=T0C/γ×(1+α),其中,α表示作業(yè)人員等級的更換,α∈[-1,1],具體地,當(dāng)當(dāng)前作業(yè)人員的等級比上一次實際操作的作業(yè)人員的等級低時,則α為負(fù)值,當(dāng)當(dāng)前作業(yè)人員的等級比上一次實際操作的作業(yè)人員的等級高時,則α為正值。
C2,對當(dāng)前作業(yè)人員的焊接工時計算時間T0C和機械臂焊接工時計算時間T1C求和,得到被預(yù)測流量儀表的人機焊接預(yù)測工時Tf=T0C+T1C。
D2,對上述的焊接預(yù)測工時T0f和機械臂焊接焊接工時計算時間T1C進(jìn)行求和,得到被預(yù)測流量儀表的人機焊接預(yù)測工時Tf=T0f+T1C。
當(dāng)然,也可能存在口徑規(guī)格換的同時作業(yè)人員等級也更換的情況,因此,可將上述兩種方式相結(jié)合,即先判斷當(dāng)前作業(yè)人員的等級與上一次焊接與被預(yù)測流量儀表同種口徑規(guī)格的流量儀表的作業(yè)人員等級是否相同,若等級不相同,處理方式與上述過程相同,若等級相同,則再判斷該被預(yù)測流量儀表的口徑規(guī)格與該當(dāng)前作業(yè)人員上一次所焊接的流量儀表的口徑規(guī)格是否相同,若口徑規(guī)格不相同,處理方式與上述過程相同,最后,根據(jù)上述的焊接預(yù)測工時和機械臂焊接的平均工時計算得到被預(yù)測流量儀表的人機焊接預(yù)測工時,即人工焊接的預(yù)測工時和機器焊接的平均工時的總和。
本實施例中,由于人機焊接工藝由人工焊接和機器焊接共同組成,因此人機焊接工時包括了人工焊接工時和機器焊接工時,其中,由于作業(yè)人員的認(rèn)為因素使得其等級不同,并且即使其等級確定也可能受其它因素的干擾,其實際操作時間會與根據(jù)人機焊接工時矩陣中計算得到人工焊接工時計算時間不同,而機械臂是由系統(tǒng)精確控制的,故其操作速度的變化性不大,有鑒于此,在進(jìn)行預(yù)測時,需要當(dāng)對當(dāng)前作業(yè)人員的人工焊接工時計算時間T0C進(jìn)行修正,再根據(jù)其和機械臂的焊接工時計算時間計算人機焊接最優(yōu)預(yù)測工時。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。