1 Introduction

Community detection in complex networks is a challenging problem. The aim of community detection algorithms is to discover the division of a network into groups of nodes, called community structures. The characteristic of community structure is denser internal connectivity than external connectivity. Community structures exist in various fields, such as biological networks, science and technology networks (Castiglione et al. 2015; Esposito et al. 2013; Li et al. 2010), and social networks (Carullo et al. 2015). In recent years, community detection in networks has attracted a lot of attention and has been widely used in many different domains, such as terrorist organization identification, protein function prediction, and public opinion analysis.

A number of community detection approaches have been proposed. Extensive and detailed review of community detection approaches in complex networks can be found in a recent survey (Fortunato 2010). Optimization based methods (Di Martino and Sessa 2013; Mokryani et al. 2013; Srivastava et al. 2014) are a main class of methods to detect communities in complex networks (Cai et al. 2014c). Modularity, presented in (Girvan and Newman 2002), is the most used and best known quality function for optimization based methods to detect communities. Newman (2004) presented an agglomerative hierarchical method that searches for optimal values of modularity. Clauset et al. (2004) presented a fast implementation of the agglomerative hierarchical method. Blondel et al. (2008) presented a variant of the hierarchical agglomerative clustering approach, named BGLL. BGLL includes two phases that partitions a large network by repeatedly optimizing the modularity. Chaturvedi et al. (2012) applied BGLL to various large networks. Pizzuti (2008) presented a genetic algorithm for community detection in social networks, named GA-Net. Li and Song (2013) presented an extended compact genetic algorithm for community detection. Cai et al. (2014c, (2015) presented a discrete particle swarm optimization algorithm and a clonal selection algorithm for community detection. All of the above works consider community detection as a single objective optimization problem.

A network may have multiple potential community structures in the real world; hence a more suitable approach is to simultaneously consider several conflicting objectives in community detection to discover complex and comprehensive community structures. Recently, several multiobjective optimization algorithms for community detection in networks have been proposed. Pizzuti (2012) presented a multiobjective genetic algorithm, named MOGA-Net. Shi et al. (2012) presented a multiobjective community detection algorithm including two phases, named MOCD. Gong et al. (2012a, (2014) presented a multiobjective evolutionary algorithm with decomposition, named MOEA/D-Net, and a multiobjective discrete particle swarm optimization algorithm based on decomposition, named MODPSO.

Most existing multi-objective community detection algorithms are based on evolutionary algorithms. In this study, we propose a local search-based multiobjective optimization algorithm, named MOLS-Net, to discover communities in networks. In the proposed algorithm, different objectivewise local searches are designed for different objectives. Extensive experiments on both synthetic and real-world networks show that MOLS-Net obtains better or competitive results compared with MODPSO, MOEA/D-Net, GA-Net, and BGLL.

The remaining sections are organized as follows. Section 2 gives the problem formulation. Section 3 proposes MOLS-Net for community detection. Section 4 presents experimental results. Finally, Sect. 5 presents conclusions.

2 Problem formulation

2.1 Formulation

Given an undirected network denoted as \(G = (V,E)\), where \(V\) (\(|V|=n\)) and \(E\) are the sets of vertices and edges, respectively, \(G\) can be represented as an adjacency matrix \(A\). The size of \(A\) is \(|V| \times |V|\). \(A_{ij} = 1\), if \(e = (i, j)\in E\); otherwise, \(A_{ij} = 0\). The community structure of the network can be regarded as a partition \(P = (V_{1}, V_{2}, \ldots , V_{i}, \ldots , V_{m})\) with the number \(m\) of \(V\), where \(V_{i} \subseteq V\), \(V_{i} \ne \varnothing \), \(\bigcup _{i=1}^{m} V_{i} = V\) and \(V_{i} \cap V_{j} = \varnothing (i \ne j)\) should be satisfied for each \(V_{i}\ (i = 1, 2, \ldots , m)\). \(V_{i}\) corresponds to a community of the network. Vertex–vertex connections are dense in a community \(V_{i}\) and are relatively sparse between \(V_{i}\) and \(V_{j}\) (\(j = 1, 2, \ldots , m\) and \(j \ne i\)). A community can be classified into a strong community and a weak community in a more formal definition (Radicchi et al. 2004).

In this study, ratio cut (RC) (Wei and Cheng 1991) and kernel \(K\)-means (KKM) (Gong et al. 2014) are used as the two objective functions to be minimized. RC, denoted as \(f_{1}\), measures the sum of the external link density between communities. KKM, denoted as \(f_{2}\), measures the sum of the internal link density in the same community. The two objectives \(f_{1}\) and \(f_{2}\) are formalized as

$$\begin{aligned} f_{1}&=\mathrm{RC}=\sum _{i=1}^{m}\frac{L(V_{i},\overline{V}_{i})}{|V_{i}|},\end{aligned}$$
(1)
$$\begin{aligned} f_{2}&=\mathrm{KKM}=2(n-m)- \sum _{i=1}^{m}\frac{L(V_{i},V_{i})}{|V_{i}|}, \end{aligned}$$
(2)

where \(n\) is the number of vertices in a network, \(m\) is the number of communities in a partition (solution), \(|V_{i}|\) is the number of vertices in community \(i\), \(V_{i} \in P\), \(\overline{V}_{i} = P - V_{i}\), \(L(V_{i},\overline{V}_{i}) = \sum _{i \in V_{i},j \in \overline{V}_{i}}A_{ij}\), and \(L(V_{i},V_{i}) = \sum _{i,j \in V_{i}}A_{ij}\).

Minimizing \(f_{1}\) and \(f_{2}\) can ensure sparse interconnections and dense intraconnections. That is, optimizing RC tends to divide a network into large communities, while optimizing KKM tends to divide a network into small communities. This is in accordance with the characteristics of the communities in a network (Gong et al. 2014).

2.2 Multiobjective optimization

A multiobjective optimization problem (MOP) can be described as follows:

$$\begin{aligned} \min F(X)=(f_{1}(X), f_{2}(X), \ldots , f_{k}(X)), \end{aligned}$$
(3)

where \(X = (X_{1}, X_{2}, \ldots , X_{D})\) \(\subseteq \mathfrak {R}^{D}\) is a vector in the \(D\)-dimensional solution space; \(F \in \Omega ^{k}\) is the objective space with \(k\) minimization objectives.

Given two feasible solutions \(X\) and \(Y\), we say that \(X\) dominates \(Y\) if \(\forall i:f_{i}(X) \le f_{i}(Y)\) and \(\exists j:f_{j}(X) < f_{j}(Y)\). Moreover, \(X\) is said to be Pareto optimal if it is not dominated by any other feasible solution. Then, the aim of multiobjective optimization is to find the set of Pareto optimal solutions, usually called Pareto set. The set of all Pareto optimal objective vectors is called Pareto front.

Over the years, a number of metaheuristics have been extended to solve MOPs. Multiobjective evolutionary algorithms (MOEAs) strive to obtain an accurate and well-distributed approximation of the true Pareto front. Popular MOEAs include nondominated sorting genetic algorithm II (NSGA-II) (Deb et al. 2002) and MOEA based on decomposition (MOEA/D) (Zhang et al. 2007; Rubio-Largo et al. 2014). More studies about the development and application of MOEAs can be found in a recent survey paper (Zhou et al. 2011). Besides MOEAs, local search-based algorithms, such as Pareto local search (Talbi et al. 2012) and multi-directional local search (Tricoire 2012), are promising alternative approaches to solve MOPs. The merit of local search-based algorithms is that problem-specific knowledge can be directly used to guide the search toward the Pareto front. Thus, they are specially suitable for multiobjective combinatorial optimization problems. More details about local search-based algorithms can be found in another recent survey paper (Talbi et al. 2012).

In this study, a multiobjective local search (MOLS-Net) is proposed for community detection. Note that, in response to the particularities of a MOP, different multiobjective optimization algorithms may differ in the encoding scheme (responsible for the characterization of the search space), objective function, and operators that depend on the kind of encoding scheme adopted. As a consequence, MOLS-Net is different from the previous studies (Tricoire 2012; Zhou and Wang 2014; Wang et al. 2015) since MOLS-Net is composed of dedicated modules (for example, local search operators) to solve community detection problems.

3 Multiobjective local search for community detection

3.1 Framework of MOLS-Net

Figure 1 presents the framework of MOLS-Net. The feature of MOLS-Net is to use objectivewise local searches (Tricoire 2012; Zhou and Wang 2014; Wang et al. 2014, 2015). That is, for a given solution \(X\), a local search \(\mathrm{LS}_{1}(X)\) is designed to improve the objective \(f_{1}\), while another local search \(\mathrm{LS}_{2}(X)\) is designed to improve the objective \(f_{2}\). An archive is maintained to keep all nondominated solutions found during the search. The main loop of MOLS-Net consists of (1) selecting a solution from archive, (2) performing objectivewise local searches to improve this solution, and (3) updating archive. The pseudo code of MOLS-Net is described in Algorithm 1.

figure a
Fig. 1
figure 1

Framework of MOLS-Net

In the following sections, solution representation, initialization, objectivewise local searches, and archive updating are described in detail.

3.2 Representation

A solution \(X\) in MOLS-Net is defined as \(X = (x_{1}, x_{2}, \ldots , x_{i}, \ldots , x_{n}\)). Here, \(n\) is the number of the vertices in a network, and \(x_{i}\) is the integer community identifier of vertex \(v_{i}\). The identifier can be any integer number between 1 and \(n\). The vertices having the same community identifier are considered to be the same community. A network with \(n\) vertices can be divided into \(n\) communities at most. Figure 2 gives a simple example of how the solution is encoded and decoded. In Fig. 2, the network with seven vertices is divided into two communities.

Fig. 2
figure 2

An example of solution representation. a graph topology, b solution representation, c community structure

This representation does not need know the exact number \(m\) of communities in advance. The number is automatically determined during the multiobjective optimization process. This representation is intuitive and easy to decode. It takes little computational complexity.

3.3 Initialization

An initialization population with good quality can speed up the convergence and promote diversity. In this study, a simple and fast initialization mechanism based on label propagation (Raghavan et al. 2007) is used. In this procedure (Raghavan et al. 2007), each vertex is marked by the given unique label. Then, all vertices are swept over in random sequential order at each iteration, and each vertex’s label is decided according to the majority of its neighbors’ labels during the process. The process converges when each vertex has the majority label of its neighbors. Finally, a group of vertices with identical labels after convergence is considered as a community.

3.4 Objectivewise local searches

Given a solution \(X\), \(\mathrm{LS}_{1}(X)\) and \(\mathrm{LS}_{2}(X)\) are designed to optimize objective \(f_{1}\) and \(f_{2}\), respectively. The procedures are described in Algorithms 2 and 3, respectively.

figure b
figure c

In Algorithms 2 and 3, the neighbors of a community \(V_{i}\) are the communities that have at least one edge connection with the community \(V_{i}\).

The merging operator in Algorithm 2 decreases the number of communities, which thus decreases the value of objective \(f_{1}\). The dividing operator in Algorithm 3 increases the number of communities, which thus decreases the value of objective \(f_{2}\) (Angelini et al. 2007). In this way, \(f_{1}\) and \(f_{2}\) will be minimized by the merging and the dividing operators, respectively.

In Algorithm 3, the idea of BGLL in Blondel et al. (2008) is used. The method consists of two phases. In the first phase, each vertex is considered as a community. The new communities are formed by finding the modularity change. The change is made by moving a vertex into the community of its neighborhood vertex. A vertex is placed into the community when the modularity gain of the community is maximum. This process is applied to all vertices until no vertex moving can improve the value of modularity. In the second phase, a new network is built by considering the communities found in the first phase as the new vertices. The weight of the link between the two vertices is the sum of the weights of the links in the corresponding communities. The method in the first phase is repeated for the new network. The method stops until the community number is smaller than or equal to 2. The algorithm returns the communities found.

During the objectivewise local search process as shown in Fig. 1, two situations may occur: (1) the newly generated solution, for example, \(Y_{1}\) or \(Y_{2}\), dominates the original solution \(X\); or (2) the newly generated solution, for example, \(Z_{1}\) or \(Z_{2}\), is noncomparable with the original solution \(X\). The first case occurs when the local search improves the corresponding objective without deteriorating other objectives. This means that a new dominating solution is found. This case deals with the convergence issue in MOPs since it drives the algorithm to convergence toward Pareto front. The second case occurs when the local search improves the corresponding objective but deteriorating other objectives. This case deals with the diversity issue in MOPs since it drives the algorithm to spread along Pareto front. Both situations occur during the whole optimization process of local search. Therefore, it can achieve both the convergence and diversity goals of multiobjective optimization.

3.5 Archive updating

An archive is maintained to store the nondominated solutions found during the search process. Once a new solution is generated by \(\mathrm{LS}_{1}(X)\) or \(\mathrm{LS}_{2}(X)\), the archive is updated to avoid missing any nondominated solution during the search process.

3.6 Complexity

The complexity of \(\mathrm{LS}_{1}(X)\) is \(O(l)\), and the complexity of \(\mathrm{LS}_{2}(X)\) is \(O(l\cdot n^{2})\). Here, \(n\) and \(l\) denote the number of vertices and edges of a network, respectively. The whole complexity of MOLS-Net is \(O(l\cdot n^{3})\). The main time complexity of MOLS-Net lies in the divide operator in \(\mathrm{LS}_{2}(X)\). In the divide operator, the idea of BGLL (Blondel et al. 2008) is used. Experiment results in Blondel et al. (2008) and Chaturvedi et al. (2012) show that BGLL is extremely fast in practice. Hence, MOLS-Net in our experiments is also very fast. The computation time of MOLS-net will be given later.

4 Experimental results

All experiments are implemented in C++ on a PC [Intel(R) Core(TM) i5-4440 CPU @ 3.10 GHz processor with 8.0G RAM on 64 bits windows 7].

MOLS-Net is compared with two state-of-the-art MOEAs (i.e., MODPSO and MOEA/D-Net), two famous single objective optimization algorithms (i.e., GA-Net and BGLL). The number of generations of EA-based algorithms are all set as 400. Other parameters in these compared algorithms are set according to their corresponding references:

  1. (1)

    MODPSO (Gong et al. 2014): the population size is 100; the neighborhood parameter is 40; and the mutation rate is 0.1.

  2. (2)

    MOEA/D-Net (Gong et al. 2012a): the population size is 100; the neighborhood parameter is 10; the cross over rate is 0.9; the mutation rate is 0.06; and the update size is 2.

  3. (3)

    GA-Net (Pizzuti 2008): the population size is 100; the crossover rate is 0.8; and the mutation rate is 0.2.

The source codes of these algorithms were reimplemented in our experiments for fair comparison. All algorithms were run 30 times independently. The parameters of MOLS-Net are set as follows: the initial population size is \(init\_size=100\); the parameter of controlling search step is \(step\_parameter=0.3\); the maximum computation time is set as the average running time of MODPSO over 30 runs for fair comparison.

4.1 Evaluation metrics

Normalized mutual information (NMI) and modularity (\(Q\)) are two popular evaluation metrics to evaluate the quality of the partition obtained. NMI is an external measure to estimate the similarity between the true partitions and the detected ones (Wu and Huberman 2004). \(Q\) is an internal measure to evaluate the extent to which the detected community structure deviates from randomness (Girvan and Newman 2002).

Let \(R\) denote a real partition of a network. Let \(P\) denote a partition found by an algorithm. \(\mathrm{NMI}(R,P)\) is then defined as

$$\begin{aligned} \mathrm{NMI}(R,P) = \frac{-2\sum _{i=1}^{M_{R}}\sum _{j=1}^{M_{P}}M_{ij}log \frac{M_{ij}n}{M_{i.}M_{.j}}}{\sum _{i=1}^{M_{R}}M_{i.}log \frac{M_{i.}}{n}+\sum _{j=1}^{M_{P}}M_{.j}log \frac{M_{.j}}{n}}, \end{aligned}$$
(4)

where \(M_{R}\) and \(M_{P}\), respectively, denote the number of real communities and found communities; \(M\) denotes a confusion matrix whose element \(M_{ij}\) is the number of vertices sharing in common by community \(i\) in \(R\) and community \(j\) in \(P\); \(M_{i.}\) and \(M_{.j}\), respectively, denote the sum over row \(i\) and column \(j\) of matrix \(M\); and \(n\) is the number of vertices of the network.

\(\mathrm{NMI}(R,P)=1\) if \(R=P\); \(\mathrm{NMI}(R,P)=0\) if \(R\) and \(P\) are totally different. Obviously, the larger the value of NMI, the better the partition obtained.

\(Q\) is defined as

$$\begin{aligned} Q = \frac{1}{2l}\sum _{i,j}(A_{ij}-d_{i}d_{j}/2l)\delta (V_{i}, V_{j}), \end{aligned}$$
(5)

where the sum runs over all pairs of vertices of a network; \(l\) is the total number of edges; \(A_{ij}\) is the element of the adjacency matrix \(A\) of graph; \(d_{i}\) is the degree (the number of links that have connections with vertex \(i\)) of vertex \(i\); \(d_{j}\) is the degree of vertex \(j\); and \(\delta (V_{i}, V_{j}) = 1\) if vertex \(i\) and \(j\) belong to the same community (i.e., \(V_{i} = V_{j}\)), otherwise \(\delta (V_{i}, V_{j}) = 0\).

The larger the value of \(Q\), the stronger the community structure.

4.2 Experiments on GN extended benchmark networks

GN extended benchmark network (Lancichinetti et al. 2008) is an extension of the classical benchmark proposed in Girvan and Newman (2002). The network has 128 vertices partitioned by four communities of 32 vertices each. Every vertex has an average degree of 16. Each vertex shares a fraction \(\gamma \) of links with the vertices of its community, and \(1-\gamma \) with the vertices of the other communities. \(\gamma \) is called the mixing parameter. When \(\gamma < 0.5\), the neighbors of a vertex inside its community are more than the neighbors belonging to the other three communities. Eleven different networks with the value of \(\gamma \) increasing from 0 to 0.5 with an interval of 0.05 were generated in our experiments. The community structure of the network gradually becomes fuzzy as the value of \(\gamma \) increases.

MOLS-Net, MODPSO, and MOEA/D-Net generate a set of solutions on each run. The solution with maximum NMI value over each run is chosen as the output of each algorithm. The average values of NMI over 30 runs for the five algorithms are calculated and shown in Fig. 3. When the mix parameter \(\gamma \) is smaller than 0.4, the average \(\mathrm{NMI}\) values of all the algorithms, except for GA-Net, equal to 1. When the mix parameter \(\gamma \) value ranges from 0.4 to 0.5, MOLS-Net can still successfully detect the real community structure (i.e., the average \(\mathrm{NMI}\) values are 1). With MODPSO, MOEA/D-Net, and BGLL, the true structure become harder and harder to figure out.

Fig. 3
figure 3

Average \(\mathrm{NMI}\) values obtained by the five algorithms on GN

Additionally, nondominated solutions found by MOLS-Net (denoted as \(*\)) and MODPSO (denoted as \(\bullet \)) from all runs on the selected GN networks for \(\gamma =0.2\), \(\gamma =0.3\), \(\gamma =0.4\), \(\gamma =0.5\) are shown in Fig. 4. The ground truths of these networks are known, and thus they are also presented in the figure. It is clear that MOLS-Net finds better nondominated solutions in terms of both convergence and diversity on the selected networks.

Fig. 4
figure 4

Plots of nondominated solutions found by MOLS-Net and MODPSO on GN extended benchmark networks. a \(\gamma =0.2\), b \(\gamma =0.3\), c \(\gamma =0.4\), d \(\gamma =0.5\)

4.3 Experiments on LFR benchmark networks

GN extended benchmark networks have two drawbacks: (1) each vertex has the same degree, and (2) each community has the same size. Hence, Lancichinetti et al. (2008) proposed a new benchmark network, named LFR. In LFR, both the degrees of vertices and the sizes of communities obey exponential distribution. Each vertex shares a fraction \(\mu \) of links with the vertices of its community and a fraction \(1-\mu \) with the vertices of the other communities. \(\mu \) is the mixing parameter. Seventeen different networks with the value of \(\mu \) increasing from 0 to 0.8 with interval 0.05 were generated in our experiments.

Figure 5 displays the average \(\mathrm{NMI}\) values obtained by the five algorithms on LFR benchmark networks. It can be seen that only MOLS-Net and MODPSO can successfully figure out the true community structure when the mix parameter \(\mu \) value ranges from 0.15 to 0.6. All the algorithms cannot find true partition when \(\mu \) is larger than 0.6. MOLS-Net outperforms MODPSO with \(\mu \) ranging from 0.6 to 0.7, while MOLS-Net is outperformed by MODPSO in the remaining cases.

Fig. 5
figure 5

Average \(\mathrm{NMI}\) values obtained by the five algorithms on LFR

4.4 Experiments on real-world benchmark networks

In order to further compare the performance of different algorithms, we use three real social networks which are available in Newman (2013). These networks are Zachary’s karate club network, dolphin social network, and American college football network. These networks are widely used as benchmarks in community detection (Gong et al. 2012a, 2014; Shi et al. 2012; Pizzuti 2012).

Zachary’s karate club network was constructed by Zachary. Zachary observed 34 members of a karate club over a period of two years. During this period, a disagreement developed between the administrator and instructor in the club. Thus, the instructor left and started a new club. The network split naturally into two communities. We test a simple un-weighted version of Zachary’s network.

Dolphin social network represents a network of 62 bottlenose dolphins. A tie between two dolphins was established by their statistically significant frequent association. The network naturally is divided into two large groups: the female group and the male one.

American college football network comes from United States college football. The network represents the schedule of Division I games during the 2000 season. Vertices in the graph represent teams, and edges represent regular season games between the two teams they connect. The teams are divided into conferences. The teams on average played 4 inter-conference matches and 7 intra-conference matches. The teams tended to play between members of the same conference. The network consists of 115 vertices and 616 edges grouped into 12 teams.

Evaluation metric \(Q\) has a resolution limit (Fortunato and Barthelemy 2007). A higher modularity often does not correspond to a better network partition (Fortunato 2010). Thus, in our experiments, the solution with the maximum \(\mathrm{NMI}\) value is selected and the corresponding \(Q\) value is computed for MOLS-Net, MODPSO and MOEA/D-Net at each run. The maximum and average values of \(\mathrm{NMI}\) (\(\mathrm{NMI}_{\max }\) and \(\mathrm{NMI}_{\mathrm{avg}}\)) and \(Q\) (\(Q_{\max }\) and \(Q_{\mathrm{avg}}\)) over all the five algorithms are reported in Table 1. Only \(\mathrm{NMI}\) values are available in GA-Net. Table 1 indicates that MOLS-Net outperforms all the compared algorithms on Zachary’s karate club network and dolphin social network. MOLS-Net can always detect the real community structure on those two networks (correspond to \(\mathrm{NMI}_{\max }=1\) and \(\mathrm{NMI}_{\mathrm{avg}}=1\)). Furthermore, the largest \(Q\) values are obtained. The detected real communities on Zachary’s karate club network and dolphin social network by MOLS-Net are presented in Fig. 6a, b, respectively. Different colors of the vertices indicate the different communities obtained by MOLS-Net.

Fig. 6
figure 6

Real structures found by MOLS-Net. a on Zachary’s karate club network, b on dolphin social network

Table 1 Experimental results obtained by the five algorithms for real-world datasets

On American college football network, from the perspective of \(Q\), MOLS-Net outperforms all the comparison algorithms. From the perspective of \(\mathrm{NMI}\), MOLS-Net is outperformed by MOEA/D-Net. Due to the self-complicated structure of the network, none of the algorithms can find the true partition. The detected communities with \(\mathrm{NMI}=0.9361\) of MOLS-Net on this complex network are presented in Fig. 7. From Fig. 7, it is clear that some vertices have been misplaced.

Fig. 7
figure 7

The detected structure with \(\mathrm{NMI}=0.9361\) on football network by MOLS-Net

4.5 Computation time of MOLS-Net

The computation times of MOLS-Net (i.e., the average running time of MODPSO) on the three kinds of networks are presented in Table 2. From Table 2, we can conclude that the computation time of MOLS-Net is reasonable.

Table 2 The computation time (seconds) of MOLS-Net on the three kinds of networks

5 Conclusion

In this study, a new multiobjective community detection algorithm (MOLS-Net) has been proposed. MOLS-Net simultaneously optimizes two conflicting objective functions, RC and KKM. In MOLS-Net, each objective is optimized by the corresponding objectivewise local search. The experimental results show that MOLS-Net performs better than or competitive with the existing algorithms including MODPSO, MOEA/D-Net, GA-Net, and BGLL on synthetic and real-world networks.

In the future, MOLS-Net will be extended to detect community in signed social networks (Liu et al. 2014; Li et al. 2014; Cai et al. 2014a), dynamic social networks (Gong et al. 2012b, and overlapping communities in social networks (Xie et al. 2013). In addition, more powerful objectivewise local searches for the objectives should be further developed to improve performance.