李方娟,趙玉佳,趙君嫦,孟祥麗,郭 強,孟繁欽
(1. 牡丹江醫學院藥學院,黑龍江 牡丹江 157011;2. 牡丹江醫學院紅旗醫院,黑龍江 牡丹江 157011)
3D打印技術是以三維數字模型為基礎,運用粉末狀金屬或其它可粘合材料,通過逐層打印的方式來構造物體的技術。3D 打印技術是快速成型制造的一種,近幾年來,3D打印技術作為一項前沿性的先進制造技術,在工業制造、醫學、建筑、航天科技、文化藝術等領域得到了廣泛的應用和研究[1]。
3D 打印工藝過程包括臺面清理、預熱、打印、取件等步驟,打印是整個工藝過程的核心環節,在工業化 3D 打印中,當同時打印多個工件時,為縮短工件的加工時間,提高生產效率,通常將多個零件排布于打印機臺面內同時打印,即一個批次打印出多個零件,如一個批次無法完成全部零件的打印,就需要安排多個打印批次進行打印。由于工業級3D打印設備價格昂貴且 3D 打印一般耗時較長,因此,對打印工件進行合理的排樣,對縮短打印時間、提高生產效率起著決定性的作用。
規劃各個打印工件的排樣問題是一個復雜的多約束優化問題,因此,尋找實用性強,求解質量穩定、易于實現的算法是我們解決這一問題所追求的目標。人工神經網絡具有聯想存儲、自學習和高速尋找優化解的能力,利用人工神經網絡求解優化排樣問題是一個重要的研究領域。因此本文采用Hopfield人工神經網絡算法對 3D打印工件進行規劃排樣,以達到求解速度快,縮短工件加工時間的目的[2]。
在工業化 3D打印過程中,通常是分批次打印的,每個打印批次排布多個工件,因此,對工件進行合理的排樣至關重要。由于 3D 打印是逐層進行打印的,在同一批次工件打印中,即使高度小的零件早已打印完畢,也只能等到該批次中高度最大的零件打印完成后才能一起取出,這就造成了工件加工時間的延遲。因此,要想縮短整個批次打印時間,必須保證同一打印批次內打印零件的高度差最小。
設第N個打印批次內有m個工件進行打印,m個工件的高度分別為h1,h2,…,hj,…,hm,其中工件的最大高度為 hmax,要使零件打印所需時間最短,應該滿足如下條件:

Hopfield人工神經網絡(HNN)是由若干基本神經元構成的一個單層全互連神經網絡,任意兩個神經元之間都有連接,是一種對稱連接結構。連續型Hopfield神經網絡(CHNN)模型如圖1所示。

圖1 連續型Hopfield神經網絡(CHNN)模型Fig.1 Continuous hopfield neural network (CHNN) model
在CHNN中,Hopfield用能量函數的思想完成優化問題的求解,把待優化問題的目標函數轉換為網絡的能量函數,通過網絡運行時能量函數自動最小化而得到問題的最優解,從而找到了求解優化問題的新方法[3]。
對于連續的Hopfield神經網絡模型,其能量函數定義如下:

神經元的連續變化可以在[0,1]之間取值。
將排樣問題映射到人工神經網絡:首先把排樣問題映射在一組神經網絡的特定組態上,此組態相應于排樣問題的可能解,然后構造一個適合于優化問題的能量函數E,此E正比于優化問題的代價函數。所選的評價函數的好壞直接影響排樣的效率和結果。本文采用的評價函數保證每組排樣零件高度差最小,評價函數越小,則對應的方案越好。
為了驗證其有效性,在排樣之前制定了如下規則:
本文針對3D打印工件進行建模。假定有M個零件,將其分成N組(即N個打印批次),則網絡使用MXN個神經元,將這些神經元按照M行N列排列。當網絡達到穩定狀態時,要求滿足如下條件:
(1)一個樣件只排一次,且屬于固定的一組,即每行只有一個“1”,其余元素為“0”。
(2)每組中可以有不定數目樣件用于排樣。即每列有不定數目的輸出為“1”,其余元素為“0”。
(3)共有M個零件,則所有MXN個神經元中輸出為“1”的個數為M個。
針對以上問題建立排樣問題的能量函數:

式中:A、B、C——正系數;maxih ——每組中排樣件的最大高度;ih——排樣件的高度;xiV ——第X行第I列的神經元輸出即排樣對象被分到標號為x的組中。
其神經元之間的權值如下:

式中:

利用人工神經網絡求解優化問題的一般過程如下:
(1)構造神經網絡的能量函數,使其最小值對應于求解優化問題的最優解。
(2)由能量函數逆推神經元網絡的結構,即神經元之間的權值輸入。
(3)計算能量函數,穩定狀態即為一定條件下問題的最優解。
(4)編寫程序,用計算機仿真軟件求解。
上述過程的程序流程如圖2所示。

圖2 神經網絡優化排樣流程圖Fig.2 Neural network optimization flow chart
本次實驗使用MATLAB語言,在MATLAB中,Hopfield網絡的設計采用工具箱函數solvehop( )。程序的初始化參數根據經驗選取為:A=200,B=C=500,u0=0.02,Ri=1,Ci=1。整個計算過程是一個迭代過程,每迭代完1次,檢查相鄰網絡狀態的網絡能量改變值是否小于很小的值(程序中設為le-10),如果小于這個設定值,可視為網絡達到極小點,此時網絡處于穩定狀態,網絡運算結束。
排樣結果在輸出前建立如下規則:以被打印工件在水平面投影的最小包絡矩形作為輸出值,將打印工件在三維空間的排布問題轉化為二維圖形輸出。排樣結果的輸出顯示如果計算次數大于預先指定的次數時仍然沒有收斂,則重新計算結果。
以20個3D打印工件為例,通過算法的輸入,用二維圖形表示輸出結果,打印圖形輸出結果如圖3所示。
本文采用連續型 Hopfield神經網絡解決了 3D打印工件批次排樣問題,縮短了工件的打印時間,提高了工件加工的生產效率,Hopfield神經網絡具有運算效率高、求解質量穩定、可靠性強等優點。實例驗證結果表明,人工神經網絡算法用于排樣問題的研究是一個前沿的研究領域。

圖3 3D打印圖形的二維輸出Fig.3 2D output of 3D printed drawings