Next Article in Journal
Remote Monitoring of Ground Motion Hazards in High Mountain Terrain Using InSAR: A Case Study of the Lake Sarez Area, Tajikistan
Next Article in Special Issue
A Path Planning Strategy for Multi-Robot Moving with Path-Priority Order Based on a Generalized Voronoi Diagram
Previous Article in Journal
Treatment Option Criteria for Open Bite with Receiver Operating Characteristic Analysis—A Retrospective Study
Previous Article in Special Issue
Workspace Analysis of a Mobile Manipulator with Obstacle Avoidance in 3D Printing Tasks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Empirical Study of Constraint-Handling Techniques in the Optimal Synthesis of Mechanisms for Rehabilitation

by
José Saúl Muñoz-Reina
1,
Miguel Gabriel Villarreal-Cervantes
1,* and
Leonel Germán Corona-Ramírez
2
1
Centro de Innovación y Desarrollo Tecnológico en Cómputo, Instituto Politécnico Nacional, Ciudad de México 07738, Mexico
2
Instituto Politécnico Nacional, Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas, Ciudad de México 07340, Mexico
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(18), 8739; https://doi.org/10.3390/app11188739
Submission received: 2 July 2021 / Revised: 12 September 2021 / Accepted: 13 September 2021 / Published: 19 September 2021
(This article belongs to the Special Issue New Trends in Robotics, Automation and Mechatronics (RAM))

Abstract

:
Currently, rehabilitation systems with closed kinematic chain mechanisms are low-cost alternatives for treatment and health care. In designing these systems, the dimensional synthesis is commonly stated as a constrained optimization problem to achieve repetitive rehabilitation movements, and metaheuristic algorithms for constrained problems are promising methods for searching solutions in the complex search space. The Constraint Handling Techniques (CHTs) in metaheuristic algorithms have different capacities to explore and exploit the search space. However, the study of the relationship in the CHT performance of the mechanism dimensional synthesis for rehabilitation systems has not been addressed, resulting in an important gap in the literature of such problems. In this paper, we present a comparative empirical study to investigate the influence of four CHTs (penalty function, feasibility rules, stochastic-ranking, and ϵ -constraint) on the performance of ten representative algorithms that have been reported in the literature for solving mechanism synthesis for rehabilitation (four-bar linkage, eight-bar linkage, and cam-linkage mechanisms). The study involves analysis of the overall performance, six performance metrics, and evaluation of the obtained mechanism. This identified that feasibility rules usually led to efficient optimization for most analyzed algorithms and presented more consistency of the obtained results in these kinds of problems.

1. Introduction

The increasing number of people with motor deficiencies has been a crucial factor in developing rehabilitation devices. Motor injuries frequently occur in the upper and lower extremities due to degenerative diseases, neuronal disorders, sports injuries, traffic, and work accidents. Presently, rehabilitation devices for upper and lower limbs have been developed [1,2]. Stationary rehabilitation devices are used more frequently in the rehabilitation of the patient. However, these devices are generally expensive because the control of several degrees of freedom is required to generate a rehabilitation routine. Rehabilitation systems based on closed-chain mechanisms are a low-cost alternative for health care [3]. These systems can provide a pre-established rehabilitation routine that controls a degree of freedom. Therefore, these devices can be considered for rehabilitation at home.
In the design of closed-chain mechanisms, a synthesis process of the mechanism is carried out [4]. In this process, the length of links is determined to achieve the desired movements for rehabilitation. The graphic, analytic, and optimal methods [5] are the used techniques for the synthesis of closed-chain mechanisms. Graphic synthesis of mechanisms is performed by a visual representation of the mechanism, where Euclidean geometry concepts are used to obtain the design solutions. This method is characterized by providing quick solutions with a low precision rate.
The analytical synthesis is based on getting algebraic expressions that describe the movement of the mechanism. This method offers solutions with a high precision rate. However, the number of precision points is limited by the number of independent variables of the closed-chain mechanism because it results in an overdetermined system of equations [6] requiring a numeric solution to solve them. The optimal synthesis of mechanisms is performed through the optimization problem solution. This synthesis method supports multiple-precision points, but the precision rate can decrease caused by the numerical optimization technique used. Currently, the last method is frequently used for the synthesis of mechanisms.
In the optimal synthesis of closed-chain mechanisms for rehabilitation, indirect and direct search methods (numerical optimization techniques) [7] have been used to find suitable solutions. In the indirect search methods, derivatives of the objective function and constraints are required. For instance, Ávila-Hernández and Cuenca-Jiménez [8] designed a thumb prosthesis using a nine-bar spatial mechanism. For the solution of the synthesis problem, the function “findminimum” of Mathematica® was used. Zhiming Ji and Yazan Manna [9] designed a lower limb rehabilitation system using a four-bar linkage. In the syntheses process, the method “lsqnonlin” of MATLAB® was implemented.
Wang et al. [10] designed a rehabilitation system using a four-bar linkage mechanism in the synthesis process. In that work, the search method “fmincon” of MATLAB® was implemented. Tsuge et al. [11] designed a rehabilitation system using a ten-bar linkage mechanism. The synthesis problem was solved by Bertini™ software.
Tsuge et al. [12] designed a rehabilitation system using a Stephenson III linkage mechanism. The synthesis problem was solved using algorithms, such as Fletcher–Reeves, Newton, conjugate gradient, interior point, and Quasi-Newton.
On the other hand, direct search methods do not require such derivatives, and the objective function is considered in its original form to find a solution. The use of metaheuristic algorithms as the direct search method is gaining more attention in the solution of mechanism synthesis problems [13] because they do not depend on the problem features (nonlinear, discontinuous, etc.), they can endow different operators to find the most promising solution, and they are easy to implement. A summary of various studies found in the literature that use metaheuristic algorithms in the synthesis problem of mechanisms is presented in Table 1.
The particular interest in this study is in the works related to the mechanism design for rehabilitation presented at the end of such table. For instance, Bataller et al. [14] proposed a mechanism for finger rehabilitation, where the direct search algorithm Málaga University Mechanism Synthesis Algorithm (MUMSA) was used, and a penalty function was implemented as a constraint-handling technique in the synthesis process.
Shao et al. [15] designed a rehabilitation system using a cam-linkage mechanism for the lower limb rehabilitation to perform the gait. The synthesis problem was solved by a genetic algorithm, where a penalty function was considered as the constraint-handling technique.
Calva-Yáñez et al. [16] designed a gait rehabilitation system for children using a four-bar linkage mechanism. The indirect search algorithm Sequential Quadratic Programming (SQP) and the direct one given by Differential Evolution (DE) algorithm were used in the synthesis process. In this work, feasibility rules were considered as a constraint-handling technique.
Singh et al. [17] designed knee–ankle–foot, hip–knee–ankle-foot, and knee orthoses using a four-bar linkage mechanism. Metaheuristic algorithms, such as Particle Swarm Optimization (PSO) and the Teaching-Learning-Based Optimization (TLBO) algorithm, were considered.
In this work, mechanical constraints in the synthesis process are not considered. Leal-Naranjo et al. [18] presented the design of a wrist prosthesis using a spherical parallel manipulator. In the synthesis process, Nondominated Sorting Genetic Algorithm (NSGA-II), Multiobjective Particle Swarm Optimization (MOPSO), and Multiobjective Evolutionary Algorithm based on Decomposition (MOEA/D) algorithms were considered, and the feasibility rules were implemented as constraint-handling technique.
Muñoz-Reina et al. [3] designed a lower limb rehabilitation machine. The differential evolution algorithm was considered in the synthesis process, and the feasibility rules were used as the constraint-handling technique.
We observed in the literature that metaheuristic algorithms in their original versions were proposed to solve unconstrained optimization problems. Thus, it is important to find the most promising techniques for including real-word constraints [37,38,39]. Currently, for the solution of constrained optimization problems, CHTs have been proposed. According to [40], these can be classified into two generations, where the penalty functions, decoders, special operators, and separation of the objective function and constraints are included in the first generation. On the other hand, the feasibility rules, stochastic ranking, and ϵ -constraint involve the second generation. The first generation is characterized by a high calibration complexity and a high probability of convergence to local minimums. The second generation is characterized by overcoming the mentioned limitations in the first generation.
From the literature review regarding the design of closed-chain mechanisms for rehabilitation and the general framework of kinematic synthesis of mechanisms, both included in Table 1, the metaheuristic algorithms incorporate only one constraint-handling technique to solve the constraint optimization problem. Figure 1 shows the use of CHTs reported in the literature for the synthesis of mechanisms using metaheuristic algorithms. As observed in that figure, 64% of the reviewed literature uses the penalty functions, followed by the feasibility rules with a 24% of use.
According to [37,39,41], the constraint-handling technique is an essential factor to solve constrained optimization problems because these techniques influence the exploration and exploitation capabilities of algorithms for the search of the most promising solution. However, other CHTs in the second generation, such as stochastic ranking and ϵ -constraint have not been evaluated in solving these types of problems.
Depending on the problem nature in the kinematic synthesis for rehabilitation (multimodality, types of functions, design variable space, and the feasible space ratio), the most frequently used algorithms and the constraint-handling techniques can be suitable during the search process of the metaheuristic algorithms. Nevertheless, the high interactions in the problem nature and the metaheuristic algorithms make it difficult to suggest a constraint-handling technique that is more likely to perform well against different algorithms.
Motivated by these facts, and to the best of the author’s knowledge, there is a gap in the comparative study of the performance of different constraint-handling techniques in the dimensional synthesis of mechanisms. This research can aid researchers or practitioners interested in applying metaheuristic algorithms in the kinematic synthesis of this kind of problem with insights about the quality and consistency of the obtained results in the studied CHTs and can identify the most promising CHT alternatives for the synthesis problems.
Thus, researchers and practitioners can have some basic knowledge in the analyzed CHTs about the likelihood of increasing the optimization efficiency and the consistency of the obtained results when those CHTs are included in different metaheuristic algorithms. Hence, this work can suggest the use of a particular CHT in the optimizers to achieve optimum kinematic synthesis.
Therefore, in this work, the performance of the penalty function, feasibility rules, stochastic-ranking, and ϵ -constraint is studied to solve three real-world engineering problems reported in the literature related to the synthesis of mechanisms for rehabilitation by using metaheuristic algorithms. In this study, ten metaheuristic algorithms commonly used in the synthesis of mechanisms for rehabilitation are implemented in such CHTs. These are eight variants of a differential evolution algorithm, a Genetic Algorithm (GA), and a Particle Swarm Optimization (PSO) algorithm.
The parameters of the algorithms are tuned using the irace package to make a fair comparison and provide useful insights about the studied CHTs. On the other hand, the four-bar linkage mechanism, the cam-linkage mechanism, and the eight-bar linkage mechanism are considered in the mechanism synthesis for rehabilitation.
This paper is organized as follows: In Section 2, the general problem of mechanism synthesis for rehabilitation is presented. Section 3 describes the metaheuristic algorithms and the constraint-handling techniques used in this study. Section 4 states three state-of-art synthesis problems for rehabilitation to be solved. In Section 5, the study of the constraint-handling techniques is presented and discussed. In addition, the best and worst solution are analyzed and compared. Finally, Section 6 presents our conclusions.

2. Optimization Problem Statement

In this work, optimization problems for the synthesis of rehabilitation mechanisms are studied. The synthesis problem usually requires satisfying more than one design objective and constraint. Therefore, the design problems can be considered as a Constrained Multiobjective Optimization Problem (CMOPs). According to literature related to the synthesis of mechanisms for rehabilitation presented in Table 1, it is observed that CMOPs are typically transformed into constrained mono-objective optimization problems by the weighted sum approach [42,43]. Hence, mono-objective optimization problems for the mechanism synthesis are only considered in this study. These are formally stated as follows:
Min x J ¯ ( x ) subject to :  
g j ( x ) 0 j = { 1 , 2 , , m }
h k ( x ) = 0 k = { 1 , 2 , , r }
x m i n x x m a x
where J ¯ ( x ) = i = 1 n w i J i ( x ) is the weighted objective function; J i is the i t h design objective of the system; x is the design variable vector; w i is the i t h weight attributed to each objective; n is the number of design objectives; g j ( x ) and h k ( x ) are the inequality and equality constraints, respectively; and x m i n , x m a x are the design variable bounds.

3. Constraint-Handling Techniques in Metaheuristic Algorithms

Metaheuristic algorithms are optimization strategies used to solve a wide range of hard optimization problems. The metaheuristics are inspired by biological systems, social behaviors, among others.
In recent years, metaheuristic algorithms have been used to provide satisfactory solutions to optimization problems related to the mechanism synthesis, see Table 1. The behavior of metaheuristic algorithms to search for better solutions can be improved through suitable constraint handling. In this work, the behavior of four Constraint-Handling Techniques in different metaheuristic algorithms is studied. The CHTs [44] involve the Penalty Functions (PF), Feasibility Rules (FR), Stochastic Ranking (SR), and ϵ -Constraint ( ϵ C) method.
The considered metaheuristic algorithms are eight Differential Evolution variants [45], the Genetic Algorithm [46], and the Particle Swarm Optimization [47]. Those techniques and algorithms are frequently used in mechanism synthesis for rehabilitation and have provided satisfactory solutions, as is shown in Table 1. However, according to that table, differential evolution is one of the most promising reported optimizers. Therefore, the main DE variants [48] are analyzed in this study.

3.1. Metaheuristic Algorithms

3.1.1. Differential Evolution Algorithm

