1. Introduction
In the past decades, product and manufacturing process developments have faced rapidly changing market needs. This global trend has resulted in more complex products and manufacturing processes to produce them. As is well known, assembly processes play a key role in production systems. Therefore, any effort for the improvement and optimization of the assembly process is vital to manufacturing competitiveness, since about 50% of the product cost should be ascribed to the assembly phase [
1]. One possible way to improve manufacturing competitiveness is to reduce assembly process complexity and the associated cost. Even though the system complexity is inherent and cannot be avoided, it has to be kept affordable. Before defining system complexity for specific purposes, it is important to present some background on complexity as such. According to Flood and Carson [
2], “complexity does not solely exist in things, to be observed from their surface and beneath their surface”. Flood [
3] adds that if systems are tangible things, then complexity and system are synonymous, where system is prime. According to Faulconbridge and Ryan [
4], “a system necessarily has a boundary through which it or its elements interact with elements or systems outside the boundary”. This system-inherent property allows us to adopt graph complexity measures for the complexity quantification of engineered systems [
5]. Reynolds [
6] points out that the structural modeling approach is applicable for clearly structured systems, in contrast to the behavioral approach, where structure is not assumed a priori. In the context of the architectural design, system complexity is proportional to the risk that the functional requirements cannot be met [
7]. In order to briefly introduce a structural complexity measurement problem, it would be useful to mention the fact that prevalent approaches toward measuring system complexity are based on entropy theory (see, e.g., [
8,
9,
10,
11]). Entropy can be interpreted in different ways, but in terms of technical systems, it is construed as a measure of information. This entropy measure was introduced by Shannon and Weaver [
12], who reduced the concept of entropy to pure probability theory. Their considerations were adopted by Frizelle and Woodcock [
13] in order to define static and dynamic system complexity. In regard to the scope of this paper, our primary concern is static system complexity, defined as the amount of information needed to specify the system and its components. System complexity belongs to general systems theory, because it has been applied to different kinds of systems, including technical, social, and biological networks [
14,
15,
16].
The purpose of this paper is to analyze existing complexity assessment methods to measure assembly supply chain (ASC) complexity and propose accurate complexity metric(s) that will include not only specific criteria for static complexity measures, but also sustainability viewpoints.
2. Related Works
The recent literature offers several different views on the relation between the sustainability and complexity of manufacturing systems, including ASCs. For instance, Peralta et al. [
17] argue that it is necessary to establish new approaches that reduce increasing complexity of manufacturing systems in the design and management stage in order to promote their sustainability. For that purpose, they developed a so-called fractal model for sustainable manufacturing. Moldawska [
18] proposed a complexity-based model of sustainable manufacturing, assuming that sustainable manufacturing organization tends to maintain its own sustainability, as well as contribute to the sustainability of the world. Relations between supply chains and sustainability were also treated in works [
19,
20] in which the authors analyzed the effect of distributed manufacturing systems on sustainability. The study [
21] explored the influence of mass customization strategy on the configuration complexity of assembly systems, and their authors proposed bounds for configuration complexity scale. ASCs in terms of mass customization can lead to very complex systems due to the high number of product variants. It has been proved that variety itself also has a significant impact on productivity, increased costs, and quality [
22,
23]. Therefore, such companies need to consider integrating their business practices with sustainability and reducing supply chain costs to achieve a competitive advantage [
24,
25,
26].
4. Description of Possible ASC Structural Complexity Indicators
In order to identify reliable and consistent complexity indicator(s), four relevant complexity methods were described and mutually compared, namely index of vertex degree, modified flow complexity, system design complexity, and process complexity indicator.
4.1. Index of Vertex Degree
This indicator was originally developed by Bonchev [
28] to quantify the structural complexity of general networks. He adopted Shannon’s information theory by applying the entropy of information
H (α) in describing a message of
N symbols. Further it is assumed that such symbols are distributed according to some equivalence criterion
α into
k groups of
N1, N2, …, Nk symbols. Then, entropy of information
H (α) is calculated by the formula:
where
pi specifies the probability of the occurrence of the elements of the
ith group.
Further, he substituted symbols or system elements for the vertices, and defined the probability for a randomly chosen system element i to have the weight wi as pi = wi/∑wi with ∑wi = w, and ∑pi = 1.
Then, the probability for a randomly chosen vertex
i in the complete graph of
V vertices to have a certain degree
deg (v)i can be expressed by the formula:
Assuming that the information can be defined, according Shannon [
29], as
I = Hmax − H, where
Hmax is the maximum entropy that can exist in a system with the same number of elements, the information entropy of a graph with a total weight
W and vertex weights
wi can be expressed in the form of the equation:
Since the maximum entropy is when all
wi = 1, then
Hmax = Wlog2W, and by substituting
W = ∑deg(v)i and
wi = deg(v)i, the information content of the vertex degree distribution of a network, called the vertex degree index (
Ivd), is expressed as follows [
28]:
The vertex degree index was subsequently applied to measure the structural complexity of assembly supply chains, and compared with other existing complexity measures [
30].
The selected complexity indicator was applied on the following examples of ASCs by Hamta et al. [
31] (see
Figure 2). All the five ASCs had the same number of input components, but they differed in the number of operations and the number of machines.
The complexity values obtained by using Equation (4) are shown in
Table 1.
4.2. Process Complexity Indcator
An additional ASC structural complexity measure that was considered was the so-called process complexity indicator (PCI), which was introduced for the purpose of enumerating the operational complexity of manufacturing processes. Its expression is as follows [
32]:
where
pijk means the probability that part
j is being proceeded by operation
k by individual machine
i based on the scheduling order;
O is the number of operations according to parts production;
P is the number of parts produced in the manufacturing process; and
M is the number of all machines of all types in the manufacturing process.
It is assumed that machines in a given manufacturing process are organized in a serial and/or parallel manner in Equation (5). The probability that part j is being processed due to operation k on an individual machine i is calculated in the following way. In the case when a part is processed on machines in a serial manner, then pijk equals 1/Ms, where Ms presents the number of machines organized in serial. In the case when a part is processed on machines in a parallel manner, then pijk = 1/Mp, where Mp represents the number of machines organized in parallel. In the case where we have a serial/parallel arrangement of machines and a part is processed on one of the parallel machines, then pijk equals 1/Ms.Mp.
The complexity values obtained by using Equation (5) are shown in
Table 2.
4.3. System Design Complexity
Guenov [
33] proposed three indicators for architectural design complexity measurement based on Boltzmann’s entropy theory (see, e.g., [
34]) and axiomatic design theory [
35]. Those indicators can be principally applied also as ASC complexity measures. However, only one of them has been treated as a potential indicator to measure ASC structural complexity [
36]. Its description is as follows. Let us denote
N as the number of interactions within a design matrix, and
N1, N2, …, Nk as the numbers of interactions per each design parameter (DP) of the same matrix. Then, the so-called degree of disorder
W can be expressed by the formula:
where:
The multiplicity Ω in Equation (6) is often called the degree of disorder.
The state of gas body
g at a given time
t where the gas body consists of
N molecules, each characterized by
n magnitudes
φj was considered by Boltzmann. For each magnitude
φj, its interval of admitted values is divided into small intervals of equal length ∆
j. Then, the
n-dimensional space, also known as
µ-space or module space, can be divided into a system of cells of equal volume:
υµ = ∆
i,…, ∆
n.
K is the number of these cells in the total range of admitted values,
Rµ; then:
υµ = Vµ/K, where
Vµ is the volume of
Rµ. The
µ-cells are analogous to the cells
Qj (j = 1
, …, K) in the classification system.
fj means the density in
Qj, i.e., the number of molecules per unit of
µ-volume:
fj = Nj/υµ. The function defined by Boltzmann for a statistical description is:
According to Equation (8) and
fj =
Nj/
υµ, where the volume is assumed equal to unity, the following formula for complexity measure can be derived:
where
Nj is interpreted as the number of interactions per single DP.
Its application to measure the structural complexity of ASC was provided by Modrak and Soltysova [
37], where the model of assembly process is structured with two groups of objects, while the first group is denoted as input components (ICs) and the second group as workstations. The input components are assembled at these workstations. Then, for the purpose of measuring process complexity, the following transformation is proposed: ICs are substituted by DPs, according to relation DPs = B. PVs (where PVs mean process variables and
B is the design matrix that defines the characteristics of the process design) and workstations are considered as PVs. Subsequently, the assembly process structure is transformed into design matrix (DM) with DP–PV relations and finally, the structural complexity of ASC can be enumerated.
The complexity values obtained by using Equation (9) are shown in
Table 3.
4.4. Modified Flow Complexity
The next possible ASC complexity indicators were developed by Crippa [
38]. The most suitable indicator of these is considered to be the so-called modified flow complexity (
MFC) indicator. The
MFC indicator enumerates all tiers (including Tier 0), nodes, and links and adds all these counts, weighted with determined
α, β, and
γ and coefficients. Nodes and links are counted only once, even if they are repeated in the graph. Node and link repetition is included in coefficients. The MFC indicator can be enumerated by the following equations [
38]:
where
MTI is multi-tier index;
MTR is multi-tier ratio;
MLR is multi-link ratio;
N is the number of nodes;
TN is the number of nodes per
ith tier level;
L is number of links;
LK is number of links per
ith tier level;
T is the number of tiers.
The complexity values obtained by using Equation (10) are shown in
Table 4.
5. Definition of Testing Rules for ASC Complexity Indicators
To prove the selected complexity indicators, all of them were verified through defined criteria for complexity measures that might also be taken into account to assess their validity. Such rules were specified and proposed for static complexity metrics by Deshmuk et al. [
9] and Olbrich et al. [
39]. Deshmuk et al. [
9] analyzed different factors influencing the static complexity of manufacturing systems, and defined four conditions that the static complexity metric must satisfy. They are as follows [
9]:
- Rule#1:
Static complexity should increase with the number of parts and the number of machines and operations required to process the part mix.
- Rule#2:
Static complexity should increase with increases in sequence flexibility for the parts in the production batch.
- Rule#3:
Static complexity should increase as the sharing of resources by parts increases.
- Rule#4:
If the original part mix is split into two or more groups, then the complexity of processing should remain constant.
Due to the fact that Rule#3 and Rule#4 are not relevant for assembly supply chains, only two of them were adopted in terms of ASC systems.
Olbrich et al. [
39] studied how static complexity measures behave if the system size is increased and explored three special cases of adding an independent element, two independent subsystems, and two identical copies. In this context, the authors proposed three specific requirements or rules for a reliable complexity measure that must be met:
- Rule#1:
Additional independent element: The element has no structure itself, so it has no complexity of its own. Because it is independent of the rest of the system, the complexity should not change.
- Rule#2:
Union of two independent systems: Because there are no dependencies between the two systems, the complexity of the union should be simply the sum of the complexities of the subsystems.
- Rule#3:
Union of two identical copies: Because there is no need for additional information to describe the second system, one could argue that the complexity should be equal to the complexity of one system. One has, however, to include the fact in the description that the second system is a copy of the first one. At least this part should not be extensive with respect to the system size.
However, any of the three rules appear to be impactful for ASC complexity metrics, and therefore were not directly used for the purpose of testing and comparing the complexity indicators.
After deeper consideration, the two rules by Deshmuk et al. [
9], namely Rules 1 and 2, were adopted by us into the four testing criteria (C). Moreover, we added one additional criterion (C#5) based on the increasing number of echelons. The criteria are summarily shown as follows:
- C#1:
Static complexity should increase with the number of parts required to process the part mix.
- C#2:
Static complexity should increase with the number of machines required to process the part mix.
- C#3:
Static complexity should increase with the number of operations required to process the part mix.
- C#4:
Static complexity should increase with increases in sequence flexibility for the parts in the production batch.
- C#5:
Static complexity should increase with the number of echelons while the number of parts, machines, and operations is constant.
7. Testing and Comparison of ASC Complexity Indicators
This part of the paper is focused on the comparison of two assembly supply chains, ASC1(i,j,k) and ASC2(i,j,k). One of them is more complex according to the defined criteria (C#1–C#5). P represents parts, j is the number of parts, O represents operations, k is the number of operations, M represents machines, and i is the number of machines.
These criteria were tested using the theoretical examples shown in
Figure 3,
Figure 4,
Figure 5,
Figure 6 and
Figure 7. In C#1, #2, #4, and #5, the number of machines was equal to the number of operations. In C#3, the number of operations was increasing.
7.1. Testing of C#1
C#1 is proposing the following statement:
If i is constant (i = k) and j is increasing, then the structural complexity of ASC(i,j-1,k) < ASC(i,j,k).
Let us test ASC
1(3;4;3) and ASC
2(3;5;3), shown in
Figure 3. While in
Figure 3a, ASC
1 consists of three machines and operations (
i =
k = 3), and the number of parts equals four (
j = 4), in
Figure 3b, ASC
2 contains three machines and operations (
i =
k = 3), and the number of parts equals five (
j = 5).
Applying Equation (4), according to complexity indicator I
vd, we obtained the following results for static complexity using I
vd1 (for ASC
1) and I
vd2 (for ASC
2):
Applying Equation (5), according to complexity indicator PCI, we obtained the following results for PCI
1 and PCI
2:
Applying Equation (9), according to complexity indicator system design complexity (SDC), we obtained the following results for SDC
1 and SDC
2:
Applying Equation (10), according to complexity indicator MFC, we obtained the following results for MFC
1 and MFC
2:
According to these complexity indicators, it was proved that the complexity of ASC1(3,4,3) < ASC2(3,5,3), then ASC(i,j−1,k) < ASC(i,j,k).
7.2. Testing of C#2
C#2 is proposing the following statement:
If j is constant and i is increasing (i = k), then the structural complexity of ASC(i−1,j,k) ˂ ASC(i,j,k).
Let us test ASC
1(3,4,3) and ASC
2(4,4,4), shown in
Figure 4. While in
Figure 4a, ASC
1 consists of three machines and operations (
i = k = 3), and the number of parts equals four (
j = 4), in
Figure 4b, ASC
2 contains four machines and operations (
i = k = 4), and the number of parts equals four (
j = 4).
Applying Equation (4), according to complexity indicator I
vd, we obtained the following results for I
vd1 and I
vd2:
Applying Equation (5), according to complexity indicator PCI, we obtained the following results for PCI
1 and PCI
2:
Applying Equation (9), according to complexity indicator SDC, we obtained the following results for SDC
1 and SDC
2:
Applying Equation (10), according to complexity indicator MFC, we obtained the following results for MFC
1 and MFC
2:
According to these complexity indicators, it was proved that ASC1(3,4,3) < ASC2(4,4,4), then ASC(i−1,j,k) ˂ ASC(i,j,k).
7.3. Testing of C#3
C#3 is proposing the following statement:
If i and j are constant and k is increasing, then the structural complexity of ASC(i,j,k−1) ˂ ASC(i,j,k).
Let us test ASC
1(
3,4,3) and ASC
2(
3,4,4), shown in
Figure 5. While in
Figure 5a, ASC
1 consists of three machines and operations (
i = k = 3), and the number of parts equals four (
j = 4), in
Figure 5b, ASC
2 contains three machines (
i = 3), four operations (
k = 4), and the number of parts equals four (
j =
4).
Applying Equation (4), according to complexity indicator I
vd, we obtained the following results for I
vd1 and I
vd2:
Applying Equation (5), according to complexity indicator PCI, we obtained the following results for PCI
1 and PCI
2:
Applying Equation (9), according to complexity indicator SDC, we obtained the following results for SDC
1 and SDC
2:
Applying Equation (10), according to complexity indicator MFC, we obtained the following results for MFC
1 and MFC
2:
According to the three complexity indicators Ivd, PCI, and MFC, it was proved that the structural complexity of ASC1(3,4,3) < ASC2(3,4,4), then ASC(i,j,k−1) ˂ ASC(i,j,k).
7.4. Testing of C#4
C#4 is proposing the following statement:
If i, j, and k are constant and the number of routings is increasing, then the structural complexity of ASC(i,j,k) ˂ ASC(i,j,k) with an increasing number of routings.
Let us test ASC
1(
3,4,3) and ASC
2(
3,4,3), shown in
Figure 6. While in
Figure 6a, ASC
1 consists of three machines and operations (
i = k = 3), and the number of parts equals four (
j = 4), in
Figure 6b, ASC
2 consists of three machines and operations (
i = k = 3), and the number of parts equals four (
j = 4), but P
2 and P
3 can be processed on M
1 or M
2.
Applying Equation (4), according to complexity indicator I
vd, we obtained the following results for I
vd1 and I
vd2:
Applying Equation (5), according to complexity indicator PCI, we obtained the following results for PCI
1 and PCI
2:
Applying Equation (9), according to complexity indicator SDC, we obtained the following results for SDC
1 and SDC
2:
Applying Equation (10), according to complexity indicator MFC, we obtained the following results for MFC
1 and MFC
2:
According to these complexity indicators, it was proved that the complexity of ASC1 ˂ ASC2, then ASC(i,j,k) ˂ ASC(i,j,k) with an increasing number of routings.
7.5. Testing of C#5
C#5 is proposing the following statement:
If i, j, and k are constant and the number of echelons is increasing, then the complexity of ASC(i,j,k) ˂ ASC(i,j,k) with an increasing number of echelons.
Let us test ASC
1(
3,4,3) and ASC
2(
3,4,3), shown in
Figure 7. While in
Figure 7a, ASC
1 consists of three machines and operations (
i = k = 3), the number of parts equals four (
j = 4), and the number of echelons equals two, in
Figure 7b, ASC
2 contains three machines (
i = 3), four operations (
k = 4), the number of parts equals four (
j = 4), and the number of echelons equals three.
Applying Equation (4), according to complexity indicator I
vd, we obtained the following results for I
vd1 and I
vd2:
Applying Equation (5), according to complexity indicator PCI, we obtained the following results for PCI
1 and PCI
2:
Applying Equation (9), according to complexity indicator SDC, we obtained the following results for SDC
1 and SDC
2:
Applying Equation (10), according to complexity indicator MFC, we obtained the following results for MFC
1 and MFC
2:
According to the three complexity indicators PCI, SDC, and MFC, it was proved that the complexity of ASC1 ˂ the complexity of ASC2, then ASC(i,j,k) ˂ ASC(i,j,k) with an increasing number of echelons.
7.6. Comparison and Selection of ASC Complexity Measure
A mutual comparison of ASC complexity methods is shown in the following
Table 6:
Based on the obtained results, it can be seen that PCI for ASCs could be considered as the most suitable.
8. Discussion of Results, Implications and Limitations
Summarizing the obtained results from the testing of the ASC complexity indicators, the following statements can be provided:
- (i)
All described indicators sufficiently reflect organizational aspects of ASCs.
- (ii)
Three of the complexity indicators, namely, Ivd, MFC, and PCI, can be effectively used to measure ASC complexity in order to identify how ASC structural variants are influencing organizational costs, as well as energy costs.
- (iii)
The PCI complexity measure reflects all of the three cost items and covers the two crucial dimensions of sustainability, economic and environmental.
In addition, it has to be emphasized that the impact of ASC complexity on social development can only be anticipated based on the theoretical assumption that higher organizational complexity, induced by a company’s favorable development, could positively influence social sustainability. In such a case, it would be expected that organizational complexity is growing not only along various dimensions, such as production volume, but also with the increasing number of employees [
40,
41]. However, the related literature is more or less ambivalent about whether organizational complexity has positive or negative effects on firm performance [
42]. Moreover, if we consider that organizational complexity is frequently defined as “the amount of differentiation that exists within different elements constituting the organization” [
43], then it is rather clear that any of the structural complexity indicators can identify organizational complexity changes within a company. Thus, it cannot be excluded that changes of the internal structural complexity will not impact the organizational complexity. Based on the above formulations, it can be concluded that, when comparing two or several ASC alternative solutions, the one with the lowest structural complexity can be considered as the most sustainable and cost-effective approach. Therefore, structural complexity measures can be primarily used as potential indicators for the indirect assessment of material costs and related energy consumption. This drawback of the presented approach can be seen as the main limitation of the analyzed indicators to reflect ASC complexity along with the sustainability issues.
This evaluation method can be effectively used, especially in terms of small and medium size enterprises (SMEs), since it has been found that SMEs are particularly sensitive to the internal complexity environment, as well as to the external complexity environment [
44]. For this reason, SMEs need to pay attention also to the complexity management approach in order to entirely manage their sustainability in a turbulent business environment.