Next Article in Journal
Delays in Plant Virus Models and Their Stability
Next Article in Special Issue
Genetic Mean Reversion Strategy for Online Portfolio Selection with Transaction Costs
Previous Article in Journal
Optimality and Duality for DC Programming with DC Inequality and DC Equality Constraints
Previous Article in Special Issue
Search Graph Magnification in Rapid Mixing of Markov Chains Associated with the Local Search-Based Metaheuristics
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Memetic Algorithm with a Novel Repair Heuristic for the Multiple-Choice Multidimensional Knapsack Problem

1
Samsung Electronics, 129 Samsung-ro, Yeongtong-gu, Suwon-si 16677, Korea
2
School of Software, Kwangwoon University, 20 Kwangwoon-ro, Nowon-gu, Seoul 01897, Korea
3
Department of Cell and Regenerative Biology, School of Medicine and Public Health, University of Wisconsin-Madison, 1111 Highland Ave., Madison, WI 53705, USA
4
Department of Computer Engineering, College of Information Technology, Gachon University, 1342 Seongnamdaero, Sujeong-gu, Seongnam-si 13120, Korea
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(4), 602; https://doi.org/10.3390/math10040602
Submission received: 14 January 2022 / Revised: 7 February 2022 / Accepted: 14 February 2022 / Published: 16 February 2022
(This article belongs to the Special Issue Swarm and Evolutionary Computation—Bridging Theory and Practice)

Abstract

:
We propose a memetic algorithm for the multiple-choice multidimensional knapsack problem (MMKP). In this study, we focus on finding good solutions for the MMKP instances, for which feasible solutions rarely exist. To find good feasible solutions, we introduce a novel repair heuristic based on the tendency function and a genetic search for the function approximation. Even when the density of feasible solutions over the entire solution space is very low, the proposed repair heuristic could successfully change infeasible solutions into feasible ones. Based on the proposed repair heuristic and effective local search, we designed a memetic algorithm that performs well on problem instances with a low density of feasible solutions. By performing experiments, we could show the superiority of our method compared with previous genetic algorithms.

1. Introduction

The 0–1 knapsack problem (KP) aims to pick up items for a knapsack to maximize the profit sum of the selected items, as long as the weight sum of the selected items does not exceed the weight capacity b of the knapsack. In formal notation, the KP aims to maximize i = 1 n v i x i subject to i = 1 n w i x i b , where n is the number of items, v i is the profit of the i-th item, w i is the weight of the i-th item and x i { 0 , 1 } . The multiple-choice multidimensional knapsack problem (MMKP) is a variant of the knapsack problem with multiple capacity constraints and multiple-choice conditions [1]. In MMKP, there are n classes of items. For class i, there are r i items, and each item j has a non-negative profit value of v i j , a non-negative weight vector of w i j = ( w i j 1 , w i j 2 , , w i j m ) , and b k is the k-th weight capacity of the knapsack ( k = 1 , 2 , , m ), where m is the number of capacity constraints. The formal definition of the MMKP is described as follows [1]:
maximize i = 1 n j = 1 r i v i j x i j subject to i = 1 n j = 1 r i w i j k x i j b k for k { 1 , 2 , , m } , j = 1 r i x i j = 1 for i { 1 , 2 , , n } , and x i j { 0 , 1 } for i { 1 , 2 , , n } and j { 1 , 2 , , r i } .
In the MMKP, only one item can be selected from each class. When the j-th item in the i-th class is added to the knapsack, x i j becomes 1, and for the other j’s, x i j is 0. The objective of the MMKP is to maximize the profit sum of the selected items satisfying the capacity constraints. The MMKP has various real-world applications such as the redundancy allocation problem for series-parallel systems [2], quality adaptation and admission control in multimedia services [3], quality-of-service problem for systems that must satisfy multiple requirements [4], and joint resource allocation and routing scheme in networks with cooperative relays [5,6]. A large number of other resource allocation problems can also be transformed into MMKPs. The readers can refer to [7] for more details.
The MMKP is NP-hard in the strong sense [8]. Therefore, it is not easy to develop efficient algorithms for the MMKP. Many studies have been proposed to solve the MMKP. Moser et al. [8] first proposed a heuristic algorithm for the MMKP, which is based on Lagrangian relaxation [9,10]. Toyoda [11] proposed a method based on the concept of the aggregate necessary resource for the multidimensional knapsack problem (MKP), and Khan et al. [3] proposed its improved variant for the MMKP. Chefi and Hifi proposed a column generation algorithm to solve the MMKP in [12], and they also proposed three hybrid heuristic algorithms for relatively large-scale MMKP instances in [13]. Akbar et al. [14] proposed a heuristic that constructs convex hulls to reduce the search space. Sbihi [15] proposed an exact algorithm for the MMKP, which adopted a branch-and-bound procedure and best-first search strategy. Parra-Hernandez and Dimopoulos [7] extended the idea of their heuristic approach for the MKP to the MMKP. Over the last 10 years, studies of the MMKP have focused on iterative heuristics [16,17,18,19], branch-and-bound methods [20,21], Lagrangian relaxation [22,23,24], linear programming relaxation [25], reformulation/reduction [25,26,27,28], Pareto-algebraic heuristics [20,29], approximate core [30], core-based exact algorithm [31], two-phase kernel search [32], meta-heuristics such as genetic algorithm [33], swarm intelligence [23,34,35,36,37], estimation of distribution algorithm [38], simulated annealing [39], tabu search [40], etc.
When the constraints of the MMKP are strong, it is very hard to even find feasible solutions. For these kinds of problems to which feasible solutions that satisfy the constraints are difficult to find, applying repair methods can be effective.
Repair methods generally mean strategies that change infeasible solutions into feasible ones under evolutionary computation frameworks. There have been many studies related to various repair strategies [41,42,43,44,45]. In this study, a novel repair heuristic based on the tendency function and an effective memetic algorithm (a memetic algorithm is an extension of the traditional genetic algorithm using a local search technique [46]) are proposed for the MMKP. We propose a repair heuristic that uses a genetic algorithm which differs from a memetic algorithm for solving MMKP and the tendency function. The tendency function is a function specifically designed to suit the characteristics of MMKP for the proposed repair heuristic, and it is defined as one of the main parts of our repair heuristic. It is used for transforming infeasible solutions into feasible ones, and uses tendency parameters to analyze the solution space of the given instance. A genetic algorithm is adopted to attain optimal tendency parameters. Our memetic algorithm combined with the repair heuristic searches both the feasible solution space and the infeasible one. Experimental results demonstrate that our memetic approach performs better than previous genetic algorithms.
The remainder of this paper is organized as follows. Section 2 presents related work based on genetic algorithms. We propose the tendency function and a repair heuristic derived from it in Section 3. Section 4 describes our memetic algorithm combined with the repair heuristic. Experimental results are given in Section 5. Finally, conclusions are presented in Section 6.