The DE algorithm was proposed by Storn and Price [45], and it is a direct and stochastic search method. DE was inspired by the theory of natural selection and is shown in the Algorithm 1.
Algorithm 1 Differential evolution pseudocode.
1: Generate an initial population X 0 with N P individuals.
2: Evaluate X 0 .
3: Initialize the best individual x b e s t .
4:  G 0
5: while G G m a x do
6: for all x i X G do
7:   Generate a child individual u i based on (5)–(12).
8:   Evaluate u i and U G u i .
9: end for
10:  Select the new population X G + 1 between X G and U G according to CHT.
[ X G + 1 , x b e s t s w a r m ] f n c C H T ( X G , U G , x b e s t ) (This function is associated to the CHT.)
11:  G G + 1
12: end while
DE starts with a population of individuals called parents X 0 = { x 1 , x 2 , , x N P } , where N P is the number of individuals in the population. At each generation G, the individuals in the population X G perform a crossover and mutation process to generate a population of child individuals U G . The crossover and mutation process depend on the used DE variant. In this case, eight DE variants are chosen, and these are: DE/rand/1/bin (DER1B), DE/rand/1/exp (DER1E), DE/best/1/bin (DEB1B), DE/best/1/exp (DEB1E), DE/current to rand (DECR), DE/current to best (DECB), DE/current to rand/1/bin (DECR1B), and DE/current to rand/1/exp (DECR1E).
The crossover and mutation process for each variant is defined by Equations (5)–(12), where C R is the crossover factor, F and K are scale factors, r 1 , r 2 , and r 3 are three random individuals from the current population, D is the number of design variables and j r a n d { 1 , 2 , , D } is a random value that represents the crossover point.
Binomial recombination:
Rand/1/Bin:
u i j = x r 3 j + F ( x r 1 j x r 2 j ) , if rand j ( 0 , 1 ) < CR or j = j rand x i j , Otherwise
Best/1/Bin:
u i j = x b e s t j + F ( x r 1 j x r 2 j ) , if rand j ( 0 , 1 ) < CR or j = j rand x i j Otherwise
Exponential recombination:
Rand/1/Exp:
u i j = x r 3 j + F ( x r 1 j x r 2 j ) , from rand j ( 0 , 1 ) < CR or j = j rand x i j , Otherwise
Best/1/Exp:
u i j = x b e s t j + F ( x r 1 j x r 2 j ) , from rand j ( 0 , 1 ) < CR or j = j rand x i j Otherwise
Arithmetic recombination:
Current-to-Rand/1:
u i = x i + K ( x r 3 x i ) + F ( x r 1 x r 2 )
     Current-to-Best/1:
u i = x i + K ( x b e s t x i ) + F ( x r 1 x r 2 )
Arithmetic-binomial recombination:
Current-to-Rand/1/Bin:
u i j = x i j + K ( x r 3 j x i j ) + F ( x r 1 j x r 2 j ) if rand j ( 0 , 1 ) < CR or j = j rand x i j Otherwise
Current-to-Rand/1/Exp:
u i j = x i j + K ( x r 3 j x i j ) + F ( x r 1 j x r 2 j ) if rand j ( 0 , 1 ) < CR or j = j rand x i j Otherwise
The population of parents X G and children U G compete at each generation to remain to a new population of individuals X G + 1 for the next generation. The selection process between the parents and children is based on the CHT, as defined in Section 3.2. Then, the best individual in the population X G m a x is considered the best solution for the optimization problem.

3.1.2. Particle Swarm Optimization

The PSO algorithm was proposed by Kennedy and Eberhart [47]. This algorithm is inspired by the collaborative behavior of species in search of food and is shown in Algorithm 2.
Algorithm 2 Particle swarm optimization pseudocode.
1: Initialize the swarm position u i U 0 with N P particles.
2: Evaluate the swarm U 0 .
3: Initialize the best known position X 0 = U 0 .
4: Initialize the best position of the swarm x b e s t s w a r m .
5: Initialize the velocity of each particle v i V 0 .
6:  G 0
7: while G G m a x do
8:  Update the inertial weight w based on (13).
9: for all u i U G do
10:   Update the velocity v i based on (14).
11:   Update the position u i based on (15).
12:   Evaluate u i .
13: end for
14:  Update the best known position X G + 1 and the best particle in the swarm x b e s t s w a r m with the use of CHT between X G and U G .
[ X G + 1 , x b e s t s w a r m ] f n c C H T ( X G , U G , x b e s t s w a r m ) (This function is associated to the CHT.)
15:  G G + 1
16: end while
The PSO algorithm initializes with a swarm U G = 0 with N P particles. Each particle is located in a position u i with a velocity v i i = { 1 , 2 , , N P } . The best known positions of the particles are saved in the swarm X G = 0 . The best particle in the swarm X 0 is stored in x b e s t s w a r m . In the time G (iteration), the i t h position and velocity of each particle u i are updated by Equations (13)–(15), where w is the inertial weight, v m a x and v m i n are the maximum and minimum velocity values, x b e s t is the best neighborhood particle of x i in a ring topology, and C 1 , C 2 are weighting factors.   
w = v m a x G G m a x ( v m a x v m i n )
v i = w v i + r a n d ( 0 , 1 ) C 1 ( x i b e s t x i ) + r a n d ( 0 , 1 ) C 2 ( x i b e s t s w a r m x i )
u i = u i + v i
Finally, the best particle x b e s t s w a r m and the best particles positions X G are updated considering the CHT as is defined in Section 3.2. Then, the best solution is found in x b e s t s w a r m .

3.1.3. Genetic Algorithm

The GA was proposed by John Henry Holland [49]. This algorithm is inspired by genetic-molecular evolution. The essential operation of GA is shown in Algorithm 3.
Algorithm 3 Genetic algorithm pseudocode.
1: Generate a initial population X 0 with N P chromosomes.
2: Evaluate X 0
3:  G 0
4: while G G m a x do
5: for all  x i X G do
6:   Obtain x r 1 and x r 2 in X G by tournament.
7:   Generate a child v i by (16)
8:   Generate a mutant u i by (17)
9:   Evaluate u i
10: end for
11:  Replace the population X G to X G + 1 considering X G and U G in the CHT. X G + 1 f n c C H T ( X G , U G , ) (This function is associated to the CHT.)
12:  G G + 1
13: end while
GA initializes with a group X 0 = { x 1 , x 2 , , x N P } of N P chromosomes. In the group, two parent chromosomes x r 1 and x r 2 are selected by tournament [50] and recombined to generate a child chromosome v i as shown in (16). The recombination process uses a piece-wise multipoint crossover [5], where the crossover points are given by a crossover rate C R [ 0 , 1 ] . The child chromosome v i can mute using uniform mutation [51] as shown in (17), where M R [ 0 , 1 ] is a mutation rate, and x m i n j , x m a x j are the minimum and maximum values of the design variables, respectively.
v i j = x r 1 j , if rand j ( 0 , 1 ) < CR x r 2 j , Otherwise
u i j = r a n d ( x m i n j , x m a x j ) , if rand j ( 0 , 1 ) < MR v i j , Otherwise
Between the mutant chromosomes U G and the parent one X G , the best chromosomes are selected based on the replacement mechanism using the CHT defined in Section 3.2.

3.2. Constraint-Handling Techniques

Metaheuristic algorithms have been used to solve complex optimization problems. In their original versions, these have been designed to solve unconstrained optimization problems. However, optimization problems in engineering usually have constraints. Currently, constraint-handling techniques, such as the PF, FR, SR, and ϵ C method, have been the most popular techniques to solve constrained optimization problems [44]. Each one of these techniques is described below.

3.2.1. Penalty Function

The PF [52] has been frequently used to solve constrained optimization problems in the mechanism synthesis. The PF transforms an optimization problem with constraints into an unconstrained problem. The most used transformation equation is:
J ¯ ( x ) = i = 1 n w i J i ( x ) J ¯ + j = 1 m ϖ j γ j ( x ) P e n a l t y t e r m
where J ¯ ( x ) is the new function to minimize, J ¯ is the weighted objective function, x is the vector of design variables, m is the number of constraints, γ j ( x ) is the infeasible constraint distance defined by (19), and ϖ j is the penalty factor that can be static, dynamic, or adaptive. In engineering optimization problems, the term ϖ j is usually defined with a static value.
γ j ( x ) = m a x ( 0 , g j ( x ) )
Algorithm 4 describes the operation of PF. This constraint-handling technique requires three sets of solutions (three input arguments). At each iteration G, those solutions are compared according to the new function J ¯ ( x ) (18). The best solutions are stored in the output arguments.
Algorithm 4 Penalty function pseudocode.
1:
Function f n c C H T ( a ˜ , b ˜ , c ˜ )
Input: a ˜ X G and b ˜ U G
Output: X G + 1 and x b e s t
2:
X G + 1 = a ˜ and x b e s t = c ˜
3:
for i = 1 to N P  do
4:
if J ¯ ( b ˜ i ) < J ¯ ( a ˜ i ) then
5:
   X G + 1 b ˜ i
6:
  if J ¯ ( b ˜ i ) < J ¯ ( x b e s t ) then
7:
    x b e s t b ˜ i
8:
  end if
9:
end if
10:
end for

3.2.2. Feasibility Rules

The FR were proposed by Deb [53]. Three rules define this constraint-handling technique, these are:
  • Between two infeasible solutions, the solution with the fewest number of violated constraints is chosen.
  • Between a feasible solution and an infeasible one, the feasible solution is chosen.
  • Among two feasible solutions, the solution with the best objective function is chosen.
In this work, the number of violated constraints is considered the sum of infeasible constraint distance ϕ ( x ) and shown in (20).
ϕ ( x ) = j = 1 m m a x ( 0 , g j ( x ) )
Algorithm 5 describes the operation of FR. This constraint-handling technique requires three sets of solutions (three input arguments). At each iteration G, those solutions are compared according to the feasibility rules. Finally, the best solutions are stored in the output arguments.
Algorithm 5 Feasibility rules pseudocode.
1:
Function f n c C H T ( a ˜ , b ˜ , c ˜ )
  Input: a ˜ X G and b ˜ U G
  Output: X G + 1 and x b e s t
2:
X G + 1 = a ˜ and x b e s t = c ˜
3:
for i = 1 to N P  do
4:
if ( ϕ ( a ˜ i ) > 0 and ϕ ( b ˜ i ) > 0 and ϕ ( b ˜ i ) < ϕ ( a ˜ i ) ) or
 ( ϕ ( a ˜ i ) > 0 and ϕ ( b ˜ i ) = = 0 ) or ( ϕ ( a ˜ i ) = = 0 and ϕ ( b ˜ i ) = = 0 and J ¯ ( b ˜ i ) < J ¯ ( a ˜ i ) ) then
5:
   X G + 1 b ˜ i
6:
  if ( ϕ ( x b e s t ) > 0 and ϕ ( b ˜ i ) > 0 and ϕ ( b ˜ i ) < ϕ ( x b e s t ) ) or ( ϕ ( x b e s t ) > 0 and ϕ ( b ˜ i ) = = 0 ) or ( ϕ ( x b e s t ) = = 0 and ϕ ( b ˜ i ) = = 0 and J ¯ ( b ˜ i ) < J ¯ ( x b e s t ) ) then
7:
    x b e s t b ˜ i
8:
  end if
9:
end if
10:
end for

3.2.3. ϵ -Constraint Method

The ϵ C method was proposed by Takahama et al. [54]. This method relaxes the constraints to select solutions close to the feasible region. The selection process is described by (21).
( J ¯ ( x 1 ) , ϕ ( x 1 ) ) < ϵ ( J ¯ ( x 2 ) , ϕ ( x 2 ) ) J ¯ ( x 1 ) < J ¯ ( x 2 ) , if ϕ ( x 1 ) , ϕ ( x 2 ) ϵ J ¯ ( x 1 ) < J ¯ ( x 2 ) , if ϕ ( x 1 ) = = ϕ ( x 2 ) ϕ ( x 1 ) < ϕ ( x 2 ) , otherwise
where ϵ is a relaxation factor defined by (22) and (23), c p is a parameter to control the speed of reducing relaxation of constraints, T c is the maximum number of iterations (generation or time) to relax such constraints, ϕ ( x θ ) is θ -th best value of the objective function in the initial solution vector (population, swarm, or chromosomes).
ϵ ( 0 ) = ϕ ( x θ )
ϵ ( G ) ϵ ( 0 ) 1 1 T c c p , 0 < G < T c 0 , T c G
The ϵ -constraint method finds feasible regions using the gradient of constraints at an infeasible region. Algorithm 6 describes the operation of the ϵ C method. This constraint-handling technique requires three sets of solutions (three input arguments). The gradient-based mutation process can improve an infeasible solution to obtain a new solution u j n e w . The new solution u j n e w and old solution are compared using (21), and the best solution is stored in the current solution b j . The set of current solutions are compared according to (21), and the best solutions are stored in the output arguments.
Algorithm 6 ϵ -constraint method pseudocode.
1: Function f n c C H T ( a ˜ , b ˜ , c ˜ )
  Input: a ˜ X G and b ˜ U G
  Output: X G + 1 and x b e s t
2:  X G + 1 = a ˜ and x b e s t = c ˜
3: for j = 1 to N P  do
4: if r a n d ( 0 , 1 ) < P g then
5:    k = 0
6:   while k < R g and ϕ ( b ˜ j ) > ϵ  do
7:    Obtain Δ b ˜ j = C ( b ˜ j ) 1 Δ C ( b ˜ j )
Δ C ( b ˜ j ) is the constraint vector, Δ C ( b ˜ j ) 1 is the pseudo-inverse of the constraint’s derivative obtained by Moore–Penrose pseudo-inverse using the singular value decomposition and R g is the number of attempts to improve the solution.
8:    Obtain u n e w = b ˜ j + Δ b ˜ j
9:    if ( J ¯ ( u n e w ) , ϕ ( u n e w ) ) < ϵ ( J ¯ ( b ˜ j ) , ϕ ( b ˜ j ) ) then
10:      b ˜ j u n e w
11:    else
12:      b r e a k
13:    end if
14:     k = k + 1
15:   end while
16: end if
17: if ( J ¯ ( b ˜ j ) , ϕ ( b ˜ j ) ) < ϵ ( J ¯ ( a ˜ j ) , ϕ ( a ˜ j ) ) then
18:    X G + 1 b j
19:   if ( J ¯ ( b ˜ j ) , ϕ ( b ˜ j ) ) < ϵ ( J ¯ ( x b e s t ) , ϕ ( x b e s t ) ) then
20:     x b e s t b j
21:   end if
22: end if
23: end for

