李方娟,趙玉佳,趙君嫦,孟祥麗,郭 強,孟繁欽
(1. 牡丹江醫(yī)學院藥學院,黑龍江 牡丹江 157011;2. 牡丹江醫(yī)學院紅旗醫(yī)院,黑龍江 牡丹江 157011)
3D打印技術(shù)是以三維數(shù)字模型為基礎(chǔ),運用粉末狀金屬或其它可粘合材料,通過逐層打印的方式來構(gòu)造物體的技術(shù)。3D 打印技術(shù)是快速成型制造的一種,近幾年來,3D打印技術(shù)作為一項前沿性的先進制造技術(shù),在工業(yè)制造、醫(yī)學、建筑、航天科技、文化藝術(shù)等領(lǐng)域得到了廣泛的應(yīng)用和研究[1]。
3D 打印工藝過程包括臺面清理、預(yù)熱、打印、取件等步驟,打印是整個工藝過程的核心環(huán)節(jié),在工業(yè)化 3D 打印中,當同時打印多個工件時,為縮短工件的加工時間,提高生產(chǎn)效率,通常將多個零件排布于打印機臺面內(nèi)同時打印,即一個批次打印出多個零件,如一個批次無法完成全部零件的打印,就需要安排多個打印批次進行打印。由于工業(yè)級3D打印設(shè)備價格昂貴且 3D 打印一般耗時較長,因此,對打印工件進行合理的排樣,對縮短打印時間、提高生產(chǎn)效率起著決定性的作用。
規(guī)劃各個打印工件的排樣問題是一個復雜的多約束優(yōu)化問題,因此,尋找實用性強,求解質(zhì)量穩(wěn)定、易于實現(xiàn)的算法是我們解決這一問題所追求的目標。人工神經(jīng)網(wǎng)絡(luò)具有聯(lián)想存儲、自學習和高速尋找優(yōu)化解的能力,利用人工神經(jīng)網(wǎng)絡(luò)求解優(yōu)化排樣問題是一個重要的研究領(lǐng)域。因此本文采用Hopfield人工神經(jīng)網(wǎng)絡(luò)算法對 3D打印工件進行規(guī)劃排樣,以達到求解速度快,縮短工件加工時間的目的[2]。
在工業(yè)化 3D打印過程中,通常是分批次打印的,每個打印批次排布多個工件,因此,對工件進行合理的排樣至關(guān)重要。由于 3D 打印是逐層進行打印的,在同一批次工件打印中,即使高度小的零件早已打印完畢,也只能等到該批次中高度最大的零件打印完成后才能一起取出,這就造成了工件加工時間的延遲。因此,要想縮短整個批次打印時間,必須保證同一打印批次內(nèi)打印零件的高度差最小。
設(shè)第N個打印批次內(nèi)有m個工件進行打印,m個工件的高度分別為h1,h2,…,hj,…,hm,其中工件的最大高度為 hmax,要使零件打印所需時間最短,應(yīng)該滿足如下條件:
Hopfield人工神經(jīng)網(wǎng)絡(luò)(HNN)是由若干基本神經(jīng)元構(gòu)成的一個單層全互連神經(jīng)網(wǎng)絡(luò),任意兩個神經(jīng)元之間都有連接,是一種對稱連接結(jié)構(gòu)。連續(xù)型Hopfield神經(jīng)網(wǎng)絡(luò)(CHNN)模型如圖1所示。
圖1 連續(xù)型Hopfield神經(jīng)網(wǎng)絡(luò)(CHNN)模型Fig.1 Continuous hopfield neural network (CHNN) model
在CHNN中,Hopfield用能量函數(shù)的思想完成優(yōu)化問題的求解,把待優(yōu)化問題的目標函數(shù)轉(zhuǎn)換為網(wǎng)絡(luò)的能量函數(shù),通過網(wǎng)絡(luò)運行時能量函數(shù)自動最小化而得到問題的最優(yōu)解,從而找到了求解優(yōu)化問題的新方法[3]。
對于連續(xù)的Hopfield神經(jīng)網(wǎng)絡(luò)模型,其能量函數(shù)定義如下:
神經(jīng)元的連續(xù)變化可以在[0,1]之間取值。
將排樣問題映射到人工神經(jīng)網(wǎng)絡(luò):首先把排樣問題映射在一組神經(jīng)網(wǎng)絡(luò)的特定組態(tài)上,此組態(tài)相應(yīng)于排樣問題的可能解,然后構(gòu)造一個適合于優(yōu)化問題的能量函數(shù)E,此E正比于優(yōu)化問題的代價函數(shù)。所選的評價函數(shù)的好壞直接影響排樣的效率和結(jié)果。本文采用的評價函數(shù)保證每組排樣零件高度差最小,評價函數(shù)越小,則對應(yīng)的方案越好。
為了驗證其有效性,在排樣之前制定了如下規(guī)則:
本文針對3D打印工件進行建模。假定有M個零件,將其分成N組(即N個打印批次),則網(wǎng)絡(luò)使用MXN個神經(jīng)元,將這些神經(jīng)元按照M行N列排列。當網(wǎng)絡(luò)達到穩(wěn)定狀態(tài)時,要求滿足如下條件:
(1)一個樣件只排一次,且屬于固定的一組,即每行只有一個“1”,其余元素為“0”。
(2)每組中可以有不定數(shù)目樣件用于排樣。即每列有不定數(shù)目的輸出為“1”,其余元素為“0”。
(3)共有M個零件,則所有MXN個神經(jīng)元中輸出為“1”的個數(shù)為M個。
針對以上問題建立排樣問題的能量函數(shù):
式中:A、B、C——正系數(shù);maxih ——每組中排樣件的最大高度;ih——排樣件的高度;xiV ——第X行第I列的神經(jīng)元輸出即排樣對象被分到標號為x的組中。
其神經(jīng)元之間的權(quán)值如下:
式中:
利用人工神經(jīng)網(wǎng)絡(luò)求解優(yōu)化問題的一般過程如下:
(1)構(gòu)造神經(jīng)網(wǎng)絡(luò)的能量函數(shù),使其最小值對應(yīng)于求解優(yōu)化問題的最優(yōu)解。
(2)由能量函數(shù)逆推神經(jīng)元網(wǎng)絡(luò)的結(jié)構(gòu),即神經(jīng)元之間的權(quán)值輸入。
(3)計算能量函數(shù),穩(wěn)定狀態(tài)即為一定條件下問題的最優(yōu)解。
(4)編寫程序,用計算機仿真軟件求解。
上述過程的程序流程如圖2所示。
圖2 神經(jīng)網(wǎng)絡(luò)優(yōu)化排樣流程圖Fig.2 Neural network optimization flow chart
本次實驗使用MATLAB語言,在MATLAB中,Hopfield網(wǎng)絡(luò)的設(shè)計采用工具箱函數(shù)solvehop( )。程序的初始化參數(shù)根據(jù)經(jīng)驗選取為:A=200,B=C=500,u0=0.02,Ri=1,Ci=1。整個計算過程是一個迭代過程,每迭代完1次,檢查相鄰網(wǎng)絡(luò)狀態(tài)的網(wǎng)絡(luò)能量改變值是否小于很小的值(程序中設(shè)為le-10),如果小于這個設(shè)定值,可視為網(wǎng)絡(luò)達到極小點,此時網(wǎng)絡(luò)處于穩(wěn)定狀態(tài),網(wǎng)絡(luò)運算結(jié)束。
排樣結(jié)果在輸出前建立如下規(guī)則:以被打印工件在水平面投影的最小包絡(luò)矩形作為輸出值,將打印工件在三維空間的排布問題轉(zhuǎn)化為二維圖形輸出。排樣結(jié)果的輸出顯示如果計算次數(shù)大于預(yù)先指定的次數(shù)時仍然沒有收斂,則重新計算結(jié)果。
以20個3D打印工件為例,通過算法的輸入,用二維圖形表示輸出結(jié)果,打印圖形輸出結(jié)果如圖3所示。
本文采用連續(xù)型 Hopfield神經(jīng)網(wǎng)絡(luò)解決了 3D打印工件批次排樣問題,縮短了工件的打印時間,提高了工件加工的生產(chǎn)效率,Hopfield神經(jīng)網(wǎng)絡(luò)具有運算效率高、求解質(zhì)量穩(wěn)定、可靠性強等優(yōu)點。實例驗證結(jié)果表明,人工神經(jīng)網(wǎng)絡(luò)算法用于排樣問題的研究是一個前沿的研究領(lǐng)域。
圖3 3D打印圖形的二維輸出Fig.3 2D output of 3D printed drawings