Introduction

Virtual computer-integrated manufacturing (VCIM) is a relatively new concept of manufacturing system, which aims at exploiting distributed manufacturing resources, locally as well as globally [27, p. 1]. The VCIM system is still being developed. With two special characteristics: full integration and temporary cooperation between different manufacturing agents, the VCIM system is believed to have a great potential application in the global market. The general working principle of a VCIM system is as follows.

When a VCIM system receives a product order, it decomposes the order into a number of components, based on its built-in knowledge. Next, the system chooses appropriate manufacturing agents to produce the product components. The finished components are then shipped to a suitable assembly agent to make the final product(s) which will be shipped to the customer. After the customer order is fulfilled, the cooperation between the selected manufacturing and assembly agents is dissolved [22, 27, 31].

As can be seen from the VCIM working principle, each product order is fulfilled by a group of manufacturing and assembly agents; this group forms a temporary manufacturing system to serve the particular product order. Different orders or even the same orders at different times might require different temporary manufacturing systems. The process of selecting manufacturing agents, assembly agents and the related shipment schedules to establish such temporary manufacturing systems to fulfil customer orders in a VCIM system is called production scheduling herein. Obviously, the VCIM production scheduling has a great impact on product cost, quality and lead time. In other words, the production scheduling activities play an important role in the success of a VCIM system.

Recently, the VCIM production scheduling problem has attracted considerable attention from operations researchers. A number of VCIM production scheduling models have been developed [7, 22, 26, 27, 30, 32]. However, no published work has attempted to consider uncertainties in the VCIM production scheduling models so far.

In this article, a stochastic VCIM production scheduling model is developed, which allows users to investigate the effect of uncertainty factors of a VCIM system on total cost of products to make more robust decisions to operate the system.

Latest Developments of VCIM Production Scheduling Models

The VCIM production scheduling is critical to the success of the system [7]. There are two major issues in the VCIM production scheduling, called agent selection and shipment scheduling. The agent selection problem herein is how to select a group of manufacturing and assembly agents to produce the requested product(s) while the shipment scheduling problem is how to schedule the related shipments between the selected manufacturing and assembly agents as well as between the selected assembly agents and the customer; so that the product order can be fulfilled with the lowest cost. The VCIM production scheduling problem has three important characteristics. First, both the agent selection and shipment scheduling problems should be simultaneously optimised. Second, the selected group of manufacturing and assembly agents is usually changing from one product order to another. Finally, the agent selection problem does not depend on the shipment scheduling problem but the shipment scheduling problem is partially related to the agent selection problem. Obviously, the VCIM production scheduling is a multi-dimensional dynamic optimisation problem. To solve this problem, it is required to have both comprehensive VCIM production scheduling model and robust optimisation algorithm. This article mainly focuses on the development of VCIM production scheduling model.

The existing VCIM production scheduling models can be generally classified into two types: models with separate shipments and models with collaborative shipments. The separate shipment herein is referred to as shipping the product components directly from their manufacturing agents to the required assembly agents; while collaborative shipment is an indirect shipment mode in which the components are shipped to the required assembly agents by joining other shipments and passing other manufacturing agents. The collaborative shipment can be used to save shipping cost.

There have been a number of publications developing the VCIM production scheduling models with separate shipments such as [7, 22, 26, 27, 30]. Doing the VCIM production scheduling with this kind of models is straightforward. However, these models can be improved considerably through shipment collaboration that has a great potential for product cost reduction in a VCIM system.

As a global manufacturing system, shipping cost is a significant component of product cost in a VCIM system. In addition, there is a great potential for collaborative shipment in a VCIM system since all of its agents are willing to work together in a fully integrated manner. To exploit the potential for reducing product cost in general and shipping cost in particular, the VCIM production scheduling models with collaborative shipments have been developed by the authors and such models are currently under review for publications. It is noted that the VCIM production scheduling models with separate shipments are special cases of the ones with collaborative shipments. Nevertheless, all VCIM production scheduling models developed so far are deterministic models, i.e. none of them considers uncertainties in the VCIM systems.

To overcome the limitations, this article explains a developed stochastic production scheduling model for VCIM systems, in which uncertainties in parameters such as manufacturing, assembly and shipping times are considered. A mathematical formulation of the model is provided and solved by Monte Carlo simulation and commercial optimisation solver. Effects of the parameter uncertainties on product cost using both kinds of VCIM production scheduling models with separate and collaborative shipments are analysed and compared through a comprehensive case study. Other insight of the stochastic model, e.g. statistically significant/insignificant uncertainty parameters on VCIM product cost, is also investigated herein using Taguchi Experimental Design method.

Proposed Stochastic VCIM Production Scheduling Model

Problem Statement

Consider:

  • A VCIM system has a number of assembly and manufacturing agents distributed both locally as well as globally, which can produce and deliver an electronic product for customers worldwide.

  • Each product can be decomposed into a number of independent standard components or independent standard subassemblies (both are generally called components, for short, hereafter).

  • Each manufacturing agent is capable of producing a certain number of the product components

  • Assembly agent is capable of doing the final assembly for the product.

  • Shipping service is always available to transport the components/products from any agent to any destination.

  • One order with certain number of the products, delivery destination and deadline is being requested.

Determine:

  • Allocation of the product components to manufacturing agents.

  • Selection of assembly agent to assemble the products.

  • Selection of the related shipment schedule.

So that:

A temporary production system in the VCIM system can be formed to fulfil the requested product order with lowest cost while all of the given constraints are satisfied.

Conditions:

  • Setup costs of manufacturing/assembly lines to produce the components/product in different agents are all different but are known in advance.

  • Manufacturing/assembly processing costs of the components/product in different agents are also different but are given in advance.

  • All products in one order are assembled in one assembly agent only.

  • In each manufacturing agent, different types of product components can be produced in parallel but the same types of components are produced sequentially.

  • Shipping cost between any two locations, which consists of fixed cost and variable cost, is different from one another but is known in advance.

  • Two types of shipments, namely separate shipment and collaborative shipment, are always available.

  • Manufacturing/assembly setup times, manufacturing/assembly processing times as well as shipping times between any two locations are stochastic parameters with known probability distribution, nominal values and standard deviations.

  • Late product delivery is imposed by a penalty cost, depending on the degree of lateness.

  • Manufacturing/assembly agents can work 24 h a day, 7 days a week.

The proposed model is illustrated in Fig. 1 with a typical production scheduling solution to fulfil the customer order in which manufacturing agents (2, 3,5, 6, 7, 8, 10, 14, 16, 17, 18), assembly agent (4) are selected, and both separate and collaborative shipments are used as shown. It should be noted that the separate shipment herein refers to one shipment carrying the components/products made by one agent only; while, the collaborative shipment refers to one shipment carrying the components produced by more than one agent.

Fig. 1
figure 1

Proposed VCIM production scheduling model

Mathematical Formulation

In order to describe the proposed stochastic VCIM production scheduling model in detail, the following mathematical model is developed:

Assumptions

  • The VCIM product can be decomposed into a number of independent standard components.

  • In each manufacturing agent, different types of product components can be produced in parallel but the same types of components are produced sequentially.

  • Assembly agent is capable of doing any necessary tasks such as assembly, testing, packing, etc. to build a final product.

  • Assembly operation for a product is done only when all of its constituting components have arrived at the selected assembly agent.

  • All products in one order are assembled in one assembly agent only.

  • There are no component/product defects (for the sake of simplicity, this assumption is used; however, the proposed model could be modified, i.e. using penalty function, to take such defects into account, if the users want).

  • Shipping service is always available to transport the components/products from any agent to any destination.

  • Fixed cost of a shipment is proportional to shipping distance and variable cost of a shipment is proportional to shipping weight.

  • Two types of shipments, separate shipment and collaborative shipment, are always available.

  • Manufacturing/assembly setup times as well as manufacturing/assembly processing times are stochastic parameters following normal distributions (this assumption is commonly used in the literature, e.g. [2, 10, 13, 14, 19, 24]).

  • Shipping times between any two locations are also stochastic parameters following doubly truncated exponential distributions [3, 4, 23]. This assumption is used, because of three reasons: (1) shipping time should be estimated with three parameters: expected time, earliest time and latest time; (2) shipping time should be from the earliest time to expected time to make the customers happier; and (3) when generating an exponentially distributed random parameter, it is more likely to get a value that is smaller than the expected value.

  • Nominal value and standard deviation of every stochastic parameter are given.

  • Only one product order is considered at a time.

  • One order may consist of more than one product.

  • All product components produced by one agent is transported in one shipment only.

  • Late product delivery is imposed by a penalty cost, depending on degree of lateness.

  • Every agent can work 24 h a day, 7 days a week.

Indices

i :

Manufacturing agent index

j :

Assembly agent index

k :

Product component index

Parameters

\({{ ST}}_i^k\) :

Setup cost of manufacturing line to produce component k in manufacturing agent \(i(\$)\)

\({{ PR}}_i^k\) :

Manufacturing processing cost of component k in manufacturing agent \(i (\$)\)

\(Q^{k}\) :

Quantity of component k in the product order

n :

Number of independent standard components of the product

m :

Number of manufacturing agents in the VCIM system

\({{ AS}}_j\) :

Setup cost of assembly line to assemble the product in assembly agent j ($)

\({{ AP}}_j\) :

Assembly processing cost of the product in assembly agent j ($)

\({{ QP}}\) :

Quantity of the products in the customer order

a :

Number of assembly agents in the VCIM system

\({{ DM}}_{i_1 i_2 }\) :

Distance between manufacturing agent \(i_{1}\) and manufacturing agent \(i_{2}\) (km)

F :

Fixed shipping cost coefficient

\({{ WP}}^{k}\) :

Weight of product component k (g)

\({{ MW}}\) :

Maximum weight associated with each fixed shipping cost component (g). It is noted that if total weight of items in a shipment exceeds this maximum weight limit, more than one fixed shipping cost component will be charged.

V :

Variable shipping cost coefficient

\({{ DA}}_{ij}\) :

Distance between manufacturing agent i and assembly agent j (km)

\({{ DC}}_j\) :

Distance between assembly agent j and the customer (km)

\({ WF}\) :

Weight of the final product (g)

\({{ EM}}_{i_{2}}^{k}\) :

Earliest starting time to produce product component k in manufacturing agent \(i_{2}\) (h)

\({{ SM}}_{i_{2}}^{k}\) :

Setup time of manufacturing line to produce product component k in manufacturing agent \(i_{2}\) (h)

\(\mu _{si_{2} }^{k}\) :

Mean value of setup time of manufacturing line to produce product component k in manufacturing agent \(i_{2}\) (h)

\(\sigma _{si_{2}}^{k}\) :

Standard deviation of setup time of manufacturing line to produce product component k in manufacturing agent \(i_{2}\) (h)

\({{ PM}}_{i_{2}}^k\) :

Manufacturing processing time of product component k in manufacturing agent \(i_{2}\) (h)

\(\mu _{pi_{2}}^{k}\) :

Mean value of manufacturing processing time of product component k in manufacturing agent \(i_{2}\) (h)

