Abstract
Global routing is an important link in very large scale integration (VLSI) design. As the best model of global routing, X-architecture Steiner minimal tree (XSMT) has a good performance in wire length optimization. XSMT belongs to non-Manhattan structural model, and its construction process cannot be completed in polynomial time, so the generation of XSMT is an NP hard problem. In this paper, an X-architecture Steiner minimal tree algorithm based on multi-strategy optimization discrete differential evolution (XSMT-MoDDE) is proposed. Firstly, an effective encoding strategy, a fitness function of XSMT, and an initialization strategy of population are proposed to record the structure of XSMT, evaluate the cost of XSMT and obtain better initial particles, respectively. Secondly, elite selection and cloning strategy, multiple mutation strategies, and adaptive learning factor strategy are presented to improve the search process of discrete differential evolution algorithm. Thirdly, an effective refining strategy is proposed to further improve the quality of the final Steiner tree. Finally, the results of the comparative experiments prove that XSMT-MoDDE can get the shortest wire length so far, and achieve a better optimization degree in the larger-scale problem.
Keywords: Discrete differential evolution, Steiner minimal tree, Non-Manhattan architecture, Global routing, Multi-strategy optimization
Introduction
At present, very large scale integration (VLSI) technology is developing at a high speed. Initially, the model to solve global routing problem was based on Manhattan structure (Held et al., 2017; Siddiqi & Sait, 2017; Chu & Wong, 2007). There are two ways to connect each pin in this structure, which are horizontal direction and vertical direction. In the development of this structure, limitation of the interconnect wire length optimization appeared, and in the actual situation, there is still a lot of optimization space for wire length of the Steiner minimum tree (SMT). Wire length has a decisive influence on the chip performance. Based on this situation, non-Manhattan structure, which can make full use of the routing resources and shorten the wire length, has become the mainstream model of global routing (Zhu et al., 2020; Zhuang et al., 2020; Zhang et al., 2020b).
X-architecture Steiner minimal tree (XSMT) is a representative model of non-Manhattan structure (Coulston, 2003; Chiang & Chiang, 2002). The SMT problem is to find a minimum connection tree under a given set of pins by introducing additional Steiner points (Liu et al., 2015c). Because SMT cannot be constructed in polynomial time, how to quickly and effectively construct an SMT is a key issue to be solved in VLSI manufacturing process (Liu et al., 2015b, 2019). A heuristic search algorithm has a strong ability to solve NP-hard problem (Liu et al., 2018, 2020a). As a typical heuristic search algorithm, the differential evolution (DE) algorithm has shown good optimization effect in many practical engineering problems. Therefore, based on the DE algorithm, this paper designs relevant strengthening strategies to construct XSMT.
DE is a global optimization algorithm proposed by Storn & Price (1997). Each particle in DE corresponds to a solution vector, and the main process is composed of three steps: mutation, crossover, and selection. DE algorithm has many advantages, such as robustness, reliability, simple algorithm structure and few control parameters, etc., and it has been widely applied in global optimization (Zhao et al., 2020; Ge et al., 2017), artificial intelligence (Zhao et al., 2021; Tang, Zhang & Hu, 2020), bioinformatics (Zhang et al., 2020a), signal processing (Yin et al., 2020; Zhang et al., 2017), machine design (Zhou et al., 2018), and other fields (Ren et al., 2019; Tang et al., 2020b). Generation strategy of trial vector and setting method of control parameters will greatly affect the performance of DE algorithm. Many scholars have improved DE algorithm in these directions, and it has made great progress in recent years. DE was originally proposed for continuous problems and can not be directly used to solve discrete problems such as XSMT; therefore, this paper explores and formulates a discrete differential evolution (DDE) algorithm for solving XSMT problems.
For this reason, this paper proposes a X-architecture Steiner minimal tree algorithm based on multi-strategy optimization discrete differential evolution (XSMT-MoDDE). Firstly, we design an encoding strategy, a fitness function of XSMT, and a population initialization strategy based on Prim algorithm for DDE algorithm to record the structure of XSMT, evaluate XSMT and obtain high quality initial solution, respectively. Secondly, we design an elite selection and cloning strategy, a multiple mutation strategy, and an adaptive learning factor strategy to optimize the search process. At the end of the algorithm, an effective refining strategy is proposed to improve the quality of the final XSMT.
Related work
Research status of RSMT and XSMT
Optimizing the wire length of SMT is a popular research direction, and there are many important research achievements. In Tang et al. (2020a), three kinds of sub problems and three kinds of general routing methods in Steiner tree construction were analyzed, and the research progress in two new technology modes was analyzed (Tang et al., 2020a). Chen et al. (2020a) introduced five commonly used swarm intelligence technologies and related models, as well as three classic routing problems: Steiner tree construction, global routing, and detailed routing. On this basis, the research status of Steiner minimum tree construction, wire length driven routing, obstacle avoidance routing, timing driven routing, and power driven routing were summarized (Chen et al., 2020a). In Liu et al. (2011), Rectilinear Steiner Minimal Tree (RSMT) based on Discrete Particle Swarm Optimization (DPSO) algorithm was proposed to effectively optimize the average wire length (Liu et al., 2011). Liu et al. (2014a) proposed a multi-layer obstacle avoidance RSMT construction method based on geometric reduction method (Liu et al., 2014a). Zhang, Ye & Guo (2016) proposed a heuristic for constructing a RSMT with slew constraints to maximize routing resources over obstacles (Zhang, Ye & Guo, 2016).
Teig (2002) adopted XSMT, which is superior to RSMT in terms of average wire length optimization (Teig, 2002). In Zhu et al. (2005), an XSMT construction method was proposed by side substitution and triangle contraction methods (Zhu et al., 2005). Liu et al. (2020c) constructed a multi-layer global router based on the X-architecture. Compared with other global routers, it had better performance in overflow and wire length (Liu et al., 2020c). Liu et al. (2015c) proposed a PSO-based multi-layer obstacle-avoiding XSMT, which used an effective penalty mechanism to help particles to avoid obstacles (Liu et al., 2015c). In Liu et al. (2020b), a novel DPSO and multi-stage transformation were used to construct XSMT and RSMT. The simulation results on industrial circuits showed that this method could obtain high-quality routing solutions (Liu et al., 2020b). Chen et al. (2020b) proposed an XSMT construction algorithm based on Social Learning Particle Swarm Optimization (SLPSO), which can effectively balance the exploration and exploitation capabilities (Chen et al., 2020b).
The present situation of DE and DDE algorithm
DE algorithm has high efficiency and powerful search ability in solving continuous optimization problems. In the past 20 years after its emergence, many scholars have proposed improved versions of DE algorithm. These improvements better balance the exploitation and exploration ability of DE, and show strong optimization ability on many problems.
An Self-adaptive DE (SaDE) algorithm was proposed in Qin, Huang & Suganthan (2008). In different stages of the evolution process, the value of control parameters is adjusted according to experience, which saves the trial and error cost of developers in the process of adjusting parameters (Qin, Huang & Suganthan, 2008). Rahnamayan, Tizhoosh & Salama (2008) proposed an algorithm for accelerating DE, using opposition-based DE and opposition-based learning methods to initialize population and realize generation jumping to accelerate convergence of DE. Subsequently, Wang, Wu & Rahnamayan (2011) proposed an improved version of accelerated DE, which could be used to solve high-dimensional problems. Wang, Cai & Zhang (2011) proposed Composite DE (CoDE). The algorithm proposed three generation strategies of trial vector and three control parameter settings, and randomly combined the generation strategies and control parameters. The experimental results showed that the algorithm had strong competitiveness (Wang, Cai & Zhang, 2011). Wang, Zeng & Chen (2015) combined adaptive DE algorithm with Back Propagation Neural Network (BPNN) to improve its prediction accuracy.
DDE algorithm is a derivative of DE, which can solve discrete problems. Many existing results have applied DDE algorithm to solve practical problems. In Pan, Tasgetiren & Liang (2008), DDE was used to solve the permutation flow shop scheduling problem with the total flow time criterion. For the total flow time criterion, its performance is better than the PSO algorithm proposed by predecessors (Pan, Tasgetiren & Liang, 2008). In Tasgetiren, Suganthan & Pan (2010), an ensemble of DDE (eDDE) algorithms with parallel populations was presented. eDDE uses different parameter sets and crossover operators for each parallel population, and each parallel parent population has to compete with the offspring populations produced by this population and all other parallel populations (Tasgetiren, Suganthan & Pan, 2010). Deng & Gu (2012) presented a Hybrid DDE (HDDE) algorithm for the no-idle permutation flow shop scheduling problem with makespan criterion. A new acceleration method based on network representation was proposed and applied to HDDE, and the local search of the inserted neighborhood in HDDE was effectively improved to balance global search and local development (Deng & Gu, 2012).
Preliminaries
XSMT problem
Unlike the traditional Manhattan structure, which only has horizontal and vertical connections, two connection methods of 45 and 135 are added to the XSMT problem (Liu, Chen & Guo, 2012; Liu et al., 2015a). This paper introduces the concept of Pseudo-Steiner (PS) point (Definition 1). The PS point exists in two interconnected pins. The fixation of PS point determines the connection method (Definition 2-5) of two pins.
An example of XSMT problem model is as follows. In a given set of pins {p1, p2,…, pn}, pi represents the i − th pin to be connected, and the corresponding coordinate is (xi, yi). Given 5 pins, the corresponding coordinates are shown in Table 1, and the corresponding pin layout is shown in Fig. 1.
Table 1. Coordinate information of pins.
| Pin | p1 | p2 | p3 | p4 | p5 |
|---|---|---|---|---|---|
| Coordinate | (01,22) | (05,05) | (12,10) | (18,03) | (22,16) |
Figure 1. Distribution of pins.
Definition 1 Pseudo-Steiner point. Except for pin points, other join points are called Pseudo-Steiner points, denoted as PS points.
Definition 2 Selection 0. As shown in Fig. 2A, draw the vertical edge from A to point PS, and then draw the X-architecture edge from PS to B.
Definition 3 Selection 1. As shown in Fig. 2B, draw the X-architecture edge from A to point PS, and then draw the vertical edge from PS to B.
Definition 4 Selection 2. As shown in Fig. 2C, draw the vertical edge from A to PS, and then draw the horizontal edge from PS to B.
Definition 5 Selection 3. As shown in Fig. 2D, draw the horizontal edge from A to PS, and then draw the vertical edge from PS to B.
Figure 2. Four selections for connection method.
(A) Selection 0; (B) selection 1; (C) selection 2; (D) selection 3.
Differential evolution algorithm
DE algorithm is a heuristic search algorithm based on modern intelligence theory. The particles of population cooperate and compete with each other to determine the search direction.
The update process of DE
Initialization of the population: N particles are randomly generated, and the dimension of each particle is D. For example, represents the particle i, XL is the lower limit of D-dimensional particles, and XH is the upper limit of D-dimensional particles. The corresponding initialization method is as follows:
| (1) |
Mutation operator: In the process of the g-th iteration, mutation operator randomly select three particles , , and in the population which are different from each other, and generate particles according to the following mutation formula:
| (2) |
where F is a learning factor, F ∈ [0,2].
Crossover operator: In the process of crossover, the value of each dimension is selected from Particle or Particle . The probability of selection is cr. The formula of crossover is as follows:
| (3) |
where j represents the dimension, cr is the crossover probability, cr ∈ [0,1].
Selection operator: It adopts greedy strategy in the process of selection, that is, selecting the particle with the optimal adaptive value. The formula is as follows:
| (4) |
where the value of Function f(X) represents the fitness value of Particle X, and the fitness function definitions for each problem are different.
The flow of DE algorithm
Step 1. Initialize the population according to Eq. (1), and initialize the parameters of DE algorithm.
Step 2. Calculate the fitness value of each particle in the population according to fitness function.
Step 3. During each iteration, mutation operation is performed on particles according to Eq. (2) or other mutation operators to produce mutated particles.
Step 4. Check whether the algorithm reaches the termination condition. If so, the algorithm is terminated. Otherwise, return to Step 2 and update the related parameters.
Xsmt-modde algorithm
Encoding strategy
Property 1. The encoding strategy of edge-point pairs is suitable for DDE algorithm, and it can well record the structure of XSMT.
Suppose there are n pin points in the pin graph, and the corresponding Steiner tree has n − 1 edges and n − 1 PS points. Number each pin, determine an edge by recording two endpoints, and add a bit to record selection method of edge. Finally, a bit is added at the end to represent the fitness value of the particle, and the final encoding length is . The Steiner tree corresponding to pins in Table 1 is shown in Fig. 3, and the corresponding encoding is: 1 3 1 2 3 0 4 5 0 3 4 3 46.284.
Figure 3. Steiner tree.
Fitness function
Property 2. The wire length of XSMT is a key factor that affects global routing results, and the fitness value based on the wire length of XSMT can make the algorithm go in the direction of optimal wire length to the greatest extent.
In an edge set of a XSMT, all edges belong to one of the following four types: horizontal, vertical, 45° diagonal and 135° diagonal. Rotate a 45° diagonal counterclockwise 45° to form a vertical line and a 135° diagonal counterclockwise 45° to form a horizontal line, so that the four types of edges can be replaced by two types. Make the starting point number of all edges smaller than the ending point number, and then sort all edges according to the starting point number, and subtract the overlapping part of the edges. At this time, the total wire length of XSMT can be obtained.
The excellence of XSMT is determined by the total wire length. The smaller the wire length is, the higher the excellence of XSMT will be. Therefore, fitness value measured by XSMT-MoDDE is total wire length of particle. The fitness function of XSMT-MoDDE is shown in Eq. (5).
| (5) |
Initialization
Property 3. Prim algorithm can search an edge subset, which not only includes all the vertices in a connected graph, but also minimizes the sum of the weights of all the edges in subset. Selecting different starting points can get the same weight but different edge subsets. Prim algorithm is used to initialize population, so that particles in population have diversity and the solution space can be reduced at the same time.
Traditional DE algorithm directly uses Eq. (1) to initialize the population. However, for XSMT, if the random strategy is used to initialize each particle (i.e., randomly select a point as root, and use backtracking method to randomly select edges to build a legal tree), will lead to the problem that the solution space is too large to converge well. Therefore, this paper uses Prim algorithm to construct Minimum Spanning Tree (MST) to initialize population. The weight of each edge in MST is determined by Manhattan distance between each two pins. Each particle randomly selects a starting point s to generate a MST and randomly select a connection method for each edge of MST.
The relevant pseudo code is shown in Algorithm 1, where T is edge set of MST, s is starting point, U is point set of MST, V is pin set, P is population, and N is population size. From Lines 1–18 is the function to generate MST. Lines 2–3 randomly select a starting point s and add it to the set U. Line 4 initializes the edge set T. Line 6 selects a visited point i from the set U, and Line 7 sets the minimum cost to infinity. Lines 8–13 select a unvisited point j from the adjacent points of point i, the edge ij with the least cost will be selected and added to set T, and the point j is marked as visited and added to set U. The MST algorithm ends when the set U is the same as the set V, and Line 17 returns a randomly generated MST. Lines 21–24 construct the population, and the initial particle is an MST generated by function PRIMALGORITHM.
Algorithm 1. Initialization strategy based on the Prim algorithm.
| Require: V, N |
| Ensure: P |
| 1: function PRIMALGORITHM(V) |
| 2: s ← random()/(maxnum+1)×n+1 |
| 3: U ←{s} |
| 4: T ← 0 |
| 5: while (U! = V) do |
| 6: choose point i ∈ U |
| 7: mincost ← ∞ |
| 8: for k ∈ V − U do |
| 9: if cost(i, k) < mincost then |
| 10: mincost ←cost(i, k) |
| 11: j ← k |
| 12: end if |
| 13: end for |
| 14: T ∪ {(i, j)} |
| 15: U ∪ {j} |
| 16: end while |
| 17: return T |
| 18: end function |
| 19: |
| 20: function GENERATEPOPULATION(V, N) |
| 21: for i ← 1 to N do |
| 22: T ← PRIMALGORITHM(V) |
| 23: P ∪ {T} |
| 24: end for |
| 25: return P |
| 26: end function |
Elite selection and cloning strategy
Property 4. This strategy proposes two particle mutation strategies based on set, which can mutate elite particles in a very short time. The elite particles are cloned and mutated, and the optimal particle is selected based on greedy strategy to construct a elite buffer with high quality in a short time.
Brief description
The elite selection and cloning strategy consists of four steps: selection, cloning, mutation, and extinction. Part of particles in the population are selected as elite particles, and then the elite particles are cloned to form cloned population. Cloned particles randomly mutate into mutated particles. Mutated particles are selected to enter the elite buffer according to extinction strategy. The elite buffer has the same size as the population and participates in the subsequent process of DE.
The elite selection and cloning strategy can effectively expand the search range of DDE, improve the global search ability of the algorithm, avoid falling into local peaks to a certain extent, and prevent the algorithm from premature convergence.
Algorithm flow
(1) Selection: Sort population according to fitness value, and select the first n particles to form an elite population, n = k × N. k is elite ratio, and the best result can be obtained when k is selected as 0.2 after experimental verification.
(2) Cloning: Clone the particles of the elite population to form a cloned population C. The number of cloned particles is calculated according to Eq. (6).
| (6) |
where i is rank of the particle in original population, and round() is rounding down function.
(3) Mutation: The mutation strategy adopts connection method mutation or topology mutation, and two strategies are shown in Fig. 4. Figure 4A shows the mutation process of connection method. The connection method of Line AB is changed from selection 3 to selection 0. Figure 4B shows the mutation process of topology. Line AB is selected to be disconnected and then connected to Line BC. Each cloned particle is assigned to a mutation strategy to form a mutated particle.
Figure 4. Two ways of mutation.
(A) Connection method mutation; (B) topology mutation.
For particles that adopt connection method, randomly select a edges, and the value of a is determined according to the number of edges, as shown in Eq. (7), where n is the number of pins. Then change the connection method of the selected edge.
| (7) |
For particles that adopt topology mutation, one edge is randomly disconnected in XSMT to form two sub-XSMTs, and then respectively select a point from the two sub-XSMTs to connect. This process adopts the idea of Disjoint Set Union (DSU) to ensure that a legal tree is obtained after mutation.
(4) Extinction: Select the trial elite particle mbest with the best fitness value in the mutated population. If is better than , then mbest will be added to the elite buffer, and all other particles will die, otherwise, all particles in the mutation population will die. If the elite buffer is full, the particle with the worst fitness value will be popped and new particle will be pushed.
The pseudo code of the elite selection and cloning strategy is shown in Algorithm 2, where S represents elite population, M represents mutated population, the inputs are Population P and its size, and the output E represents the elite buffer. Lines 1–9 are selection function, Line 2 calculates the number n of elite particles, Line 3 initializes the Set S, Line 4 establishes a minimum heap according to the fitness value of the population particles, and Lines 5–6 take n elite particles from the top of the minimum heap in turn. Lines 11–28 are the processes of cloning, mutation and extinction. Line 12 initializes Set E, Line 14 initializes Set M, Line 15–20 are cloning and mutation process, Line 15 clones elite particles, Line 16 selects a mutation strategy randomly, and Line 20 adds mutated elite particles to Set M. Lines 22–23 construct two minimum heaps through Set P and Set M. Line 24 compares the tops of the two minimum heaps to determine whether the trial elite particles are saved or died.
Algorithm 2. Elite selection and cloning strategy.
| Require: P, N |
| Ensure: E |
| 1: function SELECTION(P) |
| 2: n ← k × N |
| 3: S ← 0 |
| 4: H ← heap(P) |
| 5: for i ←1 to n do |
| 6: S ∪ H.top() |
| 7: end for |
| 8: return S, n |
| 9: end function |
| 10: |
| 11: function CLONEMUTATIONANDEXTINCTION(S, n) |
| 12: E ← 0 |
| 13: for i ← 1 to n do |
| 14: M ← 0 |
| 15: for j ← 1 to n/i do |
| 16: method ←random(0,1) |
| 17: if method == 0 then m ← connection_method_mutation() |
| 18: else m ← topology_mutation() |
| 19: end if |
| 20: M ∪ m |
| 21: end for |
| 22: H1 ← heap(M) |
| 23: H2 ← heap(P) |
| 24: if H1.top() < H2.top() then E ∪ H1.top() |
| 25: end if |
| 26: end for |
| 27: return E |
| 28: end function |
Novel multiple mutation strategy
Property 5. The three novel mutation strategies proposed in this paper introduce the idea of set operations. Under the premise of reasonable computing time, through adjusting edge set of current particle and edge set of other particle, some substructures in XSMT are changed to search for a better combination of substructures.
In DE algorithm, there are six commonly used mutation strategies (Epitropakis et al., 2011), and each strategy uses different basis vectors and differential vectors. The mutation formulas are shown below.
| (8) |
| (9) |
| (10) |
| (11) |
| (12) |
| (13) |
where represents a random particle in population, represents the global optimal solution, and F represents learning factor.
Two operating rules
In XSMT-MoDDE algorithm, a particle represents a XSMT. Addition and subtraction operations in the above mutation formulas cannot be directly used in discrete problems. This paper defines two new calculation methods (Definition 6–7).
A is the edge set of particle X1, B is the edge set of particle X2, and the full set is A ∪ B. There are two definitions as follows:
Definition 6 A B. is expressed as finding the symmetric difference of A and B, which is (A ∪ B) − (A ∩ B), as shown in Fig. 5A.
Figure 5. Operation process of two new operators.
(A) A⊙B; (B) A⊕B.
Definition 7 A B. First calculate Set C, C = A − B, and then add the edges of Set B to Set C until Set C can form a legal tree, as shown in Fig. 5B.
Three mutation strategies
In Mutation Strategy 1, basis vector is selected as current particle, and there are two differential vectors. The differential vector of the first stage is generated by the difference between the current particle and the corresponding local historical optimal particle, and Particle T is obtained by Eq. (14). The differential vector in the second stage is generated by the difference between Particle T and the global optimal particle, and target mutated Particle is obtained by Eq. (15).
| (14) |
| (15) |
In Mutation Strategy 2, basis vector is still current particle, and there are two differential vectors. The differential vector in the first stage is generated by the difference between random particle and the corresponding local historical optimal particle, and Particle T is calculated by Eq. (16). The differential vector in the second stage is generated by the difference between the random particle and global optimal particles, and target mutated Particle is obtained by Eq. (17).
| (16) |
| (17) |
In Mutation Strategy 3, basis vector is current particle, and the differential vector is generated by the difference between the current particle and random particle in the population, and the mutated Particle is obtained by Eq. (18).
| (18) |
Mutation Strategy 1 can make particles obtain the partial structure of global optimal particle and the historical local optimal particle, and inherit the characteristics of the two optimal particles, which is a greedy strategy. The implementation of Mutation Strategy 3 can expand the search space and make the mutation direction completely get rid of the structure of the optimal particles, which is suitable for the early stage of iteration and increases the exploration ability of the algorithm. The exploratory ability of Mutation Strategy 2 is between Mutation Strategy 1 and Mutation Strategy 3.
In multiple mutation strategy, the iterative process is divided into two stages by setting a threshold. Three mutation strategies in the early stage are selected with equal probability, and the Mutation Strategy 3 is cancelled in the later stage. The pseudo-code of multiple mutation strategy is shown in Algorithm 3, where P represents population, N represents the size of the population, m represents the number of iterations, t represents threshold, and V represents mutated population. Line 5 judges whether the current iteration is in the early stage of the iteration. If it is in the early stage of the iteration, Mutation Strategy 1, Mutation Strategy 2, and Mutation Strategy 3 are adopted. Line 6 determines whether the current iteration is in the later stage of the iteration. If it is in the latter stage, Mutation Strategy 1 and Mutation Strategy 2 are adopted.
Algorithm 3. Multiple mutation strategy.
| Require: P, N, m, e |
| Ensure: V |
| 1: function MUTIMUTATION(P, N, m, t) |
| 2: V ← 0 |
| 3: for i ← 1 to m do |
| 4: for j ← 1 to N do |
| 5: if i <= t ×N then s ← random(1,2,3) |
| 6: else s ← random(1,2) |
| 7: end if |
| 8: if s == 1 then v ← Mutation1(P[ j]) |
| 9: else if s == 2 then v ← Mutation2(P[ j]) |
| 10: else if s == 3 then v ← Mutation3(P[ j]) |
| 11: end if |
| 12: V[ j] ← v |
| 13: end for |
| 14: end for |
| 15: return V |
| 16: end function |
Adaptive learning factor
Property 6. Learning factor is a key parameter to determine the performance of DDE algorithm, which has a decisive influence on the exploitation and exploration ability of algorithm. This paper proposes an adaptive learning factor based on set operation for the first time to effectively balance the search ability of XSMT-MoDDE algorithm.
Operating rule for learning factors
As shown in Eq. (2), the learning factor F acts on the difference vector and controls the global search capability of DDE algorithm (Wang et al., 2014; Gong et al., 2010; Brest et al., 2006). In discrete problems, simple multiplication operation cannot be used. This paper redefines the * operation in Eq. (2).
Definition 8 F < 1. Randomly eliminate n edges {e1, e2,…, en} from the edge set of difference particles, where and , and the value of n is calculated by Eq. (19).
Definition 9 F > 1. Randomly eliminate n edges {e1, e2,…, en} from the edge set of difference particles, where and , and the value of n is calculated by Eq. (20).
Definition 10 F = 1. No changes are made to the edge set.
| (19) |
| (20) |
where |X| represents the number of edge of Particle X.
Adaptive update process
Each Particle Xi corresponds to the adaptive learning factor Fi, which is initialized to 1. After each selection operation, the Parameter Fi is updated.
(1) Calculate reference Parameter r, r k× fbest + 1, where k is 0.001 and fbest is the fitness value of the global optimal particle;
(2) Calculate difference value δ between fitness value fi of and fitness value fbest of ;
(3) Update Fi, the update formula is as follows:
| (21) |
When the fitness value fi is close enough to fbest, reduce Fi to preserve its structure to a greater extent, otherwise, increase Fi to expand the global search capability.
Refining strategy
Property 7. Refining strategy minimizes wire length of XSMT under the determined topology within a reasonable time.
There may still be space for optimization for the optimal particles at the end of iteration. In order to search for a better result, a refining strategy is proposed. The steps of algorithm are as follows:
(1) Calculate degree of each Point pi in the optimal particle. The degree is defined as the number of edges connected to point, denoted as di;
(2) There are 4 kinds of edges in X-architecture. If the degree of Point pi is di, there are 4di types of substructures corresponding to the point. The set of all substructures corresponding to Point pi is S, and edge Set E is obtained when the substructures corresponding to Points p1 − pi − 1 have been determined. Calculate common wire length l between Substructure si in Set S and Set E, select Substructure si corresponding to the largest l, and add the edges of si to the Set E. The algorithm ends until all points have been visited.
The pseudo code of the refining strategy algorithm is shown in Algorithm 4, where X represents the target particle obtained by the XSMT-MoDDE algorithm, n represents the point number of XSMT, and R represents the refined particle. Line 2 initializes Set R. Lines 3-20 search for the optimal substructure corresponding to each point. Line 4 calculates the degree of Point pi, Line 5 initializes maximum common wire length, and Line 6 initializes the optimal substructure set. Lines 7–14 calculate common wire length and update the largest common wire length. Lines 15–19 store the edges in the optimal substructure into Set R.
Algorithm 4. Refining strategy.
| Require: X, n |
| Ensure: R |
| 1: function REFINING(X, n) |
| 2: R ← 0 |
| 3: for i ← 1 to n do |
| 4: d ← CalculateDegree(Xi) |
| 5: Length ← 0 |
| 6: Substructure ← 0 |
| 7: for j←1 to 4d do |
| 8: s ← GetSubstructure() |
| 9: l ← GetCommonWireLength() |
| 10: if l > Length then |
| 11: Substructure ← s |
| 12: Length ← l |
| 13: end if |
| 14: end for |
| 15: for edge in Substructure do |
| 16: if edge not in R then |
| 17: R ∪ edge |
| 18: end if |
| 19: end for |
| 20: end for |
| 21: return R |
| 22: end function |
Related parameters
The main parameters of the algorithm in this paper include population size n, iteration times m, threshold t, learning factor F, and crossover probability cr.
In the proposed algorithm, n is 50, m is 500, and t is 0.4. The adaptive strategy of learning factor F has been described in detail in Section 3.6. The crossover probability cr also adopts the adaptive strategy, which is as follows:
| (22) |
where cri = 0.1, cru = 0.6, fi represents the fitness value of the current particle, fmin represents the minimum historical fitness value, fmax represents the maximum historical fitness value, and represents the average historical fitness value.
The algorithm flow of XSMT-MoDDE
The algorithm flow chart of XSMT-MoDDE is shown in Fig. 6, and the detailed flow is as follows:
Figure 6. Algorithm flowchart.
Initialize threshold, population size, adaptive learning factor F, and adaptive crossover probability cr.
Use Prim algorithm to construct initial particles and generate initial population.
Check the current stage: early stage or late stage of iteration.
Select a mutation strategy from the corresponding mutation strategy pool according to the current stage. Obtain the mutated particles according to the mutation strategy.
Obtain the trial particles according to the crossover operator.
Obtain the next generation of particles according to the selection operator.
Adopt elite selection and cloning strategy, and update the elite buffer after four steps of selection, clone, mutation, and extinction.
Update adaptive learning factor and adaptive crossover probability by Eqs. (21) and (22).
Check the number of iterations, and end the iteration if the termination condition is met, otherwise, return to Step (3).
At the end of XSMT-MoDDE algorithm, refining strategy is adopted to obtain the target solution.
Complexity analysis of XSMT-MoDDE algorithm
Property 8. When the population size is m and the number of pins is n, the time complexity of one iteration is O(mnlogn).
Complexity analysis of multiple mutation operator
The mutation process is divided into two stages. First, difference vector is constructed, and then difference vector and the basis vector are used to construct the trial particles.
Construction of difference vector: Sort the edges of two edge sets according to the number of edge start point, and use binary search to construct the non-common edges. The complexity of this process is O(nlog(n)), and the non-common edge set is the difference vector.
Construction of mutation particle: Construct the difference set of basis vector and difference vector according to the above-mentioned similar idea. Then the edges in the difference set are stored in DSU, and edges are randomly selected from difference vector to be added to DSU until a complete tree is constructed. The time complexity of this process is O(nlog(n)).
Complexity analysis of elite selection and cloning strategy
A minimum heap is established according to the fitness value of particles, and the heap top is selected for cloning each time. The time complexity required for this process is O(n).
The mutation process adopts connection method mutation and topology mutation. The connection method mutation selects two different edges randomly from the edge set to modify the connection method of the edges. The time complexity required is O(1). In topology mutation, one edge is randomly disconnected to form two sub-XSMTs, which are recorded using the DSU. It takes O(nlog(n)) time to construct two sub-XSMTs with DSU, and randomly select one point from each of two sub-XSMTs to establish connection, this process takes O(1) time.
The particles obtained by the elite selection and cloning strategy need to be stored in an elite buffer with a size of m. The population particles and the particles of elite buffer participate in mutation, crossover, and selection operations together.
Complexity analysis of refining strategy
The degree of Point i is recorded as di. We always keep di within 4, even if there is a minimum probability greater than 4, only four connected edges will be considered in refining strategy. The adjacent edges of a point select a connection method respectively to form a substructure. An X-architecture edge has four selection methods, so one point corresponds to 4di substructures, where 4di ≤ 256.
Refining strategy takes out the optimal particle constructed by XSMT-MoDDE algorithm, enumerates substructures for each point of the particle, and obtain the substructure with the largest common wire length. So for the case of n points, the required time is .
Experimental results
The proposed XSMT-MoDDE has been implemented in C++ language on a windows computer with 3.5 GHz Intel CPU. To compare the experimental results fairly, we run all programs in the same experimental environment and use the same benchmarks from GEO and IBM. The population size and iteration size of all heuristic algorithms are set to 50 and 500 respectively. Calculation formula of optimization rate is shown in Eq. (23).
| (23) |
where a is the experimental result of the XSMT-MoDDE algorithm, and b is the experimental result of other algorithms.
Verify the effectiveness of multi-strategy optimization
Experiment 1: In order to verify the effectiveness of the multi-strategy optimization DDE algorithm in constructing XSMT, this experiment will compare the results of XSMT-MoDDE algorithm and XSMT-DDE algorithm. Experimental results are shown in Tables 2 and 3. Table 2 is the optimization results of wire length, and Table 3 is the optimization results of standard deviation. The results show that multi-strategy optimization can achieve an average wire length optimization rate of 2.35% and a standard deviation optimization rate of 95.69%. This experiment proves that multi-strategy optimization has a powerful effect on wire length reduction, and at the same time greatly increases the stability of DDE.
Table 2. Average wire length optimization results of multi-strategy optimization.
| Circuit | Pins | XSMT-DDE | XSMT-MoDDE | Reduction (%) |
|---|---|---|---|---|
| 1 | 8 | 16,956 | 16,900 | 0.33 |
| 2 | 9 | 18,083 | 18,023 | 0.33 |
| 3 | 10 | 19,430 | 19,397 | 0.17 |
| 4 | 15 | 25,728 | 25,614 | 0.44 |
| 5 | 20 | 32,434 | 32,171 | 0.81 |
| 6 | 50 | 49,103 | 48,090 | 2.06 |
| 7 | 70 | 57,386 | 56,397 | 1.72 |
| 8 | 100 | 70,407 | 68,917 | 2.12 |
| 9 | 400 | 145,183 | 139,871 | 3.66 |
| 10 | 410 | 146,680 | 141,571 | 3.48 |
| 11 | 500 | 160,031 | 154,406 | 3.51 |
| 12 | 1,000 | 232,057 | 220,577 | 4.95 |
| Average | 1.97 |
Table 3. Standard deviation optimization results of multi-strategy optimization.
| Circuit | Pins | XSMT-DDE | XSMT-MoDDE | Reduction (%) |
|---|---|---|---|---|
| 1 | 8 | 56 | 0 | 100.00 |
| 2 | 9 | 58 | 0 | 100.00 |
| 3 | 10 | 42 | 0 | 100.00 |
| 4 | 15 | 198 | 10 | 94.95 |
| 5 | 20 | 343 | 51 | 85.13 |
| 6 | 50 | 1,036 | 147 | 85.81 |
| 7 | 70 | 1,082 | 102 | 90.57 |
| 8 | 100 | 1,905 | 279 | 85.35 |
| 9 | 400 | 3,221 | 120 | 96.27 |
| 10 | 410 | 3,222 | 178 | 94.48 |
| 11 | 500 | 3,193 | 139 | 95.65 |
| 12 | 1,000 | 3,977 | 106 | 97.33 |
| Average | 93.80 |
Verify the effectiveness of refining strategy
Experiment 2: In order to verify the effectiveness of the refining strategy, this experiment will compare the results of refined XSMT-MoDDE algorithm and XSMT-MoDDE algorithm. The experiment result is shown in Tables 4 and 5. Table 4 is the optimization results of wire length, and Table 5 is the optimization results of standard deviation. The results show that refining strategy can achieve an average wire length optimization rate of 0.50% and a standard deviation optimization rate of 37.30%. From the experimental results and the above complexity analysis, it can be seen that after XSMT-MoDDE algorithm is over, refining strategy only takes a short time to obtain a lot of optimization of wire length and standard deviation. Regardless of whether refining strategy is added or not, both can always obtain accurate solutions in circuits with less than 10 pins. Refining strategy has more significant optimization effects in larger circuits.
Table 4. Average wire length optimization results of refining strategy.
| Circuit | Pins | XSMT-DDE | Refining | Reduction (%) |
|---|---|---|---|---|
| 1 | 8 | 16,900 | 16,900 | 0.00 |
| 2 | 9 | 18,023 | 18,023 | 0.00 |
| 3 | 10 | 19,397 | 19,397 | 0.00 |
| 4 | 15 | 25,614 | 25,624 | −0.04 |
| 5 | 20 | 32,171 | 32,091 | 0.25 |
| 6 | 50 | 48,090 | 48,090 | 0.00 |
| 7 | 70 | 56,397 | 56,105 | 0.52 |
| 8 | 100 | 68,917 | 68,457 | 0.67 |
| 9 | 400 | 139,871 | 138,512 | 0.97 |
| 10 | 410 | 141,571 | 140,359 | 0.86 |
| 11 | 500 | 154,406 | 152,649 | 1.14 |
| 12 | 1,000 | 220,577 | 217,060 | 1.59 |
| Average | 0.50 |
Table 5. Standard deviation optimization results of refining strategy.
| Circuit | Pins | XSMT-DDE | Refining | Reduction (%) |
|---|---|---|---|---|
| 1 | 8 | 0 | 0 | – |
| 2 | 9 | 0 | 0 | – |
| 3 | 10 | 0 | 0 | – |
| 4 | 15 | 10 | 8 | 20.00 |
| 5 | 20 | 51 | 22 | 56.86 |
| 6 | 50 | 147 | 119 | 19.05 |
| 7 | 70 | 170 | 136 | 20.00 |
| 8 | 100 | 279 | 187 | 32.97 |
| 9 | 400 | 120 | 57 | 52.50 |
| 10 | 410 | 178 | 56 | 68.54 |
| 11 | 500 | 139 | 50 | 64.03 |
| 12 | 1,000 | 115 | 113 | 1.74 |
| Average | 37.30 |
Algorithm comparison experiment
Experiment 3: To compare the performance of XSMT-MoDDE algorithm with other heuristic algorithms, we compare the results of XSMT constructed by MoDDE algorithm, DDE algorithm, Artificial Bee Colony (ABC) algorithm, and Genetic Algorithm (GA). The experimental results are shown in Tables 6, 7, and 8. XSMT-MoDDE compares with XSMT-DDE, XSMT-ABC, and XSMT-GA, the average wire length is reduced by 2.40%, 1.74%, and 1.77%, the optimal wire length is reduced by 1.26%, 1.55%, and 1.77%, and the standard deviation is reduced by 95.65%, 33.52%, and 28.61%. Experimental results show that XSMT-MoDDE is better than XSMT-DE, XSMT-ABC, and XSMT-GA in both the wire length and standard deviation indicators. Compared with other algorithms, this algorithm still has excellent stability on the basis of having better wire length results.
Table 6. Comparison results of average wire length in the GEO dataset.
| Circuit | Pins | Mean value | Reduction (%) | |||||
|---|---|---|---|---|---|---|---|---|
| DDE | ABC | GA | MoDDE | DDE | ABC | GA | ||
| 1 | 8 | 16,956 | 16,918 | 16,918 | 16,900 | 0.33 | 0.00 | 0.00 |
| 2 | 9 | 18,083 | 18,041 | 18,041 | 18,023 | 0.33 | 0.10 | 0.10 |
| 3 | 10 | 19,430 | 19,696 | 19,696 | 19,397 | 0.17 | 1.52 | 1.52 |
| 4 | 15 | 25,728 | 25,919 | 25,989 | 25,624 | 0.40 | 1.14 | 1.40 |
| 5 | 20 | 32,434 | 32,488 | 32,767 | 32,091 | 1.06 | 1.22 | 2.06 |
| 6 | 50 | 49,103 | 48,940 | 48,997 | 48,090 | 2.06 | 1.74 | 1.85 |
| 7 | 70 | 57,386 | 57,620 | 57,476 | 56,105 | 2.23 | 2.63 | 2.39 |
| 8 | 100 | 70,407 | 70,532 | 70,277 | 68,457 | 2.77 | 2.94 | 2.59 |
| 9 | 400 | 145,183 | 141,835 | 141,823 | 138,512 | 4.59 | 2.40 | 2.40 |
| 10 | 410 | 146,680 | 143,642 | 143,445 | 140,359 | 4.31 | 2.29 | 2.15 |
| 11 | 500 | 160,031 | 156,457 | 156,394 | 152,649 | 4.61 | 2.43 | 2.39 |
| 12 | 1,000 | 232,057 | 222,547 | 222,487 | 217,060 | 5.90 | 2.47 | 2.44 |
| Average | 2.40 | 1.74 | 1.77 | |||||
Table 7. Comparison results of best wire length in the GEO dataset.
| Circuit | Pins | Best value | Reduction (%) | |||||
|---|---|---|---|---|---|---|---|---|
| DDE | ABC | GA | MoDDE | DDE | ABC | GA | ||
| 1 | 8 | 16,918 | 16,918 | 16,918 | 16,900 | 0.11 | 0.11 | 0.11 |
| 2 | 9 | 18,041 | 18,041 | 18,041 | 18,023 | 0.10 | 0.10 | 0.10 |
| 3 | 10 | 19,415 | 19,696 | 19,696 | 19,397 | 0.09 | 1.52 | 1.52 |
| 4 | 15 | 25,627 | 25,627 | 25,897 | 25,605 | 0.09 | 0.09 | 1.13 |
| 5 | 20 | 32,209 | 32,344 | 32,767 | 32,091 | 0.37 | 0.78 | 2.06 |
| 6 | 50 | 47,987 | 48,637 | 48,783 | 47,975 | 0.03 | 1.36 | 1.66 |
| 7 | 70 | 56,408 | 57,227 | 57,445 | 55,919 | 0.87 | 2.29 | 2.66 |
| 8 | 100 | 68,829 | 70,382 | 70,092 | 68,039 | 1.15 | 3.33 | 2.93 |
| 9 | 400 | 141,967 | 141,490 | 141,467 | 138,382 | 2.53 | 2.20 | 2.18 |
| 10 | 410 | 144,033 | 143,310 | 143,282 | 140,179 | 2.68 | 2.18 | 2.17 |
| 11 | 500 | 156,950 | 156,034 | 156,110 | 152,591 | 2.78 | 2.21 | 2.25 |
| 12 | 1000 | 226,654 | 222,262 | 222,285 | 216,824 | 4.34 | 2.45 | 2.46 |
| Average | 1.26 | 1.55 | 1.77 | |||||
Table 8. Comparison results of standard deviation in the GEO dataset.
| Circuit | Pins | Standard deviation | Reduction (%) | |||||
|---|---|---|---|---|---|---|---|---|
| DDE | ABC | GA | MoDDE | DDE | ABC | GA | ||
| 1 | 8 | 56 | 0 | 0 | 0 | 100.00 | – | – |
| 2 | 9 | 58 | 0 | 0 | 0 | 100.00 | – | – |
| 3 | 10 | 42 | 0 | 0 | 0 | 100.00 | – | – |
| 4 | 15 | 198 | 148 | 46 | 8 | 95.96 | 94.59 | 82.61 |
| 5 | 20 | 343 | 118 | 45 | 22 | 93.59 | 81.36 | 51.11 |
| 6 | 50 | 1,036 | 242 | 133 | 119 | 88.51 | 50.83 | 10.53 |
| 7 | 70 | 1,082 | 195 | 140 | 136 | 87.43 | 30.26 | 2.86 |
| 8 | 100 | 1,905 | 69 | 112 | 187 | 90.18 | −171.01 | −66.96 |
| 9 | 400 | 3,221 | 200 | 170 | 57 | 98.23 | 71.50 | 66.47 |
| 10 | 410 | 3,222 | 146 | 122 | 56 | 98.26 | 61.64 | 54.10 |
| 11 | 500 | 3,193 | 160 | 133 | 50 | 98.43 | 68.75 | 62.41 |
| 12 | 1,000 | 3,977 | 131 | 107 | 113 | 97.16 | 13.74 | −5.61 |
| Mean | 95.65 | 33.52 | 28.61 | |||||
Experiment 4: In the stage of global routing, there are tens of thousands of nets on the circuit board, and pins inside net need to be interconnected. This paper uses XSMT-MoDDE algorithm to optimize wire length of global routing. This experiment adopts the benchmark provided by IBM, and XSMT-MoDDE algorithm, SAT algorithm, and KNN algorithm are used to construct XSMT. The experimental results are shown in Table 9. Compared with SAT and KNN, XSMT-MoDDE optimizes wire length by 10.05% and 8.86% respectively. Experimental results show that XSMT-MoDDE can greatly shorten the wire length in the construction of multi-nets XSMT problem, and provide effective guidance for global routing.
Table 9. Comparison results of wire length in the IBM dataset.
| Circuit | Nets | Pins | Value | Reduction (%) | |||
|---|---|---|---|---|---|---|---|
| SAT | KNN | MoDDE | SAT | KNN | |||
| ibm01 | 11,507 | 44,266 | 61,005 | 61,071 | 56,080 | 8.07 | 8.17 |
| ibm02 | 18,429 | 78,171 | 172,518 | 167,359 | 154,868 | 10.23 | 7.46 |
| ibm03 | 21,621 | 75,710 | 150,138 | 147,982 | 133,999 | 10.75 | 9.45 |
| ibm04 | 26,263 | 89,591 | 164,998 | 164,828 | 149,727 | 9.26 | 9.16 |
| ibm06 | 33,354 | 124,299 | 289,705 | 280,998 | 256,674 | 11.40 | 8.66 |
| ibm07 | 44,394 | 164,369 | 368,015 | 368,015 | 335,556 | 8.82 | 8.82 |
| ibm08 | 47,944 | 198,180 | 431,879 | 413,201 | 371,948 | 13.88 | 9.98 |
| ibm09 | 53,039 | 187,872 | 418,382 | 417,543 | 382,282 | 8.63 | 8.44 |
| ibm10 | 64,227 | 269,000 | 588,079 | 589,102 | 532,644 | 9.43 | 9.58 |
| Mean | 10.05 | 8.86 | |||||
Finally, for a better understanding the results of XSMT-MoDDE algorithm, we use Matlab to simulate the final XSMT diagrams. We choose Circuit 11 and Circuit 12 in Table 7 as representatives, as shown in Figs. 7A and 7B.
Figure 7. Steiner tree generated by XSMT-MoDDE.
(A) Steiner tree with 500 pins; (B) Steiner tree with 1,000 pins.
Conclusions
This paper designs four optimization strategies. The first three optimization strategies are used to strengthen DDE algorithm, and the fourth optimization strategy is used to reduce the wire length of final particle to the greatest extent.
Elite selection and cloning strategy expands the search range and enhances the diversity of the population particles. The elite particles are cloned and mutated, and the most excellent particle is selected greedily. This strategy enables the algorithm to quickly converge to a better state. Novel multi-mutation strategy introduces the idea of set operation. Through the interaction between edge sets, the corresponding shape of XSMT is changed. Three mutation strategies have different exploitation and exploration capabilities, and the three strategies are used alternately to avoid the algorithm from converging to the local peak prematurely. Adaptive learning factor dynamically adjusts and retains the ratio between the current particle edge set and the optimal particle edge set. Effectively improve global exploitation and local exploitation capabilities, and seek a balance between random strategy and greedy strategy.
The XSMT-MoDDE algorithm proposed in this paper uses three indicators to measure algorithm results which are average wire length, optimal wire length, and standard deviation as evaluation. The proposed algorithm has achieved better optimization results compared with other algorithms. Moreover, XSMT-MoDDE has a stronger optimization ability in circuits with large-scale circuits. It is better than the results of the SAT and KNN algorithms in the case of multi-nets. Therefore, the XSMT-MoDDE algorithm has good application prospect in the stage of global routing. In the future, we will study the construction of obstacle avoidance XSMT by multi-strategy optimization DDE.
Funding Statement
This work was supported by the National Natural Science Foundation of China (Nos. 61877010 and 11501114), the Natural Science Foundation of Fujian Province, China (No. 2019J01243), and the Open Fund Project of Fujian Provincial Key Laboratory of Information Processing and Intelligent Control, Minjiang University (No. MJUKF-IPIC201910). There was no additional external funding received for this study. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.
Additional Information and Declarations
Competing Interests
Chi-Hua Chen is an Academic Editor for PeerJ Computer Science.
Author Contributions
Genggeng Liu conceived and designed the experiments, performed the experiments, analyzed the data, performed the computation work, prepared figures and/or tables, and approved the final draft.
Liliang Yang conceived and designed the experiments, performed the experiments, analyzed the data, performed the computation work, prepared figures and/or tables, and approved the final draft.
Saijuan Xu conceived and designed the experiments, performed the experiments, analyzed the data, performed the computation work, prepared figures and/or tables, and approved the final draft.
Zuoyong Li conceived and designed the experiments, performed the experiments, authored or reviewed drafts of the paper, and approved the final draft.
Yeh-Cheng Chen analyzed the data, authored or reviewed drafts of the paper, and approved the final draft.
Chi-Hua Chen performed the computation work, authored or reviewed drafts of the paper, and approved the final draft.
Data Availability
The following information was supplied regarding data availability:
The source codes and data files are available at GitHub:
References
- Brest et al. (2006).Brest J, Greiner S, Boskovic B, Mernik M, Zumer V. Self-adapting control parameters in differential evolution: a comparative study on numerical benchmark problems. IEEE Transactions on Evolutionary Computation. 2006;10(6):646–657. doi: 10.1109/TEVC.2006.872133. [DOI] [Google Scholar]
- Chen et al. (2020a).Chen X, Liu G, Xiong N, Su Y, Chen G. A survey of swarm intelligence techniques in vlsi routing problems. IEEE Access. 2020a;8:26266–26292. doi: 10.1109/ACCESS.2020.2971574. [DOI] [Google Scholar]
- Chen et al. (2020b).Chen X, Zhou R, Liu G, Wang X. SLPSO-based X-architecture steiner minimum tree construction. In: Wang G, Lin X, Hendler J, Song W, Xu Z, Liu G, editors. Web Information Systems and Applications. WISA 2020. Lecture Notes in Computer Science. Cham: Springer; 2020b. pp. 131–142. [DOI] [Google Scholar]
- Chiang & Chiang (2002).Chiang C, Chiang C-S. The 2002 45th Midwest Symposium on Circuits and Systems, 2002. MWSCAS-2002. Vol. 1. Piscataway: IEEE; 2002. Octilinear steiner tree construction; pp. 1–603. [DOI] [Google Scholar]
- Chu & Wong (2007).Chu C, Wong Y-C. Flute: fast lookup table based rectilinear steiner minimal tree algorithm for vlsi design. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2007;27(1):70–83. doi: 10.1109/TCAD.2007.907068. [DOI] [Google Scholar]
- Coulston (2003).Coulston CS. Constructing exact octagonal steiner minimal trees. Proceedings of the 13th ACM Great Lakes Symposium on VLSI; New York: ACM; 2003. pp. 1–6. [DOI] [Google Scholar]
- Deng & Gu (2012).Deng G, Gu X. A hybrid discrete differential evolution algorithm for the no-idle permutation flow shop scheduling problem with makespan criterion. Computers & Operations Research. 2012;39(9):2152–2160. doi: 10.1016/j.cor.2011.10.024. [DOI] [Google Scholar]
- Epitropakis et al. (2011).Epitropakis MG, Tasoulis DK, Pavlidis NG, Plagianakos VP, Vrahatis MN. Enhancing differential evolution utilizing proximity-based mutation operators. IEEE Transactions on Evolutionary Computation. 2011;15(1):99–119. doi: 10.1109/TEVC.2010.2083670. [DOI] [Google Scholar]
- Ge et al. (2017).Ge Y-F, Yu W-J, Lin Y, Gong Y-J, Zhan Z-H, Chen W-N, Zhang J. Distributed differential evolution based on adaptive mergence and split for large-scale optimization. IEEE Transactions on Cybernetics. 2017;48(7):2166–2180. doi: 10.1109/TCYB.2017.2728725. [DOI] [PubMed] [Google Scholar]
- Gong et al. (2010).Gong W, Cai Z, Ling CX, Li H. Enhanced differential evolution with adaptive strategies for numerical optimization. IEEE Transactions on Systems, Man, and Cybernetics, Part B. 2010;41(2):397–413. doi: 10.1109/TSMCB.2010.2056367. [DOI] [PubMed] [Google Scholar]
- Held et al. (2017).Held S, Müller D, Rotter D, Scheifele R, Traub V, Vygen J. Global routing with timing constraints. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2017;37(2):406–419. doi: 10.1109/TCAD.2017.2697964. [DOI] [Google Scholar]
- Liu et al. (2014a).Liu C-H, Lin C-X, Chen I-C, Lee D, Wang T-C. Efficient multilayer obstacle-avoiding rectilinear steiner tree construction based on geometric reduction. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2014a;33(12):1928–1941. doi: 10.1109/TCAD.2014.2363390. [DOI] [Google Scholar]
- Liu, Chen & Guo (2012).Liu G, Chen G, Guo W. Dpso based octagonal steiner tree algorithm for vlsi routing. 2012 IEEE Fifth International Conference on Advanced Computational Intelligence (ICACI); Piscataway: IEEE; 2012. pp. 383–387. [DOI] [Google Scholar]
- Liu et al. (2011).Liu G, Chen G, Guo W, Chen Z. Dpso-based rectilinear steiner minimal tree construction considering bend reduction. 2011 Seventh International Conference on Natural Computation; IEEE; 2011. pp. 1161–1165. [DOI] [Google Scholar]
- Liu et al. (2018).Liu G, Chen Z, Guo W, Chen G. Self-adapting pso algorithm with efficient hybrid transformation strategy for x-architecture steiner minimal tree construction algorithm (in chinese) Pattern Recognition and Artificial Intelligence. 2018;31(5):398–408. doi: 10.16451/j.cnki.issn1003-6059.201805002. [DOI] [Google Scholar]
- Liu et al. (2020a).Liu G, Chen Z, Zhuang Z, Guo W, Chen G. A unified algorithm based on hts and self-adapting pso for the construction of octagonal and rectilinear smt. Soft Computing. 2020a;24(6):3943–3961. doi: 10.1007/s00500-019-04165-2. [DOI] [Google Scholar]
- Liu et al. (2015a).Liu G, Guo W, Niu Y, Chen G, Huang X. A pso-based timing-driven octilinear steiner tree algorithm for vlsi routing considering bend reduction. Soft Computing. 2015a;19(5):1153–1169. doi: 10.1007/s00500-014-1329-2. [DOI] [Google Scholar]
- Liu et al. (2015b).Liu G, Guo W, Li R, Niu Y, Chen G. Xgrouter: high-quality global router in x-architecture with particle swarm optimization. Frontiers of Computer Science. 2015b;9(4):576–594. doi: 10.1007/s11704-015-4017-1. [DOI] [Google Scholar]
- Liu et al. (2015c).Liu G, Huang X, Guo W, Niu Y, Chen G. Multilayer obstacle-avoiding x-architecture steiner minimal tree construction based on particle swarm optimization. IEEE Transactions on Cybernetics. 2015c;45(5):1003–1016. doi: 10.1109/TCYB.2014.2342713. [DOI] [PubMed] [Google Scholar]
- Liu et al. (2020b).Liu G, Zhu W, Xu S, Zhuang Z, Chen Y-C, Chen G. Efficient vlsi routing algorithm employing novel discrete pso and multi-stage transformation. Journal of Ambient Intelligence and Humanized Computing. 2020b:1–16. doi: 10.1007/s12652-020-02659-8. [DOI] [Google Scholar]
- Liu et al. (2020c).Liu G, Zhuang Z, Guo W, Chen G. A high performance x-architecture multilayer global router for VLSI (in Chinese) Acta Automatica Sinica. 2020c;46(1):79–93. doi: 10.16383/j.aas.c170714. [DOI] [Google Scholar]
- Liu et al. (2019).Liu G, Zhuang Z, Guo W, Wang T-C. Rdta: an efficient routability-driven track assignment algorithm. Proceedings of the 2019 on Great Lakes Symposium on VLSI, GLSVLSI ’19; New York: Association for Computing Machinery; 2019. pp. 315–318. [DOI] [Google Scholar]
- Pan, Tasgetiren & Liang (2008).Pan Q-K, Tasgetiren MF, Liang Y-C. A discrete differential evolution algorithm for the permutation flowshop scheduling problem. Computers & Industrial Engineering. 2008;55(4):795–816. doi: 10.1016/j.cie.2008.03.003. [DOI] [Google Scholar]
- Qin, Huang & Suganthan (2008).Qin AK, Huang VL, Suganthan PN. Differential evolution algorithm with strategy adaptation for global numerical optimization. IEEE Transactions on Evolutionary Computation. 2008;13(2):398–417. doi: 10.1109/TEVC.2008.927706. [DOI] [Google Scholar]
- Rahnamayan, Tizhoosh & Salama (2008).Rahnamayan S, Tizhoosh HR, Salama MM. Opposition-based differential evolution. IEEE Transactions on Evolutionary Computation. 2008;12(1):64–79. doi: 10.1109/TEVC.2007.894200. [DOI] [Google Scholar]
- Ren et al. (2019).Ren M, Zhang Q, Wang H, Zhang J. An introductory survey of probability density function control. Systems Science and Control Engineering. 2019;7(1):158–170. doi: 10.1080/21642583.2019.1588804. [DOI] [Google Scholar]
- Siddiqi & Sait (2017).Siddiqi UF, Sait SM. A game theory based post-processing method to enhance vlsi global routers. IEEE Access. 2017;5:1328–1339. doi: 10.1109/ACCESS.2017.2665601. [DOI] [Google Scholar]
- Storn & Price (1997).Storn R, Price K. Differential evolution-a simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization. 1997;11(4):341–359. doi: 10.1023/A:1008202821328. [DOI] [Google Scholar]
- Tang et al. (2020a).Tang H, Liu G, Chen X, Xiong N. A survey on steiner tree construction and global routing for vlsi design. IEEE Access. 2020a;8:68593–68622. doi: 10.1109/ACCESS.2020.2986138. [DOI] [Google Scholar]
- Tang et al. (2020b).Tang X, Zhang Q, Dai X, Zou Y. Neural membrane mutual coupling characterisation using entropy-based iterative learning identification. IEEE Access. 2020b;8:205231–205243. doi: 10.1109/ACCESS.2020.3037816. [DOI] [Google Scholar]
- Tang, Zhang & Hu (2020).Tang X, Zhang Q, Hu L. An ekf-based performance enhancement scheme for stochastic nonlinear systems by dynamic set-point adjustment. IEEE Access. 2020;8:62261–62272. doi: 10.1109/ACCESS.2020.2984744. [DOI] [Google Scholar]
- Tasgetiren, Suganthan & Pan (2010).Tasgetiren MF, Suganthan PN, Pan Q-K. An ensemble of discrete differential evolution algorithms for solving the generalized traveling salesman problem. Applied Mathematics and Computation. 2010;215(9):3356–3368. doi: 10.1016/j.amc.2009.10.027. [DOI] [Google Scholar]
- Teig (2002).Teig SL. The x architecture: not your father’s diagonal wiring. Proceedings of the 2002 International Workshop on System-Level Interconnect Prediction; 2002. pp. 33–37. [DOI] [Google Scholar]
- Wang, Wu & Rahnamayan (2011).Wang H, Wu Z, Rahnamayan S. Enhanced opposition-based differential evolution for solving high-dimensional continuous optimization problems. Soft Computing. 2011;15(11):2127–2140. doi: 10.1007/s00500-010-0642-7. [DOI] [Google Scholar]
- Wang et al. (2014).Wang J, Liao J, Zhou Y, Cai Y. Differential evolution enhanced with multiobjective sorting-based mutation operators. IEEE Transactions on Cybernetics. 2014;44(12):2792–2805. doi: 10.1109/TCYB.2014.2316552. [DOI] [PubMed] [Google Scholar]
- Wang, Zeng & Chen (2015).Wang L, Zeng Y, Chen T. Back propagation neural network with adaptive differential evolution algorithm for time series forecasting. Expert Systems with Applications. 2015;42(2):855–863. doi: 10.1016/j.eswa.2014.08.018. [DOI] [Google Scholar]
- Wang, Cai & Zhang (2011).Wang Y, Cai Z, Zhang Q. Differential evolution with composite trial vector generation strategies and control parameters. IEEE Transactions on Evolutionary Computation. 2011;15(1):55–66. doi: 10.1109/TEVC.2010.2087271. [DOI] [Google Scholar]
- Yin et al. (2020).Yin X, Zhang Q, Wang H, Ding Z. Rbfnn-based minimum entropy filtering for a class of stochastic nonlinear systems. IEEE Transactions on Automatic Control. 2020;65(1):376–381. doi: 10.1109/TAC.2019.2914257. [DOI] [Google Scholar]
- Zhang et al. (2020a).Zhang G, Ma L, Wang X, Zhou X. Secondary structure and contact guided differential evolution for protein structure prediction. IEEE/ACM Transactions on Computational Biology and Bioinformatics. 2020a;17(3):1068–1081. doi: 10.1109/TCBB.2018.2873691. [DOI] [PubMed] [Google Scholar]
- Zhang, Ye & Guo (2016).Zhang H, Ye D, Guo W. A heuristic for constructing a rectilinear steiner tree by reusing routing resources over obstacles. Integration. 2016;55(4):162–175. doi: 10.1016/j.vlsi.2016.06.001. [DOI] [Google Scholar]
- Zhang et al. (2017).Zhang Q, Zhou J, Wang H, Chai T. Output feedback stabilization for a class of multi-variable bilinear stochastic systems with stochastic coupling attenuation. IEEE Transactions on Automatic Control. 2017;62(6):2936–2942. doi: 10.1109/TAC.2016.2604683. [DOI] [Google Scholar]
- Zhang et al. (2020b).Zhang X, Zhuang Z, Liu G, Huang X, Liu W-H, Guo W, Wang T-C. Minidelay: Multi-strategy timing-aware layer assignment for advanced technology nodes. Proceedings of the 23rd Conference on Design, Automation and Test in Europe, DATE ’20; San Jose, CA, USA. San Jose: EDA Consortium; 2020b. pp. 586–591. [DOI] [Google Scholar]
- Zhao et al. (2020).Zhao H, Zhan ZH, Lin Y, Chen X, Luo XN, Zhang J, Kwong S, Zhang J. Local binary pattern-based adaptive differential evolution for multimodal optimization problems. IEEE Transactions on Cybernetics. 2020;50(7):3343–3357. doi: 10.1109/TCYB.2019.2927780. [DOI] [PubMed] [Google Scholar]
- Zhao et al. (2021).Zhao J, Hu T, Zheng R, Ba P, Mei C, Zhang Q. Defect recognition in concrete ultrasonic detection based on wavelet packet transform and stochastic configuration networks. IEEE Access. 2021;9:9284–9295. doi: 10.1109/ACCESS.2021.3049448. [DOI] [Google Scholar]
- Zhou et al. (2018).Zhou Y, Zhang Q, Wang H, Zhou P, Chai T. Ekf-based enhanced performance controller design for nonlinear stochastic systems. IEEE Transactions on Automatic Control. 2018;63(4):1155–1162. doi: 10.1109/TAC.2017.2742661. [DOI] [Google Scholar]
- Zhu et al. (2005).Zhu Q, Zhou H, Jing T, Hong X-L, Yang Y. Spanning graph-based nonrectilinear steiner tree algorithms. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2005;24(7):1066–1075. doi: 10.1109/TCAD.2005.850862. [DOI] [Google Scholar]
- Zhu et al. (2020).Zhu W, Zhang X, Liu G, Guo W, Wang T-C. Minideviation: an efficient multi-stage bus-aware global router. 2020 International Symposium on VLSI Design, Automation and Test (VLSI-DAT); 2020. pp. 1–4. [DOI] [Google Scholar]
- Zhuang et al. (2020).Zhuang Z, Liu G, Huang X, Jia X, Liu W-H, Guo W. Msfroute: Multi-stage fpga routing for timing division multiplexing technique. GLSVLSI ’20: Proceedings of the 2020 on Great Lakes Symposium on VLSI; 2020. pp. 107–112. [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Data Availability Statement
The following information was supplied regarding data availability:
The source codes and data files are available at GitHub:







