馬 耀,王國棟,劉國華
(東華大學 計算機科學與技術學院,上海 201610)
以工業互聯網為技術支撐的中國制造2025具備支撐大規模個性化定制的能力,同時大規模個性化定制意味著生產商與客戶產生更多的交流,生產商從單純的生產產品轉為獲取并滿足客戶需求,客戶則從購買有限范圍內的產品轉為參與產品設計。工業互聯網的應用將幫助生產商更好地根據需求調整供應,降低生產成本,減少生產商資源消耗并增強競爭力。
客戶也更希望產品能夠滿足個人需求,通過直接參與產品設計過程定制滿意的產品[1]。在這種模式中,客戶與生產商交流需求,直接參與產品設計是個性化定制與傳統生產模式的重要區別[2]。有客戶參與的設計過程能夠使個性化設計更符合客戶需求,但也給為個性化定制需求帶來更多的不確定性。客戶通常不具備相應的專業設計知識,而且個性化定制需求各不相同;另一方面,生產商生產能力存在差異。在此場景下,如何調整客戶與生產商之間的匹配關系成為提升效率的關鍵。
個性化定制產品設計的研究集中于個性化定制需求的表示。模塊化的設計模式、標準化需求和配置優化策略是當前關注的主要方向,并已在汽車、家具、服裝和餐飲等行業進行實踐[3-4]。在服裝設計[5-6]和家具[7]個性化定制的方法中,目標產品采用模塊化設計方式來處理需求,通過設計系統向客戶展示設計結果,同時獲取生產商可以使用的結構化或者半結構化特征需求。這些研究中需求的規范化描述多采用謂詞邏輯形式[8]。
在需求評估的研究中通常采用模糊數學的方法計算客戶在生產商中的滿意度,將客戶滿意度作為評價指標選擇滿足客戶需求的最佳生產配置方案。質量功能展開(Quality Functional Deployment,QFD)是一種客戶驅動的產品生產規劃方法,該方法的規劃過程包括建立質量屋和質量屋決策兩個過程。文獻[9]研究了基于QFD的模塊化產品改進,文獻[10]中采用QFD方法將用戶需求映射到設計需求,用于選擇更符合要求的定制方案。采用參數化模式的個性化定制側重于定制產品的參數配置對生產的影響,用于構建、檢索產品[11-12]。實際生產流程中存在任意無法完成的生產工藝都會導致整個流程無法完成,因此在一些研究中將生產流程的驗證可以看作一個規劃問題,尋找從初始狀態到達預定目標的動作序列。Kautz等人[13]在SATPLAN系統中提出一種使用邏輯編碼規劃問題的方法,將有限步驟內到達目標狀態的規劃表示為一階謂詞邏輯公式,滿足公式的模型對應于一個有效的規劃。針對將規劃作為可滿足問題求解方法,Rintanen提出改進了變量選擇策略的SAT求解器[14-15]。
采用轉換為可滿足問題的方法,可以很方便地從工業互聯網平臺中的數據庫構建生產線資源的謂詞集合。需求可以規范化地描述為邏輯公式,與生產商信息使用相同形式的描述方法,方便將使用可滿足性方法求解問題。本文針對個性化定制模式中客戶參與的產品設計階段,根據明確的用戶需求和生產線判斷個性化需求在生產商中是否是可滿足的。個性化定制中客戶與生產商之間的關系如圖1所示,其中設計師是用于將客戶需求轉化為生產商可直接使用形式的人或系統,虛線方框內的流程描述客戶參與產品設計的階段,該流程可能會進行若干次,直到雙方達成一致后進入生產階段。為了可以通過轉換為可滿足性問題解決判斷需求可滿足性的問題,還提出一種將需求和生產線編碼為邏輯公式的方法。

