1 Introduction

The high spectral resolution provided by current hyperspectral imaging devices facilitates identification of fundamental materials that make up a remotely sensed scene [1, 2]. Specifically, the linear mixing model (LMM) [1] assumes that the spectral signature of one pixel of the hyperspectral image is a linear combination of the endmember spectra corresponding to the aggregation of materials in the scene due to reduced sensor spatial resolution. Therefore, sub-pixel resolution analysis aims to the extraction of the fractional abundances of such endmembers inside the pixel.

Endmember spectra define a convex polytopea in the high-dimensional space defined by the image pixel spectra. The fractional abundance of the endmembers at each pixel correspond to the convex coordinates relative to the convex polytope vertices. The set of endmembers can be defined on the basis of a priori knowledge about the imaged scene. A library of known pure ground signatures or laboratory samples could be used. However, if such knowledge is not available or it is not useful due to noise conditions, then the set of endmembers must be induced from the hyperspectral image data by means of endmember induction algorithms (EIA) [3, 4]. The review in [3] emphasized the degree of automation to classify the algorithms, while [4] looks at the diverse computational foundations, assuming that user interaction must be minimal or null.

Lattice based EIA (L-EIA) are based on lattice computing techniques [5]. For instance, the studies in [612] are based on the notion of Strong Lattice Independence (SLI), following the conjecture in [13] that SLI vectors are affine independent vectors and thus its convex hull defines a simplex. Using lattice auto-associative memories (LAAM) [14, 15] built from the hyperspectral image data, sets of SLI vectors where induced and used as endmembers. Recent study [10] has shown how to obtain sets of affine independent vectors from the rows and columns of the LAAM constructed using the hyperspectral data. Specifically, the WM algorithm introduced in [10] computes the erosive and dilative LAAM, the hyperbox enclosing the data, defined the minimum and maximum values of the data at each band, and transforms the columns or rows of the erosive and dilative LAAMs to become the vertices of a convex polytope covering the image data. This algorithm has several advantages: (1) it is very fast, (2) performs only addition, subtraction and max/min operations, (3) induced endmembers are directly related to the actual data in the image. However, the WM algorithm always returns the same number of endmembers p = 2 * (L + 1), where L is the number of spectral bands in the image. This number is too high for the actual distinct constituent materials in hyperspectral images. Besides, these endmembers are highly correlated and identification of useful endmembers with some physical interpretation is tricky [16].

Genetic algorithms (GA) are random optimization algorithms inspired on natural evolution, a population of individuals evolves through mutation and crossover to maximize a fitness function. Multi-objective GA (MOGA) are specific GAs dealing with the optimization of several objective functions. That is, MOGA's fitness function is vector valued [1720]. A minimization multi-objective problem is stated as follows: given an n-dimensional variable vector x = {x1,..., x n } in the solution space X, find a vector x* that minimizes the K objective functions z ( x * ) = min x z 1 ( x ) , . . . , z K ( x ) . The region of feasible solutions in the solution space X is often specified by a collection of constraints, such as g j (x*) = b j for j = 1,..., m. An ideal solution that simultaneously optimizes each objective function is impossible to find in most cases because of the mutual conflicts between objectives. Multi-objective optimization algorithms search for balanced solutions, providing not a single solution but a collection of them, an approximation to the Pareto set. A solution x dominates another solution x' if it improves it for all objective functions, i.e., z1 (x') < z1(x),...,z K (x') < z K (x). The Pareto set is the set of solutions that are not dominated by any other solution P = {x|¬∃x'; z1 (x') < z1 (x), ..., z K (x') < z K (x) }. In the function domain, the Pareto front is constituted by the function values of the solutions in the Pareto set. If a single solution is sought, then an additional selection must be performed on the Pareto set of non-dominated solutions. We propose the use of specific MOGA for the selection of the endmembers from the large set of endmember candidates provided by the WM algorithm.

In this study, we propose and test a three-step process for endmember induction which we call WM-MOGA. First, we compute the set of candidate endmembers applying the WM algorithm. Second, we apply a MOGA looking for an optimal set of endmembers minimizing both the residual error (RMSE) from the unmixing process and its cardinality, which amounts to minimizing the complexity of the solution. This WM-MOGA process returns a set of solutions that form a Pareto front on the solutions space formed by the two objective functions. Third, we apply an Occam razor threshold criterion [21] to select the optimal set of induced endmembers as in [22]. To speed up the MOGA phase we use an alternative definition of the objective functions, minimizing the maximum correlation between endmembers. This MOGA does not need to compute the unmixing process for each individual and, therefore, it is several orders of magnitude faster.

We test the WM-MOGA process on real hyperspectral scenes and compare it against the random search approach [22] based on the N-FINDR algorithm [23]. For validation, we calculate the correlation between the fractional abundances of the optimal endmembers induced by both, the WM-MOGA and the N-FINDR, and the available ground truth class spatial distribution. As WM-MOGA is an unsupervised process, the assignment of an abundance image to a ground truth class implies computing all possible combinations and selecting the best match.

The article is organized as follows. In Section 2, we review the WM algorithm. Section 3 introduces the proposed WM-MOGA approach for endmember induction. In Section 4, we define the experimental research, and in Section 5, we analyze the results. Finally, we give some conclusions in Section 6. Appendix 1 describes the N-FINDR algorithm. Appendix 2 reviews the specific MOGA applied to the problem.

2 WM algorithm

The WM algorithm [10] is a Lattice-EIA that builds a convex polytope containing the data. Algorithm 1 shows a pseudo-code specification for the WM algorithm. Given an hyperspectral image H, it is reshaped to form a matrix X of dimension N × L, where N is the number of image pixels, and L is the number of spectral bands. The algorithm starts by computing the least hyperbox covering the data, ( v , u ) , where v and u are the minimal and maximal corners, respectively, whose components are computed as follows:

v k = min ξ x k ξ and u k = max ξ x k ξ ; k = 1 , . . . , L ; ξ = 1 , . . . , N .
(1)

Next, the WM algorithm computes the dual erosive and dilative LAAMs, W XX and M XX :

W X X = ξ = 1 N [ x ξ × ( x ξ ) ] and M X X = ξ = 1 N [ x ξ × ( x ξ ) ] ,
(2)

where × is any of the ⍌ or ⍓ operators. Here ⍌ and ⍓ denote the max and min matrix product [14], respectively, defined as follows:

C = A B = [ c i j ] c i j = k = 1 , ... , L { a i k + b k j } ,
(3)
C = A B = [ c i j ] c i j = k = 1 , ... , L { a i k + b k j } .
(4)

Next, the columns of W XX and M XX are scaled by v and u, forming the additive scaled sets W= w k k = 1 L and M= m k k = 1 L :

w k = u k + W k ; m k = v k + M k , k = 1 , . . . , L ,
(5)

where Wkand Mkdenote the k th column of W XX and M XX , respectively. Finally, the set V = WM ∪ {v, u} contains the vertexes of the convex polytope F ( X ) ( v , u ) which covers the convex hull of the data, C (X), as a subset:

X C ( X ) F ( X ) ( v , u ) ,
(6)

where F (X) denotes the set of fixed points for both LAAMS W XX and M XX . The WM algorithm returns the set V as the set of induced endmembers. The algorithm is simple and fast but the number of induced endmembers, the amount of column vectors in V, can be too large for practical purposes. Furthermore, some of the endmembers induced that way can show high correlation even if they are affine independent. To obtain a meaningful set of endmembers, we search for an optimal subset of V in the sense of minimizing the unmixing residual error and the number of endmembers.

3 WM-MOGA

The WM-MOGA is a three step process specified in pseudo-code by Algorithm 2. WM-MOGA starts by computing a set of candidate endmembers using the WM algorithm. Given an hyperspectral image H, it is reshaped to a matrix X of size N × L, where N is the number of pixels in the image, and L is the number of spectral bands. Applying WM algorithm to X obtains a set of candidate endmembers, denoted E WM = {e1,..., ep}. The second step of WM-MOGA finds the optimal subset of endmembers in terms of unmixing residual error and complexity, by using a multi-objective genetic algorithm (MOGA) [17, 18, 20] to calculate the Pareto front of non dominated solutions, as defined in the introduction section, P = E 1 , . . . , E q P E WM , where P E WM is the power-set of E WM . We define two fitness functions. One is the unmixing residual error of Equation (7) denoted by fRMSE(E),

f RMSE ( E ) = RMSE ( E , X ) = 1 N i = 1 N x i - E α i 2 ,
(7)

where x i is the i th pixel in the hyperspectral image X, and α i is the vector of fractional abundances for the i th pixel calculated by full constrained least squares unmixing

  1. 1.

    L is the number of the spectral bands and N is the number of data samples.

  2. 2.

    Compute v = [v1,..., v L ] and u = [u1, ...,u L ],

    v k = min ξ x k ξ ; u k = max ξ x k ξ

for all k = 1,...,L and ξ = 1,...,N,

  1. 3.

    Compute the LAAMs

    W X X = ξ = 1 N [ x ξ × ( x ξ ) ] ; M X X = ξ = 1 N [ x ξ × ( x ξ ) ]

where × is any of the ⍌ or ⍓ operators.

  1. 4.

    Build W = {w1,..., wL} and M = {m1,..., mL} such that

    w k = u k + W k ; m k = v k + M k ; k = 1 , . . . , L .
  2. 5.

    Return the set V = WM ∪ {v, u}.

Algorithm 1: Pseudo-code specification of the WM algorithm.

  1. 1.

    Apply WM (X) to obtain EWM = {e1,..., ep}

  2. 2.

    Apply MOGA (E WM ) to obtain the Pareto set of solutions P = {Ei, i = 1,..., q}

  3. 3.

    Apply the Occam razor selecting E * ( ε ) = arg min P f RMSE ( E i + 1 ) f RMSE ( E i ) - f RMSE ( E i ) f RMSE ( E i - 1 ) < ε

  4. 4.

    Return E*(ε)

Algorithm 2: Pseudo-code for the WM-MOGA process.

(FCLSU) [24]. The second fitness function is a measure of the solution complexity given the relative size of the set of endmembers as specified in Equation (8), denoted by f|·| (E),

f ( E ) = E E WM ,
(8)

where |·| denotes the cardinality of a set. The MOGA requires to encode the problem so each individual in the search population represents a solution. A k th individual chromosome is defined as a binary vector b k = {b1, ..., b p }; b i ∈ {0,1}; ∀i = 1,..., p; being p the number of candidate endmembers returned by WM algorithm. If b i = 1, the i th candidate endmember eiE WM belongs to the set of induced endmembers, E k , corresponding to b k . Appendix 2 gives the details of the NSGA-II algorithm [19] that we have applied to this problem.

The final third step applies the Occam razor [21] to select the size set of endmembers, where the reduction in the unmixing residual error obtained accepting another endmember is below a given threshold. Sorting the solutions EiP by their cardinality so that i = |Ei|, the Occam razor condition is specified in Equation (9) for a given selection threshold ε on the difference of relative errors between consecutive solutions according to the number of endmembers:

E * ( ε ) = arg min P f RMSE ( E i + 1 ) f RMSE ( E i ) - f RMSE ( E i ) f RMSE ( E i - 1 ) < ε .
(9)

The algorithm returns E*(ε) as the final set of induced endmembers from the hyperspectral image X.

3.1 WM-MOGA-CORR

Much of the computational cost of the MOGA is due to the computation of the fractional abundances α for each population individual at each generation. We propose a faster approximation in which MOGA looks for subsets of endmembers that minimize the maximum of the between endmembers correlation while keeping as much endmembers as possible. This is done by substituting the unmixing error fitness function in Equation (7) by a fitness function based on the maximum correlation between the endmembers

f CORR ( E ) = max c i j , e i , e j E ,
(10)

where c ij is the Pearson's correlation between endmembers. Thus, we try to minimize the maximum correlation between endmembers. This fitness function is far less computationally expensive than the fitness function fRMSE of Equation (7). The solution complexity related fitness function of Equation (8) can not be applied in conjunction with the correlation based fitness function of Equation (10) because it leads to the trivial result of a single endmember. Instead, we use its inverse:

f - 1 ( E ) = E WM E .
(11)

We call this approximation to the WM-MOGA using fitness functions f CORR , f - 1 WM-MOGACORR. Note that the optimality criteria for the set of endmembers sought is the minimization of the unmixing residual error and number of endmembers. The approximation WM-MOGACORR does not attempt to minimize these criteria directly, but nevertheless the quality of its achieved solution will be evaluated on the basis of the unmixing residual error.

4 Experimental design

We first present the hyperspectral data used on the experiments. Secondly, we describe the experimentation methodology. The experiments have been run using the MATLABb implementation of NSGA-II [19]. The number of individuals in the population was set to 100 for the WM-MOGARMSE and 1000 for the WM-MOGACORR. To perform the comparison we calculate the correlation between the fractional abundance images corresponding to the optimal sets of endmembers induced by the different approaches and the ground truth classes from the different hyperspectral scenes. All the hyperspectral scenes and code of the algorithms and methods implemented are freely accessible from the computational intelligence group website.c,d

4.1 Hyperspectral data

4.1.1 The Indian Pines scene

The Indian Pines scene was gathered by AVIRIS sensor over north-western Indiana and consists of 145 × 145 pixels and 224 spectral reflectance bands in the wavelength range 0.4-2.5 μ m. This scene contains two-thirds agriculture, and one-third forest or other natural perennial vegetation. There are two major dual lane highways, a railway line, as well as some low density housing, other built structures, and smaller roads. Since the scene is taken in June some of the crops present, corn, soybeans, are in early stages of growth with less than 5% coverage. The ground truth available is designated into sixteen classes with variable number of samples for each class (see Table 1). We have reduced the number of bands to 200 by removing bands covering the region of water absorption: [104-108], [150-163], and 220. Indian Pines data are available through Purdue's university MultiSpec site.e Figure 1 shows a sample band and the ground truth of Indian Pines dataset.

Table 1 Indian Pines ground truth classes and number of samples collected for each class
Figure 1
figure 1

The Indian Pines AVIRIS image (a) Indian Pines sample image, band 170. (b) Indian Pines ground truth.

4.1.2 The Salinas scene

This scene was collected by the 224-band AVIRIS sensor over Salinas Valley, California, and is characterized by high spatial resolution (3.7-meter pixels). The area covered comprises 512 lines by 217 samples. As with Indian Pines scene, we discarded the 20 water absorption bands, in this case bands [108-167], and 224. It includes vegetables, bare soils, and vineyard fields. Salinas ground truth contains 16 classes. Figure 2 shows a sample band and the ground truth of Salinas dataset, and Table 2 shows the ground truth classes and their respective sample numbers.

Figure 2
figure 2

The Salinas AVIRIS image (a) Salinas sample image, band 170. (b) Salinas groundtruth.

Table 2 Salinas groundtruth classes and number of samples for each class

4.2 Methodology

Research questions explored in this article are the following ones: (a) is it possible to obtain a reduced set of endmembers from the WM algorithm using a search process based on the quality and size of the set of endmembers?, (b) is it possible to speed up the search process using indirect information such as the correlation between endmembers?, (c) how those endmember induction processes compare with a state-of-the-art algorithm?. We have defined the WM-MOGA and WM-MOGACORR algorithms to answer the first two questions. The experimental results provide answers to the last question. We compare the WM-MOGA (denoted WM-MOGA RMSE in the figures) and WM-MOGACORR processes with a recent random search approach based on N-FINDR [22] which runs the N-FINDR algorithm several times for increasing values of the number of desired endmembers, p, and then applies the Occam razor specified by Equation (9) to determine the optimal set of endmembers E N - FINDR * ( ε ) .

It is important to note that the endmember induction processes are unsupervised, therefore the meaning of the endmembers found and their relation to the ground-truth classes is unknown. However, we want to support our study on the knowledge of a given ground-truth for the benchmark images. The evaluation process looks for the best match between the abundance images produced by the unmixing and the image regions identified with each class in the ground truth.f We compute all the possible spatial correlations between them, obtaining a matrix of correlation indices. The examination of this matrix gives information about the discovery of the ground-truth classes, which endmembers are associated to them and the uncertainty or ambiguity of this association.

5 Results

We first provide the plots of the unmixing residual error versus the number of endmembers of the solutions found by the WM-MOGA, WM-MOGACORR and N-FINDR based approach of [22]. Note that the Pareto front of WM-MOGACORR refers to the correlation between endmembers, not to the unmixing residual error. However the selection of the solution is based on the same criteria for all algorithms. Figures 3 and 4 show these plots for the Indian Pines and Salinas images, respectively. The curve corresponding to the WM-MOGA is smooth because the MOGA searches for the Pareto front based on these criteria. The curves corresponding to WM-MOGACORR and N-FINDR are more irregular, with several local minima. The Occam razor tries to determine the optimal solution based on the relative error decrease according to Equation (9). We plot in Figures 5 and 6 the relative error fRMSE (Ei)/(Ei-1) evolution for the algorithms. It can be appreciated that the WM-MOGA provides a smooth relative error curve that allows an easy setting of the threshold parameter of the Occam razor and gives sensible results in the selection applying ε = 10-2. For the WM-MOGACORR selection of the definitive threshold required inspection of the relative error curve, a threshold ε = 10-2 gives sensible results for the Indian Pines image, but ε = 10-1 is required for the Salinas image. The N-FINDR approach gives very irregular relative error curves, however the standard threshold ε = 10-2 gives sensible results for both images. The endmembers selected as a result of these decisions are plot in Figures 7 and 8 for the Indian Pines and Salinas images, respectively. Endmembers found by the N-FINDR are also plot for comparison. It can be appreciated that WM-MOGACORR provides more uncorrelated endmembers than the other approaches. The WM-MOGACORR is the most relaxed approach, finding the highest number of endmembers, however, a strong correlation can be appreciated in Figures 7 and 8 among the endmembers found by all three approaches, though the WM-based endmembers are not pixel spectra from the image, while N-FINDR endmembers are pixel signatures selected from the image. For a qualitative evaluation of the results, we provide in Figures 9 and 10 the thematic maps and the images containing the maximum abundance value per pixel for each of the tested approaches. The thematic maps are computed as follows. We compute the correlation coefficient between each abundance image and each binary image corresponding to a ground-truth class spatial distribution. We assign to each endmember the set of ground truth regions with positive correlation coefficients. For each pixel we select the endmember with the maximal abundance value and we assign to the pixel the linear combination of the colors of ground-truth positively correlated with the endmember abundance, i.e., the orange color corresponds to the mixture of red and yellow. We remove the background class in these computations. It can be appreciated examining the thematic maps in Figures 9b,d,f and 10b,d,f that the WM-MOGACORR provides more clean recognition of the ground-truth class areas in both Indian Pines and Salinas, maybe due to its emphasis in uncorrelated endmembers. Besides, there is little correspondence between the classes and the endmembers in all cases: most of the ground truth regions are not recognized in their original spatial localization. Attending to the abundance coefficients shown in Figures 9c,e,g and 10c,e,g there are few pixels with a pure endmember matching, most abundance values are moderate implying some degree of mixture of the real classes. We found that, in average, the WM-MOGACORR provides the greater values of the abundance coefficients, improving over WM-MOGA and N-FINDR. Finally, to asses the degree of ground-truth class discovery by the endmembers we plot the maximum correlation coefficient per abundance and per ground truth class in Figures 11 and 12 for the Indian Pines and Salinas images, respectively. Examining the maximum correlation per ground truth class (Figures 11a and 12a) the results are not exactly equal in both images, however the trends are similar. We find that the WM-MOGA provides the best identification of the class almost for all of them. For some classes WM-MOGACORR performs better, for a couple of classes N-FINDR is the best detector. We can say that WM-MOGA compares well or improves the ground-truth class detection over N-FINDR. Also the correlation approximation of WM-MOGACORR gives surprising good detections of some ground truth classes, and in general is a good approximation to the detection obtained by WM-MOGA. Examining the maximum correlation per abundance image (Figures 11b and 12b), we find the same kind of results. For most of the induced abundances, the WM-MOGA provides the best correspondence to some ground-truth class. The approximation provided by the WM-MOGACORR, which is several orders of magnitude faster, does a good job of finding meaningful endmembers, but it finds many endmembers so that there is a tail of irrelevant endmembers little correlated with the ground-truth classes.

Figure 3
figure 3

Indian Pines image. Plot of the unmixing residual error versus the number of endmember for the Pareto set of non-dominated solutions found by WM-MOGA and WM-MOGA-CORR, and the solutions found by the N-FINDR based approach of [22].

Figure 4
figure 4

Salinas image. Plot of the unmixing residual error versus the number of endmember for the Pareto set of non-dominated solutions found by WM-MOGA and WM-MOGA-CORR, and the solutions found by the N-FINDR based approach of [22].

Figure 5
figure 5

Indian Pines image. Relative error fRMSE (Ei)/fRMSE(Ei-1) for the solutions obtained by WM-MOGA and WM-MOGA-CORR, and N-FINDR in Figure 3.

Figure 6
figure 6

Salinas image. Relative error fRMSE (Ei)/fRMSE(Ei-1) for the solutions obtained by WM-MOGA and WM-MOGA-CORR, and N-FINDR in Figure 4.

Figure 7
figure 7

Endmembers induced from the Indian Pines scene by the (a) WM-MOGA, (b) WM-MOGA CORR , and (c) N-FINDR approaches following the Occam razor selection strategy. Plot colors are arbitrary. The number of endmembers found by each method is 18, 19, and 14, respectively.

Figure 8
figure 8

Endmembers induced from the Salinas scene by the (a) WM-MOGA, (b) WM-MOGA CORR , and (c) N-FINDR approaches following the Occam razor selection strategy. Plot colors are arbitrary. The number of endmembers found by each method is 9, 12, and 9, respectively.

Figure 9
figure 9

Thematic maps obtained by linear combination of the color tags of the ground truth regions with maximal correlation relative to the abundance images. (a) Indian Pines ground-truth shown for comparison. (b) WM-MOGA, (d) WM-MOGA-CORR, (f) N-FINDR. Maximal abundance value per pixel (c) WM-MOGA, (e) WM-MOGA-CORR, (g) N-FINDR.

Figure 10
figure 10

Thematic maps obtained by linear combination of the color tags of the ground truth regions with maximal correlation relative to the abundance images (a) Salinas ground-truth shown for comparison. (b) WM-MOGA, (d) WM-MOGA-CORR, (f) N-FINDR. Maximal abundance value per pixel (c) WM-MOGA, (e) WM-MOGA-CORR, (g) N-FINDR.

Figure 11
figure 11

Indian Pines image. Maxima of the correlation coefficients between ground truth classes and induce abundance images. (a) Maxima per ground-truth class, (b) maxima per endmember.

Figure 12
figure 12

Salinas image. Maxima of the correlation coefficients between ground truth classes and induced abundance images. (a) Maxima per ground-truth class, (b) maxima per endmember.

6 Conclusions

The WM Algorithm proposed by Ritter at al. [10, 16] is a fast procedure to obtain a set of affine independent vectors which are the vertices of a convex polytope covering the sample data. Applied to hyperspectral images, WM Algorithm produces a large set of candidate endmembers. We propose the application of an specific MOGA minimizing the unmixing residual error and the number of endmembers, followed by an Occam razor selection on the Pareto front to obtain an appropriate set of endmembers tailored to the data. The WM-MOGA compares well to a recent state-of-the-art endmember induction heuristic [22] in terms of the correlation of the induced abundance images with the given ground truth class spatial distribution. Furthermore, we propose an approximation to the MOGA which does not need to compute the linear unmixing based on the individual chromosomes at each generation. This fast process identification of the ground truth classes compares well with the reference heuristic. However, it overestimates the set of endmembers, including some redundant or irrelevant endmembers. Future study will be addressed to improve the fast approach introducing new regularization fitness functions to obtain smaller sets of endmembers of equivalent quality.

Appendix 1: N-FINDR

Algorithm 3 presents the N-FINDER [23] pseudo-code. The N-FINDER algorithm works by growing a simplex inside the data, beginning with a random set of pixels. The vertices of the simplex with higher volume are assumed to identify the endmembers. Previously, data dimensionality has to be reduced to p - 1 dimensions, being p the number of endmembers searched for.

Let E be the matrix of endmembers augmented with a row of ones

E = 1 1 1 e 1 e 2 e p ,
(12)

where e i is a column vector containing the spectra of the i th endmember. The volume of the simplex defined by the endmembers is proportional to the determinant of E

V ( E ) = a b s ( det ( E ) ) ( p - 1 ) ! .
(13)

The N-FINDER starts by selecting an initial random set of pixels as endmembers. Then, for each pixel and each stored endmember, the endmember is replaced with the spectrum of the pixel and the volume recalculated by Equation (13). If the volume of the new simplex increases, the endmember is replaced by the spectrum of the pixel. The procedure ends when no more replacements are done. The N-FINDER is a greedy algorithm, prone to fall in local maxima of the volume function.

Appendix 2: NSGA-II

The non-dominated sorting genetic algorithm II (NSGA-II) [19] is a fast and elitist multi-objective genetic algorithm. The NSGA-II algorithm starts by creating a random initial parent population P0, which is sorted based on non-domination such that a rank is assigned to each solution according to its level of non-domination (rank 1 corresponds to non-dominated solutions in the Pareto front). Conventional tournament selection, recombination and mutation operators for binary chromosomes are used to create an offspring population Q0 of size N.

Algorithm 4 gives the pseudo-code for a single NSGA-II generation. First, a combined population R t = P t Q t of size 2N is formed. Elitism is ensured because the best individuals from the parents and of springs are always retained. Then, R t is sorted according to non-domination level using a fast sorting algorithm. The non-dominated set of solutions in 1 are included in new population Pt +1. Once 1 is removed from R t , then the solutions in 2 are the new set of non-dominated solutions in R t - 1 , and are thus included in the new population Pt +1. This procedure is repeated adding subsequent non-dominated fronts in the order of their ranking until reaching the required number of solutions N. Often, not all the solutions in the last considered front F l are included. The solutions of the last front are sorted in descending order using the crowded-comparison

  1. 1.

    Apply principal component analysis (PCA) to reduce the data dimensionality. Keep the first p - 1 principal components.

  2. 2.

    Randomly select p vectors from the data to initialize the set of induced endmembers E.

  3. 3.

    Calculate the volume of the simplex v = V (E) (13). vactual = v.

  4. 4.

    For each endmember e k , k = 1,..., p:

  5. (a)

    For each data vector x i , i = 1, ..., N:

  6. i.

    Form a new matrix E' by substituting the endmember e k by the data vector x i .

  7. ii.

    Calculate the volume of the simplex v' = V (E').

  8. iii.

    If v' > vactual then E' becomes E. vactual = v'.

  9. 5.

    If vactual > v then v = vactual. Go to step 4.

Algorithm 3: N-FINDR algorithm.

  1. 1.

    Combine parent and offspring population: R t = P t Q t

  2. 2.

    Calculate all the non-dominated fronts of R t := 1 , 2 , . . . = fast-non-dominated-sort (R t )

  3. 3.

    Do until filling the parent population: P t + 1 + i N

  4. (a)

    Calculate crowding-distance in i : crowding-distance-assignment i

  5. (b)

    Include i th non-dominated front in the parent population: P t + 1 = P t + 1 i

  6. (c)

    Check the next front for inclusion: i = i + 1

  7. 4.

    Sort in descending order using the crowding-comparison operator ≼ n : Sort i , n

  8. 5.

    Choose the first (N - |Pt +1|) elements of i : P t + 1 = P t + 1 i 1 : N - P t + 1

  9. 6.

    Use crossover and mutation to create a new offspring population Qt +1

  10. 7.

    Increment the generation counter: t = t +1

Algorithm 4: NSGA-II algorithm iteration.

operator ≼ n which favors solutions with lower (better) non-domination rank and, if both solutions belong to the same front, favors the solution located in a lesser crowded region. Best solutions are chosen up to fill Pt +1, which is now used for crossover and mutation to create a new offspring population Qt +1of size N. The overall complexity of the algorithm is O (MN2) which is governed by the non-dominated sorting part of the algorithm. The diversity among non-dominated solutions is introduced by using the crowding-comparison procedure, which makes unnecessary any niching parameter.

Endnotes

aThe convex polytope is a simplex when it is defined by d + 1 vertices, where d is the dimension of the space. bhttp://www.mathworks.com/products/matlab/ chttp://www.ehu.es/ccwintco/index.php/GIC-source-code-free-libre dhttp://www.ehu.es/ccwintco/index.php/GIC-experimental-databases ehttps://engineering.purdue.edu/~biehl/MultiSpec/ fWe do not have knowledge of the ground truth endmembers.