3.2.4. Stochastic-Ranking

SR was proposed by Runarsson and Yao [55]. This constraint-handling technique makes the pseudo-random sort of solutions. The ranking of solutions is based on the bubble sort algorithm with a probabilistic factor P f [ 0 , 1 ] . The values close to zero in P f mean a high probability that the sort is based on the constraint distance. On the contrary, this is based on the objective function.
Algorithm 7 describes the operation of SR. This constraint-handling technique requires two sets of solutions (two input arguments). At each iteration G, those solutions are compared and stochastically ranked. The best first NP solutions in the ranking are stored in the output arguments.
Algorithm 7 Stochastic ranking pseudocode.
1:
Function f n c C H T ( a ˜ , b ˜ , )
  Input: a ˜ X G and b ˜ U G
  Output: X G + 1 and x b e s t
2:
Obtain X ^ G = a ˜ b ˜
3:
for i = 2 to 2 N P  do
4:
for j = 1 to 2 N P i  do
5:
  if ϕ ( x ^ j ) = ϕ ( x ^ j + 1 ) = 0 or r a n d ( 0 , 1 ) < P f  then
6:
   if J ¯ ( x ^ j ) > J ¯ ( x ^ j + 1 ) then
7:
     s w a p ( x ^ j , x ^ j + 1 )
8:
   end if
9:
  else
10:
   if ϕ ( x ^ j ) > ϕ ( x ^ j + 1 ) then
11:
     s w a p ( x ^ j , x ^ j + 1 )
12:
   end if
13:
  end if
14:
end for
15:
if No swap then
16:
   b r e a k
17:
end if
18:
X G + 1 { x ^ j X ^ G | j = 1 , 2 , , N P }
19:
x b e s t x ^ 1 X ^ G
20:
end for

4. Study Cases in the Mechanism Synthesis for Lower Limb Rehabilitation

In this work, three study cases in engineering related to the mechanism design for the rehabilitation of lower limbs are considered for testing four constraint-handling techniques in different metaheuristic algorithms. Case 1 is related to a four-bar linkage mechanism, Case 2 involves a cam-linkage mechanism, and Case 3 includes an eight-bar linkage mechanism. Each study case is described below.

4.1. Case 1: Four-Bar Linkage Mechanism

The four-bar linkage mechanism has been used in lower limb rehabilitation for adults and children with cerebral palsy [9,16]. The dimensional synthesis design problem consists of finding the link lengths that approximate the coordinates [ x P i , y P i ] of the coupler link point P to the coordinates [ x ¯ P i , y ¯ P i ] of the ankle trajectory in a standard gait cycle. The schematic representation of the four-bar mechanism is presented in Figure 2.
According to Figure 2, the vector of design variables comprises the lengths of the links r 1 , r 2 , r 3 , r 4 , the ground link angle θ 1 , the initial position of the mechanism [ x 0 , y 0 ] with respect to the coordinate system x y , and the crank angles θ 2 i i = { 1 , 2 , , n f } . The vector of design variables is defined as:
x = r 1 , r 2 , r 3 , r 4 , θ 1 , x 0 , y 0 , r c x , r c y , θ 2 1 , θ 2 2 , , θ 2 n f
The optimization problem for the dimensional synthesis of the mechanism is presented in (25)–(29), where the constant values w 1 = 1 and w 2 = 0 . 01 weight the design goals.
Min x w 1 i = 1 n f [ ( x P i x ¯ P i ) 2 + ( y P i y ¯ P i ) 2 ] + w 2 i = 1 n f ( θ 2 i θ ¯ 2 i ) 2
subject to:
g 1 ( x ) 0 : r 2 + r 1 r 3 r 4 0
g 2 ( x ) 0 : r 4 r 1 + r 2 + r 3 0
g 3 ( x ) 0 : r 3 r 1 + r 2 + r 4 0
x m i n x x m a x
The first design goal refers to the error between the desired precision points [ x ¯ P i , y ¯ P i ] related to the ankle trajectory and the path [ x P i , y P i ] of the mechanism’s coupler link point. The second design goal refers to the angular displacement error between the desired angles θ ¯ 2 i and the crank angles θ 2 i . In this problem, the desired angles θ ¯ 2 i are defined by (30).
θ 2 i ¯ = θ 2 1 + 2 π i 1 n f 1 i = { 1 , 2 , , n f }
The precision (desired) points [ x ¯ P i , y ¯ P i ] are defined based on the standard ankle trajectory, these points are shown in Table A1 of Appendix A, and are obtained in [16]. On the other hand, according to Figure 2, the points generated by the coupler link [ x P i , y P i ] are defined by (31), where θ 2 is the angle of the crank link (input link), and θ 3 is shown in (32). This is obtained by the Freudenstein equation. It is important to note that both solutions in θ 3 (related to the sign of the root) are computed, and the solution that provides a better objective function is chosen. Thus, with the selection of θ 3 , the resulting mechanism can be an open (+) and crossed (−) four-bar mechanism.
x P y P = x 0 + r 2 cos θ 2 + r c x c o s θ 3 r c y s i n θ 3 y 0 + r 2 sin θ 2 + r c x s i n θ 3 + r c y c o s θ 3
θ 3 = 2 a t a n 2 B ± B 2 + A 2 C 2 , C A
where A = 2 r 1 r 3 cos θ 1 + 2 r 2 r 3 cos θ 2 , B = 2 r 1 r 3 sin θ 1 + 2 r 2 r 3 sin θ 2 , and C = r 1 2 + r 2 2 + r 3 2 r 4 2 2 r 1 r 2 cos ( θ 1 θ 2 ) .
The design problem has three inequality constraints (26)–(28) that define a crank-rocker mechanism according to the Grashof criterion [56]. The design variables vector x R 23 is bounded by its corresponding limit x m i n and x m a x . In Table 2 the limit values used in this work are shown. These values are obtained by [16].

4.2. Case 2: Cam-Linkage Mechanism

The second optimization problem is related to the synthesis of a cam-linkage mechanism. The original design problem was presented by Yixin Shao et al. [15]. This mechanism is designed to provide rehabilitation routines for adults with motor problems in the lower limbs. The schematic diagram of the cam-linkage mechanism is shown in Figure 3.
The design variable vector (33) is defined by the link lengths r 1 , r 2 , , r 8 , the angles β , γ , η , the initial position of the mechanism [ x 0 , y 0 ] with respect to the x y coordinate system, and the position of the slide displacement axis defined by the length e and the angle α .
x = r 1 , r 2 , r 3 , r 4 , r 5 , r 6 , r 7 , r 8 , α , β , γ , η , x 0 , y 0 , e
The synthesis problem is presented in (34)–(46).
Min x w 1 i = 1 n f ( θ 1 i θ ¯ 1 i ) 2 Θ r e f + w 2 R 0 R r e f
subject to:
g 1 : r 1 + r 2 r 3 s m i n 2 + e 2 0
g 2 : r 1 + r 3 r 2 s m i n 2 + e 2 0
g 3 : r 1 + s m a x 2 + e 2 r 2 r 3 0
g 4 : r 2 2 + r 3 2 ( d A C ) m i n 2 2 r 2 r 3 cos π / 6 0 g 5 : r 2 2 r 3 2 + ( d A C ) m a x 2 +
2 r 2 r 3 cos ( π π / 6 ) 0
g 6 : r 5 2 + r 6 2 ( d D F ) m i n 2 2 r 5 r 6 cos π / 6 0 g 7 : r 5 2 r 6 2 + ( d D F ) m a x 2 +
2 r 5 r 6 cos ( π π / 6 ) 0
g 8 : ( d O D ) m a x r 4 r 1 0
g 9 : | r 4 r 1 | ( d O D ) m i n 0
g 10 : ( d B e ) m a x r 3 0
g 11 : 0 . 12 R 0 0 . 6 | ρ | m i n 0
x m i n x x m a x
The first term of the weighted objective function (34) refers to the error between the crank angles θ 1 i i = { 1 , 2 , , n f } and the desired angles θ ¯ 1 i i = { 1 , 2 , , n f } , where n f is the number of precision points, and θ ¯ 1 i is defined by Equation (47).
θ 1 i ¯ = θ 1 1 + 2 π i 1 n f 1 i = { 1 , 2 , , n f }
On the other hand, the second term refers to the base radius R 0 of the cam (see Figure 3). Both design objectives are weighted by w 1 = 0 . 3 and w 2 = 0 . 7 , and normalized by Θ r e f = 0 . 4246 [rad] and R r e f = 0 . 3782 [m] according to the best results presented in [15].
To guarantee the functionality of the mechanism, the design problem has inequality constraints. The first three constraints (35)–(37) guarantees a complete revolution of the crank angle θ 2 (Grashof criterion), where s m i n and s m a x are the minimum and maximum values of s ( θ 1 ) in the precision points. The s ( θ 1 ) is given in (48) and is visualized in Figure 3.
s ( θ 1 ) = r 1 cos ( θ 1 α ) + r 2 cos ( θ 2 α ) + r 3 2 ( r 1 sin ( θ 1 α ) + r 2 sin ( θ 2 α ) + e ) 2
The next inequality constraints (38)–(41) provide high efficiency of the force transmission from the input link (crank link) to the output link, where the distances between point A to C d A C , and between point D to F d D F are obtained by (49) and (50), respectively.
d A C = ( r 1 cos θ 1 e sin α s cos α ) 2 + ( r 1 sin θ 1 + e cos α s sin α ) 2
d D F = ( x D x 0 r 7 cos β ) 2 + ( y D y 0 r 7 sin β ) 2
The inequality constraints (42)–(44) guarantee the path feasibility in the output link, where the distances between point D to F d O D , and between point B to e d B e are obtained by (51) and (52), respectively.
d O D = ( x D x 0 ) 2 + ( y D y 0 ) 2
d B e = ( y B y 0 ) cos α ( x B x 0 ) sin α + ϵ
The last inequality constraint (45) defines the minimum curvature radius of the cam profile. Moreover, the design variable vector x is bounded by x m i n and x m a x . The limit values used in this work are shown in Table 3.
The precision points ( x ¯ P i , y ¯ P i ) are presented in Table A2 of Appendix A. These coordinates define the standard ankle trajectory in the human gait. The precision points are obtained by the leg kinematics (53) considering an angular displacement of the hip and knee joint in the sagittal plane. The thigh and shank lengths are defined as L t h i g h = 0 . 3984 [m], L s h a n k = 0 . 3956 [m], respectively. The knee angles θ k n e e i and the hip angles θ h i p i i = { 1 , 2 , , n f } are found in [57].
x ¯ P i y ¯ P i = s i n θ h i p i s i n ( θ k n e e i θ h i p i ) c o s θ h i p i c o s ( θ k n e e i θ h i p i ) L t h i g h L s h a n k
The computation of the displacement angle θ 1 i and the cam radius R 0 in the optimization problem are obtained by inverse kinematics analysis of the mechanism. Therefore, R 0 is given in (54) and θ 1 i in (55).
R 0 = m a x d h ( θ 1 ) / d θ 1 e tan π / 6 h ( θ 1 ) 2 + e 2
θ 1 = 2 a t a n 2 B ˜ 2 ± B ˜ 2 2 + A ˜ 2 2 C ˜ 2 2 , C ˜ 2 A ˜ 2
where
h ( θ 1 ) = s ( θ 1 ) s m i n θ 2 = a t a n 2 y D r 1 sin θ 1 y 0 x D r 1 cos θ 1 x 0 η A ˜ 2 = 2 r 1 ( x D x 0 ) B ˜ 2 = 2 r 1 ( y D y 0 ) C ˜ 2 = r 1 2 r 4 2 + ( y D y 0 ) 2 + ( x D x 0 ) 2 x D = x P + r 8 cos ( π + φ 2 γ ) + r 5 cos ( φ 2 )
y D = x P + r 8 sin ( π + φ 2 γ ) + r 5 sin ( φ 2 ) φ 2 = 2 a t a n 2 B ˜ 1 ± A ˜ 1 2 + B ˜ 1 2 C ˜ 1 2 A ˜ 1 + C ˜ 1 + γ A ˜ 1 = 2 r 8 ( x ¯ P x 0 r 7 cos β ) B ˜ 1 = 2 r 8 ( y ¯ P y 0 r 7 sin β ) C ˜ 1 = r 8 2 r 6 2 + ( x p x 0 r 7 cos β ) 2 + ( y p y 0 r 7 sin β ) 2
The above equations are obtained according to the original design problem [15]. Except for the Equation (55), which is rewritten in this work from a two-argument arctangent. Equation (55) has two solutions that define the direction of crank rotation θ 1 . In this case, the clockwise turn in the crank link is chosen. Then, the solution in (55) that presents a positive increment between two different consecutive crank positions is selected.
On the other hand, the cam profile is obtained in (56) with respect to the coordinate system x 0 y 0 .
ρ = e cos ( α θ 1 ) R 0 2 e 2 + h ( θ 1 ) ) sin ( α θ 1 ) e sin ( α θ 1 ) + R 0 2 e 2 + h ( θ 1 ) ) cos ( α θ 1 )

4.3. Case 3: Eight-Bar Linkage Mechanism

