Introduction

Cloud manufacturing (CMfg) is a manufacturing model for enabling ubiquitous, convenient, and real-time access to a shared pool of configurable manufacturing resources through the Internet [20, 44]. CMfg is the application of cloud computing [1] to the manufacturing sector that aims to provision and release manufacturing resources rapidly with minimal management efforts or service provider interaction [25]. Studies like Wen and Zhou [40] viewed CMfg as a promising tool of servitization manufacturing industries. A CMfg manufacturing system is an intelligent manufacturing system [11] that makes better use of resources with the aid of cloud service providers.

There are various CMfg models that can be applied to different stages of the manufacturing life cycle (including product design, prototyping, production engineering, capacity planning, production planning (including sequencing and scheduling), mass production (including quality control and assurance), recycling, the cease of production, etc.) [9]. Manufacturing resources required for these stages are not equally easy to encapsulate into cloud services. For example, product design is the easiest stage since product designs and design knowledge are both intangible and can be easily shared online [14, 18]. With the advent of three-dimensional (3D) printing (i.e., additive manufacturing) and computer numerically controlled (CNC) machining (i.e., subtractive manufacturing) technologies, prototyping is becoming easier now than in the past [3, 22]. The combination of 3D printing and CNC is called hybrid manufacturing [30]. These rapid prototyping technologies enable mass customization as an emerging pattern of mass production [6]. However, except for these, other manufacturing resources for mass production (including equipment, operators, and raw materials) are very difficult to encapsulate. Nevertheless, resource sharing across organizations is the focus of CMfg, although it is very difficult and cannot be taken for granted. In addition, most of the past studies viewed CMfg systems from an information technology (IT) point of view (e.g., [15, 43, 46], which unnecessarily added much theoretical and technical complexity to managing a CMfg system. A recent review of CMfg studies refers to Ghomi et al. [12].

This study is focused on the mid-term or long-term capacity and production planning of a traditional manufacturer with cloud-based capacity, which has rarely been investigated in the past studies. In contrast, most existing methods are devoted to the short-term production planning or job scheduling in a CMfg system (e.g., [36], which assumes the extensive adoption of radio frequency identification (RFID) sensors, cross-organizational information technology (IT) system architectures, and cloud computing methodologies. Such an assumption may be impractical to some manufacturers. Nevertheless, a manufacturer can still benefit by resorting to CMfg capacity or selectively deploying RFID sensors, which is much easier and practical.

A fuzzy capacity and production planning model for a manufacturer with cloud-based capacity is proposed in this study. Compared to existing methods, the proposed methodology has the following novel characteristics:

  1. 1.

    The application of the proposed methodology is not restricted to factories that utilize highly automatic equipment (such as 3D printers, CNC machines, and robots). However, the fuzzy capacity and production planning model is designed for factories with parallel machines, and needs to be modified to be suitable for other types of manufacturing systems such as unrelated parallel machines.

  2. 2.

    The proposed methodology is for the mid-term or long-term capacity and production planning, not for the daily or short-term production planning or job scheduling, of a CMfg system.

  3. 3.

    The imprecision of forecasting the future demand, the uncertainty in the availability of cloud-based capacity [5], and the prioritization of self-owned capacity are more critical to the effectiveness of mid-term or long-term capacity and production planning. To address this concern, a fuzzy mixed-integer linear programming (FMILP) model and a fuzzy mixed-integer nonlinear programming (FMINLP) model are proposed in this study. In contrast, in existing methods, the scheduling algorithm and the deployment of RFIDs for collecting real-time production information are more important to the performance of short-term production planning and job scheduling [18, 47].

The differences between the proposed methodology and some existing methods are summarized in Table 1.

Table 1 The differences between the proposed methodology and some existing methods

The remainder of this paper is organized as follows: Sect. 2 is dedicated to the literature review. Section 3 describes the proposed fuzzy capacity and production planning model for a manufacturer with cloud-based capacity. A case is investigated in Sect. 4 to illustrate the applicability of the proposed methodology. The managerial implications for two CMfg technology applications, predictive maintenance and RFID-based real-time production information collection, are also discussed. Section 5 concludes this study and provides some topics for future investigation.

Literature review

Three types of capacity

Theoretically, there are three types of capacity that can be utilized by a manufacturer with cloud-based capacity, as illustrated in Fig. 1:

Fig. 1
figure 1

The three types of capacity under a CMfg environment

  1. 1.

    Self-owned capacity, which is the capacity owned by a manufacturer. Self-owned capacity may be located in a single factory or distributed over several factories controlled by the manufacturer [32].

  2. 2.

    Foundry capacity, which is the capacity of foundries that can be utilized within a certain time interval according the formal agreement between foundries and a manufacturer [10]. The relationship between a foundry and the manufacturer is usually long term. As a result, a manufacturer only needs to pass order details to foundries. The required coordination is largely simplified.

  3. 3.

    Cloud-based capacity, which is the available capacity information provided by unknown factories (i.e., the capacity providers) and can be accessed by a manufacturer online through the intervention of a cloud service provider. The relationship between the capacity providers and the manufacturer is temporary. As a result, the manufacturer is still responsible for the preparation and logistics of other manufacturing resources [48].

The differences among the three types of capacity are summarized in Table 2.

Table 2 The differences among the three types of capacity

Under a CMfg environment, a manufacturer has to choose among various types of capacity in capacity and production planning [2]. Since self-owned capacity is usually the most certain capacity, a manufacturer will first utilize self-owned capacity to meet the forecasted demand. Self-owned capacity-based manufacturing is also the most efficient manufacturing mode because no cross-organizational collaboration and transportation is required. However,

  1. 1.

    Self-owned capacity is not necessarily the most economical capacity. A foundry may achieve a better economy of scale [28].

  2. 2.

    It is a challenging task to build up the appropriate level of self-owned capacity. Most manufacturers prepare extra self-owned capacity to respond to unexpected demand, which becomes a burden during a recession.

For these reasons, a manufacturer may establish a long-term relationship with foundries, and sometimes utilizes foundry capacity instead of self-owned capacity. However, a foundry also faces the same problem of unexpected demand, and may fail to provide the manufacturer sufficient foundry capacity. As a result, a manufacturer has to resort to cloud-based capacity. By utilizing foundry or cloud-based capacity to respond to unexpected demand, the marginal profitability and/or efficiency of a manufacturer may decrease [39]. Nevertheless, the overall efficiency and profitability of the manufacturer still improve, because more demand can be met. A flowchart is provided in Fig. 3 to guide a manufacturer in choosing from the three types of capacity.

Capacity and production planning under a CMfg environment

Capacity planning is the process of determining the amount of capacity required in the future [31]. Although there have been a great amount of literature on CMfg [8, 29, 44], most of them were focused on establishing the architecture of a CMfg system from an IT perspective [19, 33, 37, 44, 45]. In contrast, the capacity and production planning of a CMfg system has rarely been discussed. Some of the relevant references are reviewed as follows:

The capacity of a CMfg system composed of only 3D printers, CNC machines, and/or robots was easy to expand or shrink [42]. For example, Wang [35] discussed a CMfg system composed of only CNC machines. A Web-based interface was designed so that CNC machines could be monitored and controlled through the Internet. However, the direct and seamless control of CNC machines was still a problem owing to the closed nature of existing CNC controllers. In addition, the security issue has not been taken into account. In the view of Mourtzis and Doukas [26], the capacity planning of a CMfg system was analogous to that of a supply chain, and should be combined with inventory planning, which is exactly the view adopted by this study. The capacity planning of a CMfg system was called a scalability planning problem by Wu et al. [41]. However, the methodology proposed by Wu et al. [41] was not applicable to a CMfg system composed of machines that were difficult to digitalized. In addition, their method was about how to acquire and share extra and unused capacity, respectively, which was a short-term response rather than a planning action. The willingness of each factory to share its unused capacity is undoubtedly the most critical issue to the sustainability of a CMfg system, which is not easy to address. Most existing methods just assumed that all factories were willing to share their unused capacity-related resources [23]. 3D printing has great potential for establishing a CMfg service. However, the planning, optimization, and control of a 3D printing-based CMfg system have not been sufficiently discussed [38].

A number of the past studies have been devoted to process planning or job scheduling in a CMfg system. For example, Zhong et al. [47] formulated a linear programming (LP) model to schedule the production of jobs in a factory. The availability information of a machine was collected with a RFID sensor and became an input to the LP model. However, the LP model could not be applied to a cross-factory case. Lu and Xu [24] established a computer-aided process planning (CAPP) system for scheduling jobs under a CMfg environment. Argoneto and Renna [2] applied the Gale–Shapley algorithm to match capacity suppliers to capacity consumers in a CMfg system. Then, a capacity consumer chose the most suitable capacity supplier according to several established fuzzy inference rules. However, such fuzzy inference rules were subjective and unoptimized. Ivanov et al. [16] investigated the effect of cloud capacity by varying the available capacity within a supply chain, and attempted to optimize the scheduling of jobs processed collaboratively by factories in the supply chain, which was a very complicated scheduling problem from a theoretical point of view. In addition, the costs of utilizing the capacity-related resources provided by different factories were not equal. Furthermore, lengthy negotiation and transportation were required when jobs were moved from a factory to another, especially under a CMfg environment in which factories might not have long-term cooperation relationships with each other [27]. Solving the scheduling problem without considering these issues was not practical. In contrast, facilitating the required coordination and transportation can bring more benefits to a CMfg system [7]. Chen and Lin [7] planned the production of a CMfg system composed of distributed 3D printing facilities in a make-to-order manner. Chen and Lin formulated a LP model and a nonlinear programming (NLP) model for splitting an order among 3D printing facilities and determining the sequence of picking up the printed pieces, respectively. Similarly, in the CMfg system established by Wang et al. [38], an order was split among several 3D printing facilities by solving a mixed-integer linear programming (MILP) problem. Subsequently, a mixed-integer quadratic programming (MIQP) model was optimized to form a delivery plan to pick up the printed pieces. In addition, the CMfg system provided slack information to each 3D printing facility for it to consider resuming an early terminated 3D printing process locally without modifying the original production and transportation plan.

In sum, the past studies in this field are subject to the following problems:

  1. 1.

    Most of the past studies were focused on the short-term process planning or job scheduling, rather than the mid-term or long-term capacity and production planning. This result is not surprising, because CMfg originates from cloud computing that aims to aggregate distributed computing resources to solve a complicated problem in a short time. As a result, how to assign tasks to various CMfg resources becomes the focus. The relationship between factories under a CMfg environment is not necessarily long term. Some CMfg resources used at this time may not be available next time. As a result, a factory cannot make a large-scale production plan by incorporating these CMfg resources to pursue higher profits.

  2. 2.

    The contingent nature of CMfg was not highlighted: The attractiveness of CMfg comes from the possibility of utilizing (or renting) the manufacturing resources temporarily from an unknown capacity provider [27]. However, the most economical, efficient, and risk-averse way to utilize such manufacturing resource is to establish a long-term relationship with the capacity supplier, i.e., the so-called outsourcing, the benefits of which cannot be achieved by cooperating with an unknown capacity provider in a contingent way.

  3. 3.

    Most of the past studies (e.g., [6, 35, 41, 42] investigated cases in which 3D printers and/or CNC equipment with standardized (or digitized) inputs, operations, and outputs were used. However, the methodologies and results cannot be applied to factories using machines which inputs, operations, and outputs have not been standardized (or digitalized).

  4. 4.

    Studies such as Wang [35] and Wu et al. [42] established the architecture of a CMfg system from an IT point of view, but did not provide a methodology for optimizing the performance of production planning. Wu et al. [41] proposed a stochastic Petri net approach that relied on simulation but could not optimize the performance. Mourtzis and Doukas [26] also applied simulation. Few studies like Zhong et al. [47] and Chen and Lin [7] solved LP or NLP problems to optimize the performance of job scheduling or production planning. However, their scopes involved only daily or very short-term operations.

The proposed methodology

Before delving into the details of the proposed methodology, the parameters and variables used throughout this study are defined as follows:

  • (·): Fuzzy scalar multiplication;

  • (−): Fuzzy subtraction;

  • (×): Fuzzy multiplication;

  • \( a(t) \): Actual demand within period t;

  • \( c_{1} \): The unit variable cost;

  • \( c_{\text{f}} \): The hourly rate of the foundry capacity; It is expected that \( c_{\text{f}} \ge \tilde{c}_{\text{s}} (t) \).

  • \( \tilde{c}_{\text{s}} (t) \): The forecasted unit cost within period t;

  • \( \tilde{C}(t) \): The forecasted total costs within period t;

  • \( \tilde{C}_{\text{s}} (t) \): The forecasted total self-made costs within period t;

  • \( \tilde{d}(t) \): The forecasted demand within period t, including the demand from customers and those from other manufacturers (when the manufacturer serves as a foundry);

  • m: The actual number of machines;

  • \( \tilde{m} \): The required number of machines; \( \tilde{m} \in Z^{ + } \);

  • p: The unit processing time;

  • t: The period index; t = 1 ~ T;

  • T: The planning horizon;

  • \( \tilde{\delta }(t) \): The unmet forecasted demand within period t; \( \tilde{\delta }(t) \in Z^{ + } \);

  • U: The usage cost of a machine per month;

  • \( u(t) \): Actual utilization within period t;

  • \( \tilde{u}(t) \): The expected utilization within period t; \( \tilde{u}(t) \in [0,\;1] \);

  • \( v(t) \): Actual availability within period t;

  • \( \tilde{v}(t) \): The forecasted availability within period t; \( \tilde{v}(t) \in [0,\;1] \);

  • \( W(t) \): Working hours within period t;

  • \( x_{c} (t) \): The quantity of products made by utilizing cloud capacity within period t; \( x_{c} (t) \in Z^{ + } \);

  • \( x_{\text{f}} (t) \): The actual quantity of foundry-made products within period t; \( x_{\text{f}} (t) \in Z^{ + } \);

  • \( \tilde{x}_{\text{f}} (t) \): The forecasted quantity of products made by foundries within period t; \( \tilde{x}_{\text{f}} (t) \in Z^{ + } \);

  • \( x_{\text{s}} (t) \): The actual quantity of self-made products within period t; \( x_{\text{s}} (t) \in Z^{ + } \);

  • \( \tilde{x}_{\text{s}} (t) \): The forecasted quantity of self-made products within period t; \( \tilde{x}_{\text{s}} (t) \in Z^{ + } \);

  • \( y(t) \): The actual product yield within period t;

  • \( \tilde{y}(t) \): The forecasted product yield within period t; \( \tilde{y}(t) \in [0,\;1] \);

  • \( \xi (t) \): The unused self-owned capacity that can be shared as cloud capacity within period t; \( \xi (t) \in Z^{ + } \).

In the proposed methodology, a fuzzy capacity and production planning model is established for a factory with cloud-based capacity. The procedure for implementing the proposed methodology comprises the following steps:

Step 1. Determine the planning horizon.

Step 2. Forecast the demand for each product within every future period.

Step 3. Estimate the unit cost and yield of each product within every future period.

Step 4. Calculate the number of machines required if all products are to be self-made.

Step 5. Collect the information about the availability and costs of foundry and cloud-based capacity within each future period.

Step 6. Formulate and optimize the fuzzy capacity and production planning model to switch between self-owned capacity and foundry capacity to minimize total costs.

Step 7. Resort to cloud-based capacity if actual demand cannot be fully met by utilizing self-owned and foundry capacity.

A flowchart is provided in Fig. 2 to illustrate the procedure.

Fig. 2
figure 2

The procedure for implementing the proposed methodology

Steps 1 to 3: Forecasting the demand, yield, and unit cost within each period

The proposed methodology starts from forecasting the demand within each period. To consider the uncertainty in demand, the forecasted demand within a period is expressed with a triangular fuzzy number (TFN) [13].

$$ \tilde{d}(t) = (d_{1} (t),\;d_{2} (t),\;d_{3} (t)), $$
(1)

as shown in Fig. 3. The membership function of \( \tilde{d}(t) \) is

$$ \mu_{{\tilde{d}(t)}} (x) = \left\{ {\begin{array}{*{20}l} {\frac{{x - d_{1} (t)}}{{d_{2} (t) - d_{1} (t)}}} & {{\text{if}}\quad d_{1} (t) \le x < d_{2} (t)} \\ {\frac{{x - d_{3} (t)}}{{d_{2} (t) - d_{3} (t)}}} & {{\text{if}}\quad d_{2} (t) \le x < d_{3} (t)} \\ 0 & {\text{otherwise}} \\ \end{array} ,} \right. $$
(2)
Fig. 3
figure 3

Expressing the forecasted demand with a TFN

Subsequently, the yield and unit cost when the forecasted demand is completely self-made can be estimated.

Step 4: calculate the number of machines required

Since self-owned capacity is usually the most certain capacity, a manufacturer will build up and utilize self-owned capacity first. The required number of machines that meet the forecasted demand within each period can be determined as

$$ \begin{aligned} \tilde{m} &= \mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{{p( \cdot )\tilde{d}(t)}}{{\tilde{y}(t)( \times )\tilde{v}(t)( \cdot )W(t)}}} \right\rceil , \\ &= \mathop {\hbox{max} }\limits_{t} \left\lceil {\left( {\frac{{pd_{1} (t)}}{{y_{3} (t)v_{3} (t)W(t)}},\;\frac{{pd_{2} (t)}}{{y_{2} (t)v_{2} (t)W(t)}},\;\frac{{pd_{3} (t)}}{{y_{1} (t)v_{1} (t)W(t)}}} \right)} \right\rceil , \\ &= \left( {\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{{pd_{1} (t)}}{{y_{3} (t)v_{3} (t)W(t)}}} \right\rceil ,\;\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{{pd_{2} (t)}}{{y_{2} (t)v_{2} (t)W(t)}}} \right\rceil ,\;\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{{pd_{3} (t)}}{{y_{1} (t)v_{1} (t)W(t)}}} \right\rceil } \right), \\ \end{aligned} $$
(3)

