Abstract Supply Chain Management (SCM) in semiconductor manufacturing differs ... with Computer Integrated Manufacturing Group, Freescale Semiconductor.
CMS manuscript No. (will be inserted by the editor)
Inner And Outer Loop Optimization In Semiconductor Manufacturing Supply Chain Management Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2? 1
Department of Chemical Engineering, Arizona State University, Tempe AZ 85207 USA
2
Department of Mathematics and Statistics, Arizona State University, Tempe AZ 85207 USA
Received: date / Revised version: date
Abstract
Supply Chain Management (SCM) in semiconductor manufacturing differs from
many other SCM applications in that it has to simultaneously consider both long and short time scale stochasticity and nonlinearity. This paper presents a two-level hierarchical structure for SCM motivated by these considerations. Linear Programming (LP)-based Strategic Planning and Inventory Planning modules form the outer loop which makes long timescale decisions on the starts of factories and inventory targets. A Model Predictive Control (MPC) based Tactical Execution module forms the inner loop which generates short timescale decisions on the starts of factories by considering the stochasticity and nonlinearity on both supply side and demand side in semicondutor manufacturing. Four representative case studies are examined under diverse realistic conditions with this integrated framework. It is demonstrated that this hierarchical structure can effectively manage different types of stochasticity and nonlinearity in semiconductor manufacturing SCM with proper tunings to provide better system robustness, performance and profit margins.
?
W. Wang is currently with Computer Integrated Manufacturing Group, Freescale Semiconductor
Inc., Chandler, AZ 85224.
2
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
1 Introduction
Supply chain management (SCM) and other similar terms, such as network sourcing, supply pipeline management, value chain management, and value stream management have become subjects of increasing interest in recent years, to academics, consultants and business management [1–3]. The reasons why supply chain management is important are money and opportunity. In the US about 10% of gross domestic product, or almost $ 1 trillion, is spent on supply chain activities. Advances in information technology and expanding IT infrastructure are introducing new possibilities to improve service and efficiencies, and given the amount of money at stake, the opportunities are high [4]. Given the global supply-demand network that operates around the clock every day of the year, the resulting decision problem can be described as a continuous nonlinear stochastic combinatorial financial optimization [5]. Given the scale of international supply-demand networks, the difference between an optimal and a non-optimal solution can be worth many hundreds of millions of dollars per year. For example, in the case of Intel Corporation with roughly 30B$ in annual revenue from its network, a 3 1/3% improvement in operations as a result of improved SCM would result in an additional 1 B$ per annum [5].
SCM in semiconductor manufacturing differs from other areas in long throughput time, high stochasticity and nonlinearity in manufacturing processes. There are many approaches to building strategic plans to effectively operate complex supply chains [6]. The most sophisticated utilize some form of mathematical optimization , often Linear Programming (LP) [7,8]. Considering the capacities, constraints, throughput times, and customer demand, the resulting plan specifies the material release from warehouse into factories and transport links over multiple future weeks and months. These strategic planning systems are very useful, however they are deterministic and it is very difficult to include the unavoidable stochasticity of supply and demand in semiconductor manufacturing into LP-based optimizers. Recent progress in multi-echelon inventory theory can act as adjuncts to the LP optimizers used for strategic plan construction [9, 10]. Given target service levels, estimates of future supply and demand uncertainty, and his-
Inner/Outer Loop Optimization in SCM
3
torical forecast bias and error, these inventory algorithms compute safety stock positions and targets to be used as inputs to the LP optimizers. This safety stock is intended to buffer the expected variability in both supply and demand while executing the LP-generated multi-period plan. In common supply chain practice, such planning-with-safety-stock hybrids can be utilized on a weekly basis [5]. Unfortunately, the stochastic processes driving the supply and demand variability operate minute to minute, hour by hour, day after day. To respond to the stochastic processes properly to get reduced levels of safety stock with lower supply chain costs and improved levels of delivery performance generating higher revenue, some decisions must be made on much shorter timescales.
In this paper, we focus on simultaneously managing both long timescale and short timescale stochasticity and nonlinearity in semiconductor manufacturing supply chains and provide a novel optimal decision structure. In addition to using LP to generate strategic decisions, an advanced process control technique, Model Predictive Control (MPC), is used to generate decisions on daily bases so that short timescale stochasticity and nonlinearity can be properly addressed. The integrated hierarchical structure made of LP and MPC can give a better solution than other LP only based methods in that it can make the optimal decisions on factory starts depending on the properties of the manufacturing and demand variability and nonlinearity.
The approach described in this paper relies on splitting the decision problem into a strategic planning function and a tactical execution function, as shown in Figure 1. The former can be thought of as an outer loop controller that considers business goals and trends over weeks, months and quarters into the future, the latter as a companion inner loop controller that manages day to day operations providing the network with responsiveness and agility. Model Predictive Control (MPC), which is an advanced process control technique and widely used in industry to handle multivariable systems with constraints, is a powerful tactical execution tool with the flexibilities to handle the short-time scale stochasticity and some specific features in
4
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
manufacturing processes. In this paper, we will present the formulation of a two-level hie rarchical structure with an outer loop using LP and an inner loop using MPC. The objective function and constraints are derived to maximize the profits and meet the manufacturing requirements. We will use a basic problem with backlog as an example and show simulation results demonstrating how to effectively integrate LPs with MPC controllers. The insights provided from these simulations are the scalability and capability of LP and MPC. LP can deal with large scale problems, while QP based MPC runs very slow with large number of decision variables and has to be distributed in real-time calculations.
The paper is organized as follows. In Section 2 and 3, MPC based tactical inner loop and LP based strategic outer loop formulation are presented, respectively. Section 4 and 5 describe the simulation results involving stationary demand with and without forecast error. Section 6 concludes the paper with some observations and future directions.
Fig. 1 Proposed two-level hierarchical architecture
Inner/Outer Loop Optimization in SCM
5
2 Model Predictive Control Based Tactical Inner Loop Formulation
Model Predictive Control (MPC) stands for a family of methods that select control actions based on on-line optimization of an objective function. MPC has gained wide acceptance in the chemical and other process industries as the basis for advanced multivariable control schemes [11, 12]. In MPC, a system model and current and historical measurements of the process are used to predict the system behavior at future time instants. A control-relevant objective function is then optimized to calculate a sequence of future control moves that must satisfy system constraints. The first predicted control move is implemented and at the next sampling time the calculations are repeated using updated system states; this is referred to as a Moving or Receding Horizon strategy. Model Predictive Control represents a general framework for control system implementation that accomplishes both feedback and feedforward control action on a dynamical system. The appeal of MPC over traditional approaches to feedback and feedforward control design include 1) the ability to handle large multivariable problems, 2) the explicit handling of constraints on system input and output variables, and 3) its relative ease-of-use. MPC applied to supply chain management relies on dynamical models of material flow to predict inventory changes among the various nodes of the supply chain. These model predictions are used to adjust current and future order quantities requested from upstream nodes such that inventory will reach the targets necessary to satisfy demand in a timely manner.
Applications of Model Predictive Control to multi-echelon production-inventory problems and supply chains have been reported in the literature [13–17]. The unique characteristics of semiconductor manufacturing supply chains merit the development of a novel MPC algorithm for this purpose [18]. The objective function of the MPC controller is as follows:
min ∆u(k|k)...∆u(k+m−1|k)
J
(1)
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
6
where the individual terms of J correspond to:
Keep Inventories at Inventory Planning Setpoints z }| { p X J= ||Qe (`)(ˆ y (k + `|k) − r(k + `))||22 `=1
+
z m X
Penalize Changes in Starts }| { ||Q∆u (`)(∆u(k + ` − 1|k))||22
(2)
`=1
Maintain Starts at Strategic Planning Targets }| { z m X ||Qu (`)(u(k + ` − 1|k) − utarget (k + ` − 1|k))||22 + `=1
Here p is the prediction horizon and m is the control horizon. Qu , Q∆u , Qe are penalty weights on the control error, move size and control signal, respectively; the selection of these weights enables the user to trade-off the ability of the algorithm to satisfy inventory setpoint targets, adjust starts variability, and maintain starts close to strategic planning targets that may be supplied by an outer loop module (per Figure 1). To properly interact with the strategic outer loop, the tuning parameter, Qu , has to be picked based on the customer demands and manufacturing stochasticity.
The integrating nature of the dynamics must be considered when formulating control algorithms, as well as the presence of some unique constraints. The problem benefits from a flexible controller formulation that enables independent tuning of measured disturbance rejection (meeting forecasted demand), unmeasured disturbance rejection (satisfying unforecasted demand) and inventory setpoint tracking. A multi-degree-of-freedom MPC controller algorithm is designed to satisfy these requirements. The three filters used to address different disturbances are as follows: – Inventory Targets Tracking: A Type I filter is designed here.
fjr (z) =
(1 − αIj )z , j = 1, · · · , nr z − αIj
(3)
Inner/Outer Loop Optimization in SCM
7
Here nr is the number of inventory targets and αIj is the tuning parameter corresponding to the j th inventory target. z represents the Z-transform. – Measured Disturbance Rejection: A Type II filter to address disturbance with integrating dynamics has the following form: fjd (z) =
[(1 − αIIj ) + 53 αIIj ] − 15 αIIj z −1 − 25 αIIj z −2 , j = 1, · · · , nd 1 − αIIj z −1
(4)
Here nd corresponds to the number of measured disturbances (customer demand for each product) in the system. – Unmeasured disturbance rejection: A Type II filter is used in the optimal state estimator: X(k|k − 1) = ΦX(k − 1|k − 1) + Γu ∆u(k − 1)
(5)
X(k|k) = X(k|k − 1) + Kf (y(k) − ΞX(k|k − 1))
(6)
0 Kf = Fb Fa
(7)
where Fa = diag{(fa )1 , ..., (fa )ny }
(8)
Fb = diag{(fb )1 , ..., (fb )ny };
(9)
(fb )i =
(fa )2i for 1 ≤ i ≤ ny 1 + αi − αi (fa )i
(10)
(fa )i corresponds to the adjustable filter gain parameter for each output channel and ranges between 0 and 1. The details of the derivation of this novel MPC controller can be found in [18,19].
3 Linear Programming Based Strategic Outer Loop Formulation There are many ways to formulate the strategic planner, such as Dynamic Programming (DP) and Linear Programming (LP). In this section, we will consider an LP formulation which generates weekly starts targets to each factory. These weekly starts targets consider an one or
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
8
two quarters demand forecast and serve as references to the inner loop MPC daily decision on starts after divided by 7 days. MPC will generate daily starts by considering the short-time scale stochasticity, a shorter (one or two months) demand forecast and the targets provided by the outer loop. There may be some conflicts between the LP and MPC solutions to the starts depending on the actual customer demand, demand forecast, and factory capacity.
The objective of strategic planning is to maximize the profit and achieve robustness at the same time. The constraints consider the inventory target tracking, capacity limits and backlog generation. Let p be the prediction horizon and t be the time index. The objective function of the strategic LP is as follows: p X
Shipmentt · ASP
(11)
(Ovri,t + U ndi,t ) · InvCosti
(12)
max
t=1
−
p 30 X X i=10 t=1
−
p X
BackOvrt · Backcost
(13)
t=1
−
p 30 X X
∆Startsf,t · M ovesupf
(14)
f =10 t=1
The constraints are P
t0 ∈(t,t−T P T ]
Startsf,t0 ≤ Capf
(15)
= Invi,t−1 + Startsf,t−T P T · Y ieldf − Startsf,t
(16)
InvT ari,t
= Invi,t − Ovri,t + U ndi,t
(17)
Backlogt
=
Invi,t
p X
Demandt − Shipment
(18)
t=1
= Backlogt − BackOvrt
0 Here the input variables are:
ASP :
Average sale price
InvCosti : Inventory holding cost for i
(19)
Inner/Outer Loop Optimization in SCM
9
InvT ari,t : Inventory target for i at t BackCost : Backorder cost M ovesupf : Starts change penalty for f Capf :
Factory capacity for f
Y ieldf : Demand :
Factory yield for f Customer demand forecast
The decision variables are Shipmentt : Shipment for customer demand at t Ovri,t :
Slack variable for possitive deviation from inventory target for i at t
U ndi,t :
Slack variable for negative deviation from inventory target for i at t
BackOvrt : Amount of backorders at t ∆Startsf,t : Change of starts for f at t The indices are: t : Time unit in days f : Factory positions i : Inventory positions p : Prediction horizon As one can observe here, the goal of the LP is to maximize the net profit by subtracting the inventory holding cost and backorder cost from the total revenues. However, the objective function does not have a rigorous dollar meaning because of the term of starts change penalty. The reason for requiring this term is because the fab starts should be as smooth as possible. A large penalty must be enforced to achieve robustness when the starts change is dramatic, which is not as easy to define in dollar terms as inventory holding or backorder costs. Although we need to solve the optimization with the objective function as shown in (14), only the
10
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
first three terms describe the net profit, while the fourth term is used for the sake of robustness.
The constraints enforced in the LP include factory capacity and inventory target tracking. The inequality constraint in (15) is used to force the Work-In-Progress of each factory to be within the capacity limits. Work-In-Progress is calculated based on the average throughput time. Equation (16) represents the material balance for each inventory position. Equation (17) calculates the deviations from the targets, which are penalized in the objective function. Equation (18) and (19) are equations for the backorders forecast, which are also penalized in the objective function.
Compared with MPC, LP has a very similar formulation. Both of them are trying to generate starts to track the inventory targets and meet customer demand. The difference between them is the time scale. MPC considers daily demand, inventory targets and stochasticity, while LP considers everything in weeks. One significant distinction is that MPC has a sophisticated state estimator which helps to deal with the unmeasured disturbances, while the LP does not have a corresponding filter built into it. LP and MPC have different forecast horizons, which is usually a few quarters for the LP, and a few months for the MPC. These are the reasons why the LP serves as a strategic planner and MPC serves as a tactical controller.
Since the LP described in Equation (14) is used as a strategic planner or controller, it will generate weekly starts. These weekly starts are not passed directly to the factories, but serve as the targets for daily starts generated by MPC, divided by 7 days. Next we will show how LP interacts with MPC using a basic three nodes problem described in Figure 2 as an example. We will examine four scenarios, which are stationary demand without forecast error, stationary demand with forecast error, and step changes on inventory targets and step change on customer
Inner/Outer Loop Optimization in SCM
11
demand, respectively.
4 Scenario 1: Stationary Demand Without Forecast Error
In this section, a fluid representation of a three-node semiconductor manufacturing supply chain (consisting of one fab/test1, one assembly/test2, and one finish node) and its corresponding inventory locations is shown in Figure 2. We will use this basic problem as an example to study the interaction between the strategic outer loop (LP) and the tactical inner loop (MPC). The simulation structure is shown in Figure 3. The parameters used for MPC are the same as shown in Table 1. Since the LP runs every week instead of every day, the parameters are changed accordingly. The parameters for LP are described in Table 2. In the MPC controller, the filter gain fa in Equation 9 is 0.15 for the disturbance state and the output weight Qe is 1 for all inventories. Zero move suppression Q∆u is used in the simulation.
Fig. 2 Basic three-node supply chain problem
12
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
Fig. 3 Inner/outer loop simulation structure
As discussed in Section 3, using an LP as a strategic controller generates weekly starts, which is simply the summation of 7 days starts for each factory. Also as shown in Section 2, MPC has the ability to track the targets on the manipulated variables. The third term in MPC objective function as shown in Equation (3) is for manipulated variables /starts targets tracking. By changing the weights Qu , we can decide how close the daily starts should be to the weekly starts targets. Depending on the weights, we can have the following case studies as shown in Table 3. We will present the simulation results for all the case studies in this section.
4.1 Case 1: Inner Loop Only
When Qu is zero for each starts, only MPC solutions will be applied to each factory, which is the same as those presented in previous chapters. At first, the filter gain, fa is set to be 0.15 for each disturbance state. The responses are shown in Figure 4. The starts are aggressive since the filter gain allows large error correction. If it is decreased to 0.01, the responses are much smoother as depicted in Figure 5.
Inner/Outer Loop Optimization in SCM
13
Factory
nodes
M10
M20
M30
M40
load ∈
Min TPT (days)
30.0
5.0
1.0
1.0
[0%,70%]
Ave TPT (days)
32.0
6.0
2.0
1.0
Max TPT (days)
34.0
7.0
3.0
1.0
Distribution
Unif
Unif
Unif
load ∈
Min TPT (days)
32.0
5.0
1.0
1.0
(70%,90%]
Ave TPT (days)
35.0
6.0
2.0
1.0
Max TPT (days)
38.0
7.0
3.0
1.0
load ∈
Min TPT (days)
35.0
5.0
1.0
1.0
(90%,100%]
Ave TPT (days)
40.0
6.0
2.0
1.0
Max TPT (days)
45.0
7.0
3.0
1.0
Min %
93.0
98.0
98.5
100.0
Ave %
95.0
98.5
99.0
100.0
Max %
97.0
99.0
99.5
100.0
Distribution
Unif
Unif
Unif
Capacity
Max Items
4.5E4
7500
2500
Inventory
nodes
I10
I20
I30
UCL(Items)
1.2E4
6E3
3E3
TAR(Items)
5712
2856
1427
LCL(Items)
1000
1000
1000
Max(Items)
2E4
1E4
1E4
Yield
2500
Table 1 Manufacturing and inventory nodes data for basic problem with backlog: TPT refers to throughput time; Unif to uniform distribution; UCL to Upper Control Limits, TAR to Target, LCL to Lower Control Limits .
4.2 Case 2: Outer Loop Only
When the weights Qu are large, daily starts generated from MPC will be the same as or very close to the targets provided by LP. So in this case, the results of using the combined inner/outer controller will be the same as using LP controller only. The simulation structure in Figure 3 can be simplified to describe this case as shown in Figure 6. The results are shown in Figure 7. Here Qu is 100 for each starts tracking. Compared to the results from MPC control only in previous chapter, LP control gives smoother starts for factories in terms of day to day change. The reason is that the weekly decision is based on the
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
14
Factory
M10
M20
M30
M40
TPT(Weeks)
5
1
0
0
Yield
95%
98.5%
99%
100%
Capacity
4.5E4
7500
2500
2500
Inventory
I10
I20
I30
Initial value
3000
3000
1500
Target
5706
2853
1427
Holding cost
1
2
3
Average selling price
$100/unit
Backlog cost
$5/unit
Move suppression
5
Table 2 Parameters for strategic outer loop LP controller .
Experiment description
Parameter: Qu
Case 1
Inner loop only
[000]
Case 2
Outer loop only
[ 100 100 100 ]
Case 3
Inner/outer loop interaction
[ 10 10 10 ]
Case 4
Outer loop for Fab, inner loop for A/T and F/P
[ 100 0 0 ]
Table 3 Inner/outer loop simulation case studies .
summation of 7 days demand forecast and the averaged demand forecast has smaller variance than daily demand forecast and daily starts are held constant for one week. Figure 8 shows the comparison between the LP starts and MPC starts. One can find they are almost the same, since the weight Qu is large and MPC should track LP solution very closely.
Inner/Outer Loop Optimization in SCM
15
5900
1150 1100
C1
I10
5800 5700 5600 5500 200
1050 1000 950
250
300
350
400
450
500
550
600
900 200
650
3100
250
300
350
400
450
500
550
600
650
250
300
350
400
450
500
550
600
650
250
300
350
400
450
500
550
600
650
250
300
350
400
450
500
550
600
650
1050
2900
C2
I20
3000
2800
1000
950
2700 2600 200
250
300
350
400
450
500
550
600
900 200
650
1700
1000 980
1500
C3
I30
1600
1400
250
300
350
400
450
500
550
600
650
1 0.5 0 −0.5 −1 200
250
300
350
400
450
500
550
600
650
Shipment&Demand
Backorders
1200 200
960 940
1300
920 200 1000 980 960 940 920 900 200
Fig. 4 Inner loop only simulation results in Scenario 1: Qu = [0 0 0], fa = [0.15 0.15 0.15]
5900
1150 1100
C1
I10
5800 5700 5600 5500 200
1050 1000 950
250
300
350
400
450
500
550
600
900 200
650
3100
250
300
350
400
450
500
550
600
650
250
300
350
400
450
500
550
600
650
250
300
350
400
450
500
550
600
650
250
300
350
400
450
500
550
600
650
1050
2900
C2
I20
3000
2800
1000
950
2700 2600 200
250
300
350
400
450
500
550
600
900 200
650
1700
1000 980
1500
C3
I30
1600
1400
250
300
350
400
450
500
550
600
650
1 0.5 0 −0.5 −1 200
250
300
350
400
450
500
550
600
650
Shipment&Demand
Backorders
1200 200
960 940
1300
920 200 1000 980 960 940 920 900 200
Fig. 5 Inner loop only simulation results in Scenario 1: Qu = [0 0 0], fa = [0.01 0.01 0.01]
4.3 Case 3: Inner/Outer Loop Interaction
In this case, Qu is 10 which is an intermediate value compared to 100 and 0. So we should see that MPC solutions try to track LP solutions while they will not be the same. The results are shown in Fiugre 9. The factory starts are more aggressive than those in the previous case,
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
16
Fig. 6 Outer loop only simulation structure
6000
1050
C1
I10
1040 5800
5600
1030 1020 1010
250
300
350
400
450
500
550
1000 200
600
3100
1000
3000
990
2900
980
C2
I20
5400 200
2800 2700 2600 200
300
350
400
450
500
550
450
500
550
600
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
980
1500
C2
I30
400
1000
1400
960 940
250
300
350
400
450
500
550
600
1 0.5 0 −0.5
250
300
350
400
450
500
550
600
Shipment&Demand
1300
Backorders
350
970
950 200
600
1600
−1 200
300
960 250
1700
1200 200
250
920 200
1000 980 960 940 920 900 200
Fig. 7 Outer loop only simulation results in Scenario 1: Qu = [100 100 100]
because MPC tries to compensate the short time stochasticity by manipulating the daily starts. Figure 10 shows both MPC and LP solutions. One finds that MPC is trying to track the LP weekly targets and make its own daily decisions at the same time. The responses in this case are smoother than MPC control only , but more aggressive than LP control only. This shows the effects of interaction between the strategic planning and the tactical planning. MPC focuses on the daily stochasticity while LP considers the long time scale stochasticity. Since in this simulation demand is stationary, no forecast error exists and capacity is not a bottleneck, MPC
Inner/Outer Loop Optimization in SCM
17
1050
C1
1040 1030 1020 1010 1000 200
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
1000
C2
990 980 970 960 950 200
990 980
C3
970 960 950 940 930 200
Fig. 8 LP and MPC solution comparison in scenario 1: LP (solid line), MPC (dash line), Qu = [100 100 100]
only increases the variability on the responses while not improving the other performance at all. The frequency of running the MPC is faster than that of the LP, which introduces high frequency noise into the system. The aggressive responses can be smoothed by imposing large move suppression on starts or small filter gain on disturbance states.
4.4 Case 4: Partial LP and Partial MPC In semiconductor manufacturing, operating restrictions in the fab dictate that the starts in the fab should be as stationary as possible, while in the A/T and F/P nodes the starts can change aggressively to meet the customer demand as much as needed. This motivates the partial LP and partial MPC structure as shown in Figure 11 revised from Figure 3. The weights Qu are set to be [100 0 0] for C1, C2 and C3 to achieve this structure. So LP solutions will be fed directly to the fab only and MPC will manipulate the starts of A/T and F/P.
The results for this partial LP and partial MPC simulation are shown in Figure 12. One can find that fab starts are directly manipulated by LP, while A/T and F/P starts are manipulated
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
6000
1080
5900
1060
5800
1040
C1
I10
18
5700 5600 5500 200
1020 1000
250
300
350
400
450
500
550
980 200
600
3000
300
350
400
450
500
550
950 200
600
500
550
600
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
990 980
C2
1600
I30
450
960 250
1800
1400 1200
970 960 950
250
300
350
400
450
500
550
600
1 0.5 0 −0.5
250
300
350
400
450
500
550
600
Shipment&Demand
Backorders
400
970
2700
−1 200
350
980
C2
I20
2800
1000 200
300
990
2900
2600 200
250
1000
940 200
1000 980 960 940 920 900 200
Fig. 9 Outer/inner loop interaction simulation results in Scenario 1: Qu = [10 10 10]
1080
C1
1060 1040 1020 1000 980 200
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
1020
C2
1000
980
960
940 200
1020
C3
1000 980 960 940 920 200
Fig. 10 LP and MPC solution comparison in scenario 1: LP (solid line), MPC (dash line), Qu = [10 10 10]
by MPC only. The fab starts are smoother than the A/T and F/P starts. Figure 13 shows this three starts comparison between LP and MPC.
Inner/Outer Loop Optimization in SCM
19
Fig. 11 Partial LP and partial MPC simulation structure
5900
1060
C1
I10
5800 5700
1020
5600 5500 200
1040
250
300
350
400
450
500
550
1000 200
600
2950
300
350
400
450
500
550
950 200
600
500
550
600
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
250
300
350
400
450
500
550
600
970
1600
965
1500
C3
I30
450
960 250
1700
1400
960 955
250
300
350
400
450
500
550
600
1 0.5 0 −0.5
250
300
350
400
450
500
550
600
Shipment&Demand
1300
Backorders
400
970
2800
−1 200
350
980
C2
I20
2850
1200 200
300
990
2900
2750 200
250
1000
950 200
1000 980 960 940 920 900 200
Fig. 12 Partial LP and partial MPC simulation results in scenario 1: Qu = [100 0 0]
4.5 Observations
From the simulation results we examined here, one can find that LP and MPC provide similar performance under these ideal conditions. Table 4 shows the variance comparison for starts in each case. LP generates the starts based on the averaged demand forecast which is smoother than the daily demand forecast. The daily starts will not change during a week. MPC only brings in high frequency noise when running daily compared to LP running weekly. The aggressive
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
20
1060
C1
1040 1020 1000 980 960 100
200
300
400
500
600
700
200
300
400
500
600
700
200
300
400
500
600
700
1020
C2
1000 980 960 940 920 100
980
C3
970 960 950 940 930 100
Fig. 13 LP and MPC solution comparison in Scenario 1: LP (solid line), MPC (dash line), Qu = [100 0 0]
responses generated by MPC can be smoothed by tuning, which gives the best performance in this case. In this scenario, each case can meet all customer demand and track the inventory targets. The only difference here is the variance. However, when there is some forecast error, LP and MPC will perform differently, which will be studied in the next section.
C1 Variance
C2 Variance
C3 Variance
Case 1(fa = 0.15)
1788
821.31
234.84
Case 1(fa = 0.01)
0.71823
0.35038
0.19841
Case 2
294.5
169.37
193.82
Case 3
427.61
90.561
74.363
Case 4
69.452
59.985
46.453
Table 4 Inner/outer loop simulation case studies .
Inner/Outer Loop Optimization in SCM
21
5 Scenario 2: Stationary Demand with Forecast Error
In previous scenario, the demand forecast does not have any error to the actual demand on average. In this section, a 100 units error is created in the demand forecast; that is, on average, the forecast will be 100 units more than the actual demand. We will consider three cases, LP only, MPC only and LP/MPC interaction, to compare the performance of both strategic and tactical planning. The simulation setup is still the same as described in Figure 3.
5.1 Outer Loop Only
First, only strategic planning is used in the presence of forecast error by choosing a large weight of Qu = 100. Figure 14 shows the responses and Figure 15 is the comparison of LP and MPC solution. One can find here that although no backlog is observed, there are large offsets for all three inventory positions. The LP formulation cannot detect these offsets and manipulate the starts to bring the inventory levels back to targets.
12000
1200
C1
I10
10000 8000
200
300
400
500
900 100
600
4000
1050
3500
1000
C2
I20
4000 100
3000
300
400
500
900 100
600
3000
1100
2500
1050
2000
300
400
500
600
1 0.5 0 −0.5 −1 100
300
400
500
600
200
300
400
500
600
200
300
400
500
600
200
300
400
500
600
1000 950
200
200
300
400
500
600
Shipment&Demand
1500 1000 100
200
950
200
C3
I30
2500 100
Backorders
1100
1000
6000
900 100
1000 980 960 940 920 900 100
Fig. 14 LP control simulation results in Scenario 2: Qu = [100 100 100]
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
22
1200 1150
C1
1100 1050 1000 950 900 100
200
300
400
500
600
700
200
300
400
500
600
700
200
300
400
500
600
700
1060 1040
C2
1020 1000 980 960 940 100
1100
C3
1050
1000
950
900 100
Fig. 15 LP and MPC solution comparison in Scenario 2: LP (solid line), MPC (dash line), Qu = [100 100 100]
5.2 Inner Loop Only
Now we use only MPC for daily starts generation. The weight Qu is set to be 0, which signifies that LP decisions will not influence the simulation at all. The results are shown in Figure 16. In order to detect the forecast error and compensate the overshoot on inventory levels, the filter gain fa is set 0.15 in the MPC controller. Although the inventories still have some overshoot at the beginning, they come back to the targets later on without any offsets. Figure 17 shows both LP and MPC solutions. It is clear to see that MPC detects the offsets on inventories and decrease the starts, while LP cannot detect them and still keeps the starts at a higher level. In this case, the starts of all factories are more aggressive than for LP only control. However, there are no offsets observed on all inventories.
5.3 Inner/Outer Loop Interaction
If the weight Qu is 10 for each starts, this begins to show some of the interaction between the LP and MPC. The results are shown in Figure 18 and Figure 19. When MPC starts to
Inner/Outer Loop Optimization in SCM
23
C1
6000 5000 100
I20
1500
7000
200
300
400
500
5000
1200
4000
1000
3000 2000 100
200
300
400
500
500
600
200
300
400
500
600
200
300
400
500
600
200
300
400
500
600
C3
900 800
200
300
400
500
700 100
600
Shipment&Demand
I30
400
1000
2000
1 0.5 0 −0.5 −1 100
300
1100
3000
1000 100
200
800 600 100
600
4000
Backorders
1000
500 100
600
C2
I10
8000
200
300
400
500
600
1000
950
900 100
Fig. 16 MPC only control simulation results in Scenario 2: Qu = [0 0 0]
1400
C1
1200 1000 800 600 400 100
150
200
250
300
350
400
450
500
550
600
150
200
250
300
350
400
450
500
550
600
150
200
250
300
350
400
450
500
550
600
1200 1100
C2
1000 900 800 700 600 100
1100
C3
1000
900
800
700 100
Fig. 17 LP and MPC solution comparison in Scenario 2: LP (solid line), MPC (dash line), Qu = [0 0 0]
contribute, better performance is observed for all of the three inventories. Compared to LP only control, the offset is decreased but not eliminated.
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
9000
1200
8000
1100
C1
I10
24
7000 6000 5000 100
900 200
300
400
500
800 100
600
I30
500
600
200
300
400
500
600
200
300
400
500
600
200
300
400
500
600
C2
950 200
300
400
500
900 100
600
1100
2500
1050
2000 1500
1000 950
300
400
500
900 100
600
Shipment&Demand
200
1 Backorders
400
1000
3000
0.5 0 −0.5 −1 100
300
1050
3000
1000 100
200
1100
4000
C3
I20
5000
2000 100
1000
200
300
400
500
600
1000
950
900 100
Fig. 18 LP/MPC interaction control simulation results in Scenario 2: Qu = [10 10 10]
1200
C1
1100
1000
900
800 100
200
300
400
500
600
700
200
300
400
500
600
700
200
300
400
500
600
700
1100
C2
1050
1000
950
900 100
1100
C3
1050
1000
950
900 100
Fig. 19 LP and MPC solution comparison in Scenario 2: LP (solid line), MPC (dash line), Qu = [10 10 10]
5.4 Partial LP and Partial MPC
If Qu is set to be [10 0 0], LP decisions will influence for F/T1 starts, while the MPC controller will manipulate the starts for A/T2 and F/P. The filter gain fa is still 0.15. The results are
Inner/Outer Loop Optimization in SCM
25
shown in Figure 20 and 21. In this case, the forecast error is considered to generate the fab starts, and the target from LP is also considered at the same time. MPC controller manipulates the lower level factory starts. It is clear to see that all of the inventories can track the targets at steady state. Compared to MPC only control in the previous simulation, I10 has a larger overshoot, while both I20 and I30 have a smaller overshoot than in MPC only control. Also the variances on starts C1, C2 and C3 in this case are smaller than those in MPC only control.
1500
C1
I10
10000
8000
1000
6000 200
300
400
500
600
500 100
700
5000
1200
4000
1000
C2
I20
100
3000
2000 100
200
300
400
500
600
600 100
700
C3
I30
500
600
700
200
300
400
500
600
700
200
300
400
500
600
700
200
300
400
500
600
700
1000
2000
900 800
200
300
400
500
600
700
1 0.5 0 −0.5
200
300
400
500
600
700
Shipment&Demand
Backorders
400
1100
3000
−1 100
300
800
4000
1000 100
200
700 100 1000 980 960 940 920 900 100
Fig. 20 Partial LP and partial MPC control simulation results in Scenario 2: Qu = [10 0 0]
5.5 Observations
When there is a forecast error, LP cannot detect it because there is no state error update in the LP formulation. Although it gives smoother responses for starts, it can not provide offset free control in this situation. MPC has a sophisticated filter for state estimation, which helps to detect the error between the forecast and actual demand. In order to update the states with the error information, the filter gain fa cannot be too small, which introduces large day to day variation on starts. However MPC can give better performance in terms of offset free inventory
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
26
1600
C1
1400 1200 1000 800 600 100
200
300
400
500
600
700
200
300
400
500
600
700
200
300
400
500
600
700
1150 1100
C2
1050 1000 950 900 850 100
1100
C3
1050
1000
950
900 100
Fig. 21 LP and MPC solution comparison in Scenario 2: LP (solid line), MPC (dash line), Qu = [10 0 0]
control. When LP decisions influence the daily starts in the fab, the overall performance is improved since the starts variance is small while offset-free control is ensured.
6 Conclusions
A two level hierarchical structure for semiconductor manufacturing SCM composed of two planning modules is presented in this paper. A strategic planning module (LP) is used to generate weekly starts targets by considering future demand forecast, capacity limits, and inventory targets. These weekly targets are passed to the tactical planning module (MPC) and divided by 7 for daily starts tracking targets. Strategic planning is used to deal with long time scale stochasticity, while tactical planning is used for short time scale stochasticity. Two scenarios were studied in this paper, stationary demand with and without forecast error. More scenarios and case studies can be found in [19] including step changes on inventory targets and step changes on customer demand. All these simulation results showed that strategic planning alone gives the satisfactory performance in terms of small day-to-day changes on starts and offset free target tracking when there is no forecast error , while the tactical planning outperforms
Inner/Outer Loop Optimization in SCM
27
the strategic planning when there is some forecast error and can give smooth responses with proper tuning.
In order to extend these results to practice, the scalability issue needs to be considered. LP based strategic planning can handle large scale problems with many decision variables and run very fast, while QP-based MPC runs slowly when the number of decision variables is large. Multiple distributed MPC controllers may be considered in practice to handle the large scale problems. In all of the simulations, both LP and QP problems are solved via LOQO which is a software package for smooth constrained optimization problems [20]. Some other aspects need to be studied to better understand the interaction between strategic and tactical planning, such as capacity limits and forecast horizon. How to select the weights to determine how closely the tactical planning algorithm should track the strategic planning targets will depend on the demand forecast, actual demand and capacity limits. Novel optimization techniques may be used to find the optimal tuning for LP/MPC interaction.
7 Acknowledgements The authors would like to acknowledge support for this work from the National Science Foundation (DMI-0432439) and the Intel Research Council.
References 1. Christopher, M. (1992) Logistics and Supply Chain ManagementPitman Publishing, London 2. Hines, P. (1995), Network sourcing: a hybrid approach, International Journal of Purchasing and Materials Management, Volume 31, Number 2, 18-25 3. Lamming, R.C. (1996), Squaring lean supply with supply chain management: lean production and work organization, International Journal of Operations and Production Management, Volume 16, Number 2, 183-197 4. SyracuseUniversity,
(2006)
Martin
J.
http://sominfo.syr.edu/supplychain/faq.htm
Whiteman
School
of
Management,
28
Wenlin Wang1 , Daniel E. Rivera1 , Hans D. Mittelmann2
5. Kempf, K. G. (2004) Control-Oriented Approaches to Supply Chain Management in Semiconductor Manufacturing, Proceedings of American Control Conference, 5:4563-4576 6. D. Simchi-Levi and P. Kaminsky and E. Simchi-Levi (2000), Designing and Managing the Supply Chain: Concepts, Strategies and Case Studies, McGraw Hill, New York 7. W. J. Hopp and M. L. Spearman (1996), Factory Physics: Foundations of Manufacturing Management, McGraw Hill, New York 8. Chopra, S. and Meindl, P. (2001) Supply Chain Management: Strategy, Planning, and Operation, Prentice-Hall, Upper Saddle River, New Jersey 9. R. Kapuscinski and S. Tayur (1999) Optimal Policies and Simulation-Based Optimization for Capacitated Production Inventory Systems, Quantitative Models for Supply Chain Management, Kluwer Academic, Boston 7-40 10. S. C. Graves and S. P. Willems (2000) Optimizing Strategic Safety Stock Placement in Supply Chains”, Manufacturing and Service Operations Management, Volume 2, Number 1, 68-93 11. C. E. Garc´ıa and D. M. Prett and M. Morari (1989) Model Predictive Control: Theory and Practice - A Survey, Automatica, Volume 25, Number 3, 335-348 12. E. F. Camacho and C. Bordons (1999), Model Predictive Control, Springer-Verlag, London 13. S. Tzafestas and G. Kapsiotis and E. Kyriannakis (1997) Model-based predictive control for generalized production planning problems, Computers in Industry, 34:201-210 14. S. Bose and J.F. Pekny (2000) A Model Predictive Control framework for planning and scheduling problems: a case study of consumer goods supply chain, Computers and Chemical Engineering, 24:329-335 15. E. Perea and E. Ydstie and I. Grossmann (2003) A model predictive control strategy for supply chain optimization, Computers and Chemical Engineering, 27:1201-1218 16. M. W. Braun and D. E. Rivera and W. M. Carlyle and K. G. Kempf (2003) Application of Model Predictive Control to Robust Management of Multi-Echelon Demand Networks, Simulation: Transactions of the Society for Modeling and Simulation International, Volume 79, Number 3,139-156 17. P. Seferlis and N. F. Giannelos (2004) A two-layered optimisation-based control strategy for multiechelon supply chain networks, Computers and Chemical Engineering, 28:799-809 18. W. Wang and D. E. Rivera (2007) Model Predictive Control for Tactical Decision-Making in Semiconductor Manufacturing Supply Chain Management, IEEE Transactions on Control Systems
Inner/Outer Loop Optimization in SCM
29
Technology, submitted 19. W. Wang (2007) Model Predictive Control strategies for Supply Chain Management in Semiconductor Manufacturing, Ph.D dissertation, Dept. of Chemical Engineering, Arizona State University 20. H. D. Mittelmann (1999) Benchmarking Interior Point LP/QP Solvers, Opt. Meth. Software 12:655670