圖1 個性化定制中客戶與生產商的交流模式Fig.1 Communication model between customer and manufacturer in personalization
在工業互聯網體系中資源被劃分為人、機、料、法、環五種類型[16],分別對應生產線的工作人員、可用設備、物料、具備加工工序以及對前四種資源的配置和約束。得益于工業互聯網對數據的全方位互聯互通的優勢,用戶可以隨時獲取資源相關的數據。由于工廠的生產能力取決于資源的種類和數量,在這些詳細數據的基礎上可以構建工廠的。
個性化定制需求描述客戶對目標產品要求,范圍包括外觀、材質和生產流程等。根據模塊化設計方式,本文從客戶角度將需求劃分為結構需求、物料需求和工藝需求三個層次。結構需求描述產品幾何特征的要求,如產品的外形、顏色等;物料需求描述生產中各種物料種類、用量等;工藝需求是加工過程中涉及的工藝方法。
物料、員工、設備和工序構成了生產線的基本要素,四個相互獨立的元素通過生產環境納入整體,構成一個獨立、完整的系統。生產線定義為一個元組PL=(H,E,M,O,S,P),其中H是所有人員的集合;E是所有設備的集合;M是所有物料的集合;O是生產工序的集合;S是所有資源所有可能狀態的集合;P是定義在Η∪Ε∪M∪O∪S上的謂詞集合。各種的資源相互關聯或者約束,通過不同方式參與生產流程,文中將分別針對不同資源的特點分別給出。
員工和設備作為執行工序的實體參與生產流程,物料是工序中操作的對象,這三者共同構成工序執行的先決條件。不同員工和設備可以參與的工序各不相同,因此表示為二元謂詞關系employee:H×O和equipment:M×O。物料表示為二元謂詞material:M×S,每個物料m具有唯一的狀態,即
material(m1,s1)∧material(m2,s2)∧
(m1=m2)→(s1=s2),
(1)
其中:m1,m2∈M;s1,s2∈S。在工序執行的先決條件中只要求具備相應工作技能的工作人員和設備以及某些狀態的物料,而無需區分具體的人員、設備和物料,工序執行后產生相應的作用。
生產線可以表示為其中各種資源的集合,這個集合就表示了生產線的狀態。生產產品的過程從初始狀態開始,經過一系列工序的轉化到包含目標產物的狀態,如何安排中間工序的順序對應一個規劃問題。生產線初始狀態通常為現實中生產線的當前狀態,并且需要在目標狀態中符合客戶的所有需求,狀態之間的轉換通過動作實現,在生產線中被稱為工序。在STRIPS動作中將工序定義為集合O:Pre×Effect中的一個二元組〈pre,e〉,即〈pre,e〉∈O,其中Pre是工序執行的先決條件集合,Effect是執行效果的集合。
從初始狀態s1到達目標狀態sn+1的生產過程中,工序o執行必須滿足下列三個條件:
siprei
(2)
si+1ei
(3)
sn+1=execon(…execo2(execo1(s1))…),
(4)
其中,oi=〈prei,ei〉,prei∈Preei∈Effect。式(2)、(3)分別要求工序執行前符合前提條件并且執行后產生指定效果,式(4)描述了狀態si+1是在狀態si時執行工序oi的后繼狀態。其他所有滿足p?ei的原子謂詞p有si+1(p)=si(p)。序列o1,o2,…,on是到達目標狀態按順序執行的工序。
用戶的需求通常使用自然語言的形式進行描述,但是這種方式表達的需求容易存在歧義,而且無法直接用于計算。將客戶的需求表示為明確無歧義且易于計算的形式尤為重要,本節中給出從樣式、物料和工藝的三個層次規范化表示需求的方式。
個性化定制產品的結構各異,這些產品從結構角度可以看作由更小的結構組合而成。個性化產品的樣式可以表示為樣式子模塊的集合,用戶通過選擇不同樣式的子模塊定制產品。個性化定制產品的樣式需求表示為
φD={m1,m2,…,mn}
(5)
式中,mi∈Module,φD是所有個性化定制的模塊組成的集合,滿足需求φD需要滿足其中所有模塊。
對物料需求包含種類和數量,不同設計對物料的需求存在差異,因此物料需求需要建立在樣式需求的基礎上。不同產品所需物料用量的方式因產品種類而異,對物料a的需求表示為