2. Related Work

Parra-Hernandez and Dimopoulos [7] insisted that most heuristic algorithms, Lagrangian relaxation, branch-and-bound methods, and guided local searches for the MMKP have two defects: first, when the constraints of the MMKP are relatively strong, heuristic algorithms easily return local optima and may occasionally not find feasible solutions; second, the time costs needed by these algorithms are quite large.
In this study, we focused on the first problem. A genetic algorithm (GA) [47], which is a global search method based on natural selection, can effectively escape local optima. There have been many GAs for the KP and MKP but only three studies for the MMKP. Liu [48] proposed a simple GA for the MMKP, Rasmy et al. [34] applied various mutation operators over a simple GA, and Zhou and Luo [49] proposed a GA based on multiple populations (MPGA). The above GAs attempted to find good feasible solutions that satisfied the constraints of the MMKP [7]. However, GAs can only find good feasible solutions when the constraints of the MMKP are weak. The MPGA attempted to resolve this problem through multiple populations, which consists of separate populations of feasible solutions and infeasible ones. This could find good feasible solutions even under strong MMKP constraints.
In this paper, the tendency function, repair heuristic, and memetic algorithm are introduced to solve the MMKP. Our repair heuristic searches the solution space and then finds appropriate repair rules for transforming infeasible solutions to feasible ones. Our memetic algorithm attempts to improve the quality of feasible solutions using a repair heuristic. In the next section, the tendency function and repair heuristic derived from the function are described in detail.

3. Design of a Repair Heuristic Algorithm

3.1. Tendency Function and Repair Heuristic Algorithm

We present a constructive procedure (CP) to find a feasible solution for the MMKP which considers the violating amount Δ w k . The initial solution is generated by choosing the most valuable item from each class. The solution is selected considering no constraints, so it can be infeasible. That is, for some ks, the constraint i = 1 n j = 1 r i w i j k x i j b k may not be satisfied. Δ w k means the violating amount of the k-th constraint, i = 1 n j = 1 r i w i j k x i j b k . The procedure attempts to reduce Δ w k by changing an item in the most suitable dimension k [1]. If Δ w k is negative or equal to zero for every k, the solution is feasible. CP is described by the steps of Algorithm 1 [7]. This greedy procedure attempts to repair the most violated dimension k 0 which makes Δ w k the largest.
In general, CP finds a feasible solution when the density of the feasible solution is high (Figure 1), but it tends to suffer when the solution space is randomly created and there is no tendency, which means that the density of the feasible solutions is very low. Hence, we designed a more sophisticated repair heuristic using a new tendency utility function concept. Instead of focusing on the most violated dimension, this method tries to find the most suitable class and item to change. Suppose that there is such a function that tells us which class and item pair has the largest tendency to make an given solution feasible when the solution is changed with them. We devised a kind of function, the tendency utility function described in Algorithm 2. It has six parameters which in this study are referred to as tendency parameters. Tendency parameters can be considered as the weights of changing the status of the dimension and the tendency utility can be considered as the weighted sum of these tendency parameters. It is assumed that the appropriate values of tendency parameters are previously determined before calculating the value of the tendency utility function. We cannot just obtain the appropriate values of tendency parameters without analysis, so we also designed a genetic algorithm for finding the appropriate values of tendency parameters. This genetic algorithm is different from a memetic algorithm for solving the MMKP, which is subsequently described in Section 4.
Using tendency utility function and tendency parameters, we designed a repair heuristic based on the tendency function (RHTF). Algorithm 3 shows the steps of the RHTF. If appropriate values for tendency parameters are previously obtained and the corresponding tendency utility function is well defined, RHTF attempts to maximize the tendency utility by changing an item. This process is repeatedly applied to attain a feasible solution. A high tendency utility increases the probability of success in repairing infeasible solutions. RHTF repeatedly applies the tendency function described in Algorithm 3 to attain a feasible solution. The tendency function is also used to define a fitness function in our genetic approximation of the tendency function and works as a repair method in our memetic algorithm.
Algorithm 1 The constructive procedure (CP) for finding a feasible solution.
  • procedureCP(an instance of the MMKP)
  •     for  i 1 , 2 , , n  do
  •          v i max { v i j for j = 1 , 2 , , r i } ;
  •          S i j i ;
  •          ϕ [ i ] j i ; x i ϕ [ i ] 1 ;
  •          w k i = 1 n w i ϕ [ i ] k for k = 1 , 2 , , m                                                         ▹ w k :
  • the accumulated resources for constraint k
  •     end for
  •      S ( S 1 , S 2 , , S n ) ;
  •     while  w k > b k for k = 1 , 2 , , m do                                    ▹ destructive phase
  •          k 0 a r g m a x 1 k m { w k } ;
  •          i 0 a r g m a x 1 i n { w i j i k 0 } ;
  •          ϕ [ i 0 ] j i o ; x i 0 ϕ [ i 0 ] 0 ;
  •          w k w k w i 0 ϕ [ i 0 ] k for  k = 1 , 2 , , m ;
  •         for  j 1 , 2 , , r i 0 do                                                         ▹ constructive phase
  •            if  j j i 0 and  w k + w i 0 j k < b k for  k = 1 , 2 , , m  then
  •                 j i 0 j ; ϕ [ i 0 ] j i 0 ; x i 0 j 1 ;
  •                 w k w k + w i 0 j k for  k = 1 , 2 , , m ;
  •                 S ( ϕ [ i 0 ] ; ϕ [ i ] , i i 0 , i = 1 , 2 , , n ) ;
  •                if the obtained solution S is feasible then return S;
  •                end if
  •            end if
  •         end for
  •          j i 0 a r g m i n 1 j r i 0 { w i 0 j k 0 } ;
  •         if the obtained solution S is infeasible then
  •             j i 0 j i 0 ; ϕ [ i 0 ] j i 0 ; x i 0 ϕ [ i 0 ] 1 ;
  •         end if
  •     end while
  •     return S;
  • end procedure
