行政院國家科學委員會專題研究計畫成果報告
行政院國家科學委員會專題研究計畫成果報告
行政院國家科學委員會專題研究計畫成果報告
行政院國家科學委員會專題研究計畫成果報告
半導體製造業之供應鍊網路管理與資源分配
Network Configuration and Resource Allocation for
Semiconductor Manufacturing
計畫編號:NSC 89-2213-E-002-118
執行期限:89 年 08 月 01 日至 90 年 07 月 31 日
主持人:陳靜枝 國立台灣大學資訊管理學系
共同主持人:蔣明晃 國立台灣大學工商管理學系
計畫參與人員:陳書儀 銘傳大學資訊管理學系
一、中文摘要 一、中文摘要 一、中文摘要 一、中文摘要 本研究主要是針對單一最終成品的供應鏈網 路圖形,在考慮成品之產品架構、以及有限產能限 制下,規劃與安排未來所有的訂單,選擇適當時間 交由適當的廠商生產,希望達到最小生產與運送成 本,以及最少訂單的延遲交貨時間,達到供應鏈最 佳化的效果。本研究提出一網路流量管理的啟發性 (Heuristic)演算法,主要分為四大步驟,首先將具 有不同生產程序之節點分離,執行產能初始化,第 二步驟則是將所有產能轉換為以最終產品為產能單 位。第三步驟,根據使用者需求選擇適合訂單排序 方式與參數,訂單排序後便可執行本演算法核心步 驟,每筆訂單依序規劃排程。 關鍵詞 關鍵詞 關鍵詞 關鍵詞:供應鏈、規劃排程、產品結構、 最短路徑演算法 AbstractThis study proposes a heuristic algorithm to solve master planning problems of a supply chain network with a single final finished product. The objective is to minimize the processing and transportation costs under the constraints of the capacity limits and the quantity and due date requirements of all the orders.
Keywords: Supply Chain Management,
Master Planning, Shortest Path Algorithm
1. Introduction
The planning processes of supply chain management have been divided into three levels [9, 12, 15], based on the length of time horizon: (1) Strategic Level or Long-term planning, (2) Tactic Level or Mid-term planning, and (3) Operational Level or Short-term planning. The planning process of a traditional MRP system usually plans the demand by only considering the material availability. Factors such as capacity limits and supply chain configuration are not
involved in the process. To cope with the new challenge of supply chain management, Advance Planning and Scheduling (APS) is developed [9, 12] to solve this complex situation that every business faces. A complete APS system consists of four major modules [9, 12]: (1) Strategic planning: Plan the supply chain network configuration by choosing the right vendors, manufacturers, wholesalers, and retailers. This plan should lest for 5 to 10 years. (2) Demand planning: Forecast the future uncertain demands by using statistics forecasting techniques. (3) Master planning: Satisfy all the demands by minimizing the costs of inventory, production, transportation, etc. under the considerations of a given supply chain network, a given product structure, and the capacity limits. (4) Factory planning: Based on the optimal master production plans, each demand is scheduled and dispatched to all the machines in a factory. To solve the problems related to these four levels of planning, mathematical models need to be built and complicated optimization algorithms need to be applied. In the solution process, linear, nonlinear, or mix-integer-programming techniques are often adopted, especially in the problems related to master planning [6, 7, 8, 14]. However, the complexity of the models with thousands of variables and constraints makes the solving of the problems impossible. Though Bender’s decomposition, Primal Network Simplex Algorithm, and other modified optimization methodologies [8, 14] are applied to help, finding the optimal solution for the master planning problem is still a very difficult job. Therefore, this study
proposes a heuristic algorithm to solve the master-planning problem to provide a feasible and sometimes optimal solution effectively and efficiently.
The rest of the paper is organized as follows. Section 2 describes the problem and constructs an LP model. Section 3 develops a heuristic algorithm to solve this master-planning problem. Section 4 demonstrates the algorithm by a simple case and compare the result obtained from this result with the result solved by LP method. Finally, section 5 summarizes the results.
2. Model Formulation
The objective of this study is to find the optimal production plans to satisfy all the demand requirements by minimizing the production and transportation cost under the consideration of capacity limit. Before the construction of the LP model, the following information of products, facility capacities, and demand requirements are given first. (1) Production Structure: It is assumed that
only one final product is flowed from upstream vendors to downstream retailers. The structure of this final product is known and given as a graph of tree with nodes standing for items and links standing for parent-and-child relations.
(2) Supply chain Network with facility capacities, G(V, E): A directed graph representing a supply chain network. Nodes in this graph stand for facilities to produce, process, store, and sell a product in the given supply chain network and links stand for a physical logistic linkage between two nodes for specific components or the final product. Two type of information should be accompanied for each node: component and capacity limits (in units) while three types of information are given to each link: component, lead time, and unit production/transportation cost.
(3) Demand requirements: Accompanied with each demand order is demand quantities, due dates, and importance of orders. The demand orders are dividable.
Base on the above description, the following indices and parameters are defined first and followed by the construction of a mathematical model.
♦ Indices: i, j, g are for nodes, r for orders, l for time buckets, k for parent items, k′ for components, and t for ending point.
♦ Parameters:
LTijk: Lead Time to transfer item k between node i and node j.
Drkl: Demand quantity of item k for order r in time bucket l.
vikl: The capacity limit of node i to produce item k in time bucket l. uijkl: The capacity limit to transfer item
k from node i to node j.
cijk: The incremental unit shipping cost of item k from node i to node j. c′ik: The incremental unit processing
cost of item k at node i.
DDr: The due time bucket of order r.
♦ Decision Variables:
xijkrl: The shipping quantity of item k of order r from node i to node j in time bucket l.
yikrl: The production quantity of item k of order r at node i in time bucket l. zikrl: The inventory quantity of item k of
order r at node i in time bucket l.
♦ The model:
Objective Function: Min ∑i∑j∑k cijk ∑r∑l xijkrl +∑ i∑k c′ik ∑r∑l yikrl
Constraints:
(a) ∑r zjkr(l-1) +∑i∑r xijkr(l-Ltgik′) + ∑r yjkrl -∑i∑r xjikrl = ∑r zjkrl for all k, l, and j where k is the final finished item and where i and j are not starting and ending points or i, j ≠ t.
(b) ∑r xijkrl ≤ uijkl for all i, j, l, and k (c) ∑r yikrl≤ vikl for all i, j, l, and k
(d) ∑i∑l xitkrl = ∑l Drkl for all r and k where l is from 0 to DDr for all orders.
(e) ∑r∑g xgik′r(l-Ltgik′) + ∑r zik′r(l-1) −∑r∑j xijk′rl + ∑ryik′rl ≥∑ryikrl for all (k′, k), l, and i where k′’s are the component items of parent item k (k ≠ k′).
(f) ∑gxgik′r(l-Ltgik′) +zik′r(l-1)+yik′rl −∑g xgik′rl − yikrl= zik′rl for all (k′, k), l, and i,r where
k′’s are the component items of parent item k (k ≠ k′).
(g) xijkrl≥ 0 and yikrl≥ 0 and zikrl≥ 0 for all i, j, l, r, and k
Though the problem can be formulated as a Linear Programming model, difficulties arises when try to solve this model:
1. The number of variables and constraints increase exponentially as the number of orders or the number of planning time buckets increases. Only one objective can be achieved in LP model.
2. Because of hard constraints of order due dates in LP model, the result of the problem to be infeasible is highly likely. Due to the difficulties listed above, this study proposed a heuristic algorithm.
3. A Heuristic Planning Algorithm
The major rationale of this heuristic algorithm is to plan the demand orders one by one sequentially without backtracking. Three major steps are included in this algorithm. Step 1: Initialize and converting capacities:
The capacities of nodes and links have to be initialized for each time bucket. All the capacities have to be converted on the same scale as the final product based on the product structure. For example, the capacity of V1 is for PO1. It has to be converted to capacity for PO5. Step 2: Order sorting.
Step 3: Order planning.
3.1 Order Sorting
Two ways of order sorting are proposed in this study.
(1) Rule-based method: Assigning weights,
α1,α 2,….,α k, to each comparison parameters, such as due date, priority, quantity, etc and α 1>α 2>…. >α k. Sorting the orders by the rules chosen by the users.
(2) Weighted average method: Assigning weights, β1,β2,….,βk, to all comparison parameters, such as due date, priority, quantity, etc and
β1+β2+….+βk = 1. Compute the rank of parameter i for each order j, γij. The ranking sequence is descending from
the largest to the smallest. The one with nearest due time bucket should be assigned a largest rank. For example, the ranks of due date, priority, and quantity for order 1 are γ11, γ21, and γ31. Compute the weighted averages of the ranks for all order, or Σγijβi = γ1jβ1 +
γ2j β2 +….+ γkjβk. for all j. Sort the orders byΣγijβi of each order.
3.2 Order Planning
Before the planning algorithm is presented, several parameters and status variables are needed and defined first.
♦ ACit: Available Capacity of node i in
time bucket t.
♦ EBi: Effective Production Time Bucket
of node i.
♦ FEBi: Final Effective Time Bucket of
node i.
♦ FECP: Effective Available Capacity based on Final Effective Time Bucket.
♦ MSLBi: Minimum System Lead Time
Bucket of node i to END node.
With the above definitions, a heuristic order-planning algorithm is presented as follows:
(P1): If unplanned orders exist, retrieve one order based on the sequences assigned in the sorting order step. Otherwise, stop and output the plan. (P2): Find the minimum cost tree, S, from
supply chain network, G(V, E) and product structure tree graph by using the algorithm proposed by Chen and Chern[2]. If the tree exists, continue next. Otherwise, go to step (P7). (P3): Compute FECP of the tree, S, found
in (P2). If FECP = 0, go to (P6). If FECP > the demand quantity, then continue. Otherwise go to (P5)
(P4): Plan the order by subtracting the demand quantity from the capacity of the nodes in the tree found in (P2). Go to (P8).
(P5): Plan the order by subtracting the FECP from the capacity the nodes in the tree, S, found in (P2). Also subtract FECP from demand quantity. New FECP need to be found and thus, go to (P3).
(P6): FECP = 0 implies that the tree, S, found in (P2) has no effective residual capacity that could be used for this order. Another tree has to be found by adjusting the supply chain network. Go to (P2).
(P7): No available tree exists to process this order based on its due time bucket. The due time bucket has to be delayed for one more time bucket. Adjust the planning time bucket and capacities of all nodes according. Reset the supply chain network and go to (P2).
Among all the above steps, (P3) and (P6) are the most complicated steps and are elaborated more next. In (P3), FECP for the tree, S, found in (P2) are computed by the following two sub algorithms:
Sub-algorithm 1:
(1) Set Node Nj to be END node. So the FEBi
of node Nj = T.
(2) For ALL i Ni->Nj (Lead time=L,FEBi of
node Nj = K)
(2.1) FEBi of node Ni = K-L
(2.2) For ACit of Ni at FEBi = 0, FEBi =
FEBi - 1
(2.3) Nj = Ni
Sub-algorithm 2:
(1) FOR all Node N1 to Nn find FEBi.
(2) IF FEBi of All Nodes on the tree Exist,
compute FECP of tree S where FECP = Minimum ACit of all node of tree S at
FEBi.
In (P6), the supply chain network has to be adjusted to find the next minimum cost tree. The minimum system lead time bucket of node i to END node, MSLBi, is determined by
the following algorithm first.
(1) Minimum System Lead-Bucket (MSLBi)
= ∞ for all nodes.
(2) MSLBi of nodes linking to END point =
0
(3) FOR ALL Node i (3.1) FOR ALL Node j
(3.1.1) IF MSLBi < MSLBj + Lead time
bucket of (Node i->j), then MSLBi = MSLBj + Lead bucket
of (Node i->j).
Three ways of adjustment are needed as follows:
♦ Edge Removal: In tree S, a edge (i->j) can be removed if two nodes linked by this edge are not able to communicate based on MSLBi or no available
capacity exist between these two nodes from MSLBi to DDr.
♦ Node Removal: In tree S, a node (i) can be removed if all links to this node are removed or no capacity left for all time buckets from MSLBi to DDr. ♦ Copy and Cut Path: If no edge and no
node are removed in tree S, S will be split into several subtrees, S1, S2, ….,
SM. where Sm⊄Sn for all m≠n, and
S1∪S2∪…∪SM = S. The algorithm to
split the tree is listed as follows:
(1) Let Node Nj be the final node and γ be an empty set.
(2) While Nj ≠ Starting Point
(2.1) Find a sub tree Sm of S, which
could product the final product from the most upper Node Ni to Nj node at the earliest time bucket.
(2.2) IF Sm ∉γ, then include Sm in set γ and duplicate Ni.
(2.3) Let Nj = the upper stream node of Nj
(3) DELETE tree S
Based on the above algorithm, an order-planning problem can be easily solved.
4. Conclusion
This study proposes a heuristic algorithm to solve a general master-planning problem of a supply chain network with a single final finished product. The objective of this planning algorithm is to minimize the processing and transportation costs under the constraints of the capacity limits of all the players in a given supply chain network graph and the quantity and due date requirements of all the orders. This study proposes a heuristic algorithm to solve the problem.
Reference
5