Case 3 includes an eight-bar linkage mechanism for rehabilitation of the lower limbs. This mechanism has been designed for rehabilitation routines for the average anthropometry for the Mexican population [3]. The integration among the kinematic synthesis, the link shape design, and the mechanism dynamics are considered for its design. The schematic diagram of the mechanism is displayed in Figure 4a.
According to Figure 4a, the design variables vector x is defined by (57).
x = [ p ˜ k i , p ˜ s h ] R 107
This vector is split into two kinds of parameters, the kinematic parameter vector p ˜ k i = [ l 1 , l 2 , , l 9 , l 6 , l 8 , θ 1 , θ 9 , θ ^ 6 , θ ^ 8 , x i n i , y i n i , θ 2 1 , θ 2 2 , , θ 2 n f ] T R 17 + n f and the shape parameter vector p ˜ s h = [ b 2 , , b 8 , c 2 , , c 8 , d 2 , , d 8 , e 2 , , e 8 , f 2 , , f 8 , g 2 , , g 8 , h 2 , , h 8 , i 2 , , i 8 , j 2 , , j 8 , k 2 , , k 8 ] T R 70 . The shape parameters define the octagonal link shape shown in Figure 4b and the link dynamic parameters, such as the masses, the mass centers, and the inertia of links.
The synthesis problem for the eight-bar linkage mechanism is presented in (58)–(84).
The design objectives in (58) are weighted by parameters w 1 = 1 and w 2 = 1 e 6 . The first term refers to the average error between the precision points ( x ¯ E i , y ¯ E i ) and the points ( x E i , y E i ) generated by the mechanism’s coupler link. The desired precision points [ x ¯ E i , y ¯ E i ] are defined as a semi-elliptical rehabilitation trajectory. Those points are shown in Table A3 of Appendix A. On the other hand, the points [ x E i , y E i ] are set by the direct kinematics of the mechanism, as shown in (85). For more details of the analysis, see [3].
Min x w 1 i = 1 n f [ ( x ¯ E i x E i ) 2 + ( y ¯ E i y E i ) 2 ] n f + w 2 i = 1 n f τ 2 n f
subject to:
g 1 : l 2 + l 1 l 3 l 4 0
g 2 : l 4 l 1 + l 2 + l 3 0
g 3 : l 3 l 1 + l 2 + l 4 0
g 4 : l 2 + l 9 l 3 l 6 0
g 5 : l 6 l 9 + l 2 + l 3 0
g 6 : l 3 l 9 + l 2 + l 6 0
g 7 : π 4 cos 1 l 3 2 + l 4 2 ( l 1 l 2 ) 2 2 l 3 l 4 0
g 8 : π 4 cos 1 l 5 2 + l 6 2 ( l 9 l 2 ) 2 2 l 5 l 6 0
g 9 : cos 1 l 3 2 + l 4 2 ( l 1 + l 2 ) 2 2 l 3 l 4 3 π 4 0
g 10 : cos 1 l 5 2 + l 6 2 ( l 9 + l 2 ) 2 2 l 5 l 6 3 π 4 0
g 11 : θ 8 θ 7 + 2 π 3 π 4 0
g 12 : π 4 θ 8 θ 7 + 2 π 0
g 13 : 28 : F c m i n σ a d m σ k ^ s 0
g 29 : 35 : h s + i s b s l s d s 0
g 36 : 42 : j s + k s b s l s d s 0
g 43 : 44 : ψ s x K s 2 + y K s 2 + ϕ s 0
g 45 : 46 : ψ s ( x K s x B s ) 2 + ( y K s y B s ) 2 + ϕ s 0
g 47 : 62 : y k ^ s c s 2 g s + ζ s + ϕ s 2 0
g 63 : 78 : y k ^ s g s j s x k ^ s c s 2 + g s b s j s g s j s 2 + 1 + ζ s + ϕ s 2 0
g 79 : 94 : x k ^ s b s + ζ s + ϕ s 2 0
g 95 : 110 : y k ^ s f s h s x k ^ s c s 2 f s b s h s f s h s 2 + 1 + ζ s + ϕ s 2 0
g 111 : 126 : y k ^ s c s 2 f s + ζ s + ϕ s 2 0
g 127 : 142 : y k ^ s + f s i s x s c s 2 f s ( a s + d s ) i s f s i s 2 + 1 + ζ s + ϕ s 2 0
g 143 : 158 : x k ^ s a s d s + ζ s + ϕ s 2 0
g 159 : 174 : y k ^ s g s k s x k ^ s c s 2 g s ( a s + d s ) k s g s k s 2 + 1 + ζ s + ϕ s 2 0
x m i n x x m a x
x E y E = l 2 cos θ 2 + l 3 cos θ 3 + l 8 cos ( θ 8 + θ ^ 8 ) l 2 sin θ 2 + l 3 sin θ 3 + l 8 sin ( θ 8 + θ ^ 8 )
The second term in (58) represents the average of the applied torque τ in the crank link. The inverse dynamic model X ˇ = A ˇ 1 B ˇ is used to obtain the torque τ considering the position of the crank link known with a constant angular speed of ω 2 = 2 π [rad/s]. The vector X ˇ = [ F C 2 x , F C 2 y , F B 2 x , F B 2 y , F C 3 x , F C 3 y , F B 3 x , F B 3 y , F C 4 x , F C 4 y , F B 5 x , F B 5 y , F C 6 x , F C 6 y ,
F B 6 x , F B 6 y , F B 7 x , F B 7 y , F C 8 x , F C 8 y , τ ] T includes the joint forces F k ^ s k ^ = { B , C , K } s = { 2 , 3 , , 8 } , and the input torque τ . Moreover, A ˇ R 21 × 21 and B ˇ R 21 . For more details, see [3].
For the synthesis of the mechanism, a set of inequality constraints are established. Equations (59)–(64) define a crank-rocker mechanism configuration. The Equations (65)–(70) are related to the high efficiency of force transmission from the crank link (input link) to output link. In the coupler link, the patient’s ankle is placed. Equation (71) avoids tear failure in the joint holes, where F c m i n = 1 . 5 is the safety factor, σ a d m = 6 . 2052 × 10 7 [Pa] is the allowable stress in the joint, σ k ^ s = | | F k ^ s | | a s is the joint stress, a s = π 4 ϕ s e s is the contact area of the joint, ϕ s = 0 . 01905 [m] is the constant diameter of the holes.
Equations (72)–(83) define the octagonal link shape of the mechanism, where ζ s = 1 . 5 ϕ s is the distance between the edge of the hole and the link edge, and ψ s = 1 . 5 ϕ s is the distance between holes. The final constraints are related to the limits of the design variable vector x represented by the vectors x m i n and x m a x . These values are defined in the Table 4.

5. Comparative Experimental Study

We analyzed four Constraint-Handling Techniques (CHTs) in lower limb rehabilitation mechanism synthesis. These CHTs are the Feasibility Rules (FR), the Stochastic-Ranking (SR), the ϵ -Constraint ( ϵ C) method, and the Penalty Function (PF). The constraint-handling techniques are included in ten Metaheuristic Algorithms (MAs) frequently used in the synthesis of mechanisms. These algorithms are: Particle Swarm Optimization (PSO), Genetic Algorithm (GA), and eight variants of Differential Evolution (DER1B, DER1E, DEB1B, DEB1E, DECR, DECB, DECR1B, and DECR1E).
Each metaheuristic algorithm solves three study cases of mechanism synthesis problems related to lower limb rehabilitation using four-bar linkage, cam-linkage, and eight-bar linkage mechanisms. A summary of the main attributes of the study cases is included in Table 5 because there is no single attribute to measure the problem’s complexity. In such a table, the terms L I and N I mean the number of linear and nonlinear inequality constraints, respectively.
The ratio ρ ¯ = | F | / | S | [ 0 , 1 ] provides the relative size of the feasible region in the search space (a measure of how difficult is to generate feasible solutions) by using | S | = 1 × 10 6 random design variables (suggested in [58]), and the number of feasible solutions | F | . A high value in ρ ¯ indicates that the MA would find the feasible region in an early number of generations. Based on those attributes, the less complex optimization problem is given by study case 1, followed by study case 2, and study case 3, in that order.
The following comparative analysis is divided into three subsections. First, the conditions for making the parameter tuning of the CHTs in the algorithms are described in Section 5.1. In Section 5.2, the descriptive and inferential statistics of the overall performance for each algorithm with different CHTs are compared and discussed. Six performance metrics used in constrained optimization problems are included in Section 5.3 for evaluating the behavior of the CHTs in the metaheuristic algorithms. In Section 5.4, the best and worse solutions per each study case are visualized and evaluated to investigate the performance of the obtained mechanisms in the rehabilitation routine.

5.1. Parameter Tuning Conditions of the CHTs in the Algorithms

The parameter tuning for each metaheuristic algorithm with the different CHTs was performed for each study case. The irace package [59] was used for parameter tuning and to make the comparative study more fair and meaningful [60]. The parameters obtained by the irace package are presented in Table A4, Table A5 and Table A6 of Appendix A.
For solving each study case, the same number of objective function evaluations is also considered to make fair comparisons. The penalty factor ϖ k in the CHT by PF in (18) is taken into account as a constant value in all cases. Thus, these parameters are set in Table 6.

5.2. Statistical Analysis of the Overall Performance

In this work at each study case, thirty executions of the four CHTs are carried out per each of the ten metaheuristics. Each study case groups a total of forty samples (four CHTs per ten metaheuristics). Each sample contains the best thirty objective functions of an algorithm. Descriptive statistics analyzes those samples. The descriptive statistical results are shown in Table A7, Table A8 and Table A9 of Appendix C, and these consider the following measures: the mean, the standard deviation (std), the median, and the maximum (max) and minimum (min) values of the samples. The graphical visualization of the distribution of the samples is shown in the box plot of Figure 5.
Based on the results presented in such tables, it is possible to define the CHT that delivers the best performance in search of the most promising solution for each study case. Thus, the best behavior of a metaheuristic algorithm is related to the ability to search for the best solutions and provide more reliable results in different runs. The mean, the standard deviation (std), the median, and the maximum (max) and minimum (min) values of the samples are chosen as the statistical measure to indicate the algorithm capacity to find suitable solutions through runs in the particular samples. The best CHT between two CHTs, called A and B, included in the algorithms, is obtained by the following comparison procedure:
  • The CHT A can be compared to the CHT B if their CHTs are different, and the algorithms that implement such CHTs are the same. On the contrary, they cannot be compared.
  • The statistical measure from the thirty executions of the CHT A is better than the CHT B for the same algorithm if the former presents less value than the latter. When this happens, the CHT A obtains the point (a win) in favor. Thus, the maximum number of points for comparing each CHT is 150 (three CHT comparisons per five measures per ten algorithms).
  • The CHT with the highest number of points is the best constraint-handling technique.
In the comparison method, the lower values of the statistical measures (the mean, the standard deviation (std), the median, and the maximum (max) and minimum (min) values of the samples) are preferable in each algorithm. All measures are considered in the comparison procedure. The results obtained by the comparison process are presented in Table 7. The best performances of metaheuristic algorithms include the FR for the solution of the three study cases. For study case 1, it wins 115, for study case 2, it wins 104, and for study case 3, it wins 105. The next CHT alternative is the PF because it obtains the second-best performance in two study cases (study cases 1 and 2).
The inferential statistical analysis was performed to make general conclusions about the performance of the CHTs incorporated in the metaheuristic algorithms for the solution of the lower limb rehabilitation mechanism synthesis. Nonparametric statistical tests [61] were used because the independence, normality, and homoscedasticity assumptions in the samples were not fulfilled due to the stochastic nature of the algorithms.
The inferential statistical analysis consists of performing a multi-comparative post-hoc analysis with Holm post-hoc error correction method [61] in all CHTs incorporated in the algorithms. The first step is to guarantee that at least one comparison of the constraint-handling technique in the metaheuristic algorithms is different. The 95 % -confidence Friedman test is applied for that purpose, and the results are presented in Table A10 of Appendix D. The obtained p-value near to zero proves the existence of such differences with confidence close to 100 % .
Once the first step was done, the Friedman test for multiple comparisons with the Holm post-hoc error correction method was performed to make the general conclusions of comparisons and confirm the results’ confidence. The forty samples (four CHTs included in ten algorithms), conformed to each one by the best thirty objective functions of the executions, can be compared if both CHTs are incorporated in the same metaheuristic algorithm.
In Table A11 of Appendix D, the results obtained by the multi-comparative analysis are shown. The two-sided alternative hypothesis was selected, which means that, in the case that the p-value of the test is less than the 5 % statistical significance, the comparison between the CHT A and the one in B for the same algorithm presents significant differences (the alternative hypothesis is accepted). On the contrary, if the results are not convincing, and significant differences are not observed in the comparative result then the null hypothesis is accepted. Once the alternative hypothesis is accepted, the Friedman z-value sign defines the winner between both CHTs in the algorithms. The negative sign of z indicates that the CHT in the algorithm A was better than the one in B, and vice versa.
Three comparisons related to the four CHTs are made per each metaheuristic algorithm. A total of thirty comparisons are carried out per each CHT at each study case (considering the ten algorithms), and the highest number of wins defines the most suitable constraint-handling technique in the synthesis of lower limb rehabilitation mechanisms for each study case. A total of ninety comparisons was carried out, considering the three CHT comparisons with the ten metaheuristic algorithm for the three study cases.
The number of wins per CHT in algorithms from the comparisons is presented in Table 8. The results indicate that the feasible rules improve the algorithm performance in the comparisons at 66 . 66 % for study case 1, 40 % for study case 2, and 53 . 33 % for study case 3. The overall improvement for the ninety comparisons (in all study cases) with the FR is around 53 . 3 % . It is also observed in Table A11 of Appendix D that only eight comparisons with other CHTs (DECB EC, DECR1B SR, DECR1E EC, GA SR, GA PF, PSO SR, PSO ϵ C, and PSO PF) outperformed the values obtained in FR (around 8 . 8 % of the total comparisons).
Nevertheless, the obtained solutions in such comparisons did not surpass the best solutions provided by the FR as is observed visually in Figure 5 and numerically in Table A7, Table A8 and Table A9 of Appendix C. Then, the improvement in the eight algorithms using the CHTs in such comparisons did not influence a better overall behavior. In addition, in the remaining ninety comparisons (around 29 . 44 % ) with respect to the FR, there were no conclusive results about improving an algorithm. The latter means that there are no other CHTs in the algorithms that present a better behavior than the FR.
On the other hand, the penalty function outperformed at 43 . 33 % in study case 1, 53 . 33 % in study case 2, and 33 . 33 % in study case 3 of the comparisons with respect to the other CHTs. The ϵ -constraint method improved at 36 . 66 % , 3 . 33 % , and 46 . 66 % in the corresponding study cases. The stochastic ranking outperformed at 0 % , 33 . 33 % , and 13 . 33 % of the comparisons. Nevertheless, in the last three CHTs, several comparisons exist where the CHTs in the algorithm to which it is compared outperformed such results as shown in Table A11 of Appendix D.
Thus, it is confirmed, with 95 % confidence, that the feasibility rules improved the search capabilities of the algorithm with respect to the other CHTs. This implies that the optimal synthesis of the lower limb rehabilitation mechanism can be benefited by using the FR to solve such a constrained optimization problem because this can improve the quality and the consistency of results in most of the algorithms reviewed in this work.

5.3. Statistical Analysis of the CHT Behavior through Metrics

This work is also interested in knowing the search capabilities of metaheuristic algorithms with the constraint-handling techniques related to different performance metrics. Then, six performance metrics [62] found in the specialized literature were used. Each of these metrics is described below:
  • The feasibility probability (FP) is obtained by dividing the number of feasible executions by the total number of executions. FP is in the range of [ 0 , 1 ] , where 0 represents that there are not feasible solutions, and 1 represents that all found solutions are feasible.
  • The convergence probability (P) is obtained by dividing the number of successful executions by the total number of executions. The successful solutions are defined as the solutions x close to the best solution x * in the objective function space. Therefore, a satisfactory solution can be determined by | J ¯ ( x ) J ¯ ( x * ) | e ¯ , where the best executions per each study case is shown in Table A7, Table A8 and Table A9 of Appendix C. The value of e ¯ is related to the bias region in the synthesis problem where the mechanism executes a suitable rehabilitation routine.
    For the four-bar mechanism, J ¯ ( x * ) = 0 . 0021 and e ¯ = 0 . 0018 are considered; for the cam-linkage mechanism, J ¯ ( x * ) = 0 . 6540 and e ¯ = 0 . 5931 are chosen; and for the eight-bar linkage mechanism, J ¯ ( x * ) = 1 . 2054 × 10 4 and e ¯ = 0 . 0011 are selected. The P metric value is in the interval [ 0 , 1 ] , where a higher value (the best P metric) implies that all executions converge to the region. The metric is related to the reliability of an algorithm to find successful solutions.
  • AFES is the average number of function evaluations required for each successful execution. Successful execution is considered when it finds the first solution in the bias region e ¯ . If successful executions are not found, Non-Successful Executions (NSE) are accounted for. The best result in the AFES metric is first related to the minimum value in NSE and then to the lower values of the AFES. This metric indicates a convergence speed measure to the bias region e ¯ .
  • Successful performance (SP) divides the AFES by P. The best result in the SP metric is first related to the minimum value in NSE and then to the lower values of the SP.
  • EVALS counts the number of evaluations an algorithm needs to find the first feasible solution in every execution. Lower evaluations mean a low computational cost to reach a feasible solution; therefore, this is preferred. This metric is presented with the use of statistics.
  • The Progress Ratio (PR) measures the improvement capability of an algorithm inside the feasible region in every execution. This metric is calculated by (86) where J ¯ m i n ( G f f ) is the value of the objective function of the first feasible solution, and J ¯ m i n ( M C N ) is the value of the objective function of the best feasible solution in the algorithm execution. It is assumed in (86) that J ¯ m i n ( M C N ) > 0 is fulfilled. A higher value in this metric is preferred and also presented by using statistics.
    P R = ln J ¯ m i n ( G f f ) J ¯ m i n ( M C N )
As commented previously, thirty executions of each constraint-handling technique included in the metaheuristic algorithms were carried out for each study case. The values of the metrics F P , P, A F E S , and S P for the thirty executions for each algorithm at each study case are presented in Table A12, Table A13, Table A14 and Table A15 of Appendix E. The summaries (averages values) of those metrics are displayed in Table 9. We observed that, for the metric FP, the ϵ C provided the best results in the three study cases, followed by the FR and PF, in that order. For the metric P, the FR obtained the best results in cases 1 and 3. In the second study case, the result in FR was close to the best one provided by the PF. In the AFES metric, the FR, ϵ C, and PF won in only one study case. For the SP value, the FR provided the best result in two study cases.
In the case of the metrics E V A L S and P R , inferential statistics using the non-parametric Friedman test for multiple comparisons are included to confirm the performance. The distribution of the samples related to such metric values per each algorithm at each study case is shown in the box plots of Figure 6 and Figure 7, respectively, and the numerical results of the E V A L S and P R metrics are presented in Table A16, Table A17, Table A18, Table A21, Table A22 and Table A23 of Appendix E, respectively. The multi comparative Friedman test is presented in Appendix E.6 and Appendix E.8. Summaries of the winning numbers of these comparisons are displayed in Table 10 and Table 11.
The E V A L S metric for study case 1 indicates that feasible solutions were found in the initialization of the 200 individuals (particles) of the population (swarm). As a result, all executions required at least 200 evaluations to find a feasible solution (the feasible region). For this reason, the samples were not significant to determine a winner in the CHT in such a metric. In study case 2, the F R confirmed the superior performance in the E V A L S metric. In study case 3, the ϵ -constraint method improved the convergence to the feasible region in fewer generations. Finally, in the P R metric, it was confirmed in two study cases that the ϵ -constraint method can improve the solutions through the feasible region when the generations occur, followed by the SR that won in only one study case.
According to the results obtained by the previous analysis in the performance metrics, the following findings of the CHTs in the optimal synthesis of the lower limb rehabilitation mechanism synthesis were observed:
  • The FR had one of the best performance and the best one of the search for feasible solutions and satisfactory regions for the three study cases, respectively, because this constraint-handling technique has a high probability value in the FP and P metrics. The relationship between the AFES and P gave by SP is the best among the CHTs. Therefore, among the studied CHTs, the Feasibility Rules technique is the most reliable one for the synthesis of mechanisms for rehabilitation.
  • The PF can be considered the second option for solving mechanism synthesis for rehabilitation problems because it showed a suitable performance to find satisfactory solutions (P and SP metrics) compared to Stochastic-Ranking and ϵ -constraint. This establishes acceptable reliability to find feasible solutions (FP metric).
  • ϵ C method presented the best performance in the search for feasible regions as shown in FP. Inside the feasible region, this CHT produces improved solutions based on the PR metric. Nevertheless, the probability of this CHT to search for satisfactory solutions was low (P and SP metrics). This behavior is attributed to the gradient-based mutation where fast convergence to feasible local regions is promoted.
  • SR is the less reliable CHT because some algorithm executions can not find feasible solutions (FP metric). This presents a low performance in the search for suitable solutions (P metric).
According to the results in this section, the Feasibility Rules presented the best performance for handling constraints in the mechanism synthesis for rehabilitation problems. The Penalty Functions gave the second best performance. Those CHTs improved the quality and the consistency in most of the algorithms reviewed in this work.

5.4. Evaluation of the Obtained Mechanisms

In this section, the best solutions obtained by the feasibility rules (according to the overall performance presented in Table 8), and the worst constraint-handling technique are presented.
In study case 1, the best constraint-handling technique was the feasibility rules, and the worst was stochastic-ranking. The Computer-Aided Design (CAD) and the generated trajectory of the best mechanisms obtained by both constraint-handling techniques are presented in Figure 8, where the objective function values of the mechanisms obtained by the feasibility rules (with the algorithm DECR) is J = 0 . 002098 , and by stochastic-ranking (with the algorithm DECR1E) is J = 0 . 003726 . Those values are given in Table A7 of Appendix C.
According to the design parameters obtained in both CHTs (see Table A26 of Appendix F), the feasibility rules present a Pearson correlation coefficient of 0 . 9939 with respect to the stochastic-ranking. This indicates a high degree of similarity (see Figure 8). On the other hand, the performance of the design goals is presented in Figure 8c,d. Figure 8c shows the trajectory of the mechanisms, the current, and the desired precision points. The average error between the desired precision points and the current ones is J 1 ¯ = 4 . 7095 × 10 4 [m] by Feasibility Rules (FR) and J 1 ¯ = 4 . 6009 × 10 4 [m] by Stochastic-Ranking (SR).
Figure 8d shows the angles obtained by the crank and the desired angles, where the average angular error is J 2 ¯ = 1 . 6270 [rad] by feasibility rules, and J 2 ¯ = 3 . 2663 [rad] by stochastic-ranking. We observed that the design goals in both mechanisms related to J 1 ¯ and J 2 , present a trade-off, i.e., in one goal, it is better but in the other not. Then, solutions obtained by the feasible rules and the stochastic-ranking are suitable for the rehabilitation mechanism. Nevertheless, the feasible rules provide more reliable results through different algorithm executions and with a better overall performance (related to the objective function J).
In study case 2, the feasibility rule was the best constraint-handling technique, and the worst was the epsilon-constraint. The CAD and the generated trajectory of the best mechanisms obtained by both constraint-handling techniques are presented in Figure 9. The objective function values given by the mechanisms obtained by the feasibility rules (DEB1B) is J = 0 . 6557 and by epsilon-constraint (DEB1E) is J = 0 . 7588 . Those values are given in Table A8 of Appendix C.
According to the design parameters obtained in both CHTs (see Table A27 of Appendix F), the feasibility rules present a Pearson correlation coefficient of 0 . 9991 with respect to the epsilon-constraint. This correlation is larger than the obtained mechanisms in the previous study case 1, which implies a fairly strong relationship. In order to highlight the difference, the performance of the design goals is presented in Figure 9c,d for the cam shapes and the angles obtained by the crank, respectively.
The normalized average error between the desired crank angles and the current ones is J 1 ¯ = 1 . 2217 by feasibility rules and J 1 ¯ = 1 . 7122 by epsilon-constraint. The normalized base radius of the cam is J 2 ¯ = 0 . 4137 by FR, and J 2 ¯ = 0 . 3502 by epsilon-constraint. It is observed again that the design goals present a trade-off, such that both mechanisms are suitable for the rehabilitation routine, and it depends on the application that one selects. However, the feasible rules can search for solutions with a similar performance through different executions and with better quality in the overall performance in the weighted objective function J.
Finally, for study case 3, the best constraint-handling technique was the feasibility rules, and the worst one was stochastic-ranking. The CAD and the generated trajectory are presented in Figure 10, where the objective function values of the mechanisms obtained by the feasibility rules (DECR) is J = 0 . 0001903 , and by stochastic-ranking (DECR) is J = 0 . 0001884 . Those values are given in Table A9 of Appendix C.
According to the design parameters obtained in both CHTs (see Table A28 of Appendix F), the feasibility rules present a Pearson correlation coefficient of 0 . 7231 with respect to the stochastic-ranking. As the problem complexity in study case 3 is higher than in the other cases, the obtained solution presents differences, as is observed in Figure 10a,b. The behavior of the design goals related to the generated trajectory in the mechanisms and the torque applied in the crank link are displayed in Figure 10c,d, respectively.
In this case, the average error between the desired precision points and the current ones is J 1 ¯ = 8 . 1216 × 10 5 [m] by feasibility rules and J 1 ¯ = 5 . 9633 × 10 5 [m] by stochastic-ranking. The average torque is J 2 ¯ = 5 . 4531 [Nm] by feasibility rules, and J 2 ¯ = 6 . 4395 [Nm] by stochastic-ranking. Neither mechanism can be considered the best because they present a trade-off in the design goals. Thus, design solutions obtained by the feasible rules and the stochastic-ranking are suitable for the rehabilitation mechanism. Nevertheless, the feasible rule provides more reliable results through different executions and the second-best overall performance (related to the objective function J).

6. Conclusions

In this work, the behavior of four constraint-handling techniques for the synthesis of rehabilitation mechanisms is studied in ten metaheuristic algorithms.
According to the results, we present the following conclusions:
  • Through the statistical analysis, we observed that the feasibility rules present the best overall performance for the solution of the three mechanism synthesis cases under study. This is because the feasibility rules show a high probability of convergence towards feasible solutions and satisfactory regions based on the performance metrics studied in this work.
  • In the solution of mechanism synthesis problems for rehabilitation, there exists a high probability that the search capability of an algorithm is improved by incorporating the FR because, in most of the algorithms reviewed in this work, the FR enhanced the quality and consistency of results.
  • The penalty functions can be used as the second option for solving mechanism synthesis for rehabilitation problems. These establish acceptable reliability to find feasible solutions based on the performance metrics.
  • The ϵ -constraint method and stochastic-ranking presented the worst overall performance in the solution of the mechanism synthesis for lower limb rehabilitation. This feature is due to the mechanism synthesis problem, which presents a complex search space and wide, with highly nonlinear functions (multimodality), several design variables, and feasible regions that are difficult to find. The ϵ -constraint presents a fast convergence to feasible local regions because the gradient-based mutation increases the speed in the search of feasible solutions.
  • We confirmed that all study cases for the assessment of the obtained mechanisms, by using the feasibility rules and the worst CHT, presented different trade-offs in the design goals of the mechanism synthesis problem for lower limb rehabilitation. Nevertheless, FR can endow the algorithm with a better search capability to find reliable results through different executions with a high probability of finding the best overall performance.

Author Contributions

Conceptualization, J.S.M.-R. and M.G.V.-C.; Data curation, J.S.M.-R.; Formal analysis, J.S.M.-R.; Funding acquisition, M.G.V.-C. and L.G.C.-R.; Investigation, J.S.M.-R. and M.G.V.-C.; Methodology, J.S.M.-R. and M.G.V.-C.; Project administration, M.G.V.-C.; Resources, L.G.C.-R.; Software, J.S.M.-R.; Supervision, M.G.V.-C.; Validation, J.S.M.-R. and M.G.V.-C.; Visualization, J.S.M.-R.; Writing – original draft, J.S.M.-R. and M.G.V.-C.; Writing—review & editing, J.S.M.-R. and M.G.V.-C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Secretaría de Investigación y Posgrado del Instituto Politécnico Nacional (SIP-IPN) grant number 20180196, 20210374, 20196226 and 20201406.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Acknowledgments

