Next Article in Journal
Secure DNA-Coding Image Optical Communication Using Non-Degenerate Hyperchaos and Dynamic Secret-Key
Previous Article in Journal
Improved Polymer Crystal Phase Field Model and Numerical Simulation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Binarization Technique Comparisons of Swarm Intelligence Algorithm: An Application to the Multi-Demand Multidimensional Knapsack Problem

1
Escuela de Ingeniería de Construcción y Transporte, Pontificia Universidad Católica de Valparaíso, Valparaíso 2362804, Chile
2
Escuela de Ingeniería Informática, Pontificia Universidad Católica de Valparaíso, Avenida Brasil 2241, Valparaíso 2362807, Chile
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(17), 3183; https://doi.org/10.3390/math10173183
Submission received: 31 July 2022 / Revised: 26 August 2022 / Accepted: 29 August 2022 / Published: 3 September 2022
(This article belongs to the Section Mathematics and Computer Science)

Abstract

:
In order to minimize execution times, improve the quality of solutions, and address more extensive target situations, optimization techniques, particularly metaheuristics, are continually improved. Hybridizing procedures are one of these noteworthy strategies due to their wide range of applications. This article describes a hybrid algorithm that combines the k-means method to produce a binary version of the cuckoo search and sine cosine algorithms. The binary algorithms are applied on the NP -hard multi-demand multidimensional knapsack problem. This problem is of particular interest because it has two types of constraints. The first group of constraints is related to the capacity of the knapsacks, and a second type is associated with the demand that must be met. Experiments were undertaken to acquire insight into the contribution of the k-means technique and the local search operator to the final results. Additionally, a comparison is made with two other types of binarization, the first based on a random method and the second based on the percentile concept. The results reveal that the k-means hybrid algorithm consistently provides superior results in most cases studied. In particular, incorporating the local search operator improved the results by an average of 0.23%. On the other hand, when comparing the results with 100 items and 30-30 restrictions, k-means was 1.06% better on average than the random operator.

1. Introduction

In recent years, metaheuristics have proven useful in handling difficult problems, particularly difficult combinatorial problems. There are several examples of this in fields such as mechanical engineering [1], logistics [2], civil engineering [3], and operational research [4], among others. The need to develop more efficient metaheuristic algorithms is an active line of research because optimization problems, especially combinatorial ones, increasingly involve new variables and constraints, making them more difficult to solve. This is complemented by the non-free lunch theorem [5], which states that each optimization technique will perform as well as any other on average in the space of all possible problems. In this aspect, one way to enhance metaheuristic algorithms is to combine them with other techniques.
One of the most common ways of combining metaheuristics is hybridization, in which multiple metaheuristic algorithms are integrated to increase their performance. As an example, the authors in [6] propose an algorithm based on the hybridization of two metaheuristics to address the feature selection problem. Feature selection is applied as a method for IoT Intrusion Detection. To evaluate the effectiveness of the proposal, the results obtained by the hybrid algorithm were compared with those obtained by the original procedures. The result showed that the hybrid algorithm was superior both in the quality of the solutions obtained and in the convergence times. Another interesting example is found in [7], the problem of maximizing the lifetime of wireless sensor networks through cluster generation techniques is addressed. The authors propose a hybrid method that integrates the particle swarm optimization algorithm with the Sealion technique to identify clusters. This hybrid proposal was compared with traditional algorithms such as the genetic algorithm and particle swarm optimization, surpassing these by more than 11% in terms of the quality of the solutions obtained.
Metaheuristics give valuable supplementary data that can be used to inform machine learning (ML) algorithms while solving problems. In order to produce more reliable results, these algorithms rarely use the auxiliary data generated by metaheuristics. Artificial intelligence, particularly ML, has grown in importance in recent years and is used in a variety of fields in [8,9]. A new area of research that has gained traction in recent years is ML approaches mixed with metaheuristics [10].
According to [10,11], ML algorithms use metaheuristic data in three main areas: low-level integrations, high-level integrations, and optimization problems. Creating binary versions of algorithms that run naturally in continuous space is a current focus of research in low-level integrations. The creation of binary versions of algorithms that run naturally in continuous space is a current focus of research in low-level integrations. A state-of-the-art of different binarization strategies is developed in [12], in which two primary categories stand out. The first category includes general binarization approaches in which the metaheuristics’ movements are not altered, but the solutions are binarized after they have been executed. The second category includes alterations made to metaheuristic movement directly. The first group has the advantage that the process can be utilized for any continuous metaheuristic, whereas the second group performs well when the adjustments are made properly. In this area, there are examples of ML and metaheuristics working together. The binary versions of the cuckoo search algorithm were created using the k-nearest neighbor technique, according to [13]. These binary versions were used to solve problems such as the multidimensional knapsack and the set covering. In civil engineering, in [14], hybrid approaches were introduced that use db-scan and k-means as binarization algorithms and are utilized to optimize the CO 2 emission of retaining walls.
Following the previously reported low-level integration of ML and metaheuristics, this article employed a hybrid strategy combining a swarm intelligence algorithm and the k-means unsupervised learning technique to create binary versions of optimization algorithms. Using the data gathered during the execution of the metaheuristic, the proposed method combines these two methodologies to produce a robust binary version. The proposed approach was used for the multi-demand multidimensional knapsack problem (MDMKP). The classical multidimensional knapsack problem (MKP) is a particular case of the MDMKP. The MDMKP is particularly challenging as it has capacity constraints and demand constraints, so finding a valid solution is already a challenge. In this article, the following contributions are made
  • The MDMKP is solved through hybrid techniques that integrate unsupervised learning techniques and swarm intelligence algorithms.
  • The k-means technique, proposed in [15], is used to binarize two swarm intelligence metaheuristics, sine cosine algorithm (SCA) [16], and cuckoo search algorithm (CS) [17].
  • The k-means binarization operator is compared to random and percentile operators to determine its contribution.
  • A repair operator is proposed to Fix invalid solutions.
The following is a brief summary of the content: The MDMKP problem and its applications are discussed in Section 2. Section 3 describes the k-means cuckoo search algorithm and the repair operator. The numerical experiments and comparisons are developed in detail in Section 4. Finally, in Section 5, the conclusions and potential lines of research are discussed.

2. The Multi-Demand Multidimensional Knapsack Problem

