??? 摘? 要: 提出一種按照原材料和中間產品進行分類的物料清單設計方法,描述了用TCBOM表達產品結構的設計細節(jié)和實現(xiàn)概要,論述了用XML導入導出TCBOM數(shù)據的原理及在物料需求計算邏輯中利用TCBOM生成物料采購計劃和生產指令計劃方法。
??? 關鍵詞: TCBOM? 產品結構樹? 底層碼? 物料需求
?
??? 物料清單(Bill Of Materials)是指一個最終產品由哪些物料組成,以及它們之間的層次、數(shù)量關系,即產品結構樹。產品結構樹在大型ERP處理中按照一種統(tǒng)一的物料編碼,但由于中小型制造企業(yè)信息化中的實際情況,產生了固有的應用局限性,如處理繁雜、門檻過高等。本文提出兩分類型BOM(Two-Categorized BOM,TCBOM),利用它可將生產管理任務集中化,很好地克服產品結構樹在中小型企業(yè)應用中的缺陷。TCBOM將物料分成外購的原材料和自制的中間產品處理,而物料需求計算結果去向也分成針對原材料的采購需求計劃和針對中間產品的生產指令計劃。
1? 按原材料和中間產品分類的BOM
1.1 基本假設
??? (1)物料分類標準。原材料是指直接采購、不需要制造企業(yè)自己生產的物料;中間產品是指需要由企業(yè)自己生產的物料。在產品結構樹上,前者處于葉子節(jié)點,后者處于非葉子節(jié)點。
??? (2)物料需求計算邏輯的目標。最終要生成針對原材料的采購需求計劃和針對中間產品的生產指令計劃。把物料屬性分為結構屬性和自然屬性,TCBOM用于處理結構屬性。
??? (3)工作中心定義標準。工作中心劃分了基本管理單元,是生產指令的目的地。工作中心在產品結構樹上處于層之間,通過若干工藝,把低一層物料加工成上層的中間產品。
1.2 TCBOM數(shù)據結構設計
??? TCBOM不采用傳統(tǒng)的父子結構,它要表達二個分支,可以認為這種產品結構樹是由一棵原材料的子樹和一棵中間產品的子樹在空間上進行復合而成的。在這種BOM結構中,主要父物料層編號及子物料節(jié)點在父物料節(jié)點層內的順序號用來定位節(jié)點。這種TCBOM專門抽象出結構屬性,由下面介紹的三個表格來實現(xiàn)。自然屬性則另由各自獨立的表格描述。
struct?? ProductStruture??//產品結構關系表
{
??? string? fathLayerNo;//父物料節(jié)點的物料層號
??? int ?? layerInnerSequ;//在父物料層內的子物料節(jié)點序號
??? string?semiProductLayerNo;//子物料節(jié)點所在的中間產品分支層號
??? string?rawMaterialLayerNo;//子物料節(jié)點所在的原材料分支層號
}
struct?SemiProductBranch//中間產品分支結構屬性表
{
??? string?fathLayerNo;//父物料節(jié)點的物料層號
??? int?layerInnerSequ;//在父物料層內的子物料節(jié)點序號
??? string?semiProductID;//該中間產品的唯一標識代碼,外鍵值
??? int??makeupQuantity;//該中間產品的組成數(shù)量
??? string?remark;//備注信息
}
struct?RawMaterialBranch//原材料分支結構屬性表
{
??? string?fathLayerNo;//父物料節(jié)點的物料層號
??? int?? layerInnerSequ;//在父物料層內的子物料節(jié)點序號
??? string rawMaterialID;//該原材料的惟一標識代碼,外鍵值
??? int?makeupQuantity;//該原材料的組成數(shù)量
??? string?remark;//備注信息
}
1.3 產品結構樹的生成
??? 產品結構樹的生成算法如下:
??? 步驟1:各對SemiProductBranch、RawMaterialBranch 將當前層curLayerNo、關聯(lián)父層號PeerSemiProdLayerNo屬性擴展成SemiProductNode、RawMaterialNode結構,相應建立二類向量容器SemiProductNodeVector、RawMaterial-
NodeVector保存中間產品和原材料節(jié)點。
??? 步驟2:讀中間產品節(jié)點。從數(shù)據庫的ProductStruture表格讀出fathLayerNo=‘000000’(最頂層根)的記錄,以semiProductLayerNo屬性為關鍵值在SemiProductBranch表格中讀取fathLayerNo=(semiProductLayerNo),定位到最終產品;其自然屬性從外鍵值(semiProductID)讀取;當前物料層號(curLayerNo)由主表查找得到。
??? 步驟3:讀原材料節(jié)點。類似步驟2,讀取rawMaterialLayerNo屬性建立原材料分支(僅有一層)。其自然屬性(如材料名稱)通過外鍵值(rawMaterialID)讀取。
??? 步驟4:循環(huán)讀取建樹。步驟2和步驟3介紹了二類元素取值方法,取值后加入相應的容器,以循環(huán)讀取。以curLayerNo找當前節(jié)點的所有子節(jié)點,直至處理所有中間產品節(jié)點。
??? 步驟5:數(shù)據讀出之后完全保存在步驟1所述二個容器中,可以通過高效的STL算法進行實際樹控件的生成及數(shù)據與外部系統(tǒng)的導入導出。
2? TCBOM在物料需求計算邏輯中的應用
??? TCBOM應用于物料需求計算邏輯,可以生成原材料需求計劃和生產指令計劃。采用一種基于需求時段的逆序遞推算法。本生產管理方案針對中小型制造企業(yè)的信息化管理,時間因素可以提高抽象度,原材料主要考慮采購提前期,而中間產品生產主要考慮生產周期。
2.1 物料需求邏輯算法
2.1.1 相關計算量
??? (1)物料總需求GR(t)
??? t期物料總需求GR(t)(Gross Requirement),是指在第t時段內,某物料為了滿足所有父項物料的生產需要而必須到位的當前物料的總數(shù)量??傂枨笥勺罱K產品的獨立需求量組成,是當前計算物料的所有父項物料產生的相關需求量之和。計算公式為:
????
??? 其中:POR(t)表示父物料i在t期的計劃訂單發(fā)出量,makeupQuantity[i]表示當前計算的物料在父物料i生產中的單位組成數(shù)量。
??? (2)物料在途量SR(t)
??? t期物料在途量SR(t)(Scheduled Redeipt)是指t期正處在生產過程中并且在本期可以產出的物料數(shù)量。針對原材料來說就是已下訂單并在本期可以到貨的原材料數(shù)量;而針對中間產品就是正在生產過程中并在本期可以成品的中間產品數(shù)量。
??? (3)物料凈需求NR(t)
??? t期物料凈需求NR(t)(Net Requirement),是指在t時段內,某物料為了滿足所有父項物料的生產需要而必須在本期產成品或原材料到貨的數(shù)量。
??? NR(t)=GR(t)-PAB(t)
??? 其中:AB(t)指t期的預計可用量;
??? PAB(t)=OH(t-1)+SR(t)-SS
????其中:OH(t-1)為t-1期在庫量;
????SR(t)為t期在途量;
?? ?SS為安全庫存量。
??? (4)物料計劃訂單收料PORC(t)
??? 物料t期計劃訂單收料PORC(t)(Planned Order reCeipt)是針對t期物料凈需求NR(t)并考慮到生產批量或訂貨批量進行平衡后的計劃中的t期中間產品產成量或原材料到貨數(shù)量。
?? PORC(t)=n*LS,(l-1)*LS
??? 物料t期計劃訂單發(fā)出POR(t)(Planned Order Release)是指必須從t期開始生產的中間產品數(shù)量,或必須下定單開始采購的原材料數(shù)量。
??? POR(t)= PORC(t+LT)
????LT為前置時間,指生產周期或采購提前期。
2.1.2 算法描述
??? 第1步:計算低層碼。低層碼LLC是指物料在產品結構樹中的最大層號。按低層碼1..m將所有物料分成MaterialSet[1..m]的物料集合。初始化LLC=1。
??? 第2步:低層碼循環(huán)。依次處理物料集合MaterialSet[1..m]。LLC做為循環(huán)指針。
??? 第3步:集合內的物料循環(huán)。取MaterialSet[LLC]內的一種物料,建立同時段寬數(shù)n相等的向量型容器。其容器元素CompleteMaterialEle為前文SemiProductNode和RawMaterialNode的聯(lián)合(Union),擴展了上節(jié)所示五種計算數(shù)量屬性,并設置標志MaterialTypeFlag標明物料類型是原材料還是中間產品。設計劃時期寬為n時段,初始化t=1,由POR對PORC的前推關系倒向計算。對每個物料按步驟4處理,物料處理完畢回步驟2。
??? 第4步:單個物料的時段循環(huán)。提取SR(t)、OH(t)、LT、SS、ST、LS等數(shù)量,計算NR(t)、GR(t)、PORC(t-ST)、POR(t-ST-LT)。由前定義,NR(t)指示了PORC(t-ST),PORC(t-ST)和POR(t-ST-LT),所以本期NR要影響到前期的PORC及POR。循環(huán)指示器為t。
??? 第5步:輸出MRP報表。并進行原材料需求計劃和生產指令計劃生成,方法見2.2節(jié)。
??? 第6步:算法結束。
2.2 原材料需求計劃和生產指令計劃的生成
??? 上述MRP計算結果按物料類型MaterialTypeFlag分類后成為二個集合。其中最關鍵數(shù)量值有二條,即t時段物料訂單收料PORC(t)和訂單發(fā)出POR(t)。由原材料結果集,可生成采購計劃,PORC(t)指示了t時段要收貨的原材料數(shù)量,POR(t)指示了t時段要下訂單的原材料數(shù)量。另外,還需要作補充處理,如采購批量平衡和選定供應商。由中間產品結果集可生成生產指令計劃,PORC(t)指明了t時段需要產成的中間產品數(shù)量,而POR(t)指明了t時段需要開始生產的中間產品數(shù)量。這些可以稱為是針對工作中心的生產任務,詳細執(zhí)行計劃還要進行生產派工,即根據POR(t)值查詢工作中心并進行作能力平衡值將生產任務合理分配下去。
3? 應用實例
??? 在中小型制造企業(yè)資源計劃(ERP)管理系統(tǒng)基金項目中,某中小型制造企業(yè)信息化系統(tǒng)TXCERP1.0已被成功開發(fā)應用,其生產管理部分采用了TCBOM的MRP算法。下面是一個父物料層號為‘000011’、序號為1的中間產品A,制造周期為2時段;子物料B,層號為‘000012’、序號為1的中間產品。父子組成數(shù)量為2,制造周期為1時段。MRP計算結果如表1、表2所示。
?

4? 結束語
??? 本文提出二分類型BOM(TCBOM),對物料按中間產品和原材料進行分類。大型ERP中涉及的Engineering BOM、Manufacturing BOM等包含了若干管理元素。本文面向中小型制造企業(yè)信息化,用TCBOM管理產品結構屬性,而大量管理元素則融入物料的自然屬性。二者通過主鍵ID值關聯(lián),滿足其最大的二個需求物料采購和生產指令,具有特有的優(yōu)越性。
參考文獻
1?? 葉宏謨.企業(yè)資源計劃.北京:電子工業(yè)出版社,2000
2?? 陳榮秋,馬士華.生產運作管理.北京:機械工業(yè)出版社,2004
3?? 孔慶善.運作管理.北京:石油工業(yè)出版社,2003
4?? Browne J,Harhen J,Shivnan J.Production management systems:an integrated perspective.AddisonWesley Pub.Co.England,1996
5?? 羅鴻,王忠民.ERP原理·設計·實施.北京:電子工業(yè)出版社,2003
6?? 邢英杰,鄧紅軍.CAPP中BOM管理技術研究.制造業(yè)信息化,2004;(33)