The authors acknowledge support from the Secretaría de Investigación y Posgrado (SIP) and the Comisión de Operación y Fomento de Actividades Académicas (COFAA) from Instituto Politécnico Nacional (IPN). The first author acknowledges support from the Mexican Consejo Nacional de Ciencia y Tecnología (CONACyT) through a scholarship to pursue graduate studies at CIDETEC-IPN.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Precision Points for Synthesis of Mechanisms

In this section, the precision points for the synthesis of mechanisms for lower limb rehabilitation are presented for each study case.

Appendix A.1. Precision Points for the Case 1: Four-Bar Linkage Mechanism

For the synthesis of the four-bar mechanism, the standard path of the ankle of a 12-year-old child is considered. In Table A1, those data are shown and are obtained by [16].
Table A1. Precision points for study case 1: Four-bar linkage mechanism.
Table A1. Precision points for study case 1: Four-bar linkage mechanism.
i x ¯ P i [m] y ¯ P i [m]
10.74290.1880
20.65510.1573
30.60140.1388
40.51890.1149
50.41590.1012
60.30010.1074
70.19640.1375
80.16390.1662
90.16050.2003
100.19340.2256
110.26190.2251
120.42010.1808
130.64740.1607
140.74290.1880

Appendix A.2. Precision Points for Case 2: Cam-Linkage Mechanism

For the synthesis of the cam-linkage mechanism, the data in Table A2 are considered. These data represent the ankle path in the standard gait for an adult with a thigh-length L t h i g h = 0 . 3984 [m] and a shank-length of L s h a n k = 0 . 3956 [m].
Table A2. Precision points for study case 2: Cam-linkage mechanism.
Table A2. Precision points for study case 2: Cam-linkage mechanism.
i x ¯ P i [m] y ¯ P i [m]i x ¯ P i [m] y ¯ P i [m]i x ¯ P i [m] y ¯ P i [m]
1−0.3159−0.72592−0.3054−0.72953−0.2956−0.73264−0.2850−0.7357
5−0.2730−0.73886−0.2596−0.74217−0.2455−0.74538−0.2307−0.7484
9−0.2172−0.750910−0.2019−0.754011−0.1885−0.756712−0.1738−0.7596
13−0.1612−0.762314−0.1479−0.765015−0.1345−0.767716−0.1225−0.7703
17−0.1112−0.772618−0.0984−0.775019−0.0870−0.777220−0.0748−0.7792
21−0.0633−0.781022−0.0517−0.782623−0.0401−0.784024−0.0285−0.7853
25−0.0162−0.786226−0.0045−0.7870270.0079−0.7875280.0196−0.7879
290.0306−0.7881300.0431−0.7880310.0548−0.7876320.0672−0.7871
330.0789−0.7863340.0913−0.7853350.1023−0.7842360.1139−0.7827
370.1262−0.7810380.1378−0.7791390.1500−0.7768400.1622−0.7743
410.1757−0.7713420.1884−0.7681430.2017−0.7644440.2143−0.7607
450.2280−0.7562460.2403−0.7518470.2538−0.7466480.2652−0.7418
490.2777−0.7360500.2894−0.7301510.3008−0.7238520.3107−0.7174
530.3203−0.7106540.3282−0.7037550.3352−0.6964560.3400−0.6894
570.3436−0.6819580.3456−0.6743590.3465−0.6662600.3442−0.6590
610.3408−0.6514620.3356−0.6443630.3279−0.6379640.3185−0.6320
650.3075−0.6279660.2956−0.6243670.2810−0.6230680.2664−0.6224
690.2499−0.6241700.2322−0.6269710.2145−0.6312720.1955−0.6366
730.1756−0.6431740.1540−0.6505750.1330−0.6582760.1107−0.6668
770.0880−0.6752780.0627−0.6844790.0380−0.6931800.0140−0.7012
81−0.0130−0.709582−0.0388−0.716883−0.0657−0.723584−0.0932−0.7292
85−0.1199−0.734086−0.1476−0.737287−0.1723−0.739788−0.1978−0.7406
89−0.2227−0.740290−0.2449−0.738891−0.2669−0.736092−0.2841−0.7333
93−0.2996−0.729894−0.3130−0.726195−0.3217−0.723796−0.3288−0.7212
97−0.3321−0.720098−0.3322−0.720299−0.3296−0.7213100−0.3232−0.7238
101−0.3167−0.7262

Appendix A.3. Precision Points for Case 3: Eight-Bar Linkage Mechanism

For the synthesis of the eight-bar mechanism, a semi-elliptical curve is considered. This path is proposed for people with a height between 1.90 [m] and 1.63 [m]. The precision points are presented in Table A3 for the synthesis of this mechanism.
Table A3. Precision points for study case 3: Eight-bar linkage mechanism.
Table A3. Precision points for study case 3: Eight-bar linkage mechanism.
i x ¯ E i [m] y ¯ E i [m]i x ¯ E i [m] y ¯ E i [m]
100110.250
20.0250120.2750
30.050130.30
40.0750140.2910.0513
50.10150.25910.1029
60.1250160.20940.1377
70.150170.150.15
80.17500180.09060.1377
90.20190.04090.1029
100.2250200.0090.0513

Appendix B. Parameter Tuning

This section shows the tuning of the parameters for the algorithms per each study case. For this process, the irace program was used, where 5000 experiments are established, and the default configuration is considered.

Appendix B.1. Parameter Tuning of the Case 1: Four-Bar Linkage Mechanism

The parameters obtained by the irace program for the four-bar mechanism are presented in Table A4.
Table A4. Tuned parameters by irace program for study case 1: Four-bar linkage mechanism.
Table A4. Tuned parameters by irace program for study case 1: Four-bar linkage mechanism.
AlgorithmCHTParameters
DER1BDEB C R = 0 . 95 , F m i n = 0 . 13 , F m a x = 0 . 95
SR C R = 0 . 91 , F m i n = 0 . 23 , F m a x = 0 . 96 , P f = 0 . 15
ϵ C C R = 0 . 89 , F m i n = 0 . 20 , F m a x = 0 . 81 , P g = 0 . 07 , T c = 590 , R g = 5 , c p = 6
PF C R = 0 . 95 , F m i n = 0 . 17 , F m a x = 0 . 91
DER1EDEB C R = 0 . 99 , F m i n = 0 . 23 , F m a x = 0 . 86
SR C R = 0 . 96 , F m i n = 0 . 47 , F m a x = 0 . 90 , P f = 0 . 05
ϵ C C R = 0 . 88 , F m i n = 0 . 14 , F m a x = 0 . 87 , P g = 0 . 03 , T c = 430 , R g = 3 , c p = 10
PF C R = 0 . 97 , F m i n = 0 . 06 , F m a x = 0 . 95
DEB1BDEB C R = 0 . 76 , F m i n = 0 . 50 , F m a x = 0 . 66
SR C R = 0 . 97 , F m i n = 0 . 23 , F m a x = 0 . 97 , P f = 0 . 18
ϵ C C R = 0 . 83 , F m i n = 0 . 50 , F m a x = 0 . 50 , P g = 0 . 08 , T c = 490 , R g = 3 , c p = 6
PF C R = 0 . 67 , F m i n = 0 . 59 , F m a x = 0 . 61
DEB1EDEB C R = 0 . 89 , F m i n = 0 . 48 , F m a x = 0 . 77
SR C R = 0 . 91 , F m i n = 0 . 57 , F m a x = 0 . 74 , P f = 0 . 30
ϵ C C R = 0 . 95 , F m i n = 0 . 32 , F m a x = 0 . 85 , P g = 0 . 09 , T c = 400 , R g = 3 , c p = 5
PF C R = 0 . 91 , F m i n = 0 . 52 , F m a x = 0 . 77
DECRDEB F m i n = 0 . 26 , F m a x = 0 . 98 , K m i n = 0 . 91 , K m a x = 0 . 99
SR F m i n = 0 . 48 , F m a x = 0 . 79 , K m i n = 0 . 13 , K m a x = 0 . 87 , P f = 0 . 42
ϵ C F m i n = 0 . 15 , F m a x = 0 . 89 , K m i n = 0 . 82 , K m a x = 0 . 96 , P g = 0 . 10 , T c = 550 , R g = 5 , c p = 3
PF F m i n = 0 . 23 , F m a x = 0 . 93 , K m i n = 0 . 88 , K m a x = 0 . 98
DECBDEB F m i n = 0 . 44 , F m a x = 0 . 97 , K m i n = 0 . 48 , K m a x = 1
SR F m i n = 0 . 29 , F m a x = 0 . 91 , K m i n = 0 . 29 , K m a x = 0 . 69 , P f = 0 . 40
ϵ C F m i n = 0 . 36 , F m a x = 0 . 75 , K m i n = 0 . 20 , K m a x = 0 . 85 , P g = 0 . 05 , T c = 430 , R g = 5 , c p = 10
PF F m i n = 0 . 53 , F m a x = 0 . 89 , K m i n = 0 . 34 , K m a x = 0 . 98
DECR1BDEB C R = 0 . 92 , F m i n = 0 . 41 , F m a x = 0 . 76 , K m i n = 0 . 95 , K m a x = 0 . 95
SR C R = 0 . 96 , F m i n = 0 . 46 , F m a x = 0 . 89 , K m i n = 0 . 46 , K m a x = 0 . 72 , P f = 0 . 12
ϵ C C R = 0 . 97 , F m i n = 0 . 11 , F m a x = 0 . 99 , K m i n = 0 . 56 , K m a x = 0 . 56 , P g = 0 . 08 , T c = 700 , R g = 2 , c p = 7
PF C R = 0 . 92 , F m i n = 0 . 33 , F m a x = 0 . 84 , K m i n = 0 . 96 , K m a x = 0 . 97
DECR1EDEB C R = 0 . 92 , F m i n = 0 . 32 , F m a x = 0 . 72 , K m i n = 0 . 29 , K m a x = 0 . 77
SR C R = 0 . 95 , F m i n = 0 . 06 , F m a x = 0 . 99 , K m i n = 0 . 08 , K m a x = 0 . 26 , P f = 0 . 01
ϵ C C R = 0 . 96 , F m i n = 0 . 08 , F m a x = 0 . 94 , K m i n = 0 . 42 , K m a x = 0 . 87 , P g = 0 . 06 , T c = 740 , R g = 3 , c p = 9
PF C R = 0 . 39 , F m i n = 0 . 44 , F m a x = 0 . 51 , K m i n = 0 . 46 , K m a x = 0 . 65
GADEB C R = 0 . 80 , M R = 0 . 06
SR C R = 0 . 23 , P f = 0 . 20 , M R = 0 . 05
ϵ C C R = 1 , P g = 0 . 05 , T c = 610 , R g = 4 , c p = 8 , M R = 0 . 08
PF C R = 0 . 83 , M R = 0 . 11
PSODEB v m a x = 0 . 01 , C 1 = 1 . 29 , C 2 = 2 . 04
SR P f = 0 . 69 , v m a x = 0 . 01 , C 1 = 2 . 22 , C 2 = 1 . 06
ϵ C P g = 0 . 05 , T c = 610 , R g = 4 , c p = 8 , v m a x = 0 . 01 , C 1 = 1 . 10 , C 2 = 1 . 79
PF v m i n = 0 . 05 , v m a x = 0 . 17 , C 1 = 2 . 04 , C 2 = 1 . 06

Appendix B.2. Parameter Tuning of Case 2: Cam-Linkage Mechanism

The parameters obtained by the irace program for study case 2 related to the cam-linkage mechanism are stated in Table A5.
Table A5. Tuned parameters by irace program for the study case 2: Cam-linkage mechanism.
Table A5. Tuned parameters by irace program for the study case 2: Cam-linkage mechanism.
AlgorithmCHTParameters
DER1BDEB C R = 0 . 87 , F m i n = 0 . 51 , F m a x = 0 . 53
SR C R = 0 . 91 , F m i n = 0 . 46 , F m a x = 0 . 70 , P f = 0 . 52
ϵ C C R = 0 . 92 , F m i n = 0 . 53 , F m a x = 0 . 56 , P g = 0 . 04 , T c = 430 , R g = 5 , c p = 9
PF C R = 0 . 93 , F m i n = 0 . 52 , F m a x = 0 . 63
DER1EDEB C R = 0 . 94 , F m i n = 0 . 47 , F m a x = 0 . 58
SR C R = 0 . 98 , F m i n = 0 . 56 , F m a x = 0 . 75 , P f = 0 . 50
ϵ C C R = 0 . 99 , F m i n = 0 . 51 , F m a x = 0 . 66 , P g = 0 . 09 , T c = 230 , R g = 5 , c p = 6
PF C R = 0 . 88 , F m i n = 0 . 25 , F m a x = 0 . 43
DEB1BDEB C R = 0 . 88 , F m i n = 0 . 80 , F m a x = 0 . 87
SR C R = 0 . 99 , F m i n = 0 . 62 , F m a x = 0 . 75 , P f = 0 . 49
ϵ C C R = 0 . 92 , F m i n = 0 . 59 , F m a x = 0 . 61 , P g = 0 . 05 , T c = 380 , R g = 2 , c p = 8
PF C R = 0 . 90 , F m i n = 0 . 63 , F m a x = 0 . 87
DEB1EDEB C R = 0 . 83 , F m i n = 0 . 11 , F m a x = 0 . 98
SR C R = 0 . 95 , F m i n = 0 . 65 , F m a x = 0 . 70 , P f = 0 . 50
ϵ C C R = 0 . 92 , F m i n = 0 . 55 , F m a x = 0 . 61 , P g = 0 . 06 , T c = 370 , R g = 2 , c p = 8
PF C R = 0 . 92 , F m i n = 0 . 65 , F m a x = 0 . 73
DECRDEB F m i n = 0 . 68 , F m a x = 0 . 79 , K m i n = 0 . 85 , K m a x = 0 . 92
SR F m i n = 0 . 61 , F m a x = 0 . 68 , K m i n = 0 . 31 , K m a x = 0 . 35 , P f = 0 . 50
ϵ C F m i n = 0 . 52 , F m a x = 0 . 62 , K m i n = 0 . 27 , K m a x = 0 . 38 , P g = 0 . 06 , T c = 520 , R g = 2 , c p = 6
PF F m i n = 0 . 24 , F m a x = 0 . 90 , K m i n = 0 . 93 , K m a x = 0 . 95
DECBDEB F m i n = 0 . 74 , F m a x = 0 . 78 , K m i n = 0 . 55 , K m a x = 0 . 78
SR F m i n = 0 . 49 , F m a x = 0 . 66 , K m i n = 0 . 24 , K m a x = 0 . 58 , P f = 0 . 51
ϵ C F m i n = 0 . 51 , F m a x = 0 . 63 , K m i n = 0 . 05 , K m a x = 0 . 45 , P g = 0 . 09 , T c = 340 , R g = 2 , c p = 6
PF F m i n = 0 . 49 , F m a x = 0 . 78 , K m i n = 0 . 34 , K m a x = 0 . 53
DECR1BDEB C R = 0 . 97 , F m i n = 0 . 37 , F m a x = 0 . 73 , K m i n = 0 . 77 , K m a x = 0 . 98
SR C R = 0 . 98 , F m i n = 0 . 51 , F m a x = 0 . 82 , K m i n = 0 . 10 , K m a x = 0 . 13 , P f = 0 . 45
ϵ C C R = 0 . 97 , F m i n = 0 . 55 , F m a x = 0 . 64 , K m i n = 0 . 05 , K m a x = 0 . 67 , P g = 0 . 06 , T c = 420 , R g = 4 , c p = 6
PF C R = 0 . 93 , F m i n = 0 . 55 , F m a x = 0 . 63 , K m i n = 0 . 84 , K m a x = 0 . 93
DECR1EDEB C R = 0 . 99 , F m i n = 0 . 47 , F m a x = 0 . 75 , K m i n = 0 . 84 , K m a x = 0 . 86
SR C R = 0 . 92 , F m i n = 0 . 58 , F m a x = 0 . 68 , K m i n = 0 . 25 , K m a x = 0 . 65 , P f = 0 . 49
ϵ C C R = 0 . 94 , F m i n = 0 . 54 , F m a x = 0 . 67 , K m i n = 0 . 08 , K m a x = 0 . 61 , P g = 0 . 09 , T c = 720 , R g = 5 , c p = 6
PF C R = 1 . 00 , F m i n = 0 . 38 , F m a x = 0 . 74 , K m i n = 0 . 70 , K m a x = 1 . 00
GADEB C R = 0 . 98 , M R = 0 . 11
SR C R = 0 . 57 , P f = 0 . 12 , M R = 0 . 17
ϵ C C R = 1 , P g = 0 . 08 , T c = 640 , R g = 4 , c p = 6 , M R = 0 . 14
PF C R = 0 . 38 , M R = 0 . 29
PSODEB v m i n = 0 . 05 , v m a x = 0 . 24 , C 1 = 0 . 29 , C 2 = 3 . 12
SR P f = 0 . 48 , v m i n = 0 . 04 , v m a x = 0 . 23 , C 1 = 1 . 60 , C 2 = 1 . 07
ϵ C P g = 0 . 06 , T c = 600 , R g = 2 , c p = 2 , v m i n = 0 . 04 , v m a x = 0 . 26 , C 1 = 1 . 90 , C 2 = 0 . 86
PF v m i n = 0 . 12 , v m a x = 0 . 34 , C 1 = 2 . 47 , C 2 = 0 . 34

Appendix B.3. Parameter Tuning of Study Case 3: Eight-Bar Linkage Mechanism

The parameters obtained by the irace program for the eight-bar mechanism are displayed in Table A6.
Table A6. Tuned parameters by irace program for study case 3: Eight-bar linkage mechanism.
Table A6. Tuned parameters by irace program for study case 3: Eight-bar linkage mechanism.
AlgorithmCHTParameters
DER1BDEB C R = 0 . 84 , F m i n = 0 . 20 , F m a x = 0 . 65
SR C R = 0 . 48 , F m i n = 0 . 33 , F m a x = 0 . 80 , P f = 0 . 15
ϵ C C R = 0 . 35 , F m i n = 0 . 02 , F m a x = 0 . 15 , P g = 0 . 02 , T c = 340 , R g = 3 , c p = 3
PF C R = 0 . 02 , F m i n = 0 . 53 , F m a x = 0 . 76 , P g = 0 . 05 , R g = 2
DER1EDEB C R = 0 . 88 , F m i n = 0 . 08 , F m a x = 0 . 23
SR C R = 0 . 40 , F m i n = 0 . 36 , F m a x = 0 . 86 , P f = 0 . 15
ϵ C C R = 0 . 51 , F m i n = 0 . 04 , F m a x = 0 . 24 , P g = 0 . 01 , T c = 510 , R g = 3 , c p = 7
PF C R = 0 . 85 , F m i n = 0 . 43 , F m a x = 0 . 61 , P g = 0 . 06 , R g = 2
DEB1BDEB C R = 0 . 51 , F m i n = 0 . 09 , F m a x = 0 . 95
SR C R = 0 . 45 , F m i n = 0 . 16 , F m a x = 0 . 93 , P f = 0 . 15
ϵ C C R = 0 . 33 , F m a x = 0 . 21 , P g = 0 . 08 , T c = 370 , R g = 4 , c p = 10
PF C R = 0 . 87 , F m i n = 0 . 04 , F m a x = 0 . 34 , P g = 0 . 07 , R g = 1
DEB1EDEB C R = 0 . 98 , F m i n = 0 . 09 , F m a x = 1
SR C R = 0 . 43 , F m i n = 0 . 45 , F m a x = 0 . 75 , P f = 0 . 30
ϵ C C R = 0 . 29 , F m i n = 0 . 03 , F m a x = 0 . 20 , P g = 0 . 04 , T c = 490 , R g = 5 , c p = 3
PF C R = 0 . 78 , F m i n = 0 . 21 , F m a x = 0 . 77 , P g = 0 . 04 , R g = 4
DECRDEB F m i n = 0 . 21 , F m a x = 0 . 98 , K m i n = 0 . 71 , K m a x = 0 . 98
SR F m i n = 0 . 12 , F m a x = 0 . 85 , K m i n = 0 . 23 , K m a x = 0 . 32 , P f = 0 . 19
ϵ C F m i n = 0 . 07 , F m a x = 0 . 41 , K m i n = 0 . 53 , K m a x = 0 . 64 , P g = 0 . 04 , T c = 310 , R g = 4 , c p = 7
PF F m i n = 0 . 53 , F m a x = 0 . 99 , K m i n = 0 . 50 , K m a x = 0 . 64 , P g = 0 . 05 , R g = 3
DECBDEB F m i n = 0 . 20 , F m a x = 0 . 93 , K m i n = 0 . 01 , K m a x = 0 . 91
SR F m i n = 0 . 10 , F m a x = 0 . 84 , K m i n = 0 . 33 , K m a x = 0 . 71 , P f = 0 . 16
ϵ C F m i n = 0 . 11 , F m a x = 0 . 35 , K m i n = 0 . 11 , K m a x = 0 . 98 , P g = 0 . 02 , T c = 500 , R g = 2 , c p = 2
PF F m i n = 0 . 18 , F m a x = 0 . 30 , K m i n = 0 . 57 , K m a x = 0 . 73 , P g = 0 . 06 , R g = 2
DECR1BDEB C R = 0 . 06 , F m a x = 0 . 71 , K m i n = 0 . 81 , K m a x = 0 . 99
SR C R = 0 . 41 , F m i n = 0 . 23 , F m a x = 0 . 94 , K m i n = 0 . 30 , K m a x = 0 . 82 , P f = 0 . 19
ϵ C C R = 0 . 35 , F m i n = 0 . 05 , F m a x = 0 . 15 , K m i n = 0 . 17 , K m a x = 0 . 17 , P g = 0 . 04 , T c = 290 , R g = 5 , c p = 10
PF C R = 0 . 52 , F m i n = 0 . 01 , F m a x = 0 . 28 , K m i n = 0 . 44 , K m a x = 0 . 54 , P g = 0 . 04 , R g = 3
DECR1EDEB C R = 0 . 75 , F m i n = 0 . 12 , F m a x = 0 . 13 , K m i n = 0 . 84 , K m a x = 1
SR C R = 0 . 55 , F m i n = 0 . 20 , F m a x = 0 . 78 , K m i n = 0 . 53 , K m a x = 0 . 84 , P f = 0 . 17
ϵ C C R = 0 . 34 , F m i n = 0 . 07 , F m a x = 0 . 11 , K m i n = 0 . 36 , K m a x = 0 . 42 , P g = 0 . 04 , T c = 720 , R g = 4 , c p = 5
PF C R = 0 . 68 , F m i n = 0 . 05 , F m a x = 0 . 53 , K m i n = 0 . 54 , K m a x = 0 . 90 , P g = 0 . 09 , R g = 3
GADEB C R = 0 . 97 , M R = 0 . 01
SR C R = 0 . 34 , M R = 0 . 02
ϵ C C R = 0 . 94 , P g = 0 . 08 , T c = 350 , R g = 2 , c p = 4 , M R = 0 . 01
PF C R = 0 . 27 , M R = 0 . 03
PSODEB v m i n = 0 . 00 , v m a x = 0 . 01 , C 1 = 0 . 80 , C 2 = 2 . 21
SR P f = 0 . 30 , v m i n = 0 . 00 , v m a x = 0 . 08 , C 1 = 1 . 40 , C 2 = 2 . 04
ϵ C P g = 0 . 08 , T c = 3773 , R g = 4 , c p = 8 , v m i n = 0 . 00 , v m a x = 0 . 17 , C 1 = 2 . 20 , C 2 = 0 . 84
PF P g = 0 . 01 , R g = 1 , v m i n = 0 . 20 , v m a x = 0 . 23 , C 1 = 1 . 66 , C 2 = 1 . 25

Appendix C. Descriptive Statistics of the Overall Performance

This section shows the statistical data collected from the thirty executions of the four CHTs per each one of the ten metaheuristic algorithms. Each study case groups a total of forty samples (four CHTs per ten metaheuristics). Each sample contains the best thirty objective functions of an algorithm. The following measures are considered: the mean, the standard deviation (std), the median, and the minimum and maximum values of the sample.

Appendix C.1. Descriptive Statistics for the Case 1: Four-Bar Linkage Mechanism

The measures of the descriptive statistics for the four-bar mechanism are presented in Table A7.
Table A7. Descriptive statistics of the overall performance for study case 1: Four-bar linkage mechanism.
Table A7. Descriptive statistics of the overall performance for study case 1: Four-bar linkage mechanism.
CHTAlgorithmMeanstdMedianMinimumMaximum
FRDER1B 0.01296 0.005642 0.01244 0.003271 0.02423
FRDER1E 0.01298 0.006134 0.0123 0.003282 0.02401
FRDEB1B 0.03273 0.009165 0.03411 0.01517 0.05649
FRDEB1E 0 . 01037 0.005054 0 . 009278 0.003184 0 . 02038
FRCR 0.03024 0.03444 0.01922 0 . 002098 0.1306
FRDECB 0.02672 0.01009 0.03212 0.004001 0.04514
FRDECR1B 0.02253 0.006748 0.02359 0.0119 0.03175
FRDECR1E 0.0156 0.004565 0.01666 0.007841 0.02277
FRGA 0.03255 0.01192 0.03667 0.007953 0.05098
FRPSO 0.03674 0.01234 0.03682 0.006861 0.0626
SRDER1B 0.04564 0.01582 0.04094 0.0148 0.09932
SRDER1E 7.262 13.89 0.04702 0.02393 44.38
SRDEB1B 0.5216 1.512 0.04276 0.01174 7.343
SRDEB1E 0.7596 1.715 0.1027 0.02227 6.513
SRCR 87.61 91.56 60.56 0.03306 301.4
SRDECB 0.4961 0.1162 0.5248 0.235 0.6868
SRDECR1B 51.32 184.1 0.1216 0.03939 1004
SRDECR1E 0.02671 0.01325 0.02941 0.003726 0.04865
SRGA 0.2966 0.02964 0.2934 0.256 0.3475
SRPSO 0.1187 0.09226 0.07567 0.05316 0.4158
ϵ CDER1B 0.02942 0.007475 0.03029 0.005715 0.03749
ϵ CDER1E 0.01729 0.01095 0.01764 0.002085 0.03321
ϵ CDEB1B 0.04082 0.01317 0.04182 0.01743 0.05896
ϵ CDEB1E 0.0286 0.01351 0.02925 0.004001 0.05625
ϵ CCR 0.03108 0.006818 0.03157 0.01884 0.0462
ϵ CDECB 0.03389 0.01216 0.03374 0.01447 0.06199
ϵ CDECR1B 0.03121 0.007929 0.03368 0.01265 0.04719
ϵ CDECR1E 0.0315 0.006558 0.03454 0.01178 0.03626
ϵ CGA 0.03387 0.01013 0.03524 0.00771 0.04701
ϵ CPSO 0.03464 0.009985 0.03127 0.01969 0.05899
PFDER1B 0.02611 0.005129 0.02606 0.01551 0.03761
PFDER1E 0.01265 0.004983 0.01281 0.003099 0.02219
PFDEB1B 0.02822 0.0111 0.02901 0.008141 0.06079
PFDEB1E 0.03803 0.01028 0.03771 0.01184 0.05553
PFCR 0.02607 0.01001 0.0293 0.005715 0.03949
PFDECB 0.01989 0.01117 0.01766 0.004001 0.03941
PFDECR1B 0.03768 0 . 001529 0.03785 0.0353 0.04146
PFDECR1E 0.01371 0.00562 0.01297 0.005481 0.025
PFGA 0.2107 0.02938 0.2136 0.1417 0.2513
PFPSO 0.03619 0.01384 0.03593 0.01575 0.06243

Appendix C.2. Descriptive Statistics for Study Case 2: Cam-Linkage Mechanism

The measures of the descriptive statistics for the cam-linkage mechanism are shown in Table A8.
Table A8. Descriptive statistics of the overall performance for study case 2: Cam-linkage mechanism.
Table A8. Descriptive statistics of the overall performance for study case 2: Cam-linkage mechanism.
CHTAlgorithmMeanstdMedianMinimumMaximum
FRDER1B 0.7253 0.09932 0.673 0.6597 0.9351
FRDER1E 0.7259 0.08588 0.6727 0.6613 0.8963
FRDEB1B 2.45 2.111 1.006 0 . 6557 6.614
FRDEB1E 1.497 1.024 1.11 0.7351 5.727
FRCR 0.7242 0.0778 0.6811 0.6729 0.9079
FRDECB 1.552 1.611 0.8419 0.6701 5.734
FRDECR1B 0.8583 0.4566 0.6928 0.6648 3.206
FRDECR1E 0.8033 0.3489 0.6752 0.6634 2.594
FRGA 7.932 5.341 7.413 1.713 22.22
FRPSO 4.023 2.485 3.088 1.701 10.51
SRDER1B 3.98 × 10 6 1.217 × 10 7 0.7733 0.6758 4.334 × 10 7
SRDER1E 0.9158 0.8067 0.678 0.6561 4.822
SRDEB1B 4.475 6.158 2.524 0.7182 29.66
SRDEB1E 4.578 3.676 3.113 0.9298 14.62
SRCR 0.7209 0.07337 0.6729 0.6592 0 . 8956
SRDECB 2.318 2.059 1.168 0.7212 8.189
SRDECR1B 0 . 6932 0 . 06188 0.6745 0.6676 0.9003
SRDECR1E 2.247 0.5756 2.305 1.286 3.097
SRGA 4.043 2.889 2.61 1.852 13.68
SRPSO 7.455 8.686 3.739 1.501 33.68
ϵ CDER1B 1.783 0.5594 1.602 0.8771 3.155
ϵ CDER1E 2.423 0.5487 2.443 1.396 4.675
ϵ CDEB1B 2.914 1.678 2.723 0.887 6.619
ϵ CDEB1E 3.084 2.389 2.545 0.7588 10.64
ϵ CCR 2.559 0.266 2.558 1.692 3.106
ϵ CDECB 3.911 2.732 2.965 2.253 13.26
ϵ CDECR1B 5.566 1.927 4.807 3.266 9.281
ϵ CDECR1E 5.051 1.1 5.002 2.951 7.233
ϵ CGA 5.01 2.443 3.715 2.38 10.7
ϵ CPSO 2.773 0.8773 2.532 1.825 6.639
PFDER1B 0.7117 0.07392 0 . 669 0.6656 0.8965
PFDER1E 0.9899 0.182 0.9877 0.7517 1.539
PFDEB1B 3.621 3.049 2.184 0.6752 10.26
PFDEB1E 1.636 1.477 0.926 0.6808 5.991
PFCR 0.7895 0.3857 0.6878 0.6799 2.788
PFDECB 2.472 2.941 0.8362 0.6606 10.12
PFDECR1B 0.7817 0.1013 0.8168 0.6697 0.9375
PFDECR1E 0.8034 0.1227 0.774 0.6809 1.072
PFGA 2.446 0.4424 2.301 2.088 3.758
PFPSO 1.799 0.6056 1.621 1.028 3

Appendix C.3. Descriptive Statistics for the Case 3: Eight-Bar Linkage Mechanism

The measures of the descriptive statistics for the eight-bar mechanism are displayed in Table A9.
Table A9. Descriptive statistics of the overall performance for study case 3: Eight-bar linkage mechanism.
Table A9. Descriptive statistics of the overall performance for study case 3: Eight-bar linkage mechanism.
CHTAlgorithmMeanstdMedianMinimumMaximum
FRDER1B 0 . 001525 0 . 0004962 0.001405 0.0007166 0 . 002662
FRDER1E 0.002575 0.001006 0.002563 0.0007069 0.005309
FRDEB1B 0.00315 0.001883 0.002815 0.0005762 0.0107
FRDEB1E 0.002491 0.001148 0.002239 0.0009604 0.004837
FRCR 0.01321 0.009235 0.01462 0.0001903 0.02864
FRDECB 8.333 × 10 15 3.79 × 10 15 1 × 10 16 0.1895 1 × 10 16
FRDECR1B 0.00966 0.001957 0.009238 0.0066 0.01404
FRDECR1E 3.333 × 10 14 1.826 × 10 15 0.02744 0.01085 1 × 10 16
FRGA 0.01943 0.01749 0.01586 0.002204 0.0732
FRPSO 1.333 × 10 15 3.457 × 10 15 0.2493 0.09734 1 × 10 16
SRDER1B 6 × 10 15 4.983 × 10 15 1 × 10 16 0.5789 1 × 10 16
SRDER1E 1 × 10 16 2454 1 × 10 16 1 × 10 16 1 × 10 16
SRDEB1B 0.06065 0.04348 0.03995 0.01126 0.1604
SRDEB1E 1 × 10 16 2506 1 × 10 16 1 × 10 16 1 × 10 16
SRCR 0.0136 0.008586 0.01399 0 . 0001884 0.02977
SRDECB 1 × 10 16 833.3 1 × 10 16 1 × 10 16 1 × 10 16
SRDECR1B 0.02013 0.0101 0.02329 0.0006199 0.03406
SRDECR1E 1 × 10 16 1598 1 × 10 16 1 × 10 16 1 × 10 16
SRGA 0.01858 0.01994 0.01138 0.001002 0.07766
SRPSO 1 × 10 15 3.051 × 10 15 0.107 0.03381 1 × 10 16
ϵ CDER1B 0.01442 0.009972 0.0153 0.0005622 0.03068
ϵ CDER1E 0.003982 0.001845 0.003714 0.001142 0.009192
ϵ CDEB1B 2.333 × 10 15 4.302 × 10 15 0.0382 0.00842 1 × 10 16
ϵ CDEB1E 0.005852 0.00337 0.006034 0.001077 0.01249
ϵ CCR 0.01856 0.009206 0.02236 0.0006742 0.03008
ϵ CDECB 0.02113 0.006483 0.02121 0.006247 0.02996
ϵ CDECR1B 0.0139 0.007828 0.01407 0.0004182 0.0269
ϵ CDECR1E 0.008319 0.003387 0.008318 0.003046 0.01597
ϵ CGA 0.03706 0.0432 0.02497 0.00161 0.2009
ϵ CPSO 0.03373 0.009459 0.03339 0.01327 0.05506
PFDER1B 0.002417 0.002739 0 . 001362 0.0006484 0.01144
PFDER1E 0.002131 0.0008177 0.001843 0.001185 0.004332
PFDEB1B 0.005953 0.004698 0.003834 0.001046 0.01781
PFDEB1E 0.005379 0.002734 0.005059 0.001756 0.01551
PFCR 0.04953 0.02291 0.04997 0.0015 0.1098
PFDECB 1 × 10 16 1172 1 × 10 16 1 × 10 16 1 × 10 16
PFDECR1B 0.03493 0.004417 0.03614 0.02261 0.04204
PFDECR1E 1 × 10 16 451.7 1 × 10 16 1 × 10 16 1 × 10 16
PFGA 1 × 10 16 105.7 1 × 10 16 1 × 10 16 1 × 10 16
PFPSO 0.04157 0.01425 0.03784 0.01316 0.0727

Appendix D. Inferential Statistics of the Overall Performance

This section shows the inferential statistics of the data collected from the thirty executions of the four CHTs per each one of the ten metaheuristic algorithms. Each study case groups a total of forty samples (four CHTs per ten metaheuristics). Each sample contains the best thirty objective functions of an algorithm. For carrying out these statistics, the R program and the library scmamp are used.

Appendix D.1. Ranks Achieved by the Friedman Test

The ranks obtained by the Friedman test for the three study cases are shown in Table A10.
Table A10. Ranks and p-value obtained by the Friedman test. A p-value less than 0.05 indicates that the group of values of the objective function for each algorithm are different.
Table A10. Ranks and p-value obtained by the Friedman test. A p-value less than 0.05 indicates that the group of values of the objective function for each algorithm are different.
Ranks
AlgorithmCHTStudy Case 1Study Case 2Study Case 3
DER1BFR 1.1 1.7 1.6
DER1BSR 3.8 2.8 4
DER1B ϵ C 2.8 3.8 2.7
DER1BPF 2.3 1.6 1.7
Statistic 675966
p-value 2.24 × 10 14 9.43 × 10 13 2.83 × 10 14
DER1EFR 1.9 1.5 1.9
DER1ESR4 1.7 4
DER1E ϵ C 2.3 3.9 2.6
DER1EPF 1.9 2.9 1.5
Statistic 537164
p-value 1.51 × 10 11 3.18 × 10 15 6.87 × 10 14
DEB1BFR 2.2 2 1.3
DEB1BSR 3.2 2.5 3.5
DEB1B ϵ C3 2.9 3.5
DEB1BPF 1.6 2.6 1.7
Statistic 29 6.5 73
p-value 2.67 × 10 6 8.89 × 10 2 7.82 × 10 16
DEB1EFR 1.2 1.8 1.3
DEB1ESR 3.8 3.5 4
DEB1E ϵ C 2.1 3 2.4
DEB1EPF 2.9 1.7 2.3
Statistic 713969
p-value 2.93 × 10 15 1.48 × 10 8 8.18 × 10 15
DECRFR 1.6 22
DECRSR 3.9 1.6 1.9
DECR ϵ C 2.5 4 2.4
DECRPF2 2.4 3.7
Statistic 565735
p-value 5.01 × 10 12 2.67 × 10 12 1.24 × 10 7
DECBFR 1.9 1.8 2.3
DECBSR4 2.6 3.1
DECB ϵ C 2.5 3.4 1
DECBPF 1.6 2.3 3.6
Statistic 612469
p-value 3.81 × 10 13 2.10 × 10 5 5.52 × 10 15
DER1BFR 1.2 2.5 1.5
DER1BSR4 1.3 2.5
DER1B ϵ C24 2.1
DER1BPF 2.9 2.3 3.9
Statistic 806958
p-value 3.01 × 10 17 7.41 × 10 15 1.67 × 10 12
DER1EFR 2.1 1.3 2
DER1ESR 2.9 34
DER1E ϵ C 3.5 41
DER1EPF 1.5 1.7 3
Statistic 428088
p-value 4.34 × 10 9 2.47 × 10 17 7.04 × 10 19
GAFR 1.6 3.3 1.8
GASR4 2.2 1.8
GA ϵ C 1.4 3.1 2.4
GAPF3 1.4 4
Statistic 814258
p-value 1.73 × 10 17 4.69 × 10 09 1.88 × 10 12
PSOFR 2.1 2.9 3.8
PSOSR4 3.2 3
PSO ϵ C 1.9 2.5 1.3
PSOPF2 1.4 1.8
Statistic 523368
p-value 2.82 × 10 11 2.98 × 10 7 1.12 × 10 14

Appendix D.2. Multiple Comparison Friedman Test

The collected data from the thirty executions of the four CHTs per each one of the ten metaheuristic algorithms are used to make the multiple comparison Friedman test with the post-hoc correction method. Holm correction is used in this analysis. This test is presented in Table A11.
Table A11. Multiple comparison Friedman test with the post-hoc correction method for the overall performance of the four CHTs included into the ten metaheuristic algorithms. “-” indicates that there is no winning algorithm.
Table A11. Multiple comparison Friedman test with the post-hoc correction method for the overall performance of the four CHTs included into the ten metaheuristic algorithms. “-” indicates that there is no winning algorithm.
HypotesisStudy Case 1Study Case 2Study Case 3
Alg. A + CHT vs. Alg B + CHTp-ValuezWinp-ValuezWinp-ValuezWin
DER1B FR vs. DER1B SR 7 . 99 × 10 15 −8A 2 . 02 × 10 03 −3.4A 3 . 61 × 10 12 −7.2A
DER1B FR vs. DER1B EC 2 . 87 × 10 06 −5A 7 . 77 × 10 10 −6.4A 4 . 12 × 10 03 −3.2A
DER1B FR vs. DER1B PF 2 . 02 × 10 03 −3.4A 8.41 × 10 01 0.2 6.89 × 10 01 −0.4
DER1B SR vs. DER1B EC 5 . 40 × 10 03 3B 5 . 40 × 10 03 −3A 2 . 53 × 10 04 4B
DER1B SR vs. DER1B PF 1 . 69 × 10 05 4.6B 1 . 27 × 10 03 3.6B 5 . 23 × 10 11 6.8B
DER1B EC vs. DER1B PF 1.10 × 10 01 1.6 2 . 47 × 10 10 6.6B 1 . 02 × 10 02 2.8B
DER1E FR vs. DER1E SR 2 . 82 × 10 09 −6.2A 4.84 × 10 01 −0.7 2 . 82 × 10 09 −6.2A
DER1E FR vs. DER1E EC 6.90 × 10 01 −1.1 8 . 17 × 10 13 −7.4A 1.15 × 10 01 −1.9
DER1E FR vs. DER1E PF 9.20 × 10 01 0.1 6 . 83 × 10 05 −4.3A 1.94 × 10 01 1.3
DER1E SR vs. DER1E EC 1 . 36 × 10 06 5.1B 1 . 04 × 10 10 −6.7A 6 . 83 × 10 05 4.3B
DER1E SR vs. DER1E PF 1 . 79 × 10 09 6.3B 9 . 55 × 10 04 −3.6A 3 . 82 × 10 13 7.5B
DER1E EC vs. DER1E PF 6.90 × 10 01 1.2 3 . 87 × 10 03