(6)
式中,M′?Material是需求中要求的所有物料,qty:M→R+是表示生產線中物料數量的函數,常數qa是物料a用量。類似物料需求,生產流程中的工藝需求可以表示為
φo={o1,o2,…,on}
(7)
工藝需求描述客戶需求中明確要求采用的工序。
用戶描述的工序不能滿足生產需求,隱含要求其他工序,此外工序之間還會存在沖突。式(5)~(7)中使用謂詞公式描述了個性化需求中的要求,此外需求之間還存在隱含關聯。如圖2所示,圖中矩形表示用戶個性化需求中描述的要求,圓形表示三個層次的需求,圓角矩形表示工作人員,缺角矩形表示設備。實線表示需求依賴關系,滿足箭尾需求時必須滿足箭頭的需求;虛線表示需求矛盾關系,箭尾滿足箭尾需求時不能滿足箭頭指向的需求。

圖2 層次化需求及需求之間的關系Fig.2 Hierarchical needs and the relationship between needs
需求間的關聯也需要編碼為謂詞關系。使用需求的二元組(φ1,φ2)表示箭尾和箭頭的需求,需求之間的依賴R→和矛盾R⊕分別定義為
φ1→φ2
(8)
┐φ1∨┐φ2
(9)
滿足個性化定制需求不僅要求三個層次的需求同時滿足,而且要求滿足其中的關聯,客戶的需求中所有要求φ表示為
φ=φD∧φM∧φO∧R→∧R⊕
(10)
其中:φD∧φM∧φO與具體的個性化定制需求相關,在不同生產線驗證時保持不變;R→和R⊕是生產線中的謂詞關系,與生產線的環境相關。
前述章節將生產線和個性化需求規范化描述,其中將生產目標產品的過程描述為一個規劃問題,并將其它資源和用戶需求使用謂詞邏輯描述。本章使用將規劃問題作為可滿足性問題的方法判斷是否存在同時滿足個性化定制需求與工廠資源限制條件的產品。
資源需求的檢查采用證明需求公式φ是理論T的語義屬性方法[17]實現,其中理論T是閉合謂詞的集合,描述了生產線的能力。通過找到一個模型,滿足T∪{φ}∪H┐φ∪Nφ,其中理論H┐φ∪N┐φ可能為空,分別用于保證理論T滿射以及處理否定謂詞。當存在一個模型時可以證明Tφ,即公式φ是理論T的語義屬性。
生產資源是生產的先決條件,完成生產還要求生產車間能構建將服裝從物料加工成最終產品的生產流程,構建的生產流程經過有限多工序加工之后得到目標產品。
將規劃轉換為可滿足問題需要分別編碼規劃的動作和狀態。經過有限步驟到達目標的工序規劃問題中,每個工序o=〈pre,e〉在第t步的效果表示為

(11)

(12)
式中,ot和pt分別表示o和p在t步的狀態。生產線狀態在工序執行時的狀態x∈SPL,在t∈{1,…,n-1}時刻的狀態編碼為

(13)

(14)
ot是產生效果x的工序流程中第t步執行的工序,xt,xt+1分別是在t和t+1時刻的狀態。布爾變量adopto表示工序流程中是否使用了工序o,當工序o在任何時刻執行后謂詞adopto在之后的狀態中為真。
工序流程采用的順序執行方式描述,每一步只執行一個工序,該過程表示為

(15)
生產線共有的理論編碼為上述所有謂詞的集合T={(11),(12),(13),(14),(15)}。此外生產線還存在不同的部分,表示為理論TEnv。驗證生產線中是否有長度為不超過n的生產流程滿足個性化需求φ,可以通過找到一個模型實現,使得

(16)
現在常用的可滿足性問題求解基于CDCL(conflict-driven clause learning)算法,該算法是很多有效求解算法的基礎,通過結合其他理論也可以實現求解未定義函數等的可滿足性模型論,通用求解器實現有Z3 Solver[18]等。
在工業互聯網中,生產商具有管理生產線中員工、設備、物料、工藝以及生產環境數據的能力,這些數據通過某種形式存放在數據庫中。以數據庫中的數據為基礎,將其中每個表或視圖看作關系的集合,表中的每條元組對應一個客觀事實,可以構建生產線中各種資源的謂詞描述模型。在關系型數據庫中,每個表均對應一個謂詞關系R,其中存放的記錄是符合表要求,即表中存在記錄使關系成立[19]。基于數據庫的這一特點,每個表可以構建一個關系R′,使得
R(a1,…,an)→R′(…,ai,…,aj,…),
(17)
式中,1≤i≤j≤n,R是所有關系的集合,A1,…,An是n個屬性的集合。這為從關系數據庫創建謂詞關系提供了依據。
在服裝生產中面料是貫穿整個生產流程的資源,直接影響生產線可生產的產品。這些資源在數據庫中存在表1所示的面料庫存表,該表有S、Material、Weave、Color和Qty五個屬性,分別是布料狀態、材質、編制方式、布料顏色和庫存量,包含了生產商和客戶關注的屬性。

表1 面料庫存表Tab.1 Table of fabric stock
表1中包含若干面料相關的事實,與蘊含Material×Weave×Color×Qty上的一個謂詞關系fabric,所有使謂詞fabric為真的元組組成集合Fabric。其中的事實如下所示:
生產線中另一個重要內容是決定物料狀態變化關系的工序。如圖3所示的西裝生產流程,描述了不同狀態物料構成的服裝部件與流程之間的關系。謂詞skill描述人員和設備可參與的工序,決定了生產線具備加工能力的工序,間接影響生產線的生產能力。

圖3 服裝生產流程工序依賴關系Fig.3 Process dependency of suit production process
表2中列出了圖3中所有物料及狀態的符號描述,物料需求與輸出物料狀態之間的關系進一步描述為表3,表中描述了工序的輸入與輸出之間的關系。

表2 裁片狀態表Tab.2 Table of pieces status

表3 物料狀態轉移表Tab.3 Table of material status transform
生產線TPL不僅要符合所有理論T,還包含特定于生產線的事實,表示為
TPL=T∪TEnv∪Fabric
(18)
其中TEnv=R⊕∪R→。
模塊化設計在服裝個性化設計中也是常用方法,通過不同部位的模塊組合形成目標服裝。西服可以劃成版型、領子、袖口、袖子、面料,可選模塊分別對應有限集合Figure、Collar、Cuff、Sleeve、Fabric,這些集合包含對應服裝部位所有可選模塊。如下述需求實例中明確給出了款式、面料種類和顏色需求,以及計算物料用量的服裝尺寸,客戶沒有提及工藝需求。
服裝個性化定制中,客戶可能會提出以下服裝個性化定制需求:一件H版型的歐式西服,尺寸是165/84A,化纖面料或毛呢面料,采用化纖面料時只能是黑色。
在集合Matrial中毛呢面料記為m2,化纖面料記為m3;集合Color黑色記為c1。用戶需求中描述的兩種個性化服裝可以分別表示為
φD1={(?w,?c,?q)fabric(m2,w,c,q),
module(H),module(suit)}
(19)
φD2={(?w,?q)fabric(m3,w,c1,q),
module(H),module(suit)}。
(20)
工藝在個性化定制需求中沒有明確提及,因此工藝需求φO=?。每個需求φ是直接描述個性化需求的謂詞的集合,表示所有謂詞的合取。
用戶提出兩個需求滿足其中一種需求即可。即用戶需求表示為

m=m2,w=w1,c=c1是其中一個模型。
文中提出了一種將生產線和客戶個性化定制需求編碼為理論和謂詞公式的方法,采用統一的形式化描述生產線與需求,描述在此基礎上驗證需求的方式,給出需求能否滿足的判斷。文中還給出服裝個性化定制需求的實例,驗證了方案的可行性。得益于生產線數字化建設程度不斷深入,從生產資源數據中提取與生產能力相關的數據,構建描述特定生產線資源與生產流程的模型更為便捷,可以反映生產線的當下能力。