Algorithm 2 Tendency parameters and tendency utility function.
  • structure TendencyParameter { integer m m i , m m d , p p i , p p d , m p , p m ; }
  • procedureTendencyUtility(TendencyParameter t p , chromosome s, class c, item r)
  •      c u r s [ c ] ;                                                                                                                        ▹ current item
  •      r e s ← 0;
  •     for each dimension k ( k = 1 , 2 , , m )  do
  •          Δ w c , c u r b k w c , c u r k ; Δ w c , r b k w c , r k ;
  •         case ( Δ w c , c u r < 0 Δ w c , r < 0 Δ w c , c u r Δ w c , r )
  •                r e s r e s + t p . m m i  × | Δ w c , c u r Δ w c , r |;
  •         case ( Δ w c , c u r < 0 Δ w c , r < 0 Δ w c , c u r < Δ w c , r )
  •                r e s r e s + t p . m m d  × | Δ w c , c u r Δ w c , r |;
  •         case ( Δ w c , c u r > 0 Δ w c , r > 0 Δ w c , c u r Δ w c , r )
  •                r e s r e s + t p . p p i  × | Δ w c , c u r Δ w c , r |;
  •         case ( Δ w c , c u r > 0 Δ w c , r > 0 Δ w c , c u r < Δ w c , r )
  •                r e s r e s + t p . p p d  × | Δ w c , c u r Δ w c , r |;
  •         case ( Δ w c , c u r < 0 Δ w c , r > 0 ) r e s r e s + t p . m p  × | Δ w c , c u r Δ w c , r |;
  •         case ( Δ w c , c u r > 0 Δ w c , r < 0 ) r e s r e s + t p . p m  × | Δ w c , c u r Δ w c , r |;
  •     end for
  •     return  r e s ;
  • end procedure
Algorithm 3 The procedure for repairing an infeasible solution with the tendency function: RHTF.
  • procedureRHTF(TendencyParameter t p , chromosome s)
  •     while stop condition is met do
  •         Tendency( t p ,s);
  •         if s is feasible then return s;
  •         end if
  •     end while
  • end procedure
  • procedureTendency(TendencyParameter t p , chromosome s)
  •     if s is infeasible then
  •          ( c m a x , r m a x ) a r g m a x ( 1 c n , 1 r r c ) { TendencyUtility ( t p , s , c , r ) } ;
  •                                            ▹ Change an item in s that makes the tendency utility the best.
  •          s [ c m a x ] r m a x ;
  •     end if
  •     return s;
  • end procedure

3.2. Genetic Approximation of Tendency Function