according to the arithmetic for TFNs [49]. In Eq. (3), \( p( \cdot )\tilde{d}(t) \) is the required capacity within period t, while \( \tilde{y}(t)( \times )\tilde{v}(t)( \cdot )W(t) \) is the capacity provided by a single machine. Dividing the former by the later gives the required number of machines. If m machines are actually acquired, the forecasted number of self-made products within period t is

$$ \begin{aligned} \tilde{x}_{\text{s}} (t) &= \hbox{min} \left( {\tilde{d}(t),\;\left\lfloor {\frac{{m( \cdot )\tilde{y}(t)( \times )\tilde{v}(t)( \cdot )W(t)}}{p}} \right\rfloor } \right), \\ & = \left( {\hbox{min} \left( {d_{1} (t),\;\left\lfloor {\frac{{my_{1} (t)v_{1} (t)W(t)}}{p}} \right\rfloor } \right),\;\hbox{min} \left( {d_{2} (t),\;\left\lfloor {\frac{{my_{2} (t)v_{2} (t)W(t)}}{p}} \right\rfloor } \right),\hbox{min} \left( {d_{3} (t),\;\left\lfloor {\frac{{my_{3} (t)v_{3} (t)W(t)}}{p}} \right\rfloor } \right)} \right), \\ \end{aligned} $$
(4)

