## 3 An Improved Cuckoo Search Algorithm under Bottleneck-Degree-Based Search Guidance, TSCS-BD
### Tabu Search under Bottleneck-Degree Guidance
#### 3.3.2 Complex Network Model and Bottleneck Degree  
With increasing manufacturing tasks and resources, there may be a lot of constraints relating to machines and tasks in an inter-cell manufacturing system, which can be regarded as a complex system. To describe complex scheduling relationships in inter-cell manufacturing and seek abundant network features for scheduling optimization, a complex network model was established taking machines as nodes and the processing sequence among machines as bridges. Each obtained schedule corresponds to a specific complex network. A network \(G\) can be denoted \(G=(V,L)\) with node set \(V\) and edge set \(L\), where node set \(V=\{k\,|\,k=1,\,2,\,3,\,\ldots,\,m\}\). In this paper, \(G\) is a directed weighted network. The edge set can be expressed as \(E=\{e_{\bar{\mathrm{ij}}}\,|\,i,j\,(1,\,2,\,3,\,...,\,m)\}\) where \(e_{\bar{\mathrm{ij}}}\) represents the edge from \(i\) to \(j\). The expression of network elements should be clarified:  
(1) Nodes are the basic elements of the network model, which denote the machines. (2) Edges are the connections between nodes, which denote the flow of parts among machines. (3) Edge direction denotes the sequence of operations. (4) Weights denote the numbers of parts flowing between two machines. As shown in Figure 4, there are seven cells, 30 machines, and 50 parts in the complex network model for a schedule. Each dashed box represents a separate manufacturing cell, the number on the node represents which machine it is, the directed edge represents the direction and flow of parts between machines, and the number on the directed edge represents the numbers of the parts flowing between two machines. For example, the number 4 on the directed line between machine 1 and machine 2 indicates that four parts flow to machine 2 for processing after machine 1 finishes processing. The bottleneck degree is a composite index composed of complex network features. It can be used to measure the possibility of each node becoming a bottleneck under the combined influence of external manufacturing demand and internal production environment. It depends on attributes of the node itself, network propagation mechanism, and network topology, which are represented by three complex network features: node load, network efficiency, and betweenness centrality [37]. The symbols involved are shown in Table 2. The larger the bottleneck degree of the node, the more important the corresponding machine is in the manufacturing system. The bottleneck degree of node \(m\) is shown by Equation (9):  
\[s_{m}=\frac{b_{m}\sum_{l=1}^{M}e_{mi}w_{m}}{\sum_{m^{\prime}=1}^{M}b_{m^{ \prime}}\sum_{l=1}^{M}e_{m^{\prime}l}w_{m^{\prime}}} \tag{9}\]  
As shown in Equation (10), node load \(w_{m}\) represents the ratio of the total processing time of all parts on the node machine to the total processing time of all parts in the system. A larger node load on a node machine indicates that a lot of parts are processed on it. \(a_{ijm}\) represents whether operation \(O_{\text{ij}}\) is processed on machine \(m\), and \(T_{jm}\) represents the processing time of operation \(O_{\text{ij}}\) on machine \(m\). \[w_{m}=\frac{\sum_{i=1}^{N}\sum_{j=1}^{J}a_{ijm}T_{ijm}}{\sum_{m^{\prime}=1}^{M} \sum_{i=1}^{N}\sum_{j=1}^{J}a_{ijm^{\prime}}T_{ijm^{\prime}}} \tag{10}\]  
The shortest path between any two nodes \(s\) and \(t\) is defined as the shortest path \(l_{\text{st}}\), which reflects the closeness of the two nodes. Network efficiency \(e_{\text{st}}\) is defined as the reciprocal of \(l_{\text{st}}\), which can measure the degree of interaction between node machines. As shown in Equation (11), when \(e_{\text{st}}=\)0 (no path between two nodes), it indicates the two node machines do not correlate in the manufacturing system, and operations can be simultaneously processed; while \(e_{\text{st}}=\)1 indicates the two node machines have a strong correlation, and operations are processed with sequence constraints.