This section aims to provide the formulation of the MDMKP in addition to providing state-of-the-art of the different algorithms that have solved the problem. As stated before, the MDMKP is a generalization of the multidimensional knapsack problem (MKP). The MDMKP can be formulated as follows. Let V = { 1 , , n } be the number of items, C = { c 1 , , c m , m + q } be the number of constraints. Each item is associated with a profit p i .Then the MDMKP aims to maximize z given in Equation (1). Where x j takes the value one if the item j is considered and zero otherwise. As restrictions m inequalities are considered given by Equation (2). In addition to the q inequalities given in Equation (3).
Maximize z = i n p j x j
j n a i j x j c i , i { 1 , . . . , m }
j n a i j x j c i , i { m + 1 , . . . , m + q }
Unlike MKP, MDMKP accepts values of p i less than or equal to and greater than zero as well as incorporates greater-than-or-equal constraints of inequality (3). The inequalities in Equation (2) are referred to as knapsack constraints, whereas those in Equation (3) are referred to as demand constraints.
The MDMKP has received much less attention than the MKP, which could be because there are two types of constraints, making it difficult to identify viable solutions. In the literature, there are exact and heuristic approaches. General mixed-integer programming solvers, such as CPLEX, can be used, for example, to solve instances with n 100 in a reasonable amount of time, [18,19]. On the other hand, existing procedures frequently struggle to identify an optimal solution for larger instances. As a result, some heuristic techniques have been presented to solve large instances. In [20], a two-stage tabu search algorithm is used in which neighborhoods with different structures are exploited. As a first stage, a tabu search is executed in which infeasible regions will be explored. Once feasibility has been established, a second tabu procedure is used, which analyzes only feasible solutions. To solve the MDMKP, a simple iterative search strategy was used in [21]. In this procedure, adaptive memory and learning techniques obtained from the tabu search were applied. The search is based on a strategic oscillation around feasibility limits, which coordinates the interaction between changes in objective function values and changes in feasibility. After that, standard aspiration criteria and dynamic short-term tabu holding apply. In [22], the authors designed a black-box scatter search approach for general classes of binary optimization problems and assessed his method using the MDMKP along with other binary problems. Additionally, the solution handles MDMKP constraints with a static penalty approach. A solution-based tabu search method was studied in [18]. The algorithm was designed in two distinct phases. In the first stage, a promising hyperplane is identified within the entire search space, and in the second stage, improved solutions are sought by exploring the hyperplane’s subspace. In addition, the algorithm’s essential components were evaluated to determine their effects on the algorithm’s performance.
The MDMKP has numerous applications in the real world. In [23], for example, the problem of simultaneously locating obnoxious activities and routing obnoxious materials between a set of built areas and facilities is addressed. Obnoxious facilities are those that expose both humans and the environment, such as landfills, chemical industrial plants, electrical power distribution networks, nuclear power plants, etc. A mathematical formulation based on the multidemand multi-dimensional knapsack problem designed to select projects for inclusion in an R&D portfolio, subject to a wide variety of constraints (e.g. capital, personnel, strategic intent, etc.), is presented in [24].

3. The Machine Learning Swarm Intelligence Algorithm

This section aims to detail the proposed algorithm to address the MDMKP. In Figure 1, the flowchart of the algorithm is shown. The first stage is to generate the solutions; this will be detailed in Section 3.1. Once the solutions are generated, it is validated if the termination criteria are met. For this case, the termination criterion corresponds to completing the maximum number of defined iterations. If the criterion is not met, then the metaheuristic (MH) is executed, and the velocities of the solutions are obtained. Subsequently, the velocities are clustered, and each cluster is assigned a transition probability which is used to perform the binarization; this is detailed in Section 3.2. The movements executed by the metaheuristic or the binarization may have the consequence that the constraints are not met; then, a repair operator is designed, which is detailed in Section 3.3. Finally, a local search operator is applied to the new best solutions obtained. This local search operator is based on the same principles as the repair operator.

3.1. Initialization Operator

The initiation of the solutions considers the number of items of the problem as input variables. From the number of items, one is chosen at random, and it is validated that the constraints in Equation (2) are met. In the event that all of them comply with the restrictions, a new random item is chosen again, and it is validated that the item does not exist in the solution. In the case of existing, another one is chosen until it does not exist. It is added to the solution if it does not exist, and the same constraints are validated again. In the event that these are not met, the loop ends by removing the last element added. The pseudo-code is shown in Algorithm 1.
Algorithm 1: The initialization operator.
1:
Function initSolutions(n)
2:
Inputn
3:
Output S o l
4:
S o l .append(randint(n))
5:
while (the knapsack constraints are met) do
6:
      n i t e m randint(n)
7:
      s t a t e 0
8:
     while  s t a t e = = 0 do
9:
         if  n i t e m not in S o l  then
10:
            S o l .append( n i t e m )
11:
            s t a t e 1
12:
        end if
13:
     end while
14:
end while
15:
S o l .pop( n i t e m )
16:
return S o l =0

3.2. ML Binary Operator

Binarization is the responsibility of the ML binary (MLB) operator, the MLB pseudocode is shown in Algorithm 2. This accepts as input the list of solutions from the previous iteration, l S o l , the metaheuristic ( M H ) (in this case CS, and SCA), the best solution so far, b S o l , and the transition probability for each cluster, t r P r o b s . The M H is applied to this list l S o l , which in this case corresponds to CS or SCA. Applying M H to l S o l yields the absolute value of velocities, denoted by v l S o l . These velocities correspond to the transition vector generated by applying MH to the solutions list. In line 5, all velocities are grouped using k-means (getKmeansClustering), with K equal to five in this case.
Therefore, for each S o l i and each dimension j, a cluster is assigned. Additionally, each cluster is linked with a transition probability ( t r P r o b s ), ordered by the cluster centroid value. The transition probabilities employed in these instances were [0.10, 0.20, 0.40, 0.80, 0.90].
Then, the transition probability 0.10 is assigned to the set of points that belong to the cluster with the smallest centroid. The lower the value of the centroid, the lower the value of the corresponding t r P r o b s . Then, in line 8, for each l S o l i , j , a transition probability d i m S o l P r o b i , j is assigned, which is then compared with a random number r 1 in line 9. If d i m S o l P r o b i , j > r 1 , then it is updated with the best value, line 10, and if not, it is not changed, line 12.
Algorithm 2: The ML Binary operator (MLB).
1:
Function MLB( l S o l , M H , t r P r o b s , b S o l )
2:
Input l S o l , M H , t r P r o b s
3:
Output l S o l , b S o l
4:
v l S o l getAbsValueVelocities( l S o l , M H )
5:
l S o l C l u s t getKmeansClustering( v l S o l , K)
6:
for (each S o l i in l S o l C l u s t ) do
7:
    for (each d i m S o l i , j l in S o l i ) do
8:
        d i m S o l P r o b i , j = getClusterProbability( d i m S o l , t r P r o b s )
9:
       if  d i m S o l P r o b i , j > r 1  then
10:
          Update l S o l i , j considering the best.
11:
      else
12:
          Do not update the item in l S o l i , j
13:
      end if
14:
    end for
15:
end for
16:
return l S o l

3.3. Repair Operator and Local Search Operator

This section aims to describe the repair algorithm. This repair algorithm is also used in the case of obtaining a new optimum as a local search algorithm. In Algorithm 3, the pseudocode of the repair operator is displayed. The repair operator uses the solution ( S o l ) obtained from applying the binarized metaheuristic as an input parameter. Two variables, l C a n d i d a t e and s t a t e are defined at the start of the repair. As long as s t a t e keeps its value 0, then the procedure continues. Subsequently, a type of movement, add, remove, or swap, is randomly chosen to perform the repair. If the add action is selected, each possible element that does not belong to the solution is added to the solution and evaluated against a penalty function given in Equations (4) and (5), proposed by [18].
P ( S o l ) = i = 1 m M a x ( 0 , j = 1 n a i j x j c i ) + i = q + 1 q + m M a x ( 0 , c i j = 1 n a i j x j )
F ( S o l ) = j = 1 n p j x j λ × P ( S o l )
In this sense, solutions can be incorporated that do not comply with the constraints, but that improve the penalized objective function F, defined in (5). The process is iterated for each of the elements that are not in the solution. In the event that the incorporation of the item improves the penalized objective function of the previous one, the item is added to the solution. In Equation (4), the applied penalty is shown. Depending on the type of constraint, the factor j = 1 n is subtracted from c i , or vice versa. Here it should be noted that the penalty is less for the case where j = 1 n is close to c i . The same procedure is used in the case of removing an item or performing a swap between items that are in the solution and those that are not in the solution. Finally, it is verified if any of the candidates obtained meets the restrictions. If there is at least one, the best of all those that match is returned and the s t a t e variable is updated to one. In the case of the local search operator, the movements are the same as in the case of the repair operator. However, a fixed number of iterations, 2000, are executed for this case. In addition, S o l is a valid solution, and later, at the end of the iterations, it is verified if a better valid solution was obtained than the original one.
Algorithm 3: The repair operator.
1:
Function repairSolution( S o l )
2:
Input S o l
3:
Output S o l
4:
l C a n d i d a t e [ ]
5:
s t a t e 0
6:
while s t a t e = = 0 do
7:
     r a n d random(3)
8:
    if  r a n d = = 0  then
9:
        for Each posibility do
10:
           S o l addItem( S o l )
11:
          if  S o l improve the PenaltyFunction then
12:
              lCandidate.append( S o l )
13:
          end if
14:
       end for
15:
    end if r a n d = = 1 then
16:
        for Each posibility do
17:
            S o l RemoveItem( S o l )
18:
          if S o l improve the PenaltyFunction then
19:
              lCandidate.append( S o l )
20:
          end if
21:
      end for
22:
    end if r a n d = = 2 then
23:
        for Each posibility do
24:
            S o l swapItem( S o l )
25:
           if S o l improve the PenaltyFunction then
26:
               lCandidate.append( S o l )
27:
           end if
28:
        end for
29:
    end if
30:
    if exist S o l in l C a n d i d a t e s that meets constraints then
31:
         S o l getbestCandidate( l C a n d i d a t e s )
32:
         s t a t e = = 1
33:
    end if
34:
end while
35:
return S o l

4. Results

This section aims to detail the binarization experiments executed on MDMKP instances. The method used to perform parameter tuning is detailed in Section 4.1. Later in Section 4.2, the contribution of the local search operator applied when a new best value is obtained is evaluated. Finally, the study of different binarization methods is analyzed and compared in Section 4.3. In all the experiments, each instance was executed 30 times, and the best, average, and worst values were obtained. The results are detailed through tables and boxplot charts. The Wilcoxon test [25] was used to evaluate the significance of the results, where a p-value of 0.05 was considered. The code was built in Python 3.8 and accelerated with the numba library, [26].
This study evaluated the performance of binarized algorithms using four sets of reference instances; the first two sets of reference instances are available at http://www.info.univ-angers.fr/pub/hao/mdmkp/benchmark.zip (accessed on 30 July 2022). The third and fourth sets of reference instances are available from the OR Library. The first set consists of 48 small instances with n = 100, while the second set consists of 48 large instances with n = 250. In addition, the number of knapsack constraints m varies from five to ten in the first two sets, while the number of demand constraints q varies from two to ten. The third set consists of 30 examples with n = 100, for which both the number of knapsack constraints m and the number of demand constraints q are equal to 30. With n = 500, m = 30 and q = 30, the fourth set consists of 30 large instances.

4.1. Parameter Setting

The configuration of parameters was carried out following the method proposed in [15]. In this method, four metrics defined in Equations (6)–(9) are used. The results are displayed in Table 1, only the binarization parameter adjustment was examined. For the determination of the parameters, the instances 100-5-x-x-x of Table 2 were used. In the case of SCA, it has no parameters to tune and in the case of CS, the default parameters were used, step length = 0.01 and Levy distribution parameter = 1.5. Tuning was performed using the percentile binarization technique. The parameters explored were four. The number of particles (P) used by the MH, the number of groups (K) used in the case of percentile or k-means techniques, the number of iterations (I) performed by the MH, and finally, the number of iterations performed by the local search operator (L).
  • The difference between the best value achieved and the best known value:
    b S o l u t i o n = 1 K n o w n B e s t V a l u e B e s t V a l u e K n o w n B e s t V a l u e
  • The difference between the worst value achieved and the best value known:
    w S o l = 1 K n o w n B e s t V a l u e W o r s t V a l u e K n o w n B e s t V a l u e
  • The departure of the obtained average value from the best-known value:
    a S o l = 1 K n o w n B e s t V a l u e A v e r a g e V a l u e K n o w n B e s t V a l u e
  • The convergence time used in the execution:
    n T i m e = 1 c o n v e r g e n c e T i m e m i n T i m e m a x T i m e m i n T i m e

4.2. Local Search Operator Contribution

This section aims to determine if the local search operator (LSO) has a significant contribution to the results. For this, the SCA algorithm and the percentile technique were used as a binarization method. The details of these experiments are documented in Table 2 and Figure 2. The experiment compared the algorithm using the LSO with respect to an algorithm that does not use it (WLSO). In Table 2, in the case of the best value, it is observed that in 25 instances, both algorithms obtained the same results, and in 23 instances, LSO was superior to WLSO. This indicates that in the case of the best values obtained, the LSO contributes to improving the quality of the results. When performing the significance test, it indicates that the difference is significant. In the case of the averages, only in two instances was the same result obtained; these were instances in which the same value was achieved every time. In all other cases, LSO was always superior. Again this indicates that the LSO operator contributes consistently to obtain better results. The Wilcoxon test indicated that the difference is significant. Finally, in the case of the worst value, there were again two cases with the same values, and in all the other LSO, it was superior. When performing the visual analysis through box plots, it has been observed that the interquartile range is always closer to zero in the case of LSO for the three indicators, which is consistent with what is observed in the table. The boxplot was obtained by normalizing the data with respect to the best value, using the following formula %- G a p = 100 ( B e s t K n o w v a l u e ) B e s t K n o w n . Finally in Figure 3, the average convergences for all executions of instances 100-5-2-0-2 and 100-5-2-1-0 are compared. These instances have the particularity that the LSO operator has a shorter convergence time than the WLSO operator. The figure shows that in both cases, LSO converges in a smaller number of iterations; therefore, this convergence allows one to obtain shorter times in the case of LSO.

4.3. Comparison of Binarization Methods

In this section, the hybrid approach using k-means will be compared with two other binarization methods; the first corresponds to a random binarization. This means that the probability of changing the value of the solution is performed randomly. For this study, a random operator was used; this is motivated by previous studies where random operators were used [4,27]. According to the abovementioned articles, a usage threshold of 0.5 has been suggested. The other technique used to compare the performance of k-means corresponds to the use of the percentile concept, [28]. In this technique, the velocity of the solutions are grouped into five groups ordered from lowest to highest, where a transition probability of 0.1 is associated with the first group, 0.20 to the next group, and so on, using the values given in the Section 3.2. To make the comparisons, three groups of instances were used, 48 instances with 250 items and different numbers of constraints; 30 instances with 100 items but with 30 constraints for both the knapsack and the demand; and finally 30 instances with 500 items and 30 constraints for both types of restrictions.
Table 3 and Figure 4 show the results for instances with 250 elements. In this experiment, the cuckoo search algorithm was used. When analyzing the Best Value indicator, it is observed that k-means obtained 32 best values, Percentile 16 and Random 6. The sum is greater than 48 since, in some cases, the values are repeated. Therefore, k-means performed better than the other two binarization methods in the best values. The second step of the comparison corresponds to evaluating the average. The goal is to assess how consistently k-means gets a better value. At the average of the best value, k-means got 49,575.7, followed by the percentile with 49,555.5 and the random end with 49,477.5. Again k-means had a better performance. It should also be noted that the k-means percentage deviates 0.56% from the best-known average. When the average indicator is analyzed, the situation is similar: k-means obtains 43 best averages, percentile obtains five, and random none. The above details can also be seen in the boxplots in Figure 4; in this, it is observed that in the interquartile range, k-means obtains the best results both in the mean and in the best values. All these results show that k-means produces consistently and significantly better values.
This second analysis considers the same comparison methodology of the previous experiment. The data set with 100 articles but with 30 capacity and 30 demand restrictions were considered in the analysis. The algorithm used in the experiment was sine cosine. The results are shown in Table 4 and Figure 5. From the table, it can be seen that in the case of the best value, the best result was obtained by k-means, with 29 best values out of a total of 30. It was followed by percentile with 17 and finally random with 11. Therefore, k-means had a better performance in the cases of increasing the number of restrictions to 30. However, in the mean of the best values, k-mean deviates from the best-known values by 2.25 %, increasing the deviation compared to the previous group of 250 instances. In the case of the average indicator, when comparing k-means with the percentile, the first superior in 25 instances, percentile in 3 and two instances obtained the same value. Regarding k-means and random, the first was superior in 28 instances, and in two, they obtained the same value. The k-means average was 3.94 %, away from the best-known average. When complementing the analysis with the boxplots shown in Figure 5, it is observed that in the case of k-means averages, it has a smaller dispersion than the other two algorithms. Therefore k-means consistently produced better results. Looking at the interquartile range and the median also have values closer to zero at both the best and the average. Wilcoxon’s test indicates that the difference is significant.
The third analysis considered the data set with 500 items with 30 capacity and 30 demand constraints. The results are shown in Table 5 and Figure 6. From the table, in the case of the best value, the best result was obtained by k-means, with 19 best values out of a total of 30. It was followed by percentile with 10 and finally random with one. In the average of the best values, k-means deviated from the best known by 0.86 %. In the case of the average indicator, when comparing k-means with percentile, the first superior in 29 instances, and percentile in one. Therefore k-means was again consistently superior compared to percentile in the most difficult group of instances.
Regarding k-means and random, the first was superior in all instances. By complementing the analysis with the boxplots shown in Figure 6, it is observed that in the case of the k-means averages, it has a lower dispersion than the other two algorithms. The interquartile range and the median also have values closest to zero in both the best and the average. The Wilcoxon test indicates that the difference is significant.

5. Conclusions

This article uses a hybrid method based on binarization through the k-means technique of continuous swarm intelligence metaheuristics. With this hybrid method, the multi-demand multidimensional knapsack problem was addressed. Due to the difficulty in the restrictions of the optimization problem, a repair operator had to be developed, which was also used as a local search operator. The local search operator’s contribution to the optimization’s final result was studied, finding that it contributes significantly to improving the results. Two additional methods were used to evaluate the k-means technique’s contribution in the swarm intelligence metaheuristics binarization. The first is based on random transitions, and the second is based on the concept of percentile velocities. Three types of instances were evaluated, observing that the k-means technique obtained the best results in the three indicators evaluated. Best, average, and worst value. The above is for all groups of considered instances.
When comparing the proposed hybrid algorithm with the best-known values, it is observed that the problems that have 100 instances with the most significant number of restrictions move away on average by 3.94%. The latter motivates further exploration to improve the algorithm. An interesting option is to use nearest neighbor scanning perturbation operators by adapting the methods used in [29]. Another interesting point to analyze is related to the initialization of the solutions. In this sense, different ways of initializing solutions can be explored in order to later analyze the effect of initialization on optimization. Regarding initialization, exploring the use of a dynamic population is also interesting. Increase or decrease this as needed to balance exploration, exploitation, and convergence times. Another point to explore is the use of reinforcement learning and how the information delivered in each iteration can be exploited through reinforcement algorithms to improve the behavior and convergence of the algorithm.

Author Contributions

Conceptualization, J.G.; methodology, J.G.; formal analysis, J.G.; investigation, J.G.; writing—original draft preparation, J.G.; project administration, J.G., P.M. and B.C. and R.S. and H.P.; funding acquisition, J.G., P.M., B.C., R.S. All authors have read and agreed to the published version of the manuscript.

Funding