A genetic approximation of the tendency function (GATF) was designed to provide the optimal tendency parameters to RHTF, which searches the repair rules to find feasible solutions. The GATF provides optimal tendency parameters to the tendency utility function described in the above subsection and our memetic algorithm, which is described later. It uses the RHTF to define a fitness function for optimizing the tendency parameters. We describe the proposed GATF in Algorithm 4.
Algorithm 4 The pseudo-code of our genetic approximation of the tendency function: GATF.
  • procedureGATF(given solution s)
  •     Randomly create initial population for tendency parameters;
  •     while stop condition is met do
  •         Choose  p a r e n t 1  and  p a r e n t 2  from population by proportional selection;
  •         Make offspring by recombining p a r e n t 1 and p a r e n t 2 using uniform crossover;
  •         Mutate offspring by swapping randomly chosen two genes;
  •         Get the feasibility of offspring from RHTF(offspring, given solution s) in Algorithm 3;
  •         Replace an individual in the population with offspring;
  •     end while
  • end procedure
  • Representation: we represent a solution using a six-integer array since the objective of GATF is to find the appropriate values of six tendency parameters. Array cells correspond to m m i , m m d , p p i , p p d , m p , and p m , which are the members of tendency parameters in Algorithm 2.
  • Crossover: we used a uniform crossover method [50]. Each member of the tendency parameters is completely independent, and hence, the crossover is performed regardless of gene positions.
  • Mutation: Two randomly chosen genes among the six genes are swapped.
  • Fitness: we determine the fitness of a chromosome by examining the degree of changing infeasible solutions to feasible ones by applying the RHTF using the tendency parameters, which are the values of the given chromosome. For a chromosome, we set its fitness value to the repair success rate ( i . e . , # s u c c e s s # t r i a l s ) .

4. Memetic Algorithm for the MMKP

In this section, we propose a memetic algorithm for the MMKP (MAMMKP). Algorithm 5 shows the template of our memetic algorithm.
Algorithm 5 The pseudo-code of our memetic algorithm for the MMKP: MAMMKP.
  • procedureMAMMKP
  •     Randomly create initial population;
  •     while stop condition is met do
  •         Choose  p a r e n t 1  and  p a r e n t 2  from population by proportional selection;
  •         Make offspring by recombining p a r e n t 1 and p a r e n t 2 using multi-cut circular crossover;
  •         Mutate offspring by changing randomly chosen t genes;
  •         Repair offspring using GATF(offspring) in Algorithm 4;
  •         Locally optimize offspring by a variant 3-Opt;
  •         Replace an individual in the population with offspring;
  •     end while
  • end procedure

4.1. Local Optimization

MAMMKP uses a variant of 3-Opt [51] for optimizing feasible solutions. In the MMKP, there are n classes and for each class i, there are r i possible choices of items. Let x be a feasible solution and I s be an index of selected item of x in class s. This means that x s I s = 1 and x s j = 0 for j I s . The local optimization algorithm considers all three-class combinations out of n classes. For a three-class combination ( s , t , u ) , the local optimization verifies all possible combinations of items for these three classes, leaving the items of the other classes as they are in the original feasible solution x . After all the possible combinations are verified, the best solution among them is recorded. The verification is performed for all three-class combinations, the best three-class combination ( s 0 , t 0 , u 0 ) is chosen, and the items of these three classes I s 0 , I t 0 , and I u 0 are replaced by the best values. After determining the optimal values of I s 0 , I t 0 , and I u 0 , the algorithm considers three-class combinations out of the remaining classes except ( s 0 , t 0 , u 0 ) again. This process continues until there are no more than three classes left to consider.
Although the proposed local optimization algorithm considers three-class combinations, better solutions can be obtained by considering four-class combinations or five-class combinations. The more combinations are considered, the more areas of the solution space are searched, and consequently, the probability of finding better solutions increases. However, verifying all the possible four-class or five-class combinations takes an excessive amount of time. The complexity of the proposed 3-Opt local optimization process has an upper bound O ( n 3 × r 3 × n 3 ) , where r is the maximum of the r i ’s, since there are n 3 three-class combinations, each of which has at most r 3 alternative choices, and the number of iterations is less than n 3 . Similarly, the upper bound of the complexity of the 4-Opt local optimization is O ( n 4 × r 4 × n 4 ) , and it is too costly. Hence, we adopted 3-Opt local optimization in this study, considering the balance between time and solution quality.

4.2. Genetic Framework

  • Representation: a solution is represented by a length-n integer array. The i-th gene means the index of the i-th class item.
  • Crossover: a simple multi-cut circular crossover is adopted.
  • Mutation: t genes are randomly changed. The value of t is limited to five or less.
  • Repair: we presented a repair heuristic with a tendency function approximated by GATF in Section 3. We repair infeasible solutions using the proposed repair heuristic.
  • Fitness: if a given solution is feasible, its fitness value is obtained by computing the objective value of the MMKP. However, if a feasible solution is not obtained from the repair heuristic, the fitness value is set to 1 m k = 1 m w k b k , where m is the number of constraints, and w k indicates the weight sum of the selected items on the k-th resource constraint. Unlike the previous method [49], in the case of a violation, we made the fitness value negative. As this method, strategies to give penalty to infeasible solutions have generally been used to deal with infeasible solutions in GAs [52,53,54]. The method makes the fitness value of an infeasible solution always smaller than the fitness value of a feasible one. According to the proposed fitness function, the greater the number of violated constraints is and the greater the degree of violation is, the smaller the fitness value is. This increases the probability of selecting a feasible solution with a positive fitness value and reduces the probability of selecting an infeasible solution with a negative fitness value. By doing this, we can maintain consistency that the solution with a larger fitness value is always superior to that with a smaller fitness value. This method is also useful for dealing with two different kinds of solutions (feasible solutions and infeasible ones) in a population.
  • Replacement: RHTF is most likely to find feasible solutions from infeasible ones even if the density of feasible solutions is very low. However, as shown in Figure 2, the success rate decreases as the density of feasible solutions decreases. When the RHTF fails to repair infeasible solutions, GATF attempts to transform infeasible solutions into feasible ones. Zhou [49] and Htiouech et al. [17] demonstrated that searching both feasible and infeasible solution spaces is necessary for the global optimum. In addition, we do not remove infeasible solutions from the population. Instead of a multi-population, we use the fitness value for a single population that we previously introduced. Therefore, the population is only changed by the fitness values, regardless of the feasibility of the solutions. This is possible because the fitness values of infeasible solutions are always negative. However, if the whole population is filled with feasible solutions, the memetic algorithm may lose the possibility of the performance improvement with the help of infeasible solutions, as we can see in the previous method [49]. To avoid premature convergence, we used a generational GA. The remaining 70% of individuals in the population, except for the top 30%, were replaced with new solutions. By this replacement, the memetic algorithm can avoid falling into local optima.

5. Experiments

5.1. Experimental Settings

For performance comparison, we tested all the problem instances used in [49]. These are three difficult test instances of mknapcb7, mknapcb8, and mknapcb9 provided by the OR library [55]. We conducted experiments with various constraint strength values [7] from 0.72 to 0.90. First, we investigated the density of feasible solutions by counting the number of feasible solutions among 10 6 randomly generated solutions. Figure 2 shows the results for the problem instance mknapcb8. The smaller the constraint strength value is, the lower the density of feasible solutions. If the f value (constraint strength) is smaller than 0.83, the probability that a given solution is feasible becomes almost zero.
Second, we compared the performances of CP and RHTF by counting the number of cases in which infeasible solutions are changed to feasible ones among 10,000 trials. However, we note that the input of CP was originally the set of the most valuable items in the classes; however, in this MMKP instance, the values are not concerned with weights. Therefore, we input randomly created infeasible solutions. Figure 1 shows the results for the problem instance mknapcb8. In this figure, we can see that the proposed repair heuristic based on the tendency function (RHTF) performs better than the CP. In particular, when the f value is smaller than 0.8, the CP rarely finds feasible solutions, while RHTF performs well, showing relatively high success rates.
The population size and the number of generations in our GA for the approximation of the tendency function (GATF) were set to 30 and 300, respectively. In the GA, the number of feasible solutions for obtaining the fitness of a solution (tendency parameter) was set to 30. The maximum number of iterations of the tendency function in the RHTF was also set to 30.
Our code is written in C++ and ran on Linux Ubuntu 18.04.6 using the CPU of AMD Ryzen Threadripper 2990WX (32-Core) Processor 3.0 GHz and the memory of 64 GB.

5.2. Performance of the RHTF

The results comparing the CP and RHTF is given in Figure 1. This shows that the RHTF is more powerful than the CP in almost all fs. When the density of feasible solutions is below 3%, the CP fails but RHTF creates feasible solutions with a success rate of approximately 95%. Even when the density of feasible solutions is extremely low (f is 0.75 ), RHTF transforms infeasible solutions into feasible ones with a success rate of nearly 40%.

5.3. Performance of the MAMMKP

We compared MAMMKP with three state-of-the-art methods, HMMKP, LGA, and MPGA, previously proposed in other studies. The experimental results of HMMKP, LGA, and MPGA are obtained from [7,48,49], respectively. In MAMMKP, the population size and number of generations were set to 200 and 500, respectively. MAMMKP terminates when 70% of the top 30% of individuals in the population are the same. For each test instance, three or four different values of f were set—where f represents the constraint strength [7].
The experimental results are given in Table 1, Table 2 and Table 3. Among the results of HMMKP, LGA, and MPGA marked “N/A”, this indicates that the corresponding experiment was not tested in previous studies and has no results. Among the previous three methods, HMMKP, LGA, and MPGA, MPGA had the best performance. The average results of MPGA were better than the results of HMMKP. From the results of these tables, it is also observed that MAMMKP outperformed HMMKP for all test cases. This means that MAMMKP showed a better performance than HMMKP, regardless of the number of classes, the number of dimensions, and f values. MAMMKP also showed better results than LGA and MPGA in the minimum and average values for all test cases. In particular, it showed f values of 0.75 and 0.73 on mknapcb8 and mknapcb9, respectively, which are the most difficult test cases in our experiments; thus, MAMMKP showed better results than MPGA in terms of the minimum, average, and maximum values. Furthermore, on mknapcb9 with an f value of 0.72, MPGA could not find feasible solutions, while MAMMKP always obtained feasible ones. We also conducted t-tests to compare the performances of MAMMKP and MPGA. The average results for the problem instance mknapcb7, mknapcb8, and mknapcb9 have p-values of 4.56 × 10 5 , 1.28 × 10 6 , and 4.11 × 10 8 , respectively, by the t-tests. That is, the performance of MAMMKP is significantly better than that of MPGA for the three problem instances. It is also observed that the p-value decreases as the instance number increases. This means that the more difficult the problem is, the better the performance of the MAMMKP compared to the MPGA is.

6. Concluding Remarks

When there is no concern between THE value and weight in the MMKP, it becomes a very difficult NP-hard problem. However, even on a random solution space, we could show that some repair rules for finding feasible solutions do exist. We could also demonstrate that the proposed method performed well not only in terms of finding the global optimum but also in adapting to the (feasible) solution space. We showed that our single-population GA (MAMMKP) successfully simulated the multi-population GA (MPGA) of [49] and MAMMKP performed better than MPGA.
In this study, a repair heuristic based on a tendency function was designed with human experience through experiments based on genetic algorithms. To improve the tendency function, it would be valuable to gather more information for finding repair rules from not only human experience but also analyzing the MMKP raw dataset. We left the study for designing a more sophisticated tendency function to future work. We also expect that some advanced techniques related to genetic algorithms, such as normalization based on gene similarity [56] and the basis change of binary encoding [57,58], can be adopted to solve this problem.

Author Contributions

Conceptualization, Y.Y.; methodology, J.Y.; software, J.Y.; validation, J.Y., Y.-H.K. and Y.Y.; formal analysis, Y.Y.; investigation, J.Y.; resources, Y.Y.; data curation, J.Y.; writing—original draft preparation, J.Y.; writing—review and editing, Y.-H.K. and Y.Y.; supervision, Y.Y.; project administration, Y.-H.K.; funding acquisition, Y.-H.K. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korean government (Ministry of Science and ICT) (No. 2017R1C1B1010768 and No. 2021R1F1A1048466).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are openly available in the OR library [55].

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hifi, M.; Michrafy, M.; Sbihi, A. Heuristic algorithms for the multiple-choice multidimensional knapsack problem. J. Oper. Res. Soc. 2004, 55, 1323–1332. [Google Scholar] [CrossRef]
  2. Caserta, M.; Voß, S. An exact algorithm for the reliability redundancy allocation problem. Eur. J. Oper. Res. 2015, 244, 110–116. [Google Scholar] [CrossRef]
  3. Khan, S.; Li, K.F.; Manning, E.; Akbar, M. Solving the knapsack problem for adaptive multimedia systems. Stud. Inform. Univ. 2002, 2, 157–178. [Google Scholar]
  4. Lee, D.; Siewiorek, D. An Approach for Quality of Service Management. Technical Report. Available online: http://reports-archive.adm.cs.cmu.edu/anon/1998/CMU-CS-98-165R.pdf (accessed on 15 March 2020).
  5. Shabany, M.; Sousa, E. Joint rate allocation and routing scheme in multihop cellular CDMA networks. In Proceedings of the 9th International Symposium on Computers and Communications, Alexandria, Egypt, 28 June–1 July 2004; Volume 1, pp. 442–447. [Google Scholar]
  6. Hwang, H.Y.; Lee, H.; Roh, B.; Kim, S. Joint resource allocation, routing and CAC for uplink OFDMA networks with cooperative relaying. Wirel. Netw. 2016, 22, 1493–1503. [Google Scholar] [CrossRef]
  7. Parra-Hernandez, R.; Dimopoulos, N. A new heuristic for solving the multichoice multidimensional knapsack problem. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 2005, 35, 708–717. [Google Scholar] [CrossRef]
  8. Moser, M.; Jokanovic, D.; Shiratori, N. An algorithm for the multidimensional multiple-choice knapsack problem. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 1997, 80, 582–589. [Google Scholar]
  9. Yoon, Y.; Kim, Y.H.; Moon, B.R. A theoretical and empirical investigation on the Lagrangian capacities of the 0-1 multidimensional knapsack problem. Eur. J. Oper. Res. 2012, 218, 366–376. [Google Scholar] [CrossRef]
  10. Yoon, Y.; Kim, Y.H. A memetic Lagrangian heuristic for the 0-1 multidimensional knapsack problem. Discret. Dyn. Nat. Soc. 2013, 2013, 474852. [Google Scholar] [CrossRef]
  11. Toyoda, Y. A simplified algorithm for obtaining approximate solutions to zero-one programming problems. Manag. Sci. 1975, 21, 1417–1427. [Google Scholar] [CrossRef]
  12. Cherfi, N.; Hifi, M. A column generation method for the multiple-choice multi-dimensional knapsack problem. Comput. Optim. Appl. 2010, 46, 51–73. [Google Scholar] [CrossRef]
  13. Cherfi, N.; Hifi, M. Hybrid algorithms for the multiple-choice multi-dimensional knapsack problem. Int. J. Oper. Res. 2009, 5, 89–109. [Google Scholar] [CrossRef]
  14. Akbar, M.M.; Sohel Rahman, M.; Kaykobad, M.; Manning, E.; Shoja, G. Solving the multidimensional multiple-choice knapsack problem by constructing convex hulls. Comput. Oper. Res. 2006, 33, 1259–1273. [Google Scholar] [CrossRef] [Green Version]
  15. Sbihi, A. A best first search exact algorithm for the multiple-choice multidimensional knapsack problem. J. Comb. Optim. 2007, 13, 337–351. [Google Scholar] [CrossRef] [Green Version]
  16. Crévits, I.; Hanafi, S.; Mansi, R.; Wilbaut, C. Iterative semi-continuous relaxation heuristics for the multiple-choice multidimensional knapsack problem. Comput. Oper. Res. 2012, 39, 32–41. [Google Scholar] [CrossRef]
  17. Htiouech, S.; Bouamama, S.; Attia, R. Using surrogate information to solve the multidimensional multi-choice knapsack problem. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC), Cancun, Mexico, 20–23 June 2013; pp. 2102–2107. [Google Scholar]
  18. Xia, Y.; Gao, C.; Li, J. A stochastic local search heuristic for the multidimensional multiple-choice knapsack problem. In Proceedings of the 10th International Conference on Bio-Inspired Computing—Theories and Applications (BIC-TA), Hefei, China, 25–28 September 2015; Communications in Computer and Information Science Book Series (CCIS). Volume 562, pp. 513–522. [Google Scholar]
  19. Gao, C.; Lu, G.; Yao, X.; Li, J. An iterative pseudo-gap enumeration approach for the multidimensional multiple-choice knapsack problem. Eur. J. Oper. Res. 2017, 260, 1–11. [Google Scholar] [CrossRef]
  20. Zennaki, M. A new hybrid algorithm for the multiple-choice multi-dimensional knapsack problem. WSEAS Trans. Inf. Sci. Appl. 2013, 10, 219–229. [Google Scholar]
  21. Ghassemi-Tari, F.; Hendizadeh, H.; Hogg, G.L. Exact solution algorithms for multi-dimensional multiple-choice knapsack problems. Curr. J. Appl. Sci. Technol. 2018, 26, 1–21. [Google Scholar] [CrossRef]
  22. Hifi, M.; Wu, L. An equivalent model for exactly solving the multiple-choice multidimensional knapsack problem. Int. J. Comb. Optim. Probl. Inform. 2012, 3, 43–58. [Google Scholar]
  23. Ren, Z.; Feng, Z.; Zhang, A. Fusing ant colony optimization with Lagrangian relaxation for the multiple-choice multidimensional knapsack problem. Inf. Sci. 2012, 182, 15–29. [Google Scholar] [CrossRef]
  24. Hifi, M.; Wu, L. Lagrangian heuristic-based neighbourhood search for the multiple-choice multi-dimensional knapsack problem. Eng. Optim. 2015, 47, 1619–1636. [Google Scholar] [CrossRef]
  25. Mansi, R.; Alves, C.; de Carvalho, J.M.V.; Hanafi, S. A hybrid heuristic for the multiple choice multidimensional knapsack problem. Eng. Optim. 2013, 45, 983–1004. [Google Scholar] [CrossRef]
  26. Chen, Y.; Hao, J.K. A “reduce and solve” approach for the multiple-choice multidimensional knapsack problem. Eur. J. Oper. Res. 2014, 239, 313–322. [Google Scholar] [CrossRef] [Green Version]
  27. Voß, S.; Lalla-Ruiz, E. A set partitioning reformulation for the multiple-choice multidimensional knapsack problem. Eng. Optim. 2016, 48, 831–850. [Google Scholar] [CrossRef]
  28. Caserta, M.; Voß, S. The robust multiple-choice multidimensional knapsack problem. Omega 2019, 86, 16–27. [Google Scholar] [CrossRef]
  29. Shojaei, H.; Basten, T.; Geilen, M.; Davoodi, A. A fast and scalable multidimensional multiple-choice knapsack heuristic. ACM Trans. Des. Autom. Electron. Syst. 2013, 18, 51. [Google Scholar] [CrossRef]
  30. Ghasemi, T.; Razzazi, M. Development of core to solve the multidimensional multiple-choice knapsack problem. Comput. Ind. Eng. 2011, 60, 349–360. [Google Scholar] [CrossRef]
  31. Mansini, R.; Zanotti, R. A core-based exact algorithm for the multidimensional multiple choice knapsack problem. INFORMS J. Comput. 2020, 32, 1061–1079. [Google Scholar] [CrossRef]
  32. Lamanna, L.; Mansini, R.; Zanotti, R. A two-phase kernel search variant for the multidimensional multiple-choice knapsack problem. Eur. J. Oper. Res. 2022, 297, 53–65. [Google Scholar] [CrossRef]
  33. Syarif, A.; Anggraini, D.; Muludi, K.; Wamiliana, W.; Gen, M. Comparing various genetic algorithm approaches for multiple-choice multi-dimensional knapsack problem (mm-KP). Int. J. Intell. Eng. Syst. 2020, 13, 455–462. [Google Scholar] [CrossRef]
  34. Rasmy, M.H.; El-Beltagy, M.A.; Tharwat, A.A.; Heikal, A.F. A comparative study on the performance of genetic algorithm, artificial immune system and hybrid intelligent approach to multiple-choice multidimensional knapsack problem. In Proceedings of the 8th International Conference on Informatics and Systems (INFOS), Giza, Egypt, 14–16 May 2012; pp. 20–26. [Google Scholar]
  35. Zyma, K.; Lu, Y.; Vasko, F.J. Teacher training enhances the teaching-learning-based optimisation metaheuristic when used to solve multiple-choice multidimensional knapsack problems. Int. J. Metaheuristics 2015, 4, 268–293. [Google Scholar] [CrossRef]
  36. Vasko, F.J.; Lu, Y.; Zyma, K. An empirical study of population-based metaheuristics for the multiple-choice multidimensional knapsack problem. Int. J. Metaheuristics 2016, 5, 193–225. [Google Scholar] [CrossRef]
  37. Mkaouar, A.; Htiouech, S.; Chabchoub, H. Solving the multiple choice multidimensional knapsack problem with ABC algorithm. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC), Glasgow, UK, 19–24 July 2020; pp. 1–6. [Google Scholar]
  38. Yang, T.; Zhang, L.; Hong, Z. Distributed estimation algorithm for multi-dimensional multi-choice knapsack problem. J. Syst. Simul. 2017, 29, 3123. [Google Scholar] [CrossRef]
  39. Shah, S. Simulated Annealing Algorithm for the Multiple Choice Multidimensional Knapsack Problem. OSF Prepr. 2021. [Google Scholar] [CrossRef]
  40. Hiremath, C.S.; Hill, R.R. First-level tabu search approach for solving the multiple-choice multidimensional knapsack problem. Int. J. Metaheuristics 2013, 2, 174–199. [Google Scholar] [CrossRef]
  41. Zhang, X.; Luo, W. Evolutionary repair for evolutionary design of combinational logic circuits. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC), Brisbane, Australia, 10–15 June 2012; pp. 1–8. [Google Scholar]
  42. Xu, P.; Luo, W.; Lin, X.; Qiao, Y. Evolutionary continuous constrained optimization using random direction repair. Inf. Sci. 2021, 566, 80–102. [Google Scholar] [CrossRef]
  43. Samanipour, F.; Jelovica, J. Adaptive repair method for constraint handling in multi-objective genetic algorithm based on relationship between constraints and variables. Appl. Soft Comput. 2020, 90, 106143. [Google Scholar] [CrossRef]
  44. Guo, M.; Xin, B.; Chen, J.; Wang, Y. Multi-agent coalition formation by an efficient genetic algorithm with heuristic initialization and repair strategy. Swarm Evol. Comput. 2020, 55, 100686. [Google Scholar] [CrossRef]
  45. Bidabadi, N. Using a repair genetic algorithm for solving constrained nonlinear optimization problems. J. Inf. Optim. Sci. 2018, 39, 1647–1663. [Google Scholar] [CrossRef]
  46. Yoon, Y.; Kim, Y.H. Maximizing the coverage of sensor deployments using a memetic algorithm and fast coverage estimation. IEEE Trans. Cybern. 2021. [Google Scholar] [CrossRef]
  47. Kim, Y.H.; Yoon, Y.; Geem, Z.W. A comparison study of harmony search and genetic algorithm for the max-cut problem. Swarm Evol. Comput. 2019, 44, 130–135. [Google Scholar] [CrossRef]
  48. Liu, B. Evolutionary Algorithms for the Multiple-Choice Multidimensional 0-1 Knapsack Problem. Undergraduate Thesis, School of Computer Science and Technology, University of Science and Technology of China, Hefei, China, 2008. (In Chinese). [Google Scholar]
  49. Zhou, Q.; Luo, W. A novel multi-population genetic algorithm for multiple-choice multidimensional knapsack problems. In Proceedings of the International Symposium on Intelligence Computation and Applications, Wuhan, China, 22–24 October 2010; pp. 148–157. [Google Scholar]
  50. Syswerda, G. Uniform Crossover in Genetic Algorithms. In Proceedings of the 3rd International Conference on Genetic Algorithms, Washington, DC, USA, 4–7 June 1989; pp. 2–9. [Google Scholar]
  51. Mahi, M.; Baykan, Ö.K.; Kodaz, H. A new hybrid method based on particle swarm optimization, ant colony optimization and 3-Opt algorithms for traveling salesman problem. Appl. Soft Comput. 2015, 30, 484–490. [Google Scholar] [CrossRef]
  52. Deb, K.; Agrawal, S. A Niched-Penalty Approach for Constraint Handling in Genetic Algorithms. In Proceedings of the International Conference in Artificial Neural Nets and Genetic Algorithms, Portorož, Slovenia, 1999; Springer: Berlin/Heidelberg, Germany, 1999; pp. 235–243. [Google Scholar]
  53. Yeniay, O. Penalty function methods for constrained optimization with genetic algorithms. Math. Comput. Appl. 2005, 10, 45–56. [Google Scholar] [CrossRef] [Green Version]
  54. Lin, C.H. A rough penalty genetic algorithm for constrained optimization. Inf. Sci. 2013, 241, 119–137. [Google Scholar] [CrossRef]
  55. Beasley, J.E. OR-Library: Distributing test problems by electronic mail. J. Oper. Res. Soc. 1990, 41, 1069–1072. [Google Scholar] [CrossRef]
  56. Yoon, Y.; Kim, Y.H. Gene-similarity normalization in a genetic algorithm for the maximum k-coverage problem. Mathematics 2020, 8, 513. [Google Scholar] [CrossRef] [Green Version]
  57. Lee, J.; Kim, Y.H. Epistasis-based basis estimation method for simplifying the problem space of an evolutionary search in binary representation. Complexity 2019, 2019, 2095167. [Google Scholar] [CrossRef]
  58. Kim, Y.H.; Yoon, Y.; Kim, Y.H. Towards a better basis search through a surrogate model-based epistasis minimization for pseudo-Boolean optimization. Mathematics 2020, 8, 1287. [Google Scholar] [CrossRef]
