Abstract
The hierarchical planning concept is commonly used for production planning. Dividing the planning process into subprocesses which are solved separately in the order of the hierarchy decreases the complexity and fits the common organizational structure. However, interaction between planning levels is crucial to avoid infeasibility and inconsistency of plans. Furthermore, optimizing subproblems often leads to suboptimal results for the overall problem. The alternative, a monolithic model integrating all planning levels, has been rejected in the literature because of several reasons. In this study, we show that some of them do not hold for an integrated production planning model combining the planning tasks usually attributed to aggregate production planning and master production scheduling. Therefore, we develop a hierarchical and an integrated model considering both levels, aggregate production planning and master production scheduling. Computational tests show that it is possible to solve the integrated model and that it outperforms the hierarchical approach for all instances. Moreover, an indication is given why and when integration is beneficial.



Similar content being viewed by others
Notes
In our instance generator, we exclude the theoretical possibility of getting a negative demand.
In further iterations the first periods would have been fixed. However, the statement always holds at least for planning period \(t_m=3\) in our rolling horizon setting.
References
Aghezzaf EH, Sitompul C, Van Den Broecke F (2011) A robust hierarchical production planning for a capacitated two-stage production system. Comput Ind Eng 60:361–372
Amorim P, Meyr H, Almeder C, Almada-Lobo B (2013) Managing perishability in production-distribution planning: a discussion and review. Flex Serv Manuf J 25(3):389–413
Axsäter S, Jönsson H (1984) Aggregation and disaggregation in hierarchical production planning. Eur J Oper Res 17:338–350
Bitran GR, Haas EA, Hax AC (1981) Hierarchical production planning: a single stage system. Oper Res 29(4):717–743
Carravilla MA, de Sousa JP (1995) Hierarchical production planning in a make-to-order company: a case study. Eur J Oper Res 86:43–56
Christou IT, Lagodimos AG, Lycopoulou D (2007) Hierarchical production planning for multi-product lines in the beverage industry. Prod Plan Control 18(5):367–376
Chung C-H, Krajewski LJ (1987) Interfacing aggregate plans and master production schedules via a rolling horizon feedback procedure. Omega Int J Manag Sci 15(5):401–409
Clark AR (2005) Rolling horizon heuristics for production planning and set-up scheduling with backlogs and error-prone demand forecasts. Prod Plan Control 16(1):81–97
Drexl A, Fleischmann B, Günther H-O, Stadtler H, Tempelmeier H (1994) Konzeptionelle Grundlagen kapazitätsorientierter PPS-Systeme. Zeitschrift für betriebswirtschaftliche Forschung 12:1022–1945
Dziellinski BP, Gomory RE (1965) Optimal programming of lot sizes, inventory and labor allocations. Manag Sci 11(9):874–890
Fleischmann B, Meyr H (2003) Planning hierarchy, modeling and advanced planning systems. In: Graves SC, De Kok AG (eds) Handbooks in operations research and management science, vol 11. Elsevier, pp 457–523
Gebhard M, Kuhn H (2007) Robuste hierarchische Produktionsplanung mit Bedarfsszenarien. In: Otto A, Obermaier A (eds) Logistikmanagement: Analyse, Bewertung und Gestaltung logistischer Systeme. Deutscher Universitäts-Verlag, Wiesbaden, pp 161–183
Gelders LF, Van Wassenhove LN (1982) Hierarchical integration in production planning: theory and practice. J Oper Manag 3(1):27–35
Graves SC (1982) Using lagrangean techniques to solve hierarchical production planning problems. Manag Sci 28(3):260–275
Guimaraes L (2013) Advanced production planning optimization in the beverage industry. Dissertation, Faculdade de Engenharia Universidade do Porto
Hax AC, Meal HC (1975) Hierarchical integration of production planning and scheduling. TIMS Studies in Management Sciences, vol 1, Logistics, pp 656–673
Herrmann JW, Mehra A, Minis I, Proth J (1994) Hierarchical production planning with part, spatial and time aggregation. In: Proceedings of the fourth international conference on computer integrated manufacturing and automation technology, Troy, New York, 10–12 October 1994. IEEE Computer Society Press, pp 430–435
Jodlbauer H (2006) An approach for integrated scheduling and lot-sizing. Eur J Oper Res 172:386–400
Kröger F (2014) Antizipationsfunktionen für die hierarchische Planung am Beispiel der Koordination von langfristiger Standort- und mittelfristiger Produktionsplanung. Dissertation, Universität Hamburg
Lasdon LS, Terjung RC (1971) An efficient algorithm for multi-item scheduling. Oper Res 19(4):946–969
Manne AS (1958) Programming of economic lot sizes. Manag Sci 4:115–135
McKay KN, Safayeni FR, Buzacott JA (1995) A review of hierarchical production planning and its applicability for modern manufacturing. Prod Plan Control 6(5):384–394
Meybodi MZ (1995) Integrating production activity control into a hierarchical production-planning model. Int J Oper Prod Man 15(5):4–25
Meybodi MZ, Foote BL (1995) Hierarchical production planning and scheduling with random demand and production failure. Ann Oper Res 59:259–280
Omar MK, Bennell JA (2009) Revising the master production schedule in a HPP framework context. Int J Prod Res 47(20):5857–5878
Omar MK, Teo SC (2007) Hierarchical production planning and scheduling in a multi-product, batch process environment. Int J Prod Res 45(5):1029–1047
Ortiz-Araya V, Albornoz VM (2012) Hierarchical planning methodology for a supply chain management. Inf Econ 16(2):14–18
Özdamar L, Bozyel MA, Birbil SI (1998) A hierarchical decision support system for production planning (with case study). Eur J Oper Res 104:403–422
Qiu MM, Fredendall LD, Zhu Z (2001) Application of hierarchical production planning in a multiproduct, multimachine environment. Int J Prod Res 39(13):2803–2816
Rohde J (2004) Hierarchical supply chain planning using artificial neural networks to anticipate base-level outcomes. OR Spectr 26:471–492
Rohde J, Meyr H, Wagner M (2000) Die supply chain planning matrix. PPS Manag 5(1):10–15
Sawik T (2009) Monolithic versus hierarchical approach to integrated scheduling in a supply chain. Int J Prod Res 47(21):5881–5910
Schneeweiss C (1995) Hierarchical structures in organisations: a conceptual framework. Eur J Oper Res 86:4–31
Schneeweiss C (2003) Distributed decision making—a unified approach. Eur J Oper Res 150(2):237–252
Selçuk B, Fransoo JC, De Kok AG (2006) The effect of updating lead times on the performance of hierarchical planning systems. Int J Prod Econ 104(2):427–440
Silver EA, Peterson R (1985) Decision systems for inventory management and production planning, 2nd edn. Wiley, New York
Stadtler H (2000) Improved rolling schedules for the dynamic single-level lot-sizing problem. Manag Sci 46(2):318–326
Timm T, Blecken A (2011) A method for the hierarchical planning of the structure, dimension and material requirements of manufacturing systems. Int J Prod Res 49(12):3431–3453
Venkataraman R, Smith SB (1996) Disaggregation to a rolling horizon master production schedule with minimum batch-size production restrictions. Int J Prod Res 24(6):1517–1537
Vollmann TE, Berry WL, Whybark DC (1973) Manufacturing planning and control systems. Richard D Irwin, Inc., Homewood
White LR (2012) A hierarchical production planning system simulator. Int J Simul Model 11:40–57
Xue G, Offodile OF, Zhou H, Troutt MD (2011) Integrated production planning with sequence-dependent family setup times. Int J Prod Econ 131:674–681
Zäpfel G (1996) Production planning in the case of uncertain individual demand—extension for an MRP II concept. Int J Prod Econ 46–47:153–164
Acknowledgments
The first author is grateful to Deutscher Akademischer Austauschdienst (DAAD) for awarding him a scholarship (Program ID: 57044990) and to Instituto de Engenharia de Sistemas e Computadores (INESC) Porto for fellowship AE2014-0185.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Appendices
Appendix 1: Relationships among parameters
For our test instances, we assumed the following relationships among the parameters.
Time related parameters:
-
The (expected) number of setups for product family j in \(T^\mathrm{MPS}\) periods. Note that this approximation only holds for small TBO. For instance, it is very unlikely that for \(T^\mathrm{MPS}=12\) and \(\mathrm{TBO}=8,\) one or two setups are sufficient. This will be considered in (46).
$$\begin{aligned} T^\mathrm{MPS}/\mathrm{TBO}_j \end{aligned}$$(42) -
The total capacity in \(T^\mathrm{MPS}\) periods: capacity per week, summed over all weeks, multiplied by the maximum number of production lines and parameter \(M^1\) stating the percentage usage of these lines. Note that a target utilization of 80 % was aspired. Therefore, the capacity \(\mathrm{Cap}_{t_w}\) was multiplied by 0.8.
$$\begin{aligned} \mathrm{TotalCap}^\mathrm{MPS} = \sum _{t_w=1}^{T^\mathrm{MPS}} 0.8\cdot \mathrm {Cap}_{t_w} \cdot \sum _n L_n^{\mathrm{max}} \cdot M^1. \end{aligned}$$(43) -
Total setup time S for all products: \(M^2\) indicates the proportion of the total capacity which is used for setup activities.
$$\begin{aligned} S = M^2 \cdot \mathrm{TotalCap}^\mathrm{MPS}. \end{aligned}$$(44) -
Disaggregate the total setup time into setup times for every product family j according to \(M^3_j\) stating the proportion of j. Divide by the maximum number of setups in \(T^\mathrm{MPS}\) periods. Moreover, the setup times should be limited such that \(\sum _j s_j \le \mathrm{TotalCap}^\mathrm{MPS}/T^\mathrm{MPS}\) holds. Hence, we take the minimum value.
$$\begin{aligned} s_j'&= S \cdot M_j^3 \cdot \left( \frac{T^\mathrm{MPS}}{\mathrm{TBO}_j}\right) ^{-1} = \frac{S \cdot M_j^3 \cdot \mathrm{TBO}_j}{T^\mathrm{MPS}}\end{aligned}$$(45)$$\begin{aligned} s_j&= \min \left\{ s_j', \frac{\mathrm{TotalCap}^\mathrm{MPS}\cdot M_j^3}{T^\mathrm{MPS}} \right\} . \end{aligned}$$(46) -
Production time product type k: The equality is just an estimation. We multiply the average production time of that product type with a buffer for setup operations. For a more accurate production time \(a_k,\) the MPS could be solved in advance.
$$\begin{aligned} a_k = \frac{\sum _{j \in \Gamma (k)} a_j^\mathrm{MPS}}{|\Gamma (k)|} \cdot (1-M^2)^{-1}. \end{aligned}$$(47) -
Maximum production amount for all production lines (without overtime) in \(T^\mathrm{MPS}\) periods: the total capacity is reduced by setup operations. The remaining time can be used for production. Dividing by the average production time provides the maximum production amount.
$$\begin{aligned} \mathrm{MaxProd} = \frac{(1-M^2) \cdot \mathrm{TotalCap}^\mathrm{MPS}}{\sum _j a_j^\mathrm{MPS}/J}. \end{aligned}$$(48) -
The maximum production amounts for product family j are calculated by disaggregating MaxProd. \(\mathrm{MaxProd}_j\) is used to determine the demand (see Sect. 6.2).
$$\begin{aligned} \mathrm{MaxProd}_j = \mathrm{MaxProd} \cdot M_j^3. \end{aligned}$$(49) -
Maximum overtime:
$$\begin{aligned} O^{\mathrm{max}} = M^4 \cdot \mathrm{Cap}_{t_w}. \end{aligned}$$(50)
Cost-related parameters:
We can distinguish between variable and fixed cost in terms of the production amount. Fixed costs are \(C_n^L\) and \(C^O\), whereas \(C_n^P\), \(C^U\), \(C^B\), and \(C_k^I\) and \(C_j^I\) are variable and depend on the production amount. Setup costs \(C_j^S\) do not depend directly on the production amount, but the calculation is typically based on the inventory holding cost \(C_j^I\), \(\mathrm{TBO}_j\), and demand. We have to consider these two kinds of cost when we create the relationships between several costs. For one cost parameter, the values have to be set in advance. We chose the production cost \(C_n^P\).
-
Cost (per month) for running one production line of type n. We multiply the maximum production amount with production cost for one unit. How similar/close these cost are defines \(M^5\). A value close to 1 might be reasonable.
$$\begin{aligned} C_n^L = M^5 \cdot \frac{\mathrm{Cap}_{t_w}}{\sum _j a_j^\mathrm{MPS}/J} \cdot C_n^P. \end{aligned}$$(51) -
Overtime cost (per time unit): calculate the average cost for running a production line 1 h by dividing by the monthly capacity (in time units). The results are cost per time unit. \(M^6\) represent extra cost which have to be paid additionally to the regular cost. Variable cost, e.g., energy cost, are already considered in \(C_n^P\), so \(M^6\) has only to define a percentage for the overtime premium of workers.
$$\begin{aligned} C^O = M^6 \cdot \frac{\sum _n C_n^L/N}{\mathrm{Cap}_{t_m}}. \end{aligned}$$(52) -
Cost for unmet demand: we want to avoid losing sales, so we have to assign a sufficiently high value. We chose the average cost for running a production line for one month.
$$\begin{aligned} C^U = \sum _n C_n^L/N \end{aligned}$$(53) -
Cost for backorders depend on the production cost for one unit. The relationship is given by factor \(M^7\).
$$\begin{aligned} C^B = M^7 \cdot \sum _n C_n^P/N. \end{aligned}$$(54) -
Inventory holding cost for one unit of family \(j \in \phi (n)\) is related to the average production cost for one unit on machine n.
$$\begin{aligned} C_j^I = M^8 \cdot \sum _n C_n^P/N. \end{aligned}$$(55) -
Inventory holding cost for product type k is similar (or equal) to the average cost for product families j multiplied with number of weeks per month (4):
$$\begin{aligned} C_k^I = \frac{\sum _{j \in \Gamma (k)} C_j^I}{|\Gamma (k)|}\cdot 4. \end{aligned}$$(56) -
Setup cost for family j is determined as usual:
$$\begin{aligned} C^S_j = \frac{C_j^I\cdot 1/T^\mathrm{MPS} \sum _{t_w} D_{jt_w} \mathrm{TBO}_j^2}{2}. \end{aligned}$$(57) -
Cost for opening/closing a production line of type n depends on the cost for running the line for one period \(t_m\):
$$\begin{aligned} C_n^{L+} \cdot M^{9} = C_n^{L} = C_n^{L-} \cdot M^{10}. \end{aligned}$$(58)
We propose the following values for \(M^r\), \(r=1,\ldots ,10\):
-
\(M^1=0.75\), i.e. 75 % of all machines are open on average.
-
\(M^2 \in \{0.1,0.3\}\), choice depends on instances.
-
\(M_j^3 = 1/J\), \(\forall j\), i.e. Products have identical setup times.
-
\(M^4 = 0.5\). Assume 6 working days with two shifts. Allow one additional shift every day.
-
\(M^5=1\), i.e. running a production line equals cost for producing the maximum amount of one month on that line.
-
\(M^6=0.5\), i.e. we have to pay 50 % more, compared to regular production time, when we use overtime.
-
\(M^7=1.25\), i.e. backorder cost are 25 % higher than the production cost.
-
\(M^8=0.1\), i.e. production cost are ten times higher than inventory holding cost.
-
\(M^{9}=1.5\), i.e. opening a production line leads to costs 1.5 times the cost for running the line. Cost drivers: new workers have to be hired, lines have to installed.
-
\(M^{10}=0.5\), i.e. shutting down a production line costs 50 % of the costs for running that line for one month. Cost drivers: layoff cost, cleansing cost.
Remark 8.1
To avoid producing all products in period \(t_w=1,\) we set the demand \(D_{j1}=0\), \(\forall j=1,\ldots ,J\). That means, initial production can take place in period \(t_w=1\) or \(t_w=2\).
Appendix 2: Including forecast errors
We follow the assumptions of Clark (2005) in his experimental design:
-
Forecast accuracy increases by decreasing distance (called lead-time) to the forecast period.
-
How the forecast is made is not relevant.
The forecast demand values are calculated as follows (for simplification, the explanation is product independent).
-
First, we have to determine/set the true demand \(V_0\).
-
Then, we calculate the so called base value depending on the planning horizon length T: \(V_T = \max \{0,V_0(1+T \alpha r)\}\), with \(\alpha \ge 0\) as a degree of error and r as standardized normally distributed random variable.
-
To ensure the convergence to the true demand \(V_0\), we determine values \(V_t\), \(t=T,T-1,\ldots ,1,0\), by interpolation: \(V_t = V_0 + (t/T)(V_T-V_0)\).
-
Based on that values we calculate the forecast demands \(F_t\) for every period t by using a formula similar to the first one: \(F_t = \max \{0,V_t(1+t \alpha r)\}\), \(t=T,T-1,\ldots ,1,0\).
In that way, we can test different degrees of forecast accuracy as Clark (2005) did. However, note that \(\alpha \) does not represent the realized forecast error. Some computational tests have shown that we get a good estimation of the average forecast error by dividing the target error by ten. For instance, for a forecast which differs on average 30 % from the true demand, \(\alpha \) equals 0.03. Naturally because of the random number r, we might get forecasts over and under the average.
Appendix 3: Result tables
See Table 18.
Rights and permissions
About this article
Cite this article
Vogel, T., Almada-Lobo, B. & Almeder, C. Integrated versus hierarchical approach to aggregate production planning and master production scheduling. OR Spectrum 39, 193–229 (2017). https://doi.org/10.1007/s00291-016-0450-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00291-016-0450-2