In Eq. (4), \( \left\lfloor {m( \cdot )\tilde{y}(t)( \times )\tilde{v}(t)( \cdot )W(t)/p} \right\rfloor \) is the quantity of products that can be made on m machines within period t, and should not be more than \( \tilde{d}(t) \). If \( m < \tilde{m} \), then the unmet forecasted demand within period t is

$$ \begin{aligned} \tilde{\delta }(t) &= \hbox{max} (\tilde{d}(t)( - )\tilde{x}_{\text{s}} (t),0), \\ &= (\hbox{max} (d_{1} (t) - x_{{\text{s}}3} (t),\;0),\;\hbox{max} (d_{2} (t) - x_{{\text{s}}2} (t),\;0),\;\hbox{max} (d_{3} (t) - x_{{\text{s}}1} (t),\;0)), \\ \end{aligned} $$
(5)

\( \tilde{\delta }(t) \) is the deviation between the forecasted demand and the quantity of self-made products, which is to be met utilizing foundry capacity

$$ \tilde{x}_{\text{f}} (t) = \tilde{\delta }(t). $$
(6)

Therefore, the required foundry capacity within period t is \( p\tilde{x}_{\text{f}} (t) \). In addition, the expected utilization can be derived as

$$ \begin{aligned} \tilde{u}(t) &= \frac{{\frac{{p( \cdot )\tilde{d}(t)}}{{\tilde{y}(t)( \times )\tilde{v}(t)( \times )W(t)}}}}{m}, \\ &= \left( {\frac{{pd_{1} (t)}}{{my_{3} (t)v_{3} (t)W(t)}},\;\frac{{pd_{2} (t)}}{{my_{2} (t)v_{2} (t)W(t)}},\;\frac{{pd_{3} (t)}}{{my_{1} (t)v_{1} (t)W(t)}}} \right). \\ \end{aligned} $$
(7)