Figure 1. Generating feasible solutions from the CP and RHTF on the problem instance mknapcb8. The X axis denotes the f value (constraint strength), and the Y axis represents the number of success cases among 10,000 trials.
Figure 1. Generating feasible solutions from the CP and RHTF on the problem instance mknapcb8. The X axis denotes the f value (constraint strength), and the Y axis represents the number of success cases among 10,000 trials.
Mathematics 10 00602 g001
Figure 2. Density of feasible solutions over the entire solution space on the problem instance mknapcb8. The X axis denotes the f value (constraint strength) and the Y axis represents the number of feasible solutions among 10 6 random solutions.
Figure 2. Density of feasible solutions over the entire solution space on the problem instance mknapcb8. The X axis denotes the f value (constraint strength) and the Y axis represents the number of feasible solutions among 10 6 random solutions.
Mathematics 10 00602 g002
Table 1. Experimental results on the problem instance mknapcb7.
Table 1. Experimental results on the problem instance mknapcb7.
fTest SetHMMKP [7]LGA [48]MPGA [49]MAMMKP
MaxAveMinMaxAveMinMaxAveMinCPU *
0.90017,51018,62718,535.818,52418,62718,549.118,52418,62718,627.018,6278
117,94818,08118,077.017,98118,08118081.018,08118,08118,081.018,081
217,04917,68817,688.017,68817,68817,688.017,68817,68817,688.017,688
317,83317,93517,935.017,93517,93517,935.017,93517,93517,935.017,935
417,31518,55018,532.818,48318,55018,548.718,48318,55018,550.018,550
518,31818,70718,639.318,60818,70718,705.118,61418,70718,707.018,707
618,04518,14118,135.818,10718,14118,140.618,11918,14118,141.018,141
717,30118,12218,122.018,12218,12218,122.018,12218,12218,122.018,122
817,56318,88118,821.918,79918,88118,869.118,80318,88118,881.018,881
916,69117,28617,263.717,18417,28617,239.117,18417,28617,286.017,286
0.84015,61717,44717,396.317,33517,48217,443.117,35117,48217,478.517,44727
115,95117,02517,008.816,85517,12017,026.917,02517,12017,063.017,025
214,08016,65516,473.416,29216,65516,607.816,42116,65516,655.016,655
314,87616,98616913.916,80517,04116,991.516,84617,04117,041.017,041
415,59517,53117,531.017,53117,53117,531.017,53117,53117,531.017,531
515,79117,74217,664.017,54617,74217,671.617,60217,74217,723.817,716
615,48417,40817,323.017,25017,42517,394.917,38517,42517,425.017,425
714,96316,83716782.516,69216,98516,855.916,77416,98516,985.016,985
816,16017,76317,751.917,62517,76317,759.517,61617,76317,763.017,763
913,09816,32516,235.116,13116,32516,323.616,28916,32516,316.416,254
0.800N/A15,59715,333.514,94615,79915,559.615,40415,79915,680.015,68061
115,81615,599.415,48815,78315,724.615,66515,81615,775.215,735
215,46914,954.514,69815,50315,410.314,95115,50315,496.215,469
315,86915,722.615,38115,86915,822.315,70916,01516,015.016,015
416,30016,211.915,69416,30016,300.016,30016,30016,300.016,300
516,74216,535.416,42516,74216,742.016,74216,74216,742.016,742
616,04515,889.715,70016,40116,088.815,96616,40116,151.816,045
715,02914,883.514,70115,29015,015.014,83615,29015,169.215,029
816,56416,511.016,40116,56416,559.916,54116,56416,564.016,564
914,86314,732.814,56715,03314,862.114,77215,03314,994.114,863
* Average CPU seconds on each run.
Table 2. Experimental results for the problem instance mknapcb8.
Table 2. Experimental results for the problem instance mknapcb8.
fTest SetHMMKP [7]LGA [48]MPGA [49]MAMMKP
MaxAveMinMaxAveMinMaxAveMinCPU *
0.90045,49345,98245,981.045,93145,98245,982.045,98245,98245,982.045,98227
147,13047,29147,278.447,23447,29147,291.047,29147,29147,291.047,291
245,39045,67345,643.045,59645,67345,658.645,61645,67345,673.045,673
345,81045,80645,804.245,80445,81045,808.045,80445,81045,810.045,810
445,27045,36145,334.345,29545,36145,358.845,31745,39045,390.045,390
546,61146,61146,611.046,61146,61146,611.046,61146,61146,611.046,611
646,06446,37546,375.046,37546,37546,375.046,37546,37546,375.046,375
745,45046,49145,472.245,45945,49145,486.145,45945,49145,491.045,491
847,15647,15947,159.047,15947,15947,159.047,15947,15947,159.047,159
945,85946,14946,148.646,13946,14946,148.846,13946,14946,149.046,149
0.80038,52343,23042,980.042,70643,48743,209.942,87243,53043,460.243,394356
141,18544,69644,459.944,26144,84344,629.944,45044,90444,838.644,779
241,25943,23742,938.442,66643,36543,108.342,80643,38843,365.143,290
340,06642,82542,545.942,34343,01142,778.742,51343,11443,001.642,926
438,26243,12442,898.342,68843,30843,040.242,72643,36843,368.043,368
539,67043,27742,949.042,60043,48643,258.242,99343,51043,462.543,298
638,54743,67543,415.643,08843,79943,574.643,33043,82343,798.943,750
739,44542,21841,987.741,60342,52042,225.241,95742,52942,458.542,321
840,95444,48544,173.543,95544,71344,446.444,00644,71444,644.044,603
939,83443,42643,132.142,69343,58243,380.243,06243,61843,535.743,489
0.750N/A38,14937,576.936,89538,93338,391.637,51939,17139,160.838,9671251
139,72038,732.837,57240,10539,704.138,94640,33440,197.139,960
239,00038,208.337,68739,14738,798.038,39239,27139,207.439,204
338,43537,873.537,34938,82638,442.938,01338,90538,754.238,573
438,50837,850.337,05938,50838,728.038,20139,43839,205.639,019
537,44436,264.835,15637,82937,003.035,77738,09037,683.937,254
637,53636,587.935,35638,47537,592.236,74738,70638,339.838,016
737,83337,464.837,05438,32237,925.237,63238,32438,184.338,096
838,91038,009.436,87439,64738,911.938,24039,69539,287.439,014
936,93636,112.435,36337,38036,745.535,68937,63237,215.536,966
* Average CPU seconds on each run.
Table 3. Experimental results for the problem instance mknapcb9.
Table 3. Experimental results for the problem instance mknapcb9.
fTest SetHMMKP [7]LGA [48]MPGA [49]MAMMKP
MaxAveMinMaxAveMinMaxAveMinCPU *
0.90092,02192,02592,025.092,02592,02592,025.092,02592,03192,031.092,031409
192,37192,37192,371.092,37192,37192,371.092,37192,37192,371.092,371
293,39693,39693,391.993,38493,39693,395.893,38793,39693,396.093,396
391,81591,81591807.491,79891,81691,813.391,80091,81691,816.091,816
493,31793,31793,317.093,31793,31793,317.093,31793,31793,317.093,317
591,54791,55191,550.491,54791,55191,550.491,54991,55391,553.091,553
691,48091,48091,480.091,48091,48091,480.091,48091,48091,480.091,480
791,67291,68191,657.091,64591,68191,662.891,64691,68191,681.091,681
893,14993,14993,149.093,14993,14993,149.093,14993,14993,149.093,149
993,52893,53193,530.093,50793,53193,531.093,53193,53193,531.093,531
0.75074,92782,74281,578.780,68183,26882,676.581,83883,54083,404.483,2611004
173,57080,12578,947.177,71581,22280,528.579,79181,64681,263.081,022
274,73981,49380,523.379,45882,81581,928.080,75683,14982,961.082,796
369,81380,28879,201.777,91681,67280,910.280,14181,92781,751.481,571
474,32382,54981,187.480,02883,57282,779.481,71984,12183,703.683,423
574,30381,63480,940.379,89282,81582,049.281,23783,04582,761.282,539
672,01878,65877,265.075,91779,76078,902.277,99080,03779,658.379,372
773,77779,23578,178.477,11580,49379,865.279,05581,05280,700.480,480
874,37680,71779,827.078,84081,97081,262.580,55782,32682,111.381,899
973,49681,87780,893.479,51483,23682,535.481,53683,67683,458.883,154
0.730N/A77,44375,357.073,68178,58477,801.976,72579,00878,453.076,2411078
173,19771,614.370,36374,87773,897.272,80374,96874,156.573,926
275,73136,528.3076,90475,552.873,67577,08276,109.572,681
373,32271,832.470,02475,33574,259.572,44075,59075,184.674,469
476,38275,142.774,05578,38977,104.675,91478,56778,235.877,888
576,11774,812.372,61878,31477,110.275,70978,51677,980.777,536
671,82067,155.3073,17571,956.269,99273,52372,753.369,997
772,64371,172.768,96974,43473,268.571,35474,46373,857.872,284
875,43173,764.972,03876,60075,811.773,79976,91376,607.376,337
974,60559,521.0077,04675,486.873,69876,79376,188.075,583
0.720N/A N/A N/A 73,28072,989.072,6801094
1 70,01769,841.069,617
2 71,77471,238.070,434
3 69,82369,484.068,937
4 74,89674,682.674,511
5 74,53674,216.274,040
6 68,90068,509.468,143
7 68,73868,467.568,212
8 73,45873,208.273,016
9 72,02070,799.970,110
* Average CPU seconds on each run.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yang, J.; Kim, Y.-H.; Yoon, Y. A Memetic Algorithm with a Novel Repair Heuristic for the Multiple-Choice Multidimensional Knapsack Problem. Mathematics 2022, 10, 602. https://doi.org/10.3390/math10040602

AMA Style

Yang J, Kim Y-H, Yoon Y. A Memetic Algorithm with a Novel Repair Heuristic for the Multiple-Choice Multidimensional Knapsack Problem. Mathematics. 2022; 10(4):602. https://doi.org/10.3390/math10040602

Chicago/Turabian Style

Yang, Jaeyoung, Yong-Hyuk Kim, and Yourim Yoon. 2022. "A Memetic Algorithm with a Novel Repair Heuristic for the Multiple-Choice Multidimensional Knapsack Problem" Mathematics 10, no. 4: 602. https://doi.org/10.3390/math10040602

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