The non-dominated sorting genetic algorithm has been established itself as a benchmark algorithm for multi-objective optimization, which was first proposed by Deb et al. [23]. The main contribution is to obtain the Pareto solutions by sorting the dominated relationship among individuals. However, the basic algorithm suffers from a high order of complexity and highly depends on shared parameters. Hereto, in the iterative processing of NSGA-II [24], the shared parameters are replaced with the crowding degree, while the elite strategy is introduced to retain the excellent individuals. It, adopting the fast non-dominant sorting method to reduce the computational complexity, has been demonstrated the ability to find a good spread of solutions and converge close to the true Pareto-optimal front. Subsequently, to solve the insufficiency of NSGA-II in dealing with the four or more objectives optimization problems, the reference point method of the NSGA-III [25] was utilized to substitute the crowding degree method in the replace operation, which can perform better in balancing the diversity and convergence of the algorithm.
There are only two objective functions in the trajectory optimization problem of this article, so we consider NSGA-II as the benchmark algorithm. However, the selection, crossover and mutation operators of traditional GA are adopted in NSGA-II, which leads to the loss of population diversity and the poor search ability of the algorithm [26]. Moreover, the manipulator is a nonlinear multivariable and strong-coupling system with extremely complex kinematic and dynamic models. To avoid problems such as premature convergence and low convergence speed in the processing of trajectory optimization of the manipulator using the conventional NSGA-II, INSGA-II, integrating three specially designed operators, is proposed to quickly and accurately obtain the optimal trajectory.
3.1 Ranking Group Selection
The roulette wheel selection and tournament selection are generally used as GA selection operators. Although their operation mechanism is simple, the process is complicated and requires repeated comparison of the fitness [24, 26]. Motivated by Ref. [26], a ranking group selection is used to replace the conventional selection.
The procedure of the RGS is shown in Figure 1. First, the parent population P0 of size N is randomly initialized based on the constraints of the designed variables, where N is set to a multiple of four. Then the initialized population is sorted into several ranks based on the non-domination sorting. The solutions are assigned fitness equal to the corresponding non-domination levels. Individuals in the first front are assigned fitness value of 1, and individuals in second are given a fitness value 2 and so on. Afterward, the sorted population is uniformly divided into 4 elements in sequence, namely X1, X2, X3, and X4. Using the basic concept of combinatorics, there are six cases in which two elements are selected from four elements for pairing, including (X1, X2), (X1, X3), (X1, X4), (X2, X3), (X2, X4), and (X3, X4). The paired groups of individuals formed by RGS are IA = (X1, X1, X1, X2, X2, X3) and IB = (X2, X3, X4, X3, X4, X4). In the iterative process, IA is responsible for guiding the population towards the optimal region while IB is responsible for increasing the population diversity.
In Figure 1, Pt and Qt represent parent population and offspring population, and Pt+1 represents the parent population in next generation. F1, F2 and F3 denote the different ranks of the population.
The individuals in IA and IB that are paired in turn to participate in the crossover can improve the gene diversity of the population and avoid inbreeding, which can promote the generation of high-quality individuals in the procession of gene recombination. Additionally, the RGS is a way to directly calculate the values of the objective functions instead of contrasting looping manner, so the time complexity of the method is small and such the method is easy to implement.
3.2 Direction-based Crossover
The simulated binary crossover is commonly adopted in GA, which uses a random way to carry out the gene exchange between individuals. Although the operation mechanism is simple, the method causes degree of blindness. Based on the principle that the better the objective function is, the closer the individual is to the optimal region, and a DBX operator is designed.
Taking two objective functions and two-dimensional variables as an example is shown in Figure 2. The distribution of the Pareto solution set is obtained according to Section 3.1, and the corresponding individuals are assumed to be X1 and X2. The DBX takes X1 as the center and uses the direction vector d11 or d12 as the crossover direction to generate new individuals along random steps. The DBX operator can be mathematically expressed as
$$\left\{ \begin{aligned} {\varvec{X}}_{i}^{*} & = {\varvec{I}}_{i}^{{\text{A}}} + r_{ij} \times {\vec{\varvec{d}}}_{ij} , \\ {\vec{\varvec{d}}}_{ij} & = {\varvec{I}}_{ij}^{{\text{A}}} - {\varvec{I}}_{ij}^{{\text{B}}} \, i = 1,2, \ldots ,3n/2,j = 1,2, \ldots ,m, \\ \end{aligned} \right.$$
(8)
where i denotes the ith individual, j denotes the variable dimension, the parameter rij is a unifomly distributed random number in the interval [− 1, 1]. Different from the traditional fixed step crossover, the step size in DBX is randomly generated by the parameter rij, which expands the search range of the algorithm.
Meanwhile, different rectangular areas are produced by different paired individuals, which indicates that the difference between paired individuals can increase the population diversity to improve the search ability of the algorithm and increase the generation probability of high-quality individuals. It is noted that if the population generated by Eq. (8) crosses the boundary, it will be limited to the boundary to ensure the rationality of the population genes.
$$p_{it} = \left\{ {\begin{array}{lll} {p_{i\min } } & {{\text{if}}\;p_{it} < p_{i\min } ,} \\ {p_{i\max } } & {{\text{if}}\;p_{it} > p_{i\max } ,} \\ {p_{it} } & {{\text{others}},} \\ \end{array} } \right.$$
(9)
where pit denotes the value of the ith individual in tth iteration. pimin and pimax represent the minimum and maximum value of designed variables.
3.3 Adaptive Precision-Controllable Mutation
The purpose of introducing mutation in GA is twofold: One is to make genetic algorithm have local random search ability. The second is to maintain population diversity of the algorithm to avoid immature convergence. In Ref. [27], a simple and efficient precision-controllable mutation (PCM) operator is proposed for exploration and exploitation. On the basis of the Ref. [27], a self-adaptive mechanism is incorporated into the PCM to improve the convergence speed of the algorithm in this article.
The exploration and exploitation of the PCM can be expressed as Eqs. (10)–(15) in Ref. [27].
$$X^{\prime}_{i} = X_{i} + \Delta \alpha ,$$
(10)
$$X^{\prime}_{i} = X_{i} - \Delta \alpha ,$$
(11)
where \(\Delta \alpha = \frac{1}{{10^{{{\text{Random }}(p) \, + 1}} }} \times ({\text{Random}}(9) + 1)\)
$$X^{\prime}_{i} = X_{i} + \Delta \beta ,$$
(12)
$$X^{\prime}_{i} = X_{i} - \Delta \beta ,$$
(13)
where \(\Delta \beta = X_{i} \times \Delta \alpha - X_{i}\)
$$X^{\prime}_{i} = X_{i} + \Delta \gamma ,$$
(14)
$$X^{\prime}_{i} = X_{i} - \Delta \gamma ,$$
(15)
where \(\Delta \gamma = X_{i} \div \Delta \alpha - X_{i} .\)
The variable p is the parameter to control the precision in decision space. Function Random (p) can generate a pseudorandom number in the range of 0 to p − 1. If the required search precision is 0.001, the parameter p can be set to 3. The value of random number Random (3) should be in the set of {0, 1, 2}, then the corresponding value ranges of \(\Delta \alpha\) from 0.001 to 0.9.
Eqs. (10) and (11) are intended for exploitation, while Eqs. (12)–(15) are designed for exploration. The operator can effectively explore and exploit the decision space, and its computation process is simple, and precision is controllable. However, the mutation operator in Ref. [27] has not sufficiently utilized the potential information of the contemporary population, which can be used for the adaptive selection of exploitation or exploration.
A common adaptive adjustment method is to use the information of the objective function value to adjust the mutation strategy. For the trajectory planning problem of the manipulator, the real Pareto front cannot be obtained in reality. Therefore, the distribution value of population instead of objective function can be used as a parameter to select exploitation and exploration. In this study, the ratio of contemporary population space to decision space is used to determine the mutation strategy of the individual, which can promote rapid and stable evolution of the population.
In the early iterations, the differences between the individuals are larger, so the exploration is selected to ensure the diversity of the population and avoid the algorithm falling into local optimality. In the later iterations, the population gradually tends toward the region of the optimum, and the differences between the individuals are smaller, hence the exploration is selected to keep the excellent individuals to improve the search effective. The APCM operator can be expressed as
$$\xi_{i} = \frac{{x_{i\max }^{{\text{C}}} - x_{i\min }^{{\text{C}}} }}{{x_{i\max } - x_{i\min } }},$$
(16)
$$\left\{ \begin{aligned} &{\text{if }}\;\xi_{i} \ge a,a = {\text{rand(1)}} \hfill \\ & {\text{exploitation}}\left\{ \begin{aligned} X_{{{\text{Temp}}}} &= X_{{\text{i}}} + \Delta \alpha \space, r = 1, r = {\text{rand}}(2), \hfill \\ X_{{{\text{Temp}}}} & = X_{{\text{i}}} - \Delta \alpha \space, r = 2, \hfill \\ \end{aligned} \right. \, \hfill \\ & {\text{if}}\;1 - \xi_{i} > a \hfill \\ &{\text{exploration}}\left\{ \begin{aligned} X_{{{\text{Temp}}}} & = X_{{\text{i}}} + \Delta \beta \space, r = 1, r = {\text{rand}}(4), \hfill \\ X_{{{\text{Temp}}}} & = X_{{\text{i}}} - \Delta \beta \space, r = 2, \hfill \\ X_{{{\text{Temp}}}} &= X_{{\text{i}}} + \Delta \gamma \space, r = 3, \hfill \\ X_{{{\text{Temp}}}} & = X_{{\text{i}}} - \Delta \gamma \space, r = 4, \hfill \\ \end{aligned} \right. \, \hfill \\ \end{aligned} \right.$$
(17)
where \(x_{i\max }^{{\text{C}}}\) and \(x_{i\min }^{{\text{C}}}\) are maximum and minimum value of the individuals in contemporary population, \(x_{i\max } - x_{i\min }\) denotes the magnitude of decision space.
Compared with the mutation operator in Ref. [27], adding the adaptive adjustment of the mutation operator can promote the balance of local search and global exploration capabilities, thereby making the Pareto boundary distribution better.
3.4 Overall Algorithm
The flowchart used the INSGA-II for the trajectory planning of the manipulator is shown in Figure 3. Initializing randomly the parameters within the threshold value gains the initial trajectory curves (Eq. (7)), and the storage of these trajectory is performed, then calculating the objective functions for each chromosome. The first generation population performs non-dominated sorting to find a set of Pareto front (PF), and the population is sorted by the crowding distance. Afterwards, a new parent population is generated by RGS, DBX, and APCM operator, and the parents and offspring are combined to form a population of N individuals according to the elite strategy. It is continuously judged whether it reaches the number of iterations, and the objective function of each trajectory is compared. Finally, the Pareto solution of the objective functions is obtained after the iteration and the corresponding designed parameters are output.
Compared with conventional NSGA-II, the combination principle to construct a selection operator is used in the proposed INSGA-II, which can avoid repeated comparison of the fitness between individuals to improve the convergence speed of the algorithm. DBX can expand the search space and increase the generation probability of high-quality individuals, thereby improving the search ability and convergence speed of the algorithm. The local random search ability of the APCM can accelerate the convergence to the optimal solution, and the exploration strategy of the operator can expand the search space to keep the population diversity.