José García was supported by the Grant CONICYT/FONDECYT/INICIACION/11180056. PROYECTO DI INVESTIGACIÓN INNOVADORA INTERDISCIPLINARIA: 039.414/2021. Broderick Crawford was supported by the grant Broderick Crawford is supported by Grant CONICYT/FONDECYT/REGULAR/1210810.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Abualigah, L.; Elaziz, M.A.; Khasawneh, A.M.; Alshinwan, M.; Ibrahim, R.A.; Al-qaness, M.A.; Mirjalili, S.; Sumari, P.; Gandomi, A.H. Meta-heuristic optimization algorithms for solving real-world mechanical engineering design problems: A comprehensive survey, applications, comparative analysis, and results. Neural Comput. Appl. 2022, 34, 4081–4110. [Google Scholar] [CrossRef]
  2. Chaharmahali, G.; Ghandalipour, D.; Jasemi, M.; Molla-Alizadeh-Zavardehi, S. Modified metaheuristic algorithms to design a closed-loop supply chain network considering quantity discount and fixed-charge transportation. Expert Syst. Appl. 2022, 202, 117364. [Google Scholar] [CrossRef]
  3. Penadés-Plà, V.; García-Segura, T.; Yepes, V. Robust design optimization for low-cost concrete box-girder bridge. Mathematics 2020, 8, 398. [Google Scholar] [CrossRef]
  4. García, J.; Lemus-Romani, J.; Altimiras, F.; Crawford, B.; Soto, R.; Becerra-Rozas, M.; Moraga, P.; Becerra, A.P.; Fritz, A.P.; Rubio, J.M.; et al. A binary machine learning cuckoo search algorithm improved by a local search operator for the set-union knapsack problem. Mathematics 2021, 9, 2611. [Google Scholar] [CrossRef]
  5. Wolpert, D.H.; Macready, W.G. No free lunch theorems for optimization. IEEE Trans. Evol. Comput. 1997, 1, 67–82. [Google Scholar] [CrossRef]
  6. Kareem, S.S.; Mostafa, R.R.; Hashim, F.A.; El-Bakry, H.M. An effective feature selection model using hybrid metaheuristic algorithms for iot intrusion detection. Sensors 2022, 22, 1396. [Google Scholar] [CrossRef]
  7. Yadav, R.K.; Mahapatra, R.P. Hybrid metaheuristic algorithm for optimal cluster head selection in wireless sensor network. Pervasive Mob. Comput. 2022, 79, 101504. [Google Scholar] [CrossRef]
  8. Roshani, M.; Phan, G.; Roshani, G.H.; Hanus, R.; Nazemi, B.; Corniani, E.; Nazemi, E. Combination of X-ray tube and GMDH neural network as a nondestructive and potential technique for measuring characteristics of gas-oil–water three phase flows. Measurement 2021, 168, 108427. [Google Scholar] [CrossRef]
  9. Roshani, S.; Jamshidi, M.B.; Mohebi, F.; Roshani, S. Design and Modeling of a Compact Power Divider with Squared Resonators Using Artificial Intelligence. Wirel. Pers. Commun. 2021, 117, 2085–2096. [Google Scholar] [CrossRef]
  10. Talbi, E.G. Machine Learning into Metaheuristics: A Survey and Taxonomy. ACM Comput. Surv. (CSUR) 2021, 54, 1–32. [Google Scholar] [CrossRef]
  11. Calvet, L.; de Armas, J.; Masip, D.; Juan, A.A. Learnheuristics: Hybridizing metaheuristics with machine learning for optimization with dynamic inputs. Open Math. 2017, 15, 261–280. [Google Scholar] [CrossRef]
  12. Crawford, B.; Soto, R.; Astorga, G.; García, J.; Castro, C.; Paredes, F. Putting continuous metaheuristics to work in binary search spaces. Complexity 2017, 2017, 8404231. [Google Scholar] [CrossRef]
  13. García, J.; Astorga, G.; Yepes, V. An analysis of a KNN perturbation operator: An application to the binarization of continuous metaheuristics. Mathematics 2021, 9, 225. [Google Scholar] [CrossRef]
  14. García, J.; Martí, J.V.; Yepes, V. The buttressed walls problem: An application of a hybrid clustering particle swarm optimization algorithm. Mathematics 2020, 8, 862. [Google Scholar] [CrossRef]
  15. García, J.; Crawford, B.; Soto, R.; Castro, C.; Paredes, F. A k-means binarization framework applied to multidimensional knapsack problem. Appl. Intell. 2018, 48, 357–380. [Google Scholar] [CrossRef]
  16. Mirjalili, S. SCA: A sine cosine algorithm for solving optimization problems. Knowl.-Based Syst. 2016, 96, 120–133. [Google Scholar] [CrossRef]
  17. Yang, X.S.; Deb, S. Engineering optimisation by cuckoo search. Int. J. Math. Model. Numer. Optim. 2010, 1, 330–343. [Google Scholar] [CrossRef]
  18. Lai, X.; Hao, J.K.; Yue, D. Two-stage solution-based tabu search for the multidemand multidimensional knapsack problem. Eur. J. Oper. Res. 2019, 274, 35–48. [Google Scholar] [CrossRef]
  19. Song, M.S.; Emerick, B.; Lu, Y.; Vasko, F.J. When to use Integer Programming Software to solve large multi-demand multidimensional knapsack problems: A guide for operations research practitioners. Eng. Optim. 2022, 54, 894–906. [Google Scholar] [CrossRef]
  20. Cappanera, P.; Trubian, M. A local-search-based heuristic for the demand-constrained multidimensional knapsack problem. Informs J. Comput. 2005, 17, 82–98. [Google Scholar] [CrossRef] [Green Version]
  21. Arntzen, H.; Hvattum, L.M.; Løkketangen, A. Adaptive memory search for multidemand multidimensional knapsack problems. Comput. Oper. Res. 2006, 33, 2508–2525. [Google Scholar] [CrossRef]
  22. Gortazar, F.; Duarte, A.; Laguna, M.; Martí, R. Black box scatter search for general classes of binary optimization problems. Comput. Oper. Res. 2010, 37, 1977–1986. [Google Scholar] [CrossRef]
  23. Cappanera, P.; Gallo, G.; Maffioli, F. Discrete facility location and routing of obnoxious activities. Discret. Appl. Math. 2003, 133, 3–28. [Google Scholar] [CrossRef]
  24. Beaujon, G.J.; Marin, S.P.; McDonald, G.C. Balancing and optimizing a portfolio of R&D projects. Nav. Res. Logist. (NRL) 2001, 48, 18–40. [Google Scholar]
  25. Wilcoxon, F. Individual comparisons by ranking methods. In Breakthroughs in Statistics; Springer: New York, NY, USA, 1992; pp. 196–202. [Google Scholar]
  26. Lam, S.K.; Pitrou, A.; Seibert, S. Numba: A llvm-based python jit compiler. In Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, Austin, TX, USA, 15 November 2015; pp. 1–6. [Google Scholar]
  27. García, J.; Moraga, P.; Valenzuela, M.; Pinto, H. A db-scan hybrid algorithm: An application to the multidimensional knapsack problem. Mathematics 2020, 8, 507. [Google Scholar] [CrossRef]
  28. Valenzuela, M.; Peña, A.; Lopez, L.; Pinto, H. A binary multi-verse optimizer algorithm applied to the set covering problem. In Proceedings of the 2017 4th International Conference on Systems and Informatics (ICSAI), Hangzhou, China, 11–13 November 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 513–518. [Google Scholar]
  29. García, J.; Lalla Ruiz, E.; Voß, S.; Lopez Droguett, E. Enhancing a machine learning binarization framework by perturbation operators: Analysis on the multidimensional knapsack problem. Int. J. Mach. Learn. Cybern. 2020, 11, 1951–1970. [Google Scholar] [CrossRef]
Figure 1. The proposed machine learning swarm intelligence algorithm.
Figure 1. The proposed machine learning swarm intelligence algorithm.
Mathematics 10 03183 g001
Figure 2. Average, best, and worst values box plots for 100 easy instance results of Random, Percentile, and k-means algorithms.
Figure 2. Average, best, and worst values box plots for 100 easy instance results of Random, Percentile, and k-means algorithms.
Mathematics 10 03183 g002
Figure 3. LSO and WLSO Convergence average chart for 100-5-2-0-2 and 100-5-2-1-0 instances.
Figure 3. LSO and WLSO Convergence average chart for 100-5-2-0-2 and 100-5-2-1-0 instances.
Mathematics 10 03183 g003
Figure 4. Average and best values box plots for 250 instance and cuckoo search algorithm results of Random, Percentile, and K-means algorithms.
Figure 4. Average and best values box plots for 250 instance and cuckoo search algorithm results of Random, Percentile, and K-means algorithms.
Mathematics 10 03183 g004
Figure 5. Average and best values box plots for 100-30 instance and sine-cosine algorithm results of Random, Percentile, and K-means algorithms.
Figure 5. Average and best values box plots for 100-30 instance and sine-cosine algorithm results of Random, Percentile, and K-means algorithms.
Mathematics 10 03183 g005
Figure 6. Average and best values box plots for 500-30-30 instance and cuckoo search algorithm results of Random, Percentile, and k-means algorithms.
Figure 6. Average and best values box plots for 500-30-30 instance and cuckoo search algorithm results of Random, Percentile, and k-means algorithms.
Mathematics 10 03183 g006
Table 1. Setting binarization parameters for CS and SCA.
Table 1. Setting binarization parameters for CS and SCA.
ParameterDescriptionUsed ValueExplored Range
PParticle number5[5, 10, 20]
KNumber of groups5[4, 5, 6]
ISwarm iterations800[600, 800, 1000, 1200]
LLocal search iterations2000[1000, 2000, 4000]
Table 2. Comparison between with and without a local search operator for the sine-cosine algorithm.
Table 2. Comparison between with and without a local search operator for the sine-cosine algorithm.
LSOWLSO
InstanceBest KnownBestAvg.WorstStd.Time(s)BestAvg.WorstStd.Time(s)
100-5-2-0-028,38428,38428,330.828,22349.42.728,33028,312.128,18552.12.4
100-5-2-0-126,38626,38626,335.626,19670.92.526,31826,307.326,18275.42.1
100-5-2-0-223,48423,48423,484.023,4840.01.523,48423,48423,4840.02.7
100-5-2-0-327,37427,37427,301.127,26720.61.927,29827,264.627,15418.42.3
100-5-2-0-430,63230,63230,619.230,59416.62.730,63230,597.430,50524.22.4
100-5-2-0-544,67444,61444,589.244,52631.63.344,59344,543.144,35137.83.1
100-5-2-1-010,37910,36410,286.610,24928.62.810,36410,253.210,23232.14.1
100-5-2-1-111,11411,11411,114.011,1140.01.011,11411,11411,1140.00.9
100-5-2-1-210,12410,0849998.09939373.610,0669956.4987041.23.8
100-5-2-1-310,56710,56710,561.710,5593.82.010,55910,541.310,48714.51.6
100-5-2-1-410,65810,54710,523.510,48517.42.210,52210,512.110,46623.72.1
100-5-2-1-517,55017,54517,520.317,47019.43.117,54517,503.617,42524.62.9
100-5-5-0-021,89221,89221,886.921,74027.82.221,89221,832.121,64257.32.1
100-5-5-0-126,28026,28026,280.026,2800.01.126,28026,237.226,15221.51.5
100-5-5-0-220,62820,62820,628.020,6280.00.620,62820,601.520,58412.51.1
100-5-5-0-321,54721,54721,536.321,51911.03.521,52621,494.221,44828.72.8
100-5-5-0-425,07425,07425,067.925,0672.43.425,06725,045.124,95711.32.6
100-5-5-0-540,32740,32740,258.940,17536.54.140,29940,206.339,94753.23.6
100-5-5-1-010,26310,26310,221.710,14839.82.410,26310,113.1992956.72.3
100-5-5-1-110,62510,62510,625.010,6250.01.110,62510,51710,46321.51.8
100-5-5-1-210,19810,12610,084.210,00345.22.710,12610,055.5995154.72.4
100-5-5-1-310,03099989921.6988048.42.198809805.1975567.82.3
100-5-5-1-4996498389817.3978020.73.198099790.8974122.52.8
100-5-5-1-515,60315,60315,580.715,52319.92.915,60315,557.315,48223.13.0
100-10-5-0-021,85221,79121,721.521,71519.62.421,73621,683.221,62820.52.3
100-10-5-0-120,64520,59320,422.320,25673.24.520,59320,364.720,21189.23.9
100-10-5-0-219,51719,51719,402.119,26289.03.019,51719,317.619,17495.32.7
100-10-5-0-320,59620,51920,450.020,35641.33.720,49120,414.620,33244.53.6
100-10-5-0-419,42319,26419,155.919,00367.33.919,26419,122.818,95075.43.8
100-10-5-0-535,93335,85935,642.635,51782.75.335,72735,594.335,44574.34.5
100-10-5-1-010,01810,0189881.4978965.93.399559798.1974969.23.2
100-10-5-1-1983998399709.8967851.82.398399701.3965262.82.4
100-10-5-1-210,00097269613.4951655.42.996729601.1947882.52.8
100-10-5-1-310,54410,54410,468.010,38859.83.610,54410,453.210,30666.83.4
100-10-5-1-410,01110,0119871.7973948.62.899049822.4969954.32.7
100-10-5-1-516,23016,19616,051.015,93880.14.416,08416,034.715,860101.34.1
100-10-10-0-022,05422,05421,943.121,84155.55.221,95221,922.421,82458.64.8
100-10-10-0-120,10320,10320,103.020,1030.01.220,10320,00919,94748.61.1
100-10-10-0-219,38119,38119,238.819,11290.05.619,38119,201.419,030104.54.5
100-10-10-0-317,43417,43417,386.217,37221.53.817,43417,324.917,25645.63.9
100-10-10-0-418,79218,79218,704.118,62550.74.218,71618,632.518,46451.54.1
100-10-10-0-533,83733,74033,701.533,64234.65.233,74033,672.333,59643.75.0
100-10-10-1-0856085608420.1830568.63.784758363.0810966.33.9
100-10-10-1-1849384938491.284399.92.684938464.8830024.52.3
100-10-10-1-2926692669231.5915726.13.892669202.8901041.23.6
100-10-10-1-3982398239809.6962251.03.498239721.4960274.83.1
100-10-10-1-4892989298919.4881226.73.788728843.2877138.43.5
100-10-10-1-514,15214,15114,102.914,05426.44.414,15114,083.113,95435.24.3
average18,10818,08118,021.117,95236.33.118,05317,979.617,87146.83.0
p-value 1.2 × 10 4 2.6 × 10 4 1.7 × 10 5
Table 3. Comparison between Random, Percentile and K-means binarization methods for 250 instances and cuckoo search algorithm. The Bold represent the best result obtained when comparing the three algorithms.
Table 3. Comparison between Random, Percentile and K-means binarization methods for 250 instances and cuckoo search algorithm. The Bold represent the best result obtained when comparing the three algorithms.
Instance RandomPercentilek-Means
Best KnownBestAverageWorstStd.Time(s)BestAverageWorstStd.Time(s)BestAverageWorstStd.Time(s)
250-5-2-0-078,48677,89677,598.977,014225.716.878,16677,986.877,727123.420.8878,27978,091.777,94182.523.2
250-5-2-0-175,13274,65873,966.972,845390.616.874,88774,587.473,929237.121.9674,98974,689.674,228193.421.4
250-5-2-0-271,00370,11269,40468,02443219.670,60270,281.669,808225.521.8470,69870,489.470,166134.324
250-5-2-0-380,31180,01479,862.679,67182.216.580,14579,953.979,84065.211.5280,16579,979.279,87561.817.5
250-5-2-0-470,93570,61370,458.770,24490.314.070,81470,575.270,41191.713.870,75770,601.470,51850.528
250-5-2-0-5130,981129,154128,414.9127,313474.233.3129,883128,713128,006463.824.36129,883129,090.3128,10038627.5
250-5-2-1-026,66626,36126,270.726,1486221.626,44626,325.226,24847.616.0826,46526,360.726,30143.415.8
250-5-2-1-126,86426,61926,505.726,41148.118.826,70026,556.126,44751.414.6426,66126,565.226,5013814
250-5-2-1-227,28027,01826,91426,81553.219.927,13126,966.126,85460.913.4427,15226,992.526,88857.616
250-5-2-1-326,26926,00825,888.825,78655.721.826,05625,91525,83254.411.7626,01925,941.725,85346.216.7
250-5-2-1-427,29327,02326,948.326,87740.421.327,12227,005.726,88562.315.3627,12127,016.926,95046.417.7
250-5-2-1-544,39544,19244,054.643,86568.723.844,20344,081.143,94472.715.7244,21944,122.244,01448.321.2
250-5-5-0-068,02667,97767,859.167,69364.329.168,02467,907.967,79451.618.7267,99267,917.867,83738.823.4
250-5-5-0-160,79560,50660,314.459,993106.830.260,53560,391.360,1409223.1660,56660,45360,11391.726.9
250-5-5-0-262,09362,05461,933.761,76956.527.462,05161,957.861,89243.915.4862,05161,979.761,91941.619.5
250-5-5-0-366,56766,45566,322.766,15082.127.466,47566,37166,29551.319.5666,51266,401.566,32744.622.1
250-5-5-0-461,92961,90061,810.161,69045.123.561,88361,831.761,7584018.2461,88361,828.461,7633615.1
250-5-5-0-5127,934127,573127,136.1126,43335238.6127,749127,394.1126,920235.629.16127,843127,528.8127,21115237.4
250-5-5-1-026,97326,73526,583.826,47163.219.626,73126,597.626,48054.912.2426,75526,628.726,52651.226.6
250-5-5-1-126,66526,41526,220.125,99884.924.426,37626,237.126,13663.51826,40026,269.826,1676416.5
250-5-5-1-226,64826,40526,135.426,00481.821.026,32426,167.526,05267.714.0426,31026,182.326,10351.317
250-5-5-1-325,92325,58525,418.125,32463.621.825,60225,442.225,33460.41525,54425,437.825,33553.823.1
250-5-5-1-426,06025,72225,55325,41676.622.125,67025,563.825,4695117.5225,71725,585.325,46458.517.7
250-5-5-1-541,37240,87840,712.140,62849.327.440,94040,765.740,64074.620.6441,02440,784.540,63983.323.7
250-10-5-0-056,30655,65555,321.654,974188.334.455,98955,593.855,20617844.2855,98955,574.454,95021134.2
250-10-5-0-159,61959,49859,182.558,93211838.459,35959,227.559,07667.128.259,52059,267.759,14184.827.8
250-10-5-0-254,89854,39854,094.753,651194.440.354,62054,250.853,834166.630.654,52554,27753,948132.932.9
250-10-5-0-352,39951,87351,57451,191180.837.851,88251,662.251,43495.627.4851,91251,745.151,53999.735.9
250-10-5-0-458,23457,56156,984.156,528282.938.657,47057,209.456,781102.429.6457,69457,365.457,038139.532.4
250-10-5-0-599,68299,00298,572.498,139232.745.499,05298,751.398,424145.636.2499,07498,761.898,421148.542.4
250-10-5-1-026,96126,53326,401.226,26167.930.026,63026,449.426,33069.118.9626,56026,436.726,34346.923.4
250-10-5-1-126,65826,34626,170.726,06863.627.426,37326,227.726,1096422.3226,29926,213.626,10649.825
250-10-5-1-225,73725,35725,138.524,97386.727.225,29025,153.825,04473.12125,40325,176.725,07266.723.2
250-10-5-1-327,16226,84226,637.826,52674.628.326,84726,672.326,56169.71826,85626,706.626,61054.426.9
250-10-5-1-426,81626,48526,313.126,15964.625.226,48226,350.326,25454.117.426,49526,378.826,28260.617.3
250-10-5-1-546,24445,93645,79845,55877.633.646,01245,825.645,70060.318.9646,01245,829.845,74565.925.8
250-10-10-0-052,44152,05451,866.951,67198.543.452,26352,000.551,76392.327.8452,26351,978.551,82266.737
250-10-10-0-153,74553,47453,363.753,2525737.253,58753,384.253,29561.424.2453,61053,405.953,30562.937.9
250-10-10-0-246,92746,55146,326.246,16379.337.846,50646,360.446,20776.226.1646,54546,422.646,29171.931.7
250-10-10-0-354,83154,59254,384.954,17696.241.454,67654,481.754,34373.829.0454,59854,492.254,36367.138.8
250-10-10-0-449,67549,44249,230.948,963105.738.649,35649,259.248,98171.828.9249,41949,287.549,18855.656.8
250-10-10-0-592,97592,55992,374.192,024131.551.592,67692,461.592,28064.528.5692,65892,526.392,38466.452.2
250-10-10-1-026,69626,44726,300.926,18867.628.326,53726,31526,17569.920.426,53726,318.726,21660.926.9
250-10-10-1-125,87625,54325,336.925,18585.431.925,56425,388.525,26569.918.9625,62725,431.125,31770.627.5
250-10-10-1-226,51726,13425,975.725,88367.128.026,27126,02625,89276.523.7626,19226,049.125,84880.427.8
250-10-10-1-326,68426,27126,006.925,81693.333.626,25826,041.625,87991.619.9226,25126,113.826,00564.421.3
250-10-10-1-426,67626,24526,123.525,97174.929.726,35826,17026,01781.321.2426,46726,233.926,09979.727.7
250-10-10-1-542,62942,24841,888.941,688142.537.242,09341,939.841,82376.230.4842,12241,940.541,7779533.5
Average49,853.949,477.549,242.848,969.2122.529.249,555.549,349.549,156.593.621.649,575.749,393.249,219.882.426.6
p-value 3.1 × 10 5 7.4 × 10 6 8.3 × 10 6 1.5 × 10 4 2.6 × 10 4 4.4 × 10 4
Table 4. Comparison between Random, Percentile and K-means binarization methods for 100-30-30 instances and sine-cosine algorithm.
Table 4. Comparison between Random, Percentile and K-means binarization methods for 100-30-30 instances and sine-cosine algorithm.
Instance RandomPercentileK-Means
Best KnownBestAverageWorstStd.Time(s)BestAverageWorstStd.Time(s)BestAverageWorstStd.Time(s)
100-30-30-0-2-111,31210,76210,497.310,310130.610.210,83210,622.310,447.0141.611.811,038.010,696.010,447.0177.915.4
100-30-30-0-2-2994599459845.0978575.68.099459867.79785.078.610.09945.09941.09905.012.216.2
100-30-30-0-2-311,19510,43710,392.710,051116.513.310,49410,440.810,437.014.314.210,494.010,438.910,437.010.48.6
100-30-30-0-2-411,32410,42610,319.810,16260.410.810,55710,363.910,182.089.719.010,778.010,466.410,325.0102.913.3
100-30-30-0-2-5970497049354.28943317.012.797049684.99131.0103.719.79704.09704.09704.00.010.7
100-30-30-0-2-623,29622,50422,297.222,131114.511.922,70522,427.222,170.0170.016.122,705.022,439.522,186.0115.616.9
100-30-30-0-2-722,44221,89021,491.321,232128.813.221,78021,514.021,343.0107.513.521,784.021,604.521,462.092.717.6
100-30-30-0-2-823,45222,77822,655.322,49787.312.922,90822,694.122,515.093.317.222,908.022,724.822,562.087.312.1
100-30-30-0-2-922,75622,34821,736.821,523175.415.022,49121,846.821,631.0210.721.122,500.021,942.121,620.0210.020.6
100-30-30-0-2-1024,37124,04223,613.223,447133.011.424,04223,707.623,482.0132.517.624,135.023,750.923,528.0142.717.1
100-30-30-0-2-1133,47233,47233,472.033,4720.022.533,47233,472.033,4720.023.333,472.033,472.033,472.00.018.2
100-30-30-0-2-1232,67032,20032,031.331,959112.34.932,20032,035.431,763.0123.55.532,200.032,068.531,959.0114.14.6
100-30-30-0-2-1332,94232,22832,015.631,931103.313.232,94232,106.031,931.0198.916.532,942.032,199.931,942.0167.519.3
100-30-30-0-2-1435,10634,82334,615.234,505105.813.934,82334,689.834,511.0103.016.734,986.034,780.834,572.0117.013.7
100-30-30-0-2-1530,93030,45630,445.130,29241.63.130,55530,472.530,456.037.26.030,678.030,532.930,456.075.111.4
100-30-30-1-5-1534051584560.94168243.18.651584760.14270.0236.710.75158.04863.84636.0204.710.9
100-30-30-1-5-2439041143859.73337273.67.741493923.93337.0256.59.34149.04038.73623.0170.414.6
100-30-30-1-5-3422742273201.52877213.613.142273298.43165.0203.416.74227.03706.93256.0406.816.8
100-30-30-1-5-4470641664030.33620173.514.341664108.23961.064.011.04407.04156.64103.072.813.1
100-30-30-1-5-5259725972522.32373107.48.425972597.025970.09.92597.02589.52373.040.96.6
100-30-30-1-5-610,80810,1459433.89069236.612.710,1459506.79069.0241.620.610,021.09593.99341.0141.215.4
100-30-30-1-5-7980789898608.58201194.612.193198731.08440.0217.816.09319.08712.18354.0219.416.3
100-30-30-1-5-810,88210,3149928.89369301.212.110,34610,071.29680.0235.818.610,499.010,167.79709.0227.413.8
100-30-30-1-5-910,59595158961.48437311.013.792568994.58583.0230.517.29256.09100.48765.0175.016.1
100-30-30-1-5-1010,29791558961.68693116.711.991318961.68656.0126.819.59293.09038.08819.0133.116.5
100-30-30-1-5-1111,02911,02911,029.011,0290.029.011,02911,029.011,0290.024.011,029.011,029.011,029.00.014.9
100-30-30-1-5-1211,88411,29611,045.510,859128.210.611,36011,174.911,044.097.817.611,681.011,273.511,213.0119.015.2
100-30-30-1-5-1310,75110,43110,039.79668199.311.010,59010,157.19732.0142.615.810,751.010,273.110,126.0172.213.6
100-30-30-1-5-1411,56710,99810,537.210,156170.812.710,84710,594.510,453.0119.016.710,998.010,635.410,453.0130.713.1
100-30-30-1-5-1510,67110,3519932.59836177.49.910,35110,135.89843.0202.218.910,351.010,238.89843.0179.213.4
Average15,482.315,01714,714.514,464.4151.612.215,07114,799.614,570.5132.615.715,13414,872.714,674.0127.314.2
p-value 0.0022 3.79 × 10 6 8.29 × 10 6 0.0028 8.07 × 10 6 0.00078
Table 5. Comparison between Random, Percentile and K-means binarization methods for 500-30-30 instances and cuckoo search algorithm.
Table 5. Comparison between Random, Percentile and K-means binarization methods for 500-30-30 instances and cuckoo search algorithm.
Instance RandomPercentileK-Means
Best KnownBestAvg.WorstStd.Time(s)BestAvg.WorstStd.Time(s)BestAvg.WorstStd.Time(s)
500-30-30-0-2-185,18884,38583,947.183,507200.0303.084,24384,038.583,619143.6434.784,56884,144.383,895158.0415.4
500-30-30-0-2-282,07381,45680,874.180,437223.9322.681,38981,001.280,642160.8407.881,57081,169.680,905128.0427.2
500-30-30-0-2-377,39376,12975,733.975,324192.4310.576,30775,888.575,446177.2341.476,40176,039.575,835140.0417.7
500-30-30-0-2-482,30481,44380,987.580,632206.6323.381,52181,122.280,876135.4447.581,60681,272.481,11699.3379.0
500-30-30-0-2-583,52582,52282,210.981,735217.5318.982,73582,296.981,790207.2231.582,72682,472.682,236153.0506.7
500-30-30-0-2-6145,967144,894144,456.1144,039176.9355.5145,003144,574.5144,349141.3468.8145,021144,704.7144,550150.8413.0
500-30-30-0-2-7152,246151,089150,828.8150,517129.9360.4151,294150,988.7150,739150.6462.3151,270151,100.1150,797149.7528.4
500-30-30-0-2-8157,687156,563156,330.4156,016160.0440.6156,910156,512.7156,163160.6474.7156,908156,609.3156,402157.3769.0
500-30-30-0-2-9153,751152,662152,315.0151,890180.6497.1152,722152,441.0152,208128.2448.5152,763152,548.7152,313125.4376.9
500-30-30-0-2-10142,173141,133140,774.3140,468177.9427.7141,249140,918.4140,627135.5525.1141,218140,954.3140,673163.4538.9
500-30-30-0-2-11185,226184,201183,909.4183,603144.5290.8184,394183,970.4183,701150.5333.7184,139184,025.8183,88375.1376.6
500-30-30-0-2-12194,614193,704193,295.5193,042138.5296.3193,736193,371.2193,169153.4339.8193,852193,444.4193,277154.6427.1
500-30-30-0-2-13208,246207,702207,150.9206,869150.2218.7207,404207,176.6206,873138.1364.4207,537207,300.3207,123124.2424.0
500-30-30-0-2-14215,849214,953214,679.9214,368128.0268.0215,146214,760.2214,546132.5361.7214,973214,755.6214,598117.2385.7
500-30-30-0-2-15194,224193,261192,910.8192,625164.7309.3193,501193,015.5192,792152.7325.4193,354193,089.9192,822127.0342.2
500-30-30-1-5-151,66650,23749,965.649,721152.1291.550,35750,065.749,836139.9307.950,54350,148.449,996155.9260.5
500-30-30-1-5-250,10148,77848,263.647,970200.6307.848,90748,442.848,180170.5314.348,71948,463.048,267151.3366.8
500-30-30-1-5-351,22649,54349,059.448,749239.5322.449,81549,219.548,856226.0341.549,93949,369.549,226116.3336.7
500-30-30-1-5-451,63750,43650,105.649,790159.4304.850,79550,222.849,963193.5325.250,80650,312.250,068144.9330.9
500-30-30-1-5-552,07850,86150,574.950,164183.6313.150,90750,637.950,244141.9370.851,09750,777.250,567147.6318.6
500-30-30-1-5-684,05282,81082,423.682,072186.3436.982,93482,578.382,285201.6396.583,27482,715.382,417148.8421.3
500-30-30-1-5-782,85081,60681,178.980,754192.8391.781,59581,272.080,966179.7423.081,64681,380.781,188148.6531.0
500-30-30-1-5-882,72281,64681,178.680,860208.7380.781,64981,292.281,015173.8450.681,76781,395.581,157174.4550.5
500-30-30-1-5-982,82581,35580,795.380,486201.2410.881,33180,954.080,584179.5485.481,49481,119.080,862149.5475.0
500-30-30-1-5-1082,84581,61081,023.780,646202.5417.681,48981,113.080,802182.8480.781,72481,196.680,991183.2509.3
500-30-30-1-5-1188,88787,74987,475.787,265114.8313.387,89987,594.287,237161.9293.088,05987,648.887,384145.0309.6
500-30-30-1-5-1287,25486,26885,952.685,642124.0329.286,43586,026.285,823147.1376.486,26686,168.286,06582.0433.4
500-30-30-1-5-1387,31586,38686,179.985,950112.3303.486,21386,230.686,099199.0821.286,48186,285.886,099102.1393.9
500-30-30-1-5-1487,58386,47986,269.286,065104.3269.786,58086,383.486,179113.2373.686,62986,453.586,27898.2291.6
500-30-30-1-5-1587,95687,18186,886.286,600131.2332.387,38986,991.886,702142.0255.687,37587,018.886,802148.2339.7
Average109,049107,968107,591.3107,260170.2338.9108,062107,703.4107,410160.7399.4108,124107,802.8107,593137.3419.9
p-value 2.6 × 10 5 1.7 × 10 6 2.5 × 10 6 0.03 1.9 × 10 6 1.7 × 10 6
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

García, J.; Moraga, P.; Crawford, B.; Soto, R.; Pinto, H. Binarization Technique Comparisons of Swarm Intelligence Algorithm: An Application to the Multi-Demand Multidimensional Knapsack Problem. Mathematics 2022, 10, 3183. https://doi.org/10.3390/math10173183

AMA Style

García J, Moraga P, Crawford B, Soto R, Pinto H. Binarization Technique Comparisons of Swarm Intelligence Algorithm: An Application to the Multi-Demand Multidimensional Knapsack Problem. Mathematics. 2022; 10(17):3183. https://doi.org/10.3390/math10173183

Chicago/Turabian Style

García, José, Paola Moraga, Broderick Crawford, Ricardo Soto, and Hernan Pinto. 2022. "Binarization Technique Comparisons of Swarm Intelligence Algorithm: An Application to the Multi-Demand Multidimensional Knapsack Problem" Mathematics 10, no. 17: 3183. https://doi.org/10.3390/math10173183

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop