## 2 Methodology
### Design of FCM-Based GA  
As explained earlier, a GA has been incorporated into FCM to improve the FCM performance by preventing the cluster centers from converging to local extrema too easily. Past research indicates that the combination of GA and FCM methods has apparent strength. [PERSON] and [PERSON] [50] studied a combination of the kernel-based FCM and GA, leading to improved clustering performance. [PERSON] [55] demonstrated that the FCM-NSGA (non-dominated sorting GA) achieves the best partitioning over the other techniques. [PERSON] and [PERSON] [56] suggested a clustering algorithm based on quantum GA, resulting in a better clustering than the general FCM clustering algorithm. Herein, we develop an FCM-based GA approach that combines a GA with FCM. We use center-based string encoding, nonlinear ranking selection, and an adaptive crossover and mutation strategy [55], discussed below. (1) Chromosome structure  
It is always important to have an effective and efficient chromosome structure to the problem in GA. The chromosomes of our proposed FCM-based GA represent the cluster centers by encoding them as a center-based string. Since the job records in this study have K attributes, the K-dimensional centers of \(G\) clusters are called genes and are concatenated into a string, as shown in Figure 2. An individual or chromosome comprises \(G\) K-dimensional centers. Therefore, the FCM is implemented whenever K-dimensional centers of G clusters need to be found, given attribute values \(v_{ib}\) and their membership values \(u_{ic}\) to cluster c.  
(2)  
The fitness function is the measure to judge and evaluate individuals (chromosomes) until either a maximum number of generations is reached or the fitness value has converged (i.e., a fitness variance is small enough). In GAs, individuals with higher fitness values are considered better and are more likely to survive. In our case, we used the reciprocal of the objective function as the fitness function to evaluate each individual's fitness:  
\[F=\frac{10^{6}}{\sum_{c\in G}\sum_{i\in R}u_{ic}{}^{m}\cdot d_{ic}}. \tag{7}\]  
(3) Genetic operators  
The genetic operators that drive the search process are as follows. (1) Selection operator  
Here, the constant-ratio selection method is used to determine individuals to which genetic operations are applied. This selection operator allows us to use good individuals as parents for the population in the next generation. A group is created by selecting a pre-determined percentage (or constant ratio) of individuals from the population, and the best individual among that group is chosen. This process is repeated as many times as the size of the population. This method can preserve the best individual in the current population. With this strategy, fitter individuals have higher survival probabilities, although this does not guarantee that the fittest individual is selected. (2) Crossover operator  
First, we generate a random number \(\alpha\) in the interval \([0,1]\) and compare it with the crossover probability \(P_{c}\). The crossover operator is applied to two parents that are selected randomly to generate two new children while \(\alpha<P_{c}\). We use a single-point crossover operator, and the crossover point is selected based on a random integer \(c\in[1,G]\). The crossover process is shown in Figure 3.  
(3) Mutation operator  
For each individual, we generate a random value \(\beta\) in the interval \([0,1]\) and compare it to the mutation probability \(P_{m}\). If \(\beta<P_{m}\), we mutate that individual using a single-point mutation one by replacing randomly selected gene with a new random K-dimensional center \(Z_{c}^{*}\) (\(z_{c1}^{*},z_{c2}^{*},\ldots,z_{cK}^{*}\)), as shown in Figure 4.  
Figure 3: Generating two new children from two parents via crossover. Figure 2: String encoding for cluster centers. (4)  
Steps of FCM-based GA  
The following steps must be implemented to apply the proposed FCM-based GA.