Modeling the Scheduling Problem in Cellular Manufacturing Systems Using Genetic Algorithm as an Efficient Meta-Heuristic Approach

This paper presents a new, bi-criteria mixed-integer programming model for scheduling cells and pieces within each cell in a manufacturing cellular system. The objective of this model is to minimize the makespan and inter-cell movements simultaneously, while considering sequence-dependent cell setup times. In the CMS design and planning, three main steps must be considered, namely cell formation (i.e., piece families and machine grouping), inter and intra-cell layouts, and scheduling issue. Due to the fact that the Cellular Manufacturing Systems (CMS) problem is NP-Hard, a Genetic Algorithm (GA) as an efficient meta-heuristic method is proposed to solve such a hard problem. Finally, a number of test problems are solved to show the efficiency of the proposed GA and the related computational results are compared with the results obtained by the use of an optimization tool.


Introduction
One of the key decisions in cell production is the timing of components in each cell. In Cellular Manufacturing (CM) scheduling, a set of components must be processed in cells by a set of machines [1]. The goal is to find the sequence of performing pieces in each group and the sequence of performing groups of pieces in cells on a set of machines; in such a way that the desired criterion is optimized in the schedule [2]. Different criteria can be considered for a cell production scheduling problem that can be minimized to completion time, minimum weighted total completion time, minimized maximum delay, minimized total delay, minimized total weighted delay, minimized number of delayed tasks and minimized the number of intercellular translocations [3][4][5]. In practice, there are various operational constraints on CM scheduling. For example, startup times can depend on the sequence of cells. In explaining the start-up times depending on the sequence of cells, it is important to note that in the cell production system, the start-up cost of machines varies according to the sequence of the family of pieces belonging to each cell.
Most algorithms developed for the group scheduling problem have two steps: the first step determines the sequence of pieces in groups and the second stage determines the sequence of performing groups of pieces in cells [6]. In terms of the number of cells, articles can be divided into two categories: articles that consider one cell and those that consider more than one cell.
The difference between the model presented in this paper and other studies is considering cell start-updependent start-up times with the two objectives of minimizing the total time of pieces completion and transitions between cells to determine the sequence of pieces in each cell and the sequence of groups of pieces in cells. Simultaneously presenting a multi-criteria mixed integer programming model. This study presents a new mathematical model for the design of reliable cellular manufacturing systems, which leads to reduced manufacturing costs, improved product quality and improved total reliability of the manufacturing system. The rest of this paper is organized as follows: Section 2 discusses related works to scheduling problem in cellular manufacturing systems. Section 3 presents details of the proposed method to solve the CMS problem. The experimental results and discussions of the proposed method are reported in Section 4. Section 5 presents conclusions.

Related works
Various studies have been conducted in which attempts are made to develop innovative algorithms to solve the problem of cell production scheduling, some of which are analyzed below.
In [7], several cells are considered and an innovative method for minimizing the completion time is presented. In [8], an algorithm for optimal solution of the workshop flow scheduling problem of two machines is presented, at which the start-up is considered. In [9], the workshop flow problem of two machines was timed with start-up time. In [10], they considered the issue of workshop flow scheduling in which each group needs start-up time and harvest time from the same machine. In [11], A. Adinarayanan, et al. defines the lower limit for optimizing the total construction time and proposes the branch and limit method for achieving the optimal sequence of pieces and groups. Given that scheduling cell production systems is a difficult indefinite polynomial problem.
In [12], the problem of cell scheduling with one cell, several machines and sequence-dependent preparation time was considered with the aim of minimizing the total construction time and ignoring intercellular movements. Scalar solved the problem with improved innovative algorithms. Here, the problem is solved with genetic and mimetic meta-heuristic algorithms, and also the problem is solved with the meta-heuristic forbidden search algorithm. In [13], the problem of scheduling cell production with the aim of minimizing the time of completion of pieces and intercellular displacements has been solved with the mimetic algorithm.
In [14], studies were performed on the implementation of different methods resulting from a crossover of three methods PT, LN and CDS, and in the end it was stated that the LN-PT method in which the LN method was used in the first stage and the PT method in the next stage is superior to the combined methods of PT-LN, PT-CDS and CDS-PT. The PT and CDS algorithms are single and multiple innovative algorithms, respectively, which simplify the workflow scheduling problem with work and m machine to problems with n work and two machines, and then use the Johnson algorithm to sequence tasks.
Layout design is the process in which industrial robots and other manufacturing system components are allocated at specific positions so that the assembly tasks can be handled appropriately. In [15], developed a tool for optimizing assembly work cell layout using simulated annealing algorithm. This method yields several possible and optimal positions for a machine, and several layouts are thus obtained at the end of execution. In [16], proposed a heuristic algorithm to optimize the layout of a robot work cell. These methods require explicit constraint handling regarding component overlapping, since component coordinates are handled as design variables, and this implementation obstructs global searching of the solution space.

Proposed method
During the cell production system scheduling process according to the model proposed in the paper, the expected outputs are: (i) forming a family of pieces according to the location of machines in each cell, (ii) determining the sequence of pieces for production in each cell and (iii) Sequencing of groups of components in cells.

Mathematical model
The proposed model is presented by describing the assumptions, parameters, variables, objective function and constraints. The assumptions considered for this model are: 1) the operating time of all pieces on any type of machine is definite, 2) the number of pieces is definite and fixed, 3) the number of machines in the system is definite and fixed, 4) the number of existing cells In the system it is fixed, 5) the machines in each cell are known, 6) each type of machine can perform only one type of operation and each operation can also be performed by one type of machine, 7) the distance between the cells is the same; That is, the intercellular displacement time is fixed for all movements. 8) We will not have a breakdown time for the machines, and the start-up times for each machine are specific and depend on the cell sequence.
As we know, in a general approach, several criteria should be considered in scheduling; That is, all the criteria for scheduling cell production must be combined in a way that functions in the objective function. But due to the complexity of the problem and the problems arising from the computational time required; it is not possible to consider all of them. Therefore, in this paper, only the total construction time (completion of pieces or tasks) and intercellular movement will be considered. The aim of the model is to minimize the total manufacturing time and intercellular movement time.
The following are the indices and parameters of the cell production problem. Here, is the symbol of the pieces that belong to the set = {1, . . . , } ‫و‬ and is the number of pieces. is the machine symbol that belongs to the set = {1, . . . , } and is the number of machines. is the symbol of the cell that belongs to the set = {1, . . . , } and is the number of cells. is the symbol of the sequence of pieces that belongs to the set = {1, . . . , } and is the number of sequences. is the symbol of the cell sequence that belongs to the set = {1, . . . , } and is the number of sequences.
The values of the input parameters that must be specified at the beginning of solving the mathematical model are: component manufacturing path, operating time, machine placement in the cell, inter-cell movement time, and sequence-dependent start-up time. Here, !" is the time required to process piece on machine , and !" and "# are defined as follows: In addition, $#" is the start time on machine in cell when it is immediately after cell , and ##" is the start time on machine in cell .
In addition, decision variables are summarized as follows: In addition, %"#& was the construction time of the piece in sequence on machine in cell , which is in sequence , and '() was the total construction time.
The objective function is to minimize intercellular movement time and total manufacturing time. In fact, the model considers the problem both in terms of timing and operation.
Assigns each component to a cell according to Eq. (7).
Where, Eq. (8) ensures that each sequence is assigned only one cell.
Where, Eq. (9) ensures that each cell is assigned to only one sequence.
Where, Eq. (10) assigns each of the components assigned to each cell to a sequence in that cell.
Where, Eq. (11) ensures that each sequence in a cell is assigned to a maximum of one piece.
Equates the completion time of the piece assigned to the first sequence on the first machine in the cell in the first sequence to the sum of the specified processing time of the piece and the start-up time of the specified cell on the first machine.
In this regard, completes the time assigned to theth sequence on the first machine in the cell in the first sequence if the piece in our sequence is preceded by the specified cell (for The first machine is set up in the This article has been accepted for publication in a future issue of this journal, but it is not yet the definitive version. Content may undergo additional copyediting, typesetting and review before the final publication. Where, in Eq. (13), values 0 and 1 are introduced.

Proposed genetic algorithm
Genetic algorithm is a comparative stochastic search approach based on Darwin's theory of proportionality. The most suitable organ has the highest probability of survival and consequently an increase in number; while the most unworthy die. One of the most important features of GA is its tendency towards definite or nearoptimal optimal solutions even in large or complex search spaces. Fig. 1 shows the general method of genetic algorithm.
In this problem, matrix with dimensions ( × ) is designed as a solution for sequencing pieces in cells. Thus, in , the element of this matrix is assigned numbers from 1 to , and how to design this matrix and the solutions is such that the solutions are all created as possible and the problem does not go in an impossible environment.
This article has been accepted for publication in a future issue of this journal, but it is not yet the definitive version. Content may undergo additional copyediting, typesetting and review before the final publication. As stated earlier, to minimize the total construction time, we are faced with two types of sequences: sequencing of pieces in each cell and sequencing of cells, which are determined simultaneously. So corresponding to each sequence of components inside the cells, we will also have a sequence for the cells. Therefore, corresponding to matrix , which specifies the sequence of pieces in cells, matrix is considered to have dimensions ( × 1), in each row of which the sequence of cells is given. So at the end of each matrix and one matrix is a solution for the model presented in Piece 2. Fig. 2 shows an example of a chromosome for 10 pieces and 3 cells.

Fig. 2. An example of a proposed chromosome
In this example, the two matrices and together are a chromosome that shows the pieces (1,4,9) to the first cell, the pieces (3,10,6) to the second cell and the pieces, respectively. (2,7,5,8) are assigned to the third cell, respectively, and also the sequence of cells is 2, 3, and 1: that is, first the components in the second cell are processed in the specified sequence; then the pieces in the third cell and at the end of processing the pieces related to the first cell are done.
The first step in determining how to turn each answer into a chromosome is to create an initial population of chromosomes. At this stage, the initial answer is generated randomly.
If g is the value of the objective function obtained from Eq. (6), by performing conversion Eq. (14) we obtain the value of the fitness function for each of the chromosomes produced in the previous step: Where, = ,!-. . There are several ways to select '() ; The largest ! value ever seen is the largest in the current population or the largest in the previous generation . Here the value of '() is equal to the largest value of in the current population.
The mechanism of production and the ambiguity of how chromosomes are selected from the sampling space are related. In this paper, the method of random sampling with placement was used. In this method, the probability of selection corresponding to each chromosome is calculated based on its suitability; So if % is the suitability value of the chromosome, the probability of survival corresponding to that chromosome is: Selection method The main selection method is the roulette wheel [17]. In this method, in order to select each chromosome, first a random number between zero and one is generated and then the said number in each interval is selected, the corresponding chromosome is selected. The selected chromosome is returned to the chance wheel, and this cycle continues until the required population size is selected.
Crossover rate ( / ) is the probability of the crossover operator occurring on each of the chromosomes. For each chromosome, it generates a random number between zero and one. If this number is less than / , the chromosome is selected for the This article has been accepted for publication in a future issue of this journal, but it is not yet the definitive version. Content may undergo additional copyediting, typesetting and review before the final publication. crossover. In this case, as described below, it produces a new child; otherwise, the desired chromosome is not selected for the operation of the crossover.
Crossover operators are operators that select one or more points from two or more answers and swap their values. These operators consider an answer, do not replace pieces of the answer with other answers, and create new answers. In this paper, a point operator is used to produce offspring, which is randomly identified as a point of incision, and from this point of incision, the right side of the parent chromosomes are swapped; In this way, two new children are born. The children created may be an unjustified solution, in which case the two children created must be justified as two solutions to the problem. An example shows how the designed crossover operator works, which considers a matrix with 5 components and 2 cells. The two chromosomes 0 and 1 are the parents that are produced after the cutting operation of two children 0 and 1 . Fig. 3 shows an example of a crossover operator.

Fig. 3. Example of a crossover operator
The mutation operator is used to prevent the search from diverging in a local optimization. The probability or rate of mutation ( / ) in a chromosome is equal to the probability that each of the genes will change, which is a small amount. If this number is less than / , the mutation is performed as described below; otherwise, it remains unchanged. In the chromosome selected for the mutation, two random numbers between one and the total number of genes are selected and the values The genes corresponding to these numbers are interchanged, and the offspring may be an unjustified solution, in which case the two offspring should be justified as two solutions to the problem.
Consider chromosome 0 in the previous example; Suppose locations 3 and 4 are selected as mutation sites; As a result, it converts to ′ 0 after the mutation. Fig. 4 shows an example of a mutation operator.

Fig. 4. Example of a mutation operator
Another discussion in the implementation of genetic algorithms is how to deal with the limitations of the problem; because the genetic operators used in the algorithm produce unjustified chromosomes. In this paper, a modification strategy is used that in this method, instead of deleting the unjustified chromosome, it becomes a justified chromosome. This operation is used after the crossover operation, which may create unjustified chromosomes.
Corresponding to each of the unjustified chromosomes, we define two transfer matrices, all of whose strands are zero at the beginning. We compare the genes on the left side of the unjustified chromosome with the genes on the right side of the cut-off point; for each equation we observe, we zero the corresponding gene on the corresponding chromosome and its corresponding value in the transfer matrix. We do this for all the genes to the right of the cut-off point. Finally, to produce the justified child of the first parent, we use the transfer matrix of the second parent and vice versa; In this way, we use the corresponding transfer matrix values for the genes to the right of the cut-off point. In this way, children try to inherit their parents' traits, rather than eliminating them by deleting unwarranted chromosomes. Consider the previous example to clarify the matter; For two chromosomes 0 and 1 we have two matrices 0 and 1 . Finally, by inserting matrix 0 in chromosome 1 and matrix 1 in chromosome 0 , two justified children ′ 0 and ′ 1 are produced. This process is shown in Fig. 5. The movement of the genetic algorithm from one generation to the next, that is, the process of selecting the correct chromosomes and reproducing, continues until the criterion of cessation is satisfied. Several This article has been accepted for publication in a future issue of this journal, but it is not yet the definitive version. Content may undergo additional copyediting, typesetting and review before the final publication. Citation information: Amin Rezaeipanah1,*, Musa Mojarad, Modeling the Scheduling Problem in Cellular Manufacturing Systems Using Genetic Algorithm as an Efficient Meta-Heuristic Approach, Journal of Artificial Intelligence and Technology (2021), DOI: https://doi.org/10.37965/jait.2021.0018 7 cessation criteria can be selected, including the fixed number of generation generation, computational time, and convergence of fitness functions. In this paper, a fixed number of generation generation is used as a criterion for termination of the proposed algorithm.

Results and discussion
In this section, the performance of the proposed algorithm to improve the workshop production planning systems using the P-FJSP data set from the UCI machine learning repository is evaluated. The simulation is done with MATLAB software version 2019a and NSGA-II and NRGA algorithms are used for comparison work. In all experiments, an average of 15 distinct implementations of the algorithms are reported to ensure results.
The value of the parameters used in the simulation of the proposed algorithm is as follows; Population size: 50, crossover operator rate: 0.85, mutation operator rate: 0.15, number of generations: 500.
Quality, scatter, distance and time indices are used to evaluate the performance quality of the proposed algorithm with four-objective function [18]. The quality index tests the uniformity of the distribution of Pareto archives obtained at the boundaries of the solutions. This index is defined as Eq. (16).
Where, ! represents the Euclidean distance between two adjacent non-defeated solutions in the Pareto archive. ̅ is the mean of ! , and represents the number of members in the Pareto archive list.
Dispersion index shows the amount of variation that exists between the data of a distribution [19]. This index is used to determine the amount of unsuccessful solutions in the Pareto archive on the optimal boundary. This index is defined as Eq. (17).
The scatter criterion represents the Euclidean distance between the first and last solution in a Pareto archive, and the higher the variability values, the greater the quality of the results [20]. The distance index is used to show the compatibility of the distance between solutions in the Pareto archive. Lower values of the distance criterion indicate that the stability of the distance between the solutions is higher. This index is defined as Eq. (18).
Where, ! represents the Euclidean distance between the two non-defeated solutions in the Pareto archive, where makespan is 1 and stability is 2. The last criterion used for comparison is runtime. Since all the parameters in the algorithms are the same, this criterion is a suitable comparison index for evaluating the production planning system.
In this paper, P-FJSP dataset has been used to evaluate the proposed algorithm and make comparisons. This data set was produced by Brandimart (1993) and includes 10 samples [21]. The parameters of each of the problems in this dataset are generated randomly using a uniform distribution between the two limits [22,23]. The number of tasks is defined from 10 to 20, the number of machines from 4 to 15, the number of operations for each task from 5 to 15 and the number of operations for all tasks from 55 to 240. In addition, it is specified what machines are needed for each job.
NRGA and NSGA-II algorithms have been used for comparison work according to the criteria of scatter, distance, quality and execution time (seconds). Comparison of scatter criteria in different algorithms on 10 experimental samples is shown in Figure 6. The results show that the NSGA-II algorithm has a better quality than the NRGA. On the other hand, the proposed algorithm with a scattering index of 74.85 has better performance than both methods. This article has been accepted for publication in a future issue of this journal, but it is not yet the definitive version. Content may undergo additional copyediting, typesetting and review before the final publication.  Figure 7 shows the comparison results in the distance criterion. Because lower values of distance mean high quality, in the MK09 and MK10 samples the NRGA method performs better than the NSGA-II. However, on average, the distance index in NRGA and NSGA-II algorithms is 19.19 and 12.71, respectively, which indicates the production of better solutions by NSGA-II algorithm. Despite the superiority of the NSGA-II algorithm over the NSGA, the proposed algorithm with an average distance index of 12.4 has better performance than both methods.

Fig. 7 Comparison of different methods in the distance criterion
The NSGA-II method is superior to the NRGA method in all samples except MK08 based on the quality index. In this criterion, the superiority of the proposed method in comparison with the NSGA-II method is present in all samples and as a result, it shows a better quality of performance. Figure 8 shows the average results of comparing the quality index. In general, the proposed method has a better performance in dispersion index than MKR3, MK09 and MK10 in other samples than NRGA and NSGA-II methods, and the dispersion index has an average of 19 in these two methods, respectively. / 36 and 96/8 units have increased. The reduction of distance index in the 10 samples tested decreased by 7.05 and 0.57, respectively, in contrast to NRGA and NSGA-II methods. The results of the proposed method have a good performance in the quality index and on average, this index has increased compared to the two compared methods by 0.01 and 0.11, respectively. Due to the use of all three methods compared to the genetic algorithm, the results in the runtime criterion fluctuate in almost the same range. The average results of this criterion for the proposed method and the two methods NRGA and NSGA-II are 2965, 3015 and 2931 seconds, respectively, which is a relative advantage for the proposed method.
to optimize various functions. A genetic algorithm is a search algorithm that searches for an answer in an area and mimics biological evaluation processes. The genetic algorithm according to the characteristics described was used to solve the problem in this paper.