In Eq. (7), \( p( \cdot )\tilde{d}(t)/\tilde{y}(t)( \times )\tilde{v}(t)( \times )W(t) \) is the number of machines required, while m is the number of machines acquired. Dividing the former by the latter gives the expected utilization. Based on the aforementioned discussion, the following fuzzy capacity and production planning model is established.

(Fuzzy capacity and production planning model I)

$$ \tilde{m} = \left( {\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{{pd_{1} (t)}}{{y_{3} (t)v_{3} (t)W(t)}}} \right\rceil ,\;\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{{pd_{2} (t)}}{{y_{2} (t)v_{2} (t)W(t)}}} \right\rceil , \;\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{{pd_{3} (t)}}{{y_{1} (t)v_{1} (t)W(t)}}} \right\rceil } \right), $$
(8)
$$ \tilde{x}_{\text{s}} (t) = \left( {\hbox{min} \left( {d_{1} (t),\;\left\lfloor {\frac{{my_{1} (t)v_{1} (t)W(t)}}{p}} \right\rfloor } \right),\;\hbox{min} \left( {d_{2} (t),\;\left\lfloor {\frac{{my_{2} (t)v_{2} (t)W(t)}}{p}} \right\rfloor } \right),\hbox{min} \left( {d_{3} (t),\;\left\lfloor {\frac{{my_{3} (t)v_{3} (t)W(t)}}{p}} \right\rfloor } \right)} \right), $$
(9)
$$ \tilde{x}_{\text{f}} (t) = (\hbox{max} (d_{1} (t) - x_{{\text{s}}3} (t),\;0),\;\hbox{max} (d_{2} (t) - x_{{\text{s}}2} (t),\;0),\;\hbox{max} (d_{3} (t) - x_{{\text{s}}1} (t),\;0)), $$
(10)
$$ \tilde{u}(t) = \left( {\frac{{pd_{1} (t)}}{{my_{3} (t)v_{3} (t)W(t)}},\;\frac{{pd_{2} (t)}}{{my_{2} (t)v_{2} (t)W(t)}},\;\frac{{pd_{3} (t)}}{{my_{1} (t)v_{1} (t)W(t)}}} \right). $$
(11)

Steps 5–6: capacity and production planning by considering self-owned and foundry capacity

In Fuzzy capacity and production planning model I, the priority of self-owned capacity is absolutely higher than that of foundry capacity. A manufacturer may seek a better balance between self-owned capacity and foundry capacity to optimize the cost effectiveness by minimizing the sum of total costs

$$ {\text{Min}}\;\tilde{Z}_{1} = \sum\limits_{t = t}^{T} {\tilde{C}(t)} , $$
(12)

subject to

$$ \tilde{x}_{\text{s}} (t) (+ )\tilde{x}_{\text{f}} (t) = \tilde{d}(t), $$
(13)

where

$$ \tilde{x}_{\text{s}} (t) \le \frac{{m( \cdot )\tilde{y}(t)( \times )\tilde{v}(t)( \cdot )W(t)}}{p}\;. $$
(14)

In Eq. (13), the quantity of products made by utilizing self-owned capacity plus that made by utilizing foundry capacity is equal to the forecasted demand. Constraint (14) requests that the quantity of self-made products be fewer than that can be made. The forecasted unit cost within period t can be calculated as

$$ \tilde{c}_{\text{s}} (t) = c_{1} ( + )\frac{mU}{{\tilde{x}_{\text{s}} (t)}}, $$
(15)

where \( mU(/)\tilde{x}_{\text{s}} (t) \) is the unit fixed cost that is derived by dividing the equipment usage cost among all self-made products. The forecasted total self-made costs are obtained by multiplying the forecasted unit cost to the quantity of self-made products as

$$ \begin{aligned} \tilde{C}_{\text{s}} (t) = \tilde{c}_{\text{s}} (t)( \times )\tilde{x}_{\text{s}} (t), \\ = c_{1} \tilde{x}_{\text{s}} (t)( + )mU, \\ \end{aligned} $$
(16)

while the forecasted total foundry costs are obtained in a similar way:

$$ \tilde{C}_{\text{f}} (t) = c_{\text{f}} ( \cdot )\tilde{x}_{\text{f}} (t). $$
(17)

Therefore, the forecasted total costs are the sum of self-made costs and foundry costs:

$$ \begin{aligned} \tilde{C}(t) &= \tilde{C}_{\text{s}} (t)( + )\tilde{C}_{\text{f}} (t), \\ &= c_{1} \tilde{x}_{\text{s}} (t)( + )mU( + )c_{\text{f}} \tilde{x}_{\text{f}} (t). \\ \end{aligned} $$
(18)

As a result, the following fuzzy capacity and production planning model is established, which is a FMILP problem:

(Fuzzy capacity and production planning model II)

$$ {\text{Min}}\;\tilde{Z}_{1} = \sum\limits_{t = t}^{T} {\tilde{C}(t)} , $$
(19)

subject to

$$ \tilde{C}(t) = c_{1} \tilde{x}_{\text{s}} (t)( + )mU( + )c_{\text{f}} \tilde{x}_{\text{f}} (t);\;t = { 1 }\sim T, $$
(20)
$$ \tilde{x}_{\text{s}} (t) (+ )\tilde{x}_{\text{f}} (t) = \tilde{d}(t);\;t = { 1 }\sim T, $$
(21)
$$ \tilde{x}_{\text{s}} (t) \le \frac{{m( \cdot )\tilde{y}(t)( \times )\tilde{v}(t)( \cdot )W(t)}}{p}\;;\;t = { 1 }\sim T, $$
(22)
$$ \tilde{x}_{\text{s}} (t),\;\tilde{x}_{\text{f}} (t),\;m \in Z^{ + } ;\;t = 1 \sim T, $$
(23)
$$ \tilde{C}(t) \in R^{ + } ;\;t = { 1 }\sim T. $$
(24)

Fuzzy capacity and production planning model II is a FMILP problem that is converted into an equivalent mixed-integer linear programming (MILP) model to facilitate the problem solving [17]. To this end, the following theorems are helpful.

Theorem 1

(The center-of-gravity (COG) method) A TFN \( \tilde{A} \) can be approximated with (or defuzzified into) a crisp value as [34]:

$$ \tilde{A} \to \frac{{A_{1} + A_{2} + A_{3} }}{3}. $$
(25)

Theorem 2

(Ranking two TFNs) \( \tilde{A} \) and \( \tilde{B} \) are two TFNs. \( \tilde{A} \ge \tilde{B} \) if \( A_{1} \ge B_{1} \), \( A_{2} \ge B_{2} \), and \( A_{3} \ge B_{3} \).

After applying Theorem 1 to Eqs. (19) and (20), and Theorem 2 to Constraint (22), the following MILP model is established.

(MILP model)

$$ {\text{Min}}\;Z_{1} = \sum\limits_{t = t}^{T} {\frac{{C_{1} (t) + C_{2} (t) + C_{3} (t)}}{3}} $$
(26)

subject to

$$ C_{1} (t) = c_{1} x_{{\text{s}}1} (t) + mU + c_{\text{f}} x_{{\text{f}}1} (t);\;t = { 1 }\sim T $$
(27)
$$ C_{2} (t) = c_{1} x_{{\text{s}}2} (t) + mU + c_{\text{f}} x_{{\text{f}}2} (t);\;t = { 1 }\sim T $$
(28)
$$ C_{3} (t) = c_{1} x_{{\text{s}}3} (t) + mU + c_{\text{f}} x_{{\text{f}}3} (t);\;t = { 1 }\sim T $$
(29)
$$ \frac{{x_{{\text{s}}1} (t) + x_{{\text{s}}2} (t) + x_{{\text{s}}3} (t)}}{3} + \frac{{x_{{\text{f}}1} (t) + x_{{\text{f}}2} (t) + x_{{\text{f}}3} (t)}}{3} = \frac{{d_{1} (t) + d_{2} (t) + d_{3} (t)}}{3};\;t = { 1 }\sim T $$
(30)
$$ x_{{\text{s}}1} (t) \le \frac{{my_{1} (t)v_{1} (t)W(t)}}{p}\;;\;t = { 1 }\sim T $$
(31)
$$ x_{{\text{s}}2} (t) \le \frac{{my_{2} (t)v_{2} (t)W(t)}}{p}\;;\;t = { 1 }\sim T $$
(32)
$$ x_{{\text{s}}3} (t) \le \frac{{my_{3} (t)v_{3} (t)W(t)}}{p}\;;\;t = { 1 }\sim T $$
(33)
$$ x_{{\text{s}}1} (t) \le x_{{\text{s}}2} (t) \le x_{{\text{s}}3} (t);\;t = { 1 }\sim T $$
(34)
$$ x_{{\text{f}}1} (t) \le x_{{\text{f}}2} (t) \le x_{{\text{f}}3} (t);\;t = { 1 }\sim T $$
(35)
$$ \tilde{x}_{\text{s}} (t),\;\tilde{x}_{\text{f}} (t),\;m \in Z^{ + } ;\;t = { 1 }\sim T $$
(36)
$$ C_{1} (t),\;C_{2} (t),\;C_{3} (t) \in R^{ + } ;t = { 1 }\sim T $$
(37)

Equations (27) to (29) are the one-to-one mappings between the TFNs on the two sides. Constraints (34) to (36) define the sequence of the three corners of the corresponding TFN.

Step 7: resorting to cloud-based capacity

The actual demand is seldom equal to the forecasted demand. As a result,

  1. 1.

    If the actual demand is less than the forecasted demand, i.e., \( a(t) < \tilde{d}(t) \), the manufacturer will utilize less self-owned capacity. Specifically speaking, the quantity made by utilizing foundry capacity (\( x_{\text{f}} (t) \)) remains because of the signed contract, while that made by utilizing self-owned capacity is reduced to

    $$ x_{\text{s}} (t) = a(t) - x_{\text{f}} (t). $$
    (38)

    In addition, no cloud-based capacity will be utilized, i.e., \( x_{c} (t) = 0 \).

  2. 2.

    Otherwise, the manufacturer will utilize unused self-owned capacity or seek for available cloud-based capacity to fill up the shortage:

    $$ x_{\text{s}} (t) = \hbox{min} (a(t) - x_{\text{f}} (t),\;\frac{my(t)v(t)W(t)}{p}\;). $$
    (39)

    where \( a(t) - x_{\text{f}} (t) \) is the quantity of products that needs to be made by utilizing self-owned capacity; \( my(t)v(t)W(t)/p \) is the quantity that can be made. The quantity that needs to be made by resorting to cloud-based capacity is

    $$ x_{c} (t) = a(t) - x_{\text{s}} (t) - x_{\text{f}} (t). $$
    (40)

    The unused self-owned capacity can then be shared online.

    $$ \xi (t) = \hbox{max} (0,\;\left\lfloor {\frac{my(t)v(t)W(t)}{p}} \right\rfloor - x_{\text{s}} (t)). $$
    (41)

In this way, the manufacturer becomes a cloud capacity supplier.

The prerequisites for these actions include the availability of cloud service providers and the manufacturer’s willing to share capacity and utilize cloud-based capacity.

Managerial insight: the implication for predictive maintenance

An important application of sensors in CMfg is predictive maintenance in which sensors are attached to a machine to collect the status information so as to predict a possible failure. Then, preventive maintenance can be arranged for the machine to avoid the possible failure. In other words, predictive maintenance aims to reduce costly unexpected machine failures, at the expense of a possible increase in the number of scheduled preventive maintenances. As a result,

  1. 1.

    The total maintenance costs spent on all types of maintenances can be reduced.

  2. 2.

    The total maintenance time can be shortened, which improves the availability of the machine, i.e., \( \tilde{v}(t) \uparrow \).

Therefore, if predictive maintenance is to be implemented, the forecasted availability within each period will be slightly elevated, which cannot be immediately achieved but rather follows a learning process as explained below. An equipment engineer learns to predict the possibility of a future failure from analyzing the collected signals. More signals are generated with more production. Therefore, the effect of predictive maintenance on improving availability can be modelled as a learning model

$$ \tilde{v}_{\text{p}} (t) = \tilde{v}(t)e^{{ - \frac{b}{{t - t_{\text{p}} }}}} . $$
(42)

An example is given in Fig. 4, in which the asymptotic availability (\( \tilde{v}(t) \)) is 90%, the learning constant (\( b \)) is 0.25, and the period after which predictive maintenance takes effect (\( t_{\text{p}} \)) is 3. Obviously, due to the effect of predictive maintenance, availability increases with time.

Fig. 4
figure 4

The effect of predictive maintenance on availability

Theorem 3

If the improvement of availability reaches a maximum of \( s\% \) after the predictive maintenance project has been launched for \( \Delta t_{\text{p}} \) periods, then

$$ b = - \ln (1 + s\% )\Delta t_{\text{p}} $$
(43)

Proof

The maximal improvement of availability is \( s\% \); therefore,

$$ \begin{aligned} \frac{{\tilde{v}_{\text{p}} (t)}}{{\tilde{v}(t)}} = e^{{ - \frac{b}{{t_{\text{p}} + \Delta t_{\text{p}} - t_{\text{p}} }}}} , \\ = 1 + s\% . \\ \end{aligned} $$
(44)

Therefore,

$$ b = - \ln (1 + s\% )\Delta t_{\text{p}} . $$
(45)

Theorem 3 is proved.

Therefore,

$$ \tilde{v}_{\text{p}} (t) = \tilde{v}(t)( \cdot )\hbox{min} \left( {e^{{\frac{{\ln (1 + s\% )\Delta t_{\text{p}} }}{{t - t_{\text{p}} }}}} ,1 + s\% } \right), $$
(46)

because the maximal availability is less than \( (1 + s\% )\tilde{v}(t) \).

After taking the effect of predictive maintenance into account, the following fuzzy capacity and production planning model is established for the CMfg system:

(Fuzzy capacity and production planning model III)

$$ {\text{Min}}\;\tilde{Z}_{1} = \sum\limits_{t = t}^{T} {\tilde{C}(t)} , $$
(47)

subject to

$$ \tilde{C}(t) = c_{1} \tilde{x}_{\text{s}} (t)( + )mU( + )c_{\text{f}} \tilde{x}_{\text{f}} (t);\;t = { 1 }\sim T $$
(48)
$$ \tilde{x}_{\text{s}} (t) (+ )\tilde{x}_{\text{f}} (t) = \tilde{d}(t);\;t = { 1 }\sim T $$
(49)
$$ \tilde{x}_{\text{s}} (t) \le \frac{{m( \cdot )\tilde{y}(t)( \times )\tilde{v}_{\text{p}} (t)( \cdot )W(t)}}{p}\;;\;t = { 1 }\sim T $$
(50)
$$ \tilde{v}_{\text{p}} (t) = \tilde{v}(t)( \cdot )\hbox{min} (e^{{\frac{{\ln (1 + s\% )\Delta t_{\text{p}} }}{{t - t_{\text{p}} }}}} ,1 + s\% );\;t = { 1 }\sim T $$
(51)
$$ \tilde{x}_{\text{s}} (t),\;\tilde{x}_{\text{f}} (t),m \in Z^{ + } ;\;t = { 1 }\sim T $$
(52)
$$ \tilde{C}(t) \in R^{ + } ;\;t = { 1 }\sim T $$
(53)

which is a FMINLP problem. Compared with fuzzy capacity and production planning model II, the only difference is the consideration of the effect of predictive maintenance on availability by Eq. (51). To convert it into a crisp problem to be solved, Lin and Chen’s method [21] was applied to approximate the exponential function with the following equation (see Fig. 5):

$$ {\text{e}}^{x} \cong 1.0494x + 0.9992, $$
(54)

when \( 1 \le {\text{e}}^{x} \le 1.10 \) (implying s% = 10%).

Fig. 5
figure 5

The approximation of the exponential function

After applying Eq. (54) to Eq. (51), the following mixed integer-nonlinear programming (MINLP) problem is solved instead.

(MINLP model)

$$ {\text{Min}}\;Z_{1} = \sum\limits_{t = t}^{T} {\frac{{C_{1} (t) + C_{2} (t) + C_{3} (t)}}{3}} , $$
(55)

subject to

$$ C_{1} (t) = c_{1} x_{{\text{s}}1} (t) + mU + c_{\text{f}} x_{{\text{f}}1} (t);\;t = { 1 }\sim T $$
(56)
$$ C_{2} (t) = c_{1} x_{{\text{s}}2} (t) + mU + c_{\text{f}} x_{{\text{f}}2} (t);\;t = { 1 }\sim T $$
(57)
$$ C_{3} (t) = c_{1} x_{{\text{s}}3} (t) + mU + c_{\text{f}} x_{{\text{f}}3} (t);\;t = { 1 }\sim T $$
(58)
$$ \frac{{x_{{\text{s}}1} (t) + x_{{\text{s}}2} (t) + x_{{\text{s}}3} (t)}}{3} + \frac{{x_{{\text{f}}1} (t) + x_{{\text{f}}2} (t) + x_{{\text{f}}3} (t)}}{3} = \frac{{d_{1} (t) + d_{2} (t) + d_{3} (t)}}{3};\;t = { 1 }\sim T $$
(59)
$$ x_{{\text{s}}1} (t) \le \frac{{my_{1} (t)v_{{\text{p}}1} (t)W(t)}}{p}\;;\;t = { 1 }\sim T $$
(60)
$$ x_{{\text{s}}2} (t) \le \frac{{my_{2} (t)v_{{\text{p}}2} (t)W(t)}}{p}\;;\;t = { 1 }\sim T $$
(61)
$$ x_{{\text{s}}3} (t) \le \frac{{my_{3} (t)v_{{\text{p}}3} (t)W(t)}}{p}\;;\;t = { 1 }\sim T $$
(62)
$$ v_{{\text{p}}1} (t) \le v_{1} (t)\left( {1.0494\left( {\frac{{\ln (1 + s\% )\Delta t_{\text{p}} }}{{t - t_{\text{p}} }}} \right) + 0.9992} \right);\;t = { 1 }\sim T $$
(63)
$$ v_{{\text{p}}2} (t) \le v_{2} (t)\left( {1.0494\left( {\frac{{\ln (1 + s\% )\Delta t_{\text{p}} }}{{t - t_{\text{p}} }}} \right) + 0.9992} \right);\;t = { 1 }\sim T $$
(64)
$$ v_{{\text{p}}3} (t) \le v_{3} (t)\left( {1.0494\left( {\frac{{\ln (1 + s\% )\Delta t_{\text{p}} }}{{t - t_{\text{p}} }}} \right) + 0.9992} \right);\;t = { 1 }\sim T $$
(65)
$$ v_{{\text{p}}1} (t) \le (1 + s\% )v_{1} (t);\;t = { 1 }\sim T $$
(66)
$$ v_{{\text{p}}2} (t) \le (1 + s\% )v_{2} (t);\;t = { 1 }\sim T $$
(67)
$$ v_{{\text{p}}3} (t) \le (1 + s\% )v_{3} (t);\;t = { 1 }\sim T $$
(68)
$$ x_{{\text{s}}1} (t) \le x_{{\text{s}}2} (t) \le x_{{\text{s}}3} (t);\;t = { 1 }\sim T $$
(69)
$$ x_{{\text{f}}1} (t) \le x_{{\text{f}}2} (t) \le x_{{\text{f}}3} (t);\;t = { 1 }\sim T $$
(70)
$$ \tilde{x}_{\text{s}} (t),\;\tilde{x}_{\text{f}} (t),\;m \in Z^{ + } ;\;t = { 1 }\sim T $$
(71)
$$ C_{1} (t),\;C_{2} (t),\;C_{3} (t) \in R^{ + } ;\;t = { 1 }\sim T $$
(72)

Equations 5658 are the expansion results of fuzzy total costs. Equation (59) requests that the quantity made by utilizing self-owned and foundry capacity be equal to demand. Constraints (60) to (62) depicts the limit on the quantity of self-owned products. Equations (63)–(68) are about the effect of predictive maintenance on availability. Constraints (69)–(70) define the sequence of the three corners of the corresponding TFN.

Managerial implication: RFID-based real-time production information collection

When a job is moved from a machine to another, or from a factory to another, it is subject to delays. Possible reasons for the delays include inefficient transportation and the destination not informed of the arrival of the job immediately. To resolve this problem, RFID-based real-time production information collection is a viable means. For the fuzzy capacity and production planning model, RFID-based real-time production information collection is especially useful when the value of \( x_{\text{f}} (t) \) or \( x_{c} (t) \) is large, meaning a lot of jobs have to be moved between the manufacturer and a foundry or a cloud-based capacity supplier.

A case for illustrating the proposed methodology

Application of the proposed methodology

The case of a furniture manufacturer was used to illustrate the proposed methodology. The unit processing time (p) on a metal cutting machine was 0.73 h/product. In addition, the monthly usage cost of the machine (U) was 2200 USD; the unit variable cost of the product (\( c_{1} \)) was 25 USD per piece.

In the first step of the proposed methodology, the planning horizon (T) was 12 months.

Subsequently, in the second and third steps, data such as the demand for the product, the working hours within each period, the yield of the product, and the availability of the machine within each period have been collected or forecasted. The results are summarized in Table 3.

Table 3 The various forecasts for the capacity and production planning problem

In the fourth step, the number of machines required by the factory was determined by applying fuzzy capacity and production planning model I,

$$ \begin{aligned} \tilde{m} = \left( {\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{0.73 \cdot 970}{77\% \cdot 82\% \cdot 744},\; \ldots ,\frac{0.73 \cdot 2085}{86\% \cdot 96\% \cdot 744}} \right\rceil ,\;\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{0.73 \cdot 994}{75\% \cdot 75\% \cdot 744},\; \ldots ,\frac{0.73 \cdot 2192}{81\% \cdot 90\% \cdot 744}} \right\rceil ,\;\mathop {\hbox{max} }\limits_{t} \left\lceil {\frac{0.73 \cdot 1030}{71\% \cdot 73\% \cdot 744},\; \ldots ,\frac{0.73 \cdot 2343}{79\% \cdot 88\% \cdot 744}} \right\rceil } \right), \\ = (4,\;4,\;5). \\ \end{aligned} $$

Therefore, if the manufacturer acquired four to five (or more) units of the machine, all products could be self-made. Otherwise, some products had to be made by utilizing foundry capacity. For example, if only three units of the machine were acquired, the forecasted quantity of self-made products within the first period was calculated as

$$ \begin{aligned} \tilde{x}_{\text{s}} (t) = \left( {\hbox{min} \left( {970,\;\left\lfloor {\frac{3 \cdot 71\% \cdot 73\% \cdot 744}{0.73}} \right\rfloor } \right),\;\hbox{min} \left( {994,\;\left\lfloor {\frac{3 \cdot 75\% \cdot 75\% \cdot 744}{0.73}} \right\rfloor } \right),\hbox{min} \left( {1030,\;\left\lfloor {\frac{3 \cdot 77\% \cdot 82\% \cdot 744}{0.73}} \right\rfloor } \right)} \right), \\ = (970,\;994,\;994). \\ \end{aligned} $$