\(\sigma _{pi_2}^{k}\) :

Standard deviation of manufacturing processing time of product component k in manufacturing agent \(i_{2}\) (h)

\({{ TT}}_{i_{1} i_{2}}\) :

Shipping time between manufacturing agents \(i_{1}\) and \(i_{2}\) (h)

\(\mu _{i_1 i_2 }\) :

Mean value of shipping time between manufacturing agents \(i_{1}\) and \(i_{2}\) (h)

\(\sigma _{i_{1} i_{2}}\) :

Standard deviation of shipping time between manufacturing agents \(i_{1}\) and \(i_{2}\) (h)

\(l_{i_1 i_2}\) :

Lower bound of shipping time between manufacturing agents \(i_{1}\) and \(i_{2}\) (h)

\(u_{i_1 i_2}\) :

Upper bound of shipping time between manufacturing agents \(i_{1}\) and \(i_{2}\) (h)

\({{ TT}}_{i_2 j}\) :

Shipping time between manufacturing agent \(i_{2}\) and assembly agent j (h)

\(\mu _{i_2j}\) :

Mean value of shipping time between manufacturing agent \(i_{2}\) and assembly agent j (h)

\(\sigma _{i_{2} j}\) :

Standard deviation of shipping time between manufacturing agent \(i_{2}\) and assembly agent j (h)

\(l_{i_{2} j}\) :

Lower bound of shipping time between manufacturing agent \(i_{2}\) and assembly agent j (h)

\(u_{i_{2} j}\) :

Upper bound of shipping time between manufacturing agent \(i_{2}\) and assembly agent j (h)

\({{ EA}}_{j}\) :

Earliest starting time to assemble the product in assembly agent j (h)

\({{ SA}}_{j}\) :

Setup time of assembly line in agent j (h)

\(\mu _{sj}\) :

Mean value of setup time of assembly line in agent j (h)

\(\sigma _{sj}\) :

Standard deviation of setup time of assembly line in agent j (h)

\({{ PA}}_j\) :

Assembly processing time of the product in agent j (h)

\(\mu _{{ pj}}\) :

Mean value of assembly processing time of the product in agent j (h)

\(\sigma _{{ pj}}\) :

Standard deviation of assembly processing time of the product in agent j (h)

\({{ TT}}_{{ jc}}\) :

Shipping time between assembly agent j and the customer (h)

\(\mu _{{ jc}}\) :

Mean value of shipping time between assembly agent j and the customer (h)

\(\sigma _{{ jc}}\) :

Standard deviation of shipping time between assembly agent j and the customer (h)

\(l_{{ jc}}\) :

Lower bound of shipping time between assembly agent j and the customer (h)

\(u_{{ jc}}\) :

Upper bound of shipping time between assembly agent j and the customer (h)

\({ DL}\) :

Product delivery deadline (days)

R :

Late delivery penalty cost coefficient ($/day/product)

\({{ FM}}_i^k\) :

If manufacturing agent i is capable of producing the product component k, \(FM_i^k =1\); otherwise \(FM_i^k =0\)

\({{ FA}}_j\) :

If assembly agent j is capable of assembling the products to fulfil the order, \(FA_j =1\); otherwise \(FA_j =0\)

Special Mathematical Functions

\(Ce\left\{ X \right\} \) :

A function that rounds the value of X to the nearest integer towards positive infinity

\(S\left( {i_1 ,i_2 } \right) \) :

A function that searches for manufacturing agents \(i_{1}\) and \(i_{2}\) in a list

\(R\left( {i_1 } \right) \) :

A function that removes the agent \(i_{1}\) from a list

\(Y={[}S({i_1, i_{2}});C;X;R({i_{1}}){]}_{t}\) :

A function capable of doing the following tasks: (1) search for manufacturing agents \(i_{1}\) and \(i_{2}\) in a list, which satisfy condition set C; (2) assign \(Y = X\); (3) remove the agent \(i_{1}\) from the list; and (4) repeat three tasks above t times or until there are no manufacturing agents satisfying the condition set C

\(X\sim N\left( {\mu ,\sigma } \right) \) :

Stochastic parameter X following normal distribution with mean value \(\mu \) and standard deviation \(\sigma \)

\(X\sim E\left( {\mu ,\sigma ,l,u} \right) \) :

Stochastic parameter X following doubly truncated exponential distribution with mean value \(\mu \), standard deviation \(\sigma \), lower bound l and upper bound u

\(Fn\left\{ X \right\} \) :

\(Fn\left\{ X \right\} =X\) if X \(>\) 0; \(Fn\left\{ X \right\} =0\) if X \(\le \) 0

\(\langle Y=A|B\rangle \) :

Conditional function meaning that Y = A given event B occurred; otherwise Y does not exist

\(Sign\left\{ X \right\} \) :

\(Sign\left\{ X \right\} =1\) if X \(>\) 0; \(Sign\left\{ X \right\} =0\) if X \(\le 0\);

Table 1 Chromosome encoding. (Color figure online)

Decision Variables

\(M_i^k =\) :

\(\left[ \begin{array}{ll} 1&{} \hbox {If manufacturing agent } i \hbox { is chosen to produce} \\ &{} \hbox {component k}\\ 0&{} \hbox { Otherwise}\\ \end{array}\right. \)

\(A_j = \) :

\(\left[ \begin{array}{ll} 1&{} \hbox {If assembly agent } j \hbox { is chosen to assemble the}\\ {} &{}\hbox { products in the order}\\ 0&{} \hbox { Otherwise}\\ \end{array}\right. \)

\(S_{i_1 i_2 }^k =\) :

\(\left[ \begin{array}{ll} 1&{} \hbox {If component } k \hbox { is shipped from manufacturing }\\ &{}agent i_1 \hbox { to manufacturing agent } i_{2}\\ 0&{} \hbox { Otherwise}\\ \end{array}\right. \)

\(H_{ij}^k =\) :

\(\left[ \begin{array}{ll} 1&{} \hbox {If component } k \hbox { is shipped from manufacturing }\\ &{}agent i \hbox {to assembly agent } j\\ 0&{} \hbox { Otherwise} \end{array}\right. \)

Table 2 Customer order [18, pp. 131–138]
Table 3 Manufacturing setup cost ($) [18, p. 138]
Table 4 Nominal manufacturing setup time (h) [18, p. 136]
Table 5 Assembly setup cost ($) [18, p. 138]
Table 6 Nominal assembly setup time (h) [18, p. 136]

Objective Function

Objective function herein is total cost of the product order to be minimised. The total cost calculated by Eq. 1 is the sum of manufacturing cost (MC), assembly cost (AC), shipping cost (SC) and penalty cost (PC).

$$\begin{aligned} TOC = MC + AC + SC + PC \end{aligned}$$
(1)

The cost components in Eq. 1 are computed as follows:

  • Manufacturing cost of the product components (MC):

    $$\begin{aligned} MC= {\mathop {\sum }\limits _{i=1}^{m}} {\mathop {\sum }\limits _{k=1}^{n}} \left( {ST_i^k +PR_i^k .Q^{k}} \right) M_i^k \end{aligned}$$
    (2)
  • Assembly cost of the product order (AC):

    $$\begin{aligned} AC={\mathop {\sum }\limits _{j=1}^{a}} \left( {AS_j +AP_j .QP} \right) A_j ~ \end{aligned}$$
    (3)
  • Shipping cost of the product order (SC), which is the sum of shipping cost of transporting the product components between the selected manufacturing agents \(({SC}_{1})\), shipping cost of transporting the product components between the manufacturing agents and the selected assembly agent \(({SC}_{2})\) and shipping cost of transporting the products from the assembly agent to the customer \(({SC}_{3})\):

    $$\begin{aligned} SC=SC_1 +SC_2 +SC_3 \end{aligned}$$
    (4)
  • Shipping cost of transporting the product components between manufacturing agents \(({SC}_{1})\), which is the sum of fixed cost (first term) and variable cost (second term), as shown below:

    $$\begin{aligned} SC_1= & {} {\mathop {\sum }\limits _{i_2 =1}^{m}} {\mathop {\sum }\limits _{i_1 =1}^{m}} \left[ DM_{i_1 i_2 } .F.Ce\left\{ {\frac{\mathop \sum \nolimits _{k=1}^n WP^{k}.Q^{k}.S_{i_1 i_2 }^k }{MW}} \right\} \right. \nonumber \\&\left. +\, \left( {{\mathop {\sum }\limits _{k=1}^{n}} WP^{k}.Q^{k}.S_{i_1 i_2 }^k } \right) V \right] \end{aligned}$$
    (5)
  • Shipping cost of transporting the product components between manufacturing agents and the selected assembly agent \(({SC}_{2})\), again, which is the sum of fixed cost (first term) and variable cost (second term), as shown below:

    $$\begin{aligned} SC_2= & {} {\mathop {\sum }\limits _{j=1}^{a}} {\mathop {\sum }\limits _{i=1}^{m}} \left[ DA_{ij} .F.Ce\left\{ {\frac{\mathop \sum \nolimits _{k=1}^n WP^{k}.Q^{k}.H_{ij}^k }{MW}} \right\} \right. \nonumber \\&\left. + \, \left( {{\mathop {\sum }\limits _{k=1}^{n}} WP^{k}.Q^{k}.H_{ij}^k } \right) V \right] \end{aligned}$$
    (6)
  • Shipping cost of transporting the products in the order from the assembly agent to the customer \(({SC}_{3})\), once again, which is the sum of fixed cost (first term) and variable cost (second term), as shown below:

    $$\begin{aligned} {SC}_3= & {} {\mathop {\sum }\limits _{j=1}^{a}} \left[ DC_j .F.A_j .Ce\left\{ {\frac{WF.QP}{MW}} \right\} \right. \nonumber \\&\left. + \, WF.QP.V \right] \end{aligned}$$
    (7)
    Table 7 Manufacturing processing cost ($) [18, p. 137]
    Table 8 Nominal manufacturing processing time (h) [18, p. 135]
    Table 9 Assembly processing cost ($) [18, p. 137]
    Table 10 Nominal assembly processing time (h) [18, p. 135]
    Table 11 Location of manufacturing and assembly agents
  • To calculate the penalty cost due to late delivery (PC), completion time of products in the order needs to be determined first, as follows.

  • Time to ship product component(s) from manufacturing agent \(i_{2}\) (\({TC}_{i_2 } )\)—stage 1: shipment collaboration is not considered.

    $$\begin{aligned} { TC}_{i_2 }= & {} \mathop {\max }\limits _{\forall k} \left\{ \left[ { EM}_{i_2 }^k +SM_{i_2 }^k \sim N\left( {\mu _{si_2 }^k ,\sigma _{si_2 }^k } \right) \right. \right. \nonumber \\&\left. \left. +\, Q^{k}.PM_{i_2 }^k \sim N\left( {\mu _{pi_2 }^k ,\sigma _{pi_2 }^k } \right) \right] M_{i_2 }^k \right\} ,\quad \forall i_2\nonumber \\ \end{aligned}$$
    (8)
  • Time to ship product component(s) from manufacturing agent \(i_{2}\) (\({ TC}_{i_2 }\))—stage 2: synchronising the time to ship the product components, considering the shipment collaboration.

    $$\begin{aligned} {{ TC}}_{i_{2}}= & {} \left[ s(i_1 ,i_2 );\sum _{i_3 =1}^m \sum _{k=1}^n {s_{i_3 i_1 }^k =0,} \sum _{j=1}^a \sum _{k=1}^n {H_{i_1 j}^k } \right. \nonumber \\= & {} \left. 0, \sum _{k=1}^n {s_{i_1 i_2 }^k } >0; \hbox {max} \{{{ TC}}_{i_1 } +{ TT}_{i_1 i_2 }\right. \nonumber \\&\left. \sim E(\mu _{i_1 i_2 } ,\sigma _{i_1 i_2 } ,l_{i_1 i_2 } ,u_{i_1 i_2 } ); TC_{i_2 } \}; R(i_1 ) \right] _t\nonumber \\ \end{aligned}$$
    (9)
  • Time to assemble the final products at the selected assembly agent (TP):

    $$\begin{aligned} {{ TP}}= & {} \mathop {\max }\limits _{\forall i_2 ,j} \left\{ \left[ { TC}_{i_2 } +{ TT}_{i_2 j}\right. \right. \nonumber \\&\left. \left. \sim E\left( {\mu _{i_2 j} ,\sigma _{i_2 j} ,l_{i_2 j} ,u_{i_2 j} } \right) \right] {\mathop {\sum }\limits _{k=1}^{n}} H_{i_2 j}^k ; { EA}_j .A_j \right\} \nonumber \\ \end{aligned}$$
    (10)
  • Completion time of the final products at the selected assembly agent (CT):

    $$\begin{aligned} { CT}= & {} { TP}+\mathop {\max }\limits _{\forall j} \left\{ {\left[ {{ SA}_j \sim N\left( {\mu _{sj} ,\sigma _{sj} } \right) } \right] A_j } \right\} \nonumber \\&+\mathop {\max }\limits _{\forall j} \left\{ {\left[ {{ QP.PA}_j \sim N\left( {\mu _{pj} ,\sigma _{pj} } \right) } \right] A_j } \right\} \end{aligned}$$
    (11)
  • Penalty cost due to late delivery (PC):

    (12)
Table 12 Assumed earliest starting time of producing the product components (h)
Table 13 Assumed earliest starting time of assembling the product (h)
Table 14 Shipping cost and speed [18, p. 135]
Table 15 Estimated weights of the product components
Table 16 Grouped manufacturing and assembly tasks required to fulfil the customer order
Table 17 Solver parameters and experimental levels [9, p. 2]

Constraints

  • Functionality constraint of manufacturing agent:

    $$\begin{aligned} { FM}_i^k \ge M_i^k \,,\quad \forall i,k \end{aligned}$$
    (13)
  • Functionality constraint of assembly agent:

    $$\begin{aligned} { FA}_j \ge A_j \, ,\quad \forall j \end{aligned}$$
    (14)
  • Flow conservation of product components at manufacturing agent \(i_{2}\):

    $$\begin{aligned}&\left( {{\mathop {\sum }\limits _{i_1}^{m}} {\mathop {\sum }\limits _{k=1}^{n}} S_{i_1 i_2 }^k +{\mathop {\sum }\limits _{k=1}^{n}} M_{i_2 }^k } \right) Sign\left\{ {{\mathop {\sum }\limits _{k=1}^{n}} M_{i_2 }^k } \right\} \nonumber \\&\quad ={\mathop {\sum }\limits _{i_3 =1}^{m}} {\mathop {\sum }\limits _{k=1}^{n}} S_{i_2 i_3 }^k +{\mathop {\sum }\limits _{j=1}^{a}} {\mathop {\sum }\limits _{k=1}^{n}} H_{i_2 j}^k ,\quad \forall i_2 \end{aligned}$$
    (15)
  • Constraint guaranteeing that quantity of the products in the order is equal to quantity of each product component:

    $$\begin{aligned} QP=Q^{k},\quad \forall k \end{aligned}$$
    (16)
  • Constraint ensuring that all of the product components are directly/indirectly shipped to the selected assembly agent:

    $$\begin{aligned} \left\langle {\mathop {\sum }\limits _{i=1}^{m}} {\mathop {\sum }\limits _{k=1}^{n}} H_{ij}^k \Bigg |A_j =1\right\rangle =n \end{aligned}$$
    (17)
  • Range of the indices and parameters:

    $$\begin{aligned}&i=1, 2, 3, \ldots m \end{aligned}$$
    (18)
    $$\begin{aligned}&i_1 =1, 2, 3, \ldots m\end{aligned}$$
    (19)
    $$\begin{aligned}&i_2 =1, 2, 3, \ldots m \end{aligned}$$
    (20)
    $$\begin{aligned}&i_3 =1, 2, 3, \ldots m\end{aligned}$$
    (21)
    $$\begin{aligned}&j=1, 2, 3, \ldots a \end{aligned}$$
    (22)
    $$\begin{aligned}&k=1,~2,~3,~\ldots n \end{aligned}$$
    (23)
    $$\begin{aligned}&m,~a,~n,~Q^{k},QP={\text {positive integers}} \end{aligned}$$
    (24)
    $$\begin{aligned}&ST_i^k ,PR_i^k ,~AS_j ,AP_j ,DM_{i_1 i_2 },\nonumber \\&\quad F,~WP^{k},~MW,~V,~DA_{ij} ,~DC_j ,\nonumber \\&\quad WF,~SM_{i_2 }^k ,~\mu _{si_2 }^k ,\sigma _{si_2 }^k >0~ \end{aligned}$$
    (25)
    $$\begin{aligned}&PM_{i_2 }^k ,~\mu _{pi_2 }^k ,~\sigma _{pi_2 }^k ,TT_{i_1 i_2 } ,\mu _{i_1 i_2 },\nonumber \\&\quad \sigma _{i_1 i_2 } ,l_{i_1 i_2 } ,u_{i_1 i_2 } ,TT_{i_2 j} ,\mu _{i_2 j} ,\nonumber \\&\quad \sigma _{i_2 j} ,l_{i_2 j} ,u_{i_2 j} ,SA_j >0\end{aligned}$$
    (26)
    $$\begin{aligned}&\mu _{sj} ,\sigma _{sj} ,PA_j ,\mu _{pj} ,\sigma _{pj} ,TT_{jc} ,\mu _{jc} ,\nonumber \\&\quad \sigma _{jc} ,l_{jc} ,u_{jc} ,DL,R>0 \end{aligned}$$
    (27)
    $$\begin{aligned}&EM_{i_2 }^k ,EA_j \ge 0 \end{aligned}$$
    (28)
Table 18 Experiment layout and data

It can be seen that there are two interrelated sub-problems, agent selection and collaborative shipment scheduling, in the proposed VCIM production scheduling model. This is multi-dimensional dynamic optimisation problem. If (1) the agents selected to fulfil the order are fixed, (2) only one shipment route is used and (3) variable shipping cost is ignored, this problem becomes the well-known travelling salesman problem (TSP). In other words, TSP is a special case of the VCIM production scheduling problem. From computational complexity point of view TSP is a NP-hard problem [1, p. 546], [12, p. 87]. Therefore, the proposed VCIM production scheduling is a NP-hard problem.

NP-hard, standing for Non-Polynomial-hard, is a technical term in computer science referred to a class of problems which are complex with regard to their sizes and cannot be solved in polynomial time [25, p. 384]. In other words, for NP-hard problems, it is very easy to solve the small-size problems but it is very difficult, most of the time impossible, to solve the large-size problems. Since exact methods that guarantee finding the global optimal solutions are not capable of solving large-size NP-hard problem, heuristic methods are the popular choices [6, 11, 15, 17, 20]. In this research, Genetic Algorithm solver in Matlab and Monte Carlo simulation were used to solve the stochastic VCIM production scheduling problem. Detail of the solution method will be explained in the next Section.

Fig. 2
figure 2

Main effect chart

Solving the Problem Using Optimisation Solver

Genetic Algorithm (GA) solver in Matlab is a popular commercial optimisation solver used in many research work [8, 16, 28, 33]. In this research, the GA solver was used to search for an optimal solution to the stochastic VCIM production scheduling problem as described in “Proposed Stochastic VCIM Production Scheduling Model” section. To use the solver, string-like chromosome representation encoding the solutions to the problem must be developed. In addition, objective function, constraints and solver parameters are needed to define.

Chromosome Encoding

The chromosome representation encoding the solutions to the problem is explained in details with the aid of a typical example shown in Table 1. The chromosome with two different parts, namely agent selection and collaborative shipment scheduling, encodes a production schedule to fulfil a product order consisting of 13 components \((c_{1}, c_{2}, c_{3}, {\ldots }, c_{13})\) in a VCIM system having 19 manufacturing agents and 7 assembly agents as illustrated in Fig. 1.

In the agent selection part, a positive integer number represents the corresponding manufacturing agent selected to produce the corresponding component (c column) or the corresponding assembly agent selected for the product assembly (a column). For example, manufacturing agent 10 is selected to produce component \(c_{4}\) and assembly agent 4 is selected for the product assembly. It is noted that one manufacturing agent might be selected to produce more than one component, agents 3 and 6, for instance.

In the shipment scheduling part, a special manufacturing agent sequence as highlighted in green in Table 1 is introduced to support the chromosome encoding. The manufacturing agent sequence is created by two following rules: (1) it contains the same manufacturing agents in the same order appeared as in the manufacturing agent selection part but with no repetitions and (2) its maximum length is equal to the number of manufacturing agents in the VCIM system. Decision variables for the collaborative shipment scheduling are positive integer numbers ranging from one to the number of manufacturing agents in the system. The shipment schedule is decoded using the following rules: (1) there is a shipment between any two agents in any two adjacent cells in the manufacturing agent sequence on condition that the corresponding decision variable values are the same, for instance, a shipment between agents 17 and 16 as illustrated in Table 1; (2) direction of shipment is always from the left agent to the right agent in the manufacturing agent sequence, e.g. from agents 17–16 as in Table 1; (3) there is always a shipment from an agent with unique decision variable value to the selected assembly agent, e.g. agent 10; (4) in the case where more than one shipment tour are associated with the same decision variable value, shipments are assigned from the agent at the end of the first shipment tour, counted from the left to the right, to the selected assembly agent, and from the agents at the end of other shipment tours to the agent at the end of the first shipment tour; (5) decision variables related to the agents “0” are ignored when decoding the shipment schedules. The full production schedule encoded in the chromosome in Table 1 are decoded and visualised in Fig. 1.

Objective Function and Constraints

As mentioned before, the objective function to be minimised herein is total cost of the product order calculated by Eq. 1. Due to stochastic parameters involved, Monte Carlo simulation is used to estimate the total cost of the product order. For details about Monte Carlo simulation, it is advised to refer to [5]. One of the issues in Monte Carlo simulation is sample size which is estimated by Minitab herein.

Due to crossover and mutation operations, some constraints of the problem may be broken. Therefore, infeasible chromosomes may be produced during the evolutionary process of the solutions. To handle the constraints, the GA solver uses penalty functions and the decision maker must check the feasibility of the solutions obtained before choosing the best one.

Solver Parameters

To maximise performance of the GA solver, the parameter tuning is required. In this study, Taguchi Experimental Design was applied to investigate the effects of controllable parameters of the solver on its performance to support the parameter tuning. For details of the solver parameter tuning procedure used herein, it is advised to refer to the authors’ previous work [9]. It is important to note that for the purpose of tuning the solver parameters, a deterministic version of the proposed model was used, which means that the standard deviations of all stochastic parameters in the model were set to zero.

The effectiveness of the proposed stochastic VCIM production scheduling model will be demonstrated by a comprehensive case study in the next Section.

Case Study

Problem Description

Taking advantage of relevant data available from Lair [18, pp. 130–138], a VCIM system producing computer hard disks is considered herein and its production scheduling problem is described as follows.

Table 19 Parameter set of the solver
Fig. 3
figure 3

Typical convergence properties of the GA solver

The VCIM system producing computer hard disks has seven manufacturing agents and five assembly agents. Currently, there is one customer order with specific product quantity, delivery deadline, delivery destination and late delivery penalty cost as shown in Table 2. Each product is made of seven standard components, namely platter, back cover, motor, upper lid, screw, circuit board and head. Manufacturing setup cost and time of the product components in different manufacturing agents are given in Tables 3 and 4. Assembly setup cost and time of the product in different assembly agents are provided in Tables 5 and 6. Manufacturing processing cost and time of the product components produced by different manufacturing agents are presented in Tables 7 and 8. Assembly processing cost and time of the product in different assembly agents are shown in Tables 9 and 10. In addition, locations of the manufacturing and assembly agents are given in Table 11. Moreover, earliest starting times in manufacturing and assembly agents are assumed to be as shown in Tables 12 and 13. Furthermore, shipping cost and speed as well as weights of the product components are given in Tables 14 and 15; the maximum weight of each shipment is assumed to be 20 kg. Standard deviation of any stochastic parameter is assumed to be 1 % of the corresponding nominal/mean value (To determine the real standard deviation of a stochastic parameter, analysing statistical data collected from the real system must be done. In VCIM systems, collecting such kind of statistical data is very easy after the systems have operated for some time, because everything is recorded in the VCIM database. Therefore, the standard deviation of every stochastic parameter of the VCIM system will be updated accordingly. At this stage, for the sake of simplicity, this assumption is used and it does not affect the performance of the optimisation approach). Finally, the lower and upper bounds of every stochastic parameter with doubly truncated exponential distribution are assumed to be “\(\mu -\sigma \)” and “\(\mu +2\sigma \)”, respectively, where \(\mu \) is mean value and \(\sigma \) is standard deviation.

The VCIM production scheduling questions herein are (1) which manufacturing agents should be selected to produce the product components, (2) which assembly agent should be selected to assemble the products and (3) what shipping schedule should be used; so that the requested product order can be fulfilled with minimum expected cost while all of the given constraints are simultaneously satisfied.

Results and Discussions

To reduce the large setup expenses as shown in Tables 3, 4, 5 and 6 as well as computational complexity, it is reasonable to group the manufacturing and assembly tasks required to fulfil the customer order as shown in Table 16. Thereby, the scheduling problem now becomes: (1) which manufacturing agents should be selected to do the grouped manufacturing tasks in Table 16, (2) which assembly agent should be selected to do the grouped assembly task in Table 16 and (3) what shipping schedule should be used; so that a temporary production system in the VCIM system can be formed to fulfil the customer order with minimum expected cost while all of the given constraints are simultaneously satisfied.

As mentioned before, the commercial GA solver in Matlab is used to solve this case study problem, and to maximise its performance the parameter tuning is required. The tuning procedure based on Taguchi Experimental Design, developed by [9], is adopted herein. The solver parameters and their experimental design levels under consideration are shown in Table 17; other parameters are set by default. Taguchi Orthogonal Array Design L32 (2\(^{1}\) 4\(^{8})\) generated by Minitab and experimental data are shown in Table 18. It should be noted that to make a fair comparison, in every experiment, the solver was forced to terminate after 120 s of computing time as indicated in Table 18. In addition, the deterministic version of the proposed model, as mentioned in “Solver Parameters” section, was used in the experiments to tune the solver parameters. ANOVA analysis, conducted by Minitab, revealed the main effects of the parameters on the total cost of the customer order as shown in Fig. 2. Based on the effects of the parameter levels in Fig. 2, a parameter set of the solver was selected as shown in Table 19 to minimise the total cost.

Characteristics of the proposed stochastic VCIM production scheduling model are investigated by Monte Carlo simulation and commercial GA solver in Matlab. Two different models, namely model 1 and model 2, are being compared herein. Model 1 is a traditional model which does not consider collaborative shipment and model 2 is the proposed model in this article. With estimated standard deviation of the objective function of $300 (based on preliminary tests), margin of error for confidence interval of 70, confidence level of 95 % and confidence interval of “two-sided”, sample size of Monte Carlo simulation, estimated by Minitab, was 73. This sample size of Monte Carlo simulation and the GA solver with the parameters shown in Table 19 were used in both models 1 and 2. In addition, termination criterion of the solver was set to 250 generations. Finally, the convergence properties of the GA solver in solving the case study problem are visualised in Fig. 3

Performances of the two models in solving the case study problem are compared in Table 20. In each model, ten trials done in the same computer with processor: Intel(R) Core(TM)2 Duo CPU E6550 @2.33 GHz, 4.00 GB RAM were attempted and their outcomes including expected cost, standard deviation of the customer order total cost obtained as well as computing time are reported in Table 20. It can be seen that computing times and consistencies of the solutions obtained expressing by standard deviations in the two models are about the same. However, the expected cost achieved by model 2 is, on average, $368.7 lower, compared to the cost obtained by model 1. This cost saving mainly comes from the collaborative shipment because the collaborative shipping mode is the only difference between the two models. In addition, this amount of cost saving depends on the fixed cost of the shipment, i.e. if the fixed cost increases, the cost saving would be higher. It is noted that model 1 is a special case of model 2, when the collaborative shipping mode is not utilised. In addition, the best solution to the case study problem with the expected cost of $48799.5 and standard deviation of $191.1 was achieved by model 2 and its detail is shown in Table 21. To decode the solution, it is advised to refer to “Chromosome Encoding” section.

Table 20 Model performance comparison
Table 21 The best solution to the case study problem ever achieved. (Color figure online)
Fig. 4
figure 4

Output distribution visualisation of ten random samples

Fig. 5
figure 5

A typical result of output distribution identification tests

Table 22 Experimental levels of stochastic parameters’ standard deviations
Table 23 Experiment layout and data

As mentioned before, the input stochastic parameters of the VCIM production scheduling model were assumed to follow normal distribution or doubly truncated exponential distribution. One may ask: what distribution does the output (expected cost) of the model follow? To answer this question, an attempt was made herein to figure out the distribution. Ten samples visualised in Fig. 4 were randomly selected and then tested against 16 distribution types with aid of Minitab software. A typical result of the output distribution identification tests is shown in Fig. 5 where a lower AD value indicates a better fit to the corresponding distribution and a low P-value (e.g., P-value \(<\) 0.05) indicates that the data do not follow that distribution [21]. In addition, for some distributions, it is not possible to calculate the P-value and it is therefore represented by asterisk. As can be seen from Fig. 5, the output of the proposed stochastic VCIM production scheduling model best fits into normal distribution after Johnson Transformation, which has the lowest AD value of 0.142 and the highest P-value of 0.971. In other words, the output of the stochastic model typically follows the normal distribution after Johnson Transformation.

It can be clearly seen that standard deviations of different stochastic parameters of the VCIM system such as standard deviations of manufacturing setup time, manufacturing processing time, assembly processing time, shipping time, etc. have different effects on the expected cost of the customer order. The standard deviations of parameters with significant or insignificant effects on the expected cost should be tightened or widened, if possible, to make the system more robust. Therefore, another question that decision makers need to know the answer to control the VCIM production system is: the standard deviations of which stochastic parameters have significant effects on the expected cost of the customer order? To answer this question, Taguchi Experimental Design was again applied herein.

There were five groups of standard deviations of the stochastic parameters to be considered and their experimental levels in terms of percentages of the corresponding nominal values are as shown in Table 22. Taguchi Orthogonal Array Design L16 \((4^{5})\) was chosen and the corresponding experiment data is shown in Table 23. It is noted that in these experiments, the proposed stochastic VCIM production scheduling model was solved by the GA solver with the same parameters as given in Table 19 and with termination criterion of 250 generations. In addition, sample size of Monte Carlo simulation was again 73 as estimated before. Furthermore, each experiment was repeated for five times and two objective function values, namely mean and standard deviation of the expected cost, were collected as shown in Table 23.

Table 24 ANOVA analysis for mean of the expected cost

The ANOVA analysis, conducted by Minitab, revealed the effects of the standard deviations of the stochastic parameters on the mean and standard deviation of the expected cost of the customer order, as shown in Tables 24 and 25. In Taguchi Experimental Design, the P-value in ANOVA analysis is usually used to determine whether a design parameter is statistically significant and a common practice is that if the P-value is less than 0.05, then that parameter is significant with 95 % confidence interval [29, p. 378]. In this case study, therefore, standard deviations of shipping time (S) and assembly processing time (A2) are significant to the mean of the expected cost of the customer order, while only standard deviation of shipping time (S) is significant to the standard deviation of the expected cost, as indicated in Tables 24 and 25. This finding can support decision makers in adjusting the tolerances of the stochastic parameters to make the VCIM production system more robust.

Table 25 ANOVA analysis for standard deviation of the expected cost

Conclusions

In this paper, a stochastic VCIM production scheduling model with collaborative shipment scheduling capability has been developed. The proposed model has been explicitly expressed in the form of mathematical formulation. In addition, an innovative procedure to solve the stochastic production scheduling problem in VCIM systems using Monte Carlo simulation and optimisation solver (GA solver in Matlab) has been proposed. To demonstrate the effectiveness of the proposed model, a comprehensive case study has been done in which the proposed model could help the VCIM production system save, on average, $368.7 in one typical product order, compared to the traditional model, while their computing times were about the same. Moreover, two other insights of the proposed model have been revealed. First, the experiment result has shown that with stochastic input parameters following normal distribution and/or doubly truncated exponential distribution, the output (expected cost of the customer order) of the proposed model closely follows the normal distribution after Johnson Transformation. Second, the ANOVA analysis has indicated that standard deviations of shipping time and assembly processing times were statistically significant to the expected cost of the customer order.

Future works, being done by the authors, are: (1) further generalising the model by considering more realistic assumptions, constraints and multi-objective optimisation, (2) developing more robust optimisation method to solve the problem, and (3) conducting more comprehensive tests on both the model and solution method.