A memetic algorithm approach for solving the multidimensional multi-way number partitioning problem
A memetic algorithm approach for solving the multidimensional multi-way number partitioning problem
a r t i c l e i n f o a b s t r a c t
Article history: In this paper, we describe a generalization of the multidimensional two-way number par-
Received 16 May 2012 titioning problem (MDTWNPP) where a set of vectors has to be partitioned into p sets
Received in revised form 23 October 2012 (parts) such that the sums per every coordinate should be exactly or approximately equal.
Accepted 29 March 2013
We will call this generalization the multidimensional multi-way number partitioning
Available online 7 May 2013
problem (MDMWNPP). Also, an efficient memetic algorithm (MA) heuristic is developed
to solve the multidimensional multi-way number partitioning problem obtained by com-
Keywords:
bining a genetic algorithm (GA) with a powerful local search (LS) procedure. The perfor-
Number partitioning
Genetic algorithms
mances of our memetic algorithm have been compared with the existing numerical
Local search results obtained by CPLEX based on an integer linear programming formulation of the
Memetic algorithm problem. The solution reveals that our proposed methodology performs very well in terms
Combinatorial optimization of both quality of the solutions obtained and the computational time compared with the
previous method of solving the multidimensional two-way number partitioning problem.
Ó 2013 Elsevier Inc. All rights reserved.
1. Introduction
Number partitioning problem is a classical, challenging and surprisingly difficult problem in combinatorial optimization
and it is defined as follows: given a set S of n integers, the two-way number partitioning problem (TWNPP) asks for a division
of S into two subsets such that the sums of number in each subset are as close as possible (equal or approximately equal).
Though the number partitioning problem is NP-complete (see [1]), there have been proposed heuristic algorithms that
solve the problem in many instances either optimally or approximately. This is one of the reasons for which the problem
has been called ’’The Easiest Hard Problem’’ by Hayes [2].
A variation of the number partitioning problem is the 3-partition problem, in which a set of numbers S must be parti-
tioned into triples such that the sums in each subset to be equal or approximately equal.
The number partitioning problem has drawn a lot of attention due to its theoretical aspects and properties and important
real-world applications in multiprocessor scheduling, the minimization of VLSI circuit size and delay, public key cryptogra-
phy, voting manipulation, etc. For a more detailed description of the applications we refer to [3,4].
There are several ways to solve the TWNPP in exponential time in n: the most naive algorithm would be to cycle through
all the subsets of n numbers and for every possible subset S1 and for its corresponding complementary S2 ¼ S n S1 calculate
their sums. Obviously, this algorithm is impracticable for large instances, since its time complexity is Oð2n Þ. A better expo-
nential time algorithm which runs in Oð2n=2 Þ was described by Horowitz and Sahni [5].
⇑ Corresponding author.
E-mail address: [email protected] (P.C. Pop).
0307-904X/$ - see front matter Ó 2013 Elsevier Inc. All rights reserved.
http://dx.doi.org/10.1016/j.apm.2013.03.075
9192 P.C. Pop, O. Matei / Applied Mathematical Modelling 37 (2013) 9191–9202
Various heuristic algorithms have been developed for solving the TWNPP including: a natural greedy algorithm obtained
by sorting the numbers in decreasing order and then assigning each number in turn to the subset with the smaller sum so
far; a complete greedy algorithm described by Korf [6] where based on a binary tree each level assigns a different number
and each branch point alternately assigns that number to one subset or the other; the set differencing heuristic introduced
by Karmarkar and Karp [7] that repeatedly replaces the two largest numbers with their difference, inserting the new number
in the sorted order until there is only one number left which is the final partition difference, the complete Karmarkar-Karp
algorithm developed by Korf [6], a hybrid recursive algorithm obtained by combining several existing algorithms with some
new extensions developed by Korf [8] in the case of the multi-way partition and tested on the three, four and five-way par-
titioning. Alidaee et al. [9] presented a new modeling of the multi-way partition problem as an unconstrained quadratic bin-
ary program and solved it by efficient metaheuristic algorithms.
Several metaheuristic approaches have been proposed for solving the two-way number partitioning problem including a
Simulated Annealing algorithm by Johnsonn et al. [10], genetic algorithm by Ruml et al. [11], GRASP by Arguello et al. [12],
Tabu Search by Glover and Laguna [13], memetic algorithm by Berretta et al. [14], etc.
The multidimensional two-way number partitioning problem (MDTWNPP) was introduced by Kojic [15] and is a gener-
alization of the TWNPP in which given a set of vectors we are looking for a partition of the vectors into two subsets such that
the sums per every coordinate should be as close as possible.
The MDTWNPP is NP-hard, as it reduces when the vectors have dimension one to the TWNPP, which is known to be an
NP-hard problem.
Kojic [15] described as well an integer programming formulation and tested the model on randomly generated sets using
CPLEX. The obtained experimental results show that the MDTWNPP is very hard to solve even in the case of medium size
instances. To the best of our knowledge, this is the only existing approach for solving the MDTWNPP.
The aim of this paper is to describe a generalization of MDTWNPP called the multidimensional multi-way number par-
titioning problem (MDMWNPP) where a set of vectors has to be divided into a collection of mutually exclusive and collec-
tively exhaustive subsets such that the sums per every coordinate in each of the subsets are as nearly equal as possible. In
addition, we develop an efficient memetic algorithm based heuristic, obtained by combining a genetic algorithm with a pow-
erful local search procedure, for solving the MDMWNPP. The results of extensive computational experiments in the case of
multidimensional two, three and four-way partitioning are presented and analyzed. In the case of MDTWNPP the results re-
veal that our proposed methodology performs very well in terms of both quality of the solutions obtained and the compu-
tational time compared with the previous method introduced by Kojic [15].
1. S1 [ S2 ¼ S and S1 \ S2 ¼ ;;
2. the sums of elements in the subsets S1 and S2 are equal or almost equal for all the coordinates.
If we introduce the variable t that denotes the greatest difference in sums per coordinate, i.e.
( )
X X
t ¼ max v ij v ij j j 2 f1; . . . ; mg ;
i2S i2S
1 2
then the objective function of the MDTWNPP is to minimize t. If min t ¼ 0 then the partition will be called perfect partition for
obvious reasons.
Next we define the multidimensional multi-way number partitioning problem (MDMWNPP) as a generalization of
MDTWNPP where a set of vectors is partitioned into a given number of subsets rather than into two subsets.
Let again S be a set of n vectors of dimension m and p 2 N; p P 2, then the multidimensional multi-way number parti-
tioning problem consists in splitting the elements of S into p subsets, S1 ; S2 ; . . . ; Sp such that.
In particular, if the the set of vectors is partitioned into two subsets we get the MDTWNPP. For partitioning into more than
two subsets, the objective function to be minimized is the greatest difference between maximum and minimum subset sums
per every coordinate. Introducing the variable t denoting the greatest difference between maximum and minimum subset
sums per every coordinate, i.e.
P.C. Pop, O. Matei / Applied Mathematical Modelling 37 (2013) 9191–9202 9193
( ( ) ( ) )
X X
t ¼ max max
v ij j l 2 f1; . . . ; pg min v ij j l 2 f1; . . . ; pg j j 2 f1; . . . ; mg ;
i2S l i2S l
Example. Let S ¼ fð1; 3Þ; ð4; 4Þ; ð3; 2Þ; ð2; 5Þ; ð2; 1Þg and we want to partition its elements into three subsets S1 ; S2 and S3 .
We can do this partition in several ways, some candidates are:
S1 ¼ fð1; 3Þg; S2 ¼ fð4; 4Þg; S3 ¼ fð3; 2Þ; ð2; 5Þ; ð2; 1Þg, then the sums are ð1; 3Þ; ð4; 4Þ; ð7; 2Þ, the difference between the
maximum and minimum values per coordinates is ð6; 2Þ and t ¼ 6;
S1 ¼ fð1; 3Þ; ð3; 2Þg; S2 ¼ fð4; 4Þ; ð2; 5Þg; S3 ¼ fð2; 1Þg, then the sums are ð4; 1Þ; ð6; 9Þ; ð2; 1Þ, the difference between the
maximum and minimum values per coordinates is ð4; 10Þ and t ¼ 10;
S1 ¼ fð1; 3Þg; S2 ¼ fð4; 4Þ; ð2; 1Þg; S3 ¼ fð3; 2Þ; ð2; 5Þg, then the sums are ð1; 3Þ; ð6; 3Þ; ð5; 3Þ, the difference between the
maximum and minimum values per coordinates is ð5; 1Þ and t ¼ 5;
S1 ¼ fð2; 5Þg; S2 ¼ fð4; 4Þ; ð2; 1Þg; S3 ¼ fð3; 2Þ; ð1; 3Þg, then the sums are ð2; 5Þ; ð6; 3Þ; ð4; 1Þ, the difference between the
maximum and minimum values per coordinates is ð4; 4Þ and t ¼ 4;
S1 ¼ fð4; 4Þg; S2 ¼ fð1; 3Þ; ð2; 1Þg; S3 ¼ fð3; 2Þ; ð2; 5Þg, then the sums are ð4; 4Þ; ð3; 2Þ; ð5; 3Þ, the difference between the
maximum and minimum values per coordinates is ð2; 2Þ and t ¼ 2.
Therefore, the minimum of the maximal elements of the listed candidates is in the fifth case with min t ¼ 2.
Memetic algorithms have been introduced by Mascato [16] to denote a family of metaheuristic algorithms that emphasis
on the use of a population-based approach with separate individual learning or local improvement procedures for problem
search. Therefore a memetic algorithm (MA) is a genetic algorithm (GA) hybridized with a local search procedure applied to
all the individuals in order to intensify the search space.
Genetic algorithms are not well suited for fine-tuning structures which are close to optimal solutions. Therefore, embed-
ding of local improvement operators into the recombination step of a GA is essential in order to obtain a competitive GA.
Memetic algorithms have been recognized as a powerful algorithmic paradigm for evolutionary computing, being applied
successfully to solve combinatorial optimization problems such as the VRP (Vehicle Routing Problem) [17,18] and the CARP
(Capacitated Arc Routing Problem) [19], the generalized traveling salesman problem [20], etc.
Our effective heuristic algorithm for solving the MDMWNPP is a memetic algorithm, which combines the power of ge-
netic algorithm with that of local search. The details of the proposed MA are formally expressed as:
3.1.1. Representation
It is known that a good representation scheme is important for the performance of the GA and it should
define noteworthy crossover, mutation and other specific genetic operators to the problem in order to minimize
the computational effort within these procedures. Designing such a representation is a hard problem in evolutionary
computation.
In order to meet this requirement we use an efficient representation in which the solution structure is a fixed size ordered
structure (n-dimensional vector) of integer numbers from the interval ½1; p. These integer numbers identify the set partitions
as assigned to the vectors’ (see Fig. 2). This representation ensures that the set of vectors belonging to the set S is partitioned
into p subsets S1 ; S2 ; . . . ; Sp .
9194 P.C. Pop, O. Matei / Applied Mathematical Modelling 37 (2013) 9191–9202
(1) A common method of population generation is random generation. Each gene for a chromosome assumes a value of
P
i; i 2 f1; . . . ; pg, with probability pi , where pi¼1 pi ¼ 1. This approach is efficient and provides a population covering the
feasible region but it may lead to large values of the objective function yielding poor performance of the GA algorithm.
(2) Another method considered is based on generating the initial population partially randomly and partially based on the
problem structure. A random number q 2 f2; . . . ; ng is generated and then for the vectors belonging to f2; . . . ; qg the
genes are generated randomly and the other vectors are partitioned iteratively such that by adding each vector we
reduce the greatest difference in sums per coordinate.
Generating the population using as well the information about the problem structure permitted us to improve the initial
population by 50% with respect to the fitness value in comparison to the randomly generation of the initial population.
3.1.5. Selection
Selection is the stage of a genetic algorithm in which individuals are chosen from a population for later breeding (cross-
over or mutation). The selection process is deterministic and is based on the fitness of the population. In our algorithm we
investigated and used the properties of ðl; kÞ selection, where l parents produce k (k l) and only the offspring undergo
selection. In other words, the lifetime of every individual is limited to only one generation. The limited life span allows to
forget the inappropriate internal parameter settings. This may lead to short periods of recession, but it avoids long stagnation
phases due to unadapted strategy parameters, because the new population is not attracted into local optima by the old
population.
However, as the individuals evolve towards optima, the difference between the new population and the old one is getting
smaller, because the offspring are always in the vicinity of their parents. This is the mechanism which makes the MA benefit
of elitism. The high value of k ¼ 10 l increases the chances that a optimum is reached rather than a new population gets out
of it.
The population size l has been set to 10 times the number of the vectors. This turned out to be the best number of indi-
viduals in a generation.
The intermediate population size k was chosen ten times the size of the population: k ¼ 10 l.
Mutation probability was set at 10%.
The maximum number of generations (epochs) in our algorithm was set to 10,000.
In our algorithm the termination strategy is based on a maximum number of generations to be run if there is no improve-
ment in the objective function for a sequence of 15 consecutive generations.
Computational experiments showed that our proposed GA involving just the crossover and the mutation operators is
effective in producing good solutions. However, based on the fact that classical GAs are not aggressive enough for some com-
binatorial optimization problems, we improved our GA algorithm by combining with local search procedures.
A local search heuristic tries to improve a solution by moving to a better neighbor solution. Whenever the neighboring
solution is better than the current solution, it replaces the current solution. When no better neighbor solution can be found,
the search terminates.
For each solution belonging to the initial population and for each new child obtained using the genetic operators, we use a
local improvement procedure that runs several local search heuristics sequentially. Once an improvement move is found, it
is immediately executed, meaning that the first improvement strategy is used rather than best-improvement strategy.
9196 P.C. Pop, O. Matei / Applied Mathematical Modelling 37 (2013) 9191–9202
In our algorithm we used the k-change neighborhood local search heuristic where up to k bits are changed at a time in a
complementary manner. We apply it for k ¼ 1; 2; 3 as follows:
1-change neighbor. We select randomly an entry from the string representation. Suppose that the entry has a value
i 2 f1; . . . ; pg than change its value randomly with another one j 2 f1; . . . ; pg; j – i, meaning that we assign a vector from
a partition to another partition. If there is an acceptable quality gain after the change, then it is accepted. The complexity
of this procedure is OðnÞ, where n is the number of vectors. The 1-change procedure is repeated as long as improvements
are achieved.
2-change neighbor. We select randomly two different entries from the string representation and swap their values, mean-
ing that we interchanged two vectors belonging to different partitions. If there is an acceptable quality gain after the
swap, then it is accepted. The complexity of this procedure is Oðn2 Þ and again the procedure is repeated as long as
improvements are achieved.
3-change neighbor. We select randomly three different entries from the string representation and swap their values,
meaning that we interchanged three vectors belonging to different partitions. The complexity of this procedure is
Oðn3 Þ and again the procedure is repeated as long as improvements are achieved.
Our improvement procedure applies all the described local search heuristics cyclically. In the case of the MDTWNPP, we
apply successively the 1, 2 and 3-change neighborhoods, in this order.
4. Computational results
In this section we present computational results in order to asses the effectiveness of our proposed memetic algorithm for
solving the multidimensional multi-way number partitioning problem: two, three and four-way partitioning and we com-
pare them with the results Kojic [15] using CPLEX. It is worth to mention that while the MA was designed for our specific
problem and provides a suboptimal solution whose optimality cannot be checked, CPLEX is an optimization software pack-
age solving optimally linear programming problems, integer (mixed) programming problems, convex and non-convex qua-
dratic programming problems, semidefinite programming problems, etc. and can provide a verification. (See Figs. 3, 4).
We conducted our computational experiments for solving the MDMWNPP on a set of instances generated randomly and
following the general format n m, where n represents the number of elements (vectors) and m represents the dimension of
the vectors. We consider for each n m five instances denoted by a, b, c, d and e.
These instances were used by Kojic [15] in her computational experiments in the case of the multidimensional two-way
number partitioning problem (MDTWNPP).
In our computational experiments we performed 10 independent runs for each instance.
The testing machine was an an Intel Dual-Core 1,6 GHz and 1 GB RAM with Windows XP Professional as operating sys-
tem. The algorithm was developed in Java, JDK 1.6.
The following two tables show the computational results obtained with our memetic algorithm in comparison with those
obtained by Kojic [15] using CPLEX for instances containing between 50 and 300 vectors and with the dimension between 2
and 20 in the case of the MDTWNPP.
Fig. 3. MA versus GA and CPLEX for instances containing 400 vectors with the dimension between 10 and 20.
P.C. Pop, O. Matei / Applied Mathematical Modelling 37 (2013) 9191–9202 9197
Fig. 4. MA versus GA and CPLEX for instances containing 500 vectors with the dimension between 10 and 20.
Table 1
Computational results for instances containing 50 and 100 vectors with the dimension between 2 and 20.
Table 2
Computational results for instances containing 200 and 300 vectors with the dimension between 2 and 20.
The first and the seventh columns in the tables give the instances, the second, third, eighth and ninth columns provide the
results obtained by Kojic [15] using CPLEX: the best solution and the necessary computational time in order to get it and the
forth, fifth, sixth and the last three columns provide the results obtained by our novel memetic algorithm: the best solution,
the average solution and the required time to get these average solutions. Because CPLEX did not finish its work in any con-
sidered instance in the tables are provided the best solutions obtained for a maximum of 30 min run for each test.
Analyzing the computational results from Tables 1 and 2, it should be noted that our approach compares favorable with
the approach provided by Kojic [15] with respect to the best solution values: in 107 out of 140 instances we have been able
to improve the objective function of the MDTWNPP, in 11 out of 140 we obtained the same solutions and in 22 out 140 in-
stances our solutions are higher than those obtained using CPLEX [15]. As well, we can observe that in 85 out of 140 in-
stances, even the average solutions provided by our MA algorithm are better than the solutions provided by Kojic using
CPLEX.
Tables 3 and 4 depict the results of the memetic algorithm along with a comparison of the genetic algorithm and those
obtained by Kojic [15] using CPLEX for instances containing between 400 and 500 vectors and with the dimension between 2
and 20 in the case of the multidimensional two-way number partitioning problem.
The first columns describe the instances, next two columns give the results of CPLEX: the best solution and the necessary
computational time in order to get it, next four columns give the results of the GA alone: the best solution, the relative gap
(as a percentage) between the best solution provided by CPLEX and the best solution provided by the GA, the average solu-
tion and the required time to get these average solutions and the last four columns give the results of the proposed MA: the
best solution, the relative gap (as a percentage) between the best solution provided by CPLEX and the best solution provided
by the MA, the average solution and the required time to get these average solutions.
Analyzing the results presented in Tables 3 and 4, we observe that our proposed heuristics MA performs very well in
terms of both solution quality and computational times in comparison with the approach provided by Kojic [15]: in 60
P.C. Pop, O. Matei / Applied Mathematical Modelling 37 (2013) 9191–9202 9199
Table 3
Computational results for instances containing 400 vectors with the dimension between 2 and 20.
out of 70 instances we have been able to improve the value of the objective function of the MDTWNPP, in 7 out of 70 in-
stances we obtained the same solutions and in the case of the instance 500 2a; 500 3e and 500 5c the solutions provided
by the MA are higher than the solutions obtained using CPLEX [15]. In addition, in 55 out of 70 instances even the average
solutions provided by the MA improved the quality of the solutions provided by CPLEX.
As well we observe that the performance of the MA approach is superior to the GA in terms of both solution quality and
computational times for MDTWNPP: in 63 out of 70 we have been able to improve the value of the objective function of the
MDTWNPP, in 6 out of 70 instances we obtained the same solutions and in the case of the instance 400 20c the solution pro-
vided by MA is higher that the solution obtained using just the GA. The reason for obtaining better results in shorter amount
of time is that when the search technique is incorporated in GA then the solution space in better searched.
According to the experimental results we can conclude that the local search heuristic is playing an important role in the
GA process.
In the next two figures we represent the average solutions obtained using our proposed MA-based heuristic in compar-
ison with the average solutions provided by the GA alone and the best solutions provided by CPLEX for instances containing
400 and 500 vectors with the dimension between 10 and 20.
Regarding the computational times, it is difficult to make a fair comparison between the approach of Kojic using CPLEX
and our method because they have been evaluated on different computers, they are implemented in different languages and
in addition Kojic did not mention the exact model of processor used in her computational experiments. The running time of
our MA is proportional with the number of generations. However, from Tables 1–4, it should be noted that in average our
heuristic is faster than the approach developed by Kojic [15].
In Fig. 5, we present a comparison of the average computational times of the MA versus GA, for instances containing be-
tween 400 and 500 vectors and with the dimension between 2 and 20.
9200 P.C. Pop, O. Matei / Applied Mathematical Modelling 37 (2013) 9191–9202
Table 4
Computational results for instances containing 500 vectors with the dimension between 2 and 20.
Table 5
Computational results three-way and four way multidimensional partition.
We can seen that the MA is more efficient that the GA as almost all the results are achieved in shorter time.
Table 5 shows the results obtained using our proposed MA in the case of the three-way and four-way multidimensional
number partitioning problem for instances containing 50, respectively 100 vectors with dimension between 2 and 20.
In the first part of Table 5 we presented the best solutions, average solutions and the average computational times in the
case of the three-way multidimensional partition problem and in the second part the results obtained in the case of the four-
way multidimensional partition problem.
Taking into account the computational results presented in Tables 1–5, we can conclude that our proposed MA-based
heuristic leads to good results within reasonable times and outperforms the approach introduced by Kojic [15] and the ge-
netic algorithm alone. The success of our algorithm relies on the combination of the genetic algorithm with the local search
procedure.
5. Conclusions
In this paper, we considered a generalization of the of the multidimensional two-way number partitioning problem
(MDTWNPP) where a set of vectors has to be partitioned into p sets (parts) such that the sums per every coordinate should
be exactly or approximately equal, called the multidimensional multi-way number partitioning problem (MDMWNPP).
We developed an efficient memetic algorithm for solving the MDMWNPP and in particular the MDTWNPP, that combines
a genetic algorithm with a powerful local search procedure consisting of three local search heuristics.
The extensive computational results show that our memetic algorithm is robust and compares favorably in comparison to
the existing approach and the genetic algorithm alone.
In the future, we plan to explore the possibility of building a parallel implementation of the system in order to improve
the execution time. In addition, we will need to asses the generality and scalability of the proposed heuristic by testing it on
larger instances.
Acknowledgments
This work was supported by a grant of the Romanian National Authority for Scientific Research, CNCS - UEFISCDI, project
number PN-II-RU-TE-2011–3-0113. The authors are grateful to the anonymous referees for reading the manuscript very
carefully and providing constructive comments which helped to improve substantially the paper.
References
[1] M.R. Garey, D.S. Johnson, Computers and Intractability. A Guide to the Theory of NP-Completeness, W.H. Freeman, New York, 1997.
[2] B. Hayes, The easiest hard problem, Am. Sci. 90 (2002) 113–117.
[3] E. Coffman, G.S. Lueker, Probabilistic Analysis of Packing and Partitioning Algorithms, John Wiley & Sons, New York, 1991.
[4] T. Walsh, Where are the really hard manipulation problems? The phase transition in manipulating the veto rule, in: Proceedings of IJCAI-09 (2009) pp.
324–329.
[5] E. Horowitz, S. Sahni, Computing partitions with applications to the Knapsack problem, J. ACM 21 (2) (1974) 277–292.
[6] R.E. Korf, A complete anytime algorithm for number partitioning, Art. Intel. 106 (2) (1998) 181–203.
[7] N. Karmarkar, R.M. Karp, The differencing method of set partitioning, Technical Report UCB/CSD 82/113, Computer Science Division, University of
California, Berkeley, 1982.
[8] R.E. Korf, A hybrid recursive multi-way number partitioning algorithm, in: Proceedings of the Twenty-Second International Joint Conference on
Artificial Intelligence (2011) pp. 591–596.
[9] B. Alidaee, F. Glover, G. Kochenberger, C. Rego, A new modeling and solution approach for the number partitioning problem, J. Appl. math. decis. sci. 9
(2) (2005) 135–145.
9202 P.C. Pop, O. Matei / Applied Mathematical Modelling 37 (2013) 9191–9202
[10] D.S. Johnson, C.R. Aragon, L.A. McGeoch, C. Schevon, Optimization by simulated annealing: an experimental evaluation. Part II: Graph coloring and
number partitioning, Oper. Res. 39 (3) (1991) 378–406.
[11] W. Ruml, J.T. Ngo, J. Marks, S.M. Shieber, Easily searched encodings for number partitioning, J. Optim. Theory Appl. 89 (2) (1996) 251–291.
[12] M.F. Arguello, T.A. Feo, O. Goldschmidt, Randomized methods for the number partitioning problem, Comput. Oper. Res. 23 (2) (1996) 103–111.
[13] F. Glover, M. Laguna, Tabu Search, Kluwer Academic Publishers, Norwell, Massachusetts, USA, 1997.
[14] R.E. Berretta, P. Moscato, C. Cotta, Enhancing a memetic algorithms’ performance using a matching-based recombination algorithm: results on the
number partitioning problem, in: M.G.C. Resende, J. Souza (Eds.), Metaheuristics: Computer Decision-Making, Kluwer, 2004.
[15] J. Kojic, Integer linear programming model for multidimensional two-way number partitioning problem, Comput. Math. Appl. 60 (2010) 2302–2308.
[16] P. Moscato, On evolution, search, optimization, genetic algorithms and martial arts: towards memetic algorithms, Caltech Concurrent Computation
Program, Report 826, 1989.
[17] j.e. Mendoza, B. Castanier, C. Gueret, A.L. Medaglia, N. Velasco, A memetic algorithm for the multi-compartment vehicle routing problem with
stochastic demand, Comput. Oper. Res. 37 (2010) 1886–1898.
[18] S.U. Ngueveu, C. Prins, R.W. Calvo, An effective memetic algorithm for the cumulative capacitated vehicle routing problem, Comput. Oper. Res. 37
(2010) 1877–1885.
[19] C. Prins, S. Bouchenoua, A memetic algorithm solving the vrp, the carp and general routing problems with nodes, edges and arcs, Stud. Fuzziness Soft
Comput. 166 (2005) 65–85.
[20] B. Bontoux, C. Artigues, D. Feillet, A memetic algorithm with a large neighborhood crossover operator for the generalized traveling salesman problem,
Comput. Oper. Res. 37 (11) (2010) 1844–1852.