The results within the other periods are summarized in Table 4. Within the first period, some products had to be made by utilizing foundry capacity

$$ \begin{aligned} \tilde{x}_{\text{f}} (t) & = (\hbox{max} (970 - 994,\;0), \\ & \quad \hbox{max} (994 - 994,\;0),\;\hbox{max} (1030 - 970,\;0)), \\ & = (0,\;0,\;60). \end{aligned} $$
Table 4 The forecasted quantities of products made in various ways

The results within the other periods are also shown in Table 4.

Subsequently, in the fifth step, data such as the availability of foundry capacity and the unit cost of making a product by utilizing foundry capacity have been collected. In this case, foundry capacity was more than enough; the unit cost (\( c_{\text{f}} \)) was 47 USD per piece.

In the sixth step, the MINLP problem of the case was built and solved using Lingo on a PC with i7-7700 CPU 3.6 GHz and 8 GB RAM. There are two major types of methods for solving a MINLP problem: outer approximation (or generalized Bender’s decomposition) methods, and branch-and-bound algorithms [4]. In the experiment, a branch-and-bound algorithm was applied to solve the MINLP problem. The execution time was 3 s. To enhance the optimality of the solution, two attempts have been made: relaxing the integer constraints in the MINLP model, and applying a parallel branch-and-bound algorithm instead. The minimal forecasted total costs was 655,295 USD. To achieve that, the manufacturer needed to acquire three units of the machine, and resorted to foundries when there was a capacity shortage. The fuzzy production plan is shown in Table 5. It was noted that there might be multiple optimal solutions to the MINLP problem. In addition, the ranges of \( \tilde{x}_{\text{s}} \) and \( \tilde{x}_{\text{f}} \) gave the manufacturer a lot of flexibility.

Table 5 The production plan

In the seventh step, the actual demand within each period was known, as shown in Table 6, based on which the production plan was adjusted. When actual demand was less than the forecasted demand, the manufacturer utilized less self-owned capacity as a response. Otherwise, the manufacturer utilized more self-owned capacity (if available) or resorted to cloud-based capacity. The required cloud-based capacity within each period is shown in Table 7. The adjusted production plan is also presented in this table.

Table 6 Actual demand within each period
Table 7 The adjusted production plan

Application of existing methods

For comparison, some existing practices were also applied to this case. The first existing practice was the zero outsourcing by considering uncertainty policy, in which all products were self-made and the uncertainty in demand was considered. To guarantee 100% self-made, the factory needed to acquire at least five machines. As a result, total costs were up to 705,675 USD, which was 8% higher than that spent when the proposed methodology was applied. In addition, without cooperating with any foundry, it might be more difficult to access foundry capacity in the future.

The second practice was the zero-outsourcing without considering uncertainty policy that did not take the uncertainty in demand into account. Only four machines were acquired. In this way, total costs were reduced to 676,525 USD, which was still higher than that spent using the proposed methodology. In addition, at period 5, the demand could not be fully met, and there was a possible shortage of 110 pieces. If the penalty for each lost sale was twice the price, i.e., 100 USD, then total costs amounted to 687,525 USD, which was 5% higher than that spent using the proposed methodology.

The third compared practice was the complete outsourcing policy in which the factory did not build up any self-owned capacity but resorted to foundry services all the time. Because foundry capacity was much more expensive than self-owned capacity, total costs became very high (up to 1,078,509 USD). Nevertheless, the complete outsourcing policy was less vulnerable to possible drops in demand, since there was no capacity investment burden on the factory.

Discussion

According to the experimental results, the following points were noticed:

  1. 1.

    In Table 7, it seemed that the factory used very little foundry and cloud-based capacity. However, that was reasonable since foundry capacity and cloud-based capacity were much more expensive than self-owned capacity. Nevertheless, foundry and cloud-based capacity still contributed to the effectiveness of production planning, because actual demand could not be fully met without foundry and cloud-based capacity, which incurred penalties and resulted in the loss of future sales.

  2. 2.

    The performances of various methods are compared in Table 8. The advantage of the proposed methodology over existing methods in reducing total costs and fulfilling demand was obvious.

    Table 8 The performances of various methods
  3. 3.

    The optimization results of various fuzzy and crisp models are compared in Table 9. Obviously, by taking uncertainty into consideration, it was possible to further reduce total costs. In addition, the effect of predictive maintenance on availability also led to a better planning performance.

    Table 9 Comparison of the optimization results of various fuzzy and crisp models

Conclusions

CMfg is an emerging manufacturing model that is expected to resolve the inefficient utilization of manufacturing resources. The short-term production planning or job scheduling of a CMfg system has been widely investigated. However, most of the past studies either focused on CMfg systems made of 3D printers and CNC machines or ignored the coordination and transportation required for moving jobs across factories. In contrast, this study investigated the mid-term or long-term capacity and production planning of a traditional manufacturer with cloud-based capacity, which did not assume the utilization of 3D printers or CNC machines. In addition, the coordination and transportation issues ere reflected by the higher unit cost of cloud-based capacity and the prioritization of self-owned capacity (and/or foundry capacity). In addition, the implications of the capacity and production plan for two CMfg applications, predictive maintenance and RFID-based real-time information collection, were also discussed.

  1. 1.

    The manufacturer was both the consumer and supplier of cloud-based capacity.

  2. 2.

    The expected utilization within each period provided valuable information regarding the necessity of predictive maintenance.

  3. 3.

    As the frequency of moving jobs across factories within each period increased, RFID-based real-time information collection was more important. This is something ignored by many CMfg studies based on RFID applications.

A case study was adopted to illustrate the proposed methodology. According to the experimental results,

  1. 1.

    Compared to three existing practices, the proposed methodology was more effective in reducing total costs and fulfilling customers’ demand. The advantage of the proposed methodology over existing practices was up to 8%.

  2. 2.

    In this case, only 1% of demand was met by utilizing cloud-based capacity, which highlighted the contingent nature of cloud-based capacity. Only when the self-owned capacity of a manufacturer was insufficient to meet actual demand should the manufacturer resort to more expensive cloud-based capacity.

The fuzzy capacity and production planning model is designed for factories with parallel machines, and needs to be modified to be applicable for other types of manufacturing systems. In addition, the proposed methodology has to be applied to more real cases in the future to further elaborate its effectiveness. Further, the proposed methodology deals with a single-machine multiple-factory CMfg system, and should be extended to deal with a multiple-machine multiple-factory CMfg system in the future.