Charge Plan Model for Steelmaking-Continuous Casting Section

: Pursuing the intellectualization of a steelmaking plant and developing a charge plan of the steelmaking-continuous casting section are critical in metallurgy engineering. Herein, we aim to develop a charge plan model based on the operation of the steelmaking-continuous casting section to minimize the penalty values of residual materials; of a contract not selected and the penalty values that is caused by the di ﬀ erence in steel grades, the width and the delivery time between slabs in the same charge. We introduce an improved elitist genetic algorithm (IEGA), deﬁne the matching chromosome coding and decoding strategies, and suggest improving the selection, crossover, and mutation operators. Finally, we verify the proposed model and algorithm on the production data of a real enterprise. We clarify the applicability of developing a charge plan based on model analysis and demonstrate the e ﬀ ectiveness of the IEGA through algorithm analysis.


Introduction
A batch plan for a steelmaking-continuous casting section (SM-CC) primarily comprises of a charge plan and a cast plan and is located in a transition layer between a contract plan and an operation plan. It should not only rely on a production contract pool after preparing the contract plan but also consider the slab width, production process, delivery time, and other constraints to realize continuous production at a steel plant. In SM-CC, the steelmaking procedure is the starting point of the overall production wherein a charge is considered as the minimum unit of production. Therefore, defining a relevant and accurate charge plan is necessary. A charge plan for SM-CC implies combining and optimizing slabs of different steel grades and specifications to obtain different charges according to the constraints of steelmaking production and to prepare the background for a subsequent cast plan.
Scholars worldwide have conducted extensive research on the development of a charge plan for SM-CC. Quelhadj et al. [1] first hypothesized that the SM-CC production process could serve as an important link in steel production and that the optimization of a steelmaking charge plan could save costs and increase the benefits in steel enterprises. In addition, the charge plan optimization problem of a steelmaking process was formulated as an integer programming model and solved using the Tabu search algorithm. Yan [2] proposed a flexible charge plan. Although the number of unselected slabs was reduced therein, the difficulty of solving the model simultaneously increased, and the final results were listed carelessly. Tang et al. [3,4] established a charge plan model with a known number of the charge and incomplete contract arrangements considering the preselection of a contract pool and then applied a genetic algorithm to solve it. Huang et al. [5] formulated a mathematical model to minimize residual materials and the steel-grade replacement costs. In addition, they identified the weight factors of different optimization objectives to promote on-site decision-making and solved the problem using a dynamic programming algorithm. Considering two flows of continuous machine casting and assuming the possibility of producing slabs with different widths, Cheng et al. [6] developed a charge plan model to minimize the number of casts and the difference in adjacent slab widths of charges. Then, they solved this model using the variable neighborhood search combined with a simulated annealing algorithm.
In existing studies focused on the development of a charge plan, researchers mainly considered two approaches: one corresponded to an establishment method of a model and the other one corresponded to a solution method of a model. Concerning the former, several research works could be mentioned as examples. Ma et al. [7] compared the task of charge plan formulation with the one-dimensional packing problem. This analogy method allowed fitting a conventional problem with a practical one and the degree of fit between these two problems directly influenced the results of modeling and solving. Ouelhadj et al. [8] adopted a multi-agent system, and Wang et al. [9] utilized Petri nets and other intelligent modeling methods. The use of such methods provides certain advantages. It allows the overcoming of the fixed rationale of conventional modeling methods and understanding the essence of a problem. However, in the current related research, certain limitations still exist. The complexity of SM-CC production planning is a limitation associated with a modeling method. In steel mills, the actual information is constantly updated, and various scenarios may occur. Therefore, researchers seek to identify the most effective approaches to address such a complex situation and model a real situation with high accuracy. A similar purpose is pursued in the present study.
Concerning the solving methods of a model, early studies introduced methods such as heuristic methods [10] and operations research methods [11]. However, with the development of computer intelligence techniques, researchers have begun utilizing more intelligent algorithms. For example, Lu et al. [12] and Tang et al. [13] applied the Tabu search algorithm to solve an optimization problem corresponding to a steelmaking process. Yuan et al. [14] and Gong [15] employed a genetic search algorithm to solve a multi-objective production optimization problem in SM-CC under different constraints. Chen [16] proposed a method combining the immune and genetic algorithms that effectively prevented premature convergence of the genetic algorithm. Liu et al. [17] summarized numerous research methods that were mainly divided into static and dynamic scheduling; however, they could not be separated from the improvement of solving algorithm. Evidently, intelligent algorithms are deemed more convenient than conventional solution methods as they improve the calculation speed and save manpower as well as material resources. However, defining an appropriate intelligent algorithm is necessary to apply specific changes to adapt a specific model and to address the premature or local optimum problem of an algorithm itself.
Existing research on a charge plan in SM-CC is too extensive to consider in its entirety. However, the global metallurgical industry field determines the status of relatively few foreign researchers. Existing research mainly suggests applying the simulation method to actual steel mills, i.e., they promote the development of intelligent approaches for investigating heavy industry. Based on the aforementioned observations, herein, we first clarify the specific problem of charge plan definition, and subsequently develop a concrete charge plan model and solve it using a proposed improved elitist genetic algorithm (IEGA).

Problem Description
To facilitate the mathematical formulation of a charge plan problem, explaining its goal and constraints is necessary. Concerning SM-CC, the input condition for a charge plan needs to be identified based on a provided contract pool. The main constraint condition corresponds to the steelmaking process constraint. The purpose of this constraint is to optimize and combine the preselected contract pool according to a certain number of charges. The requirements corresponding to different contracts are not specifically consistent. There may be differences in the steel grade, specification, physical characteristics, delivery time, and other factors. Therefore, to ensure the minimum smelting furnace capacity is attained, the development of a charge plan aims to attain the minimum delivery time difference, the maximum finished material rate, the lowest production cost, and the minimum used residual material.

Charge Plan Model
(1) Application conditions (1) Contracts may not be arranged in real production. However, to avoid the presence of abnormal contracts, the following conditions can be checked: lack of product data, forcibly arranging the slab width, and the delivery time or product steel grade in those contracts that do not match with the other contracts. However, based on the actual situation, the model can reasonably arrange the contracts that need to be maintained. The actual situation in the steel production is rather complicated and can change rapidly. It is neither practical nor meaningful to have numerous production contracts fully arranged.
(2) The number of charges is known. This is the premise condition that is required to arrange a charge plan.
(3) A single contract requirement is smaller than the furnace capacity and is not decomposable due to the furnace capacity limitation. However, if the demand for a single contract is greater than the furnace capacity, the model will decompose this contract. This part corresponds to the definition of a contract plan that is considered as a default step in the present study and is not included in the research scope.
(4) The furnace capacity is constant. This describes the actual requirements, meaning that the furnace capacity needs to be fixed.
(2) Symbol definition Table 1 provides all symbol definitions used to define the proposed model. Maximum width adjustment range of the contract in the same charge.

R d
Maximum delivery time interval between contracts in the same charge.
Weight coefficients of the three objective functions whose sum is 1, which are equal to 1/3 in this article.
(3) Mathematical model (1) The objective function can be defined as follows.
here, Z 1 is the penalty value caused by the difference in the steel grade, width, and delivery time between the contracts in the same charge; Z 2 is the penalty value of a residual material; and Z 3 is the penalty value of the contract not selected. The objective function is to minimize the sum of the weights of Z 1 , Z 2 , and Z 3 .
(2) Constraints can be defined as follows: The implication is that each contract can only be arranged into a maximum of one charge as follows: Thus, the sum of the contract weight within charge k shall not exceed the furnace capacity, and the difference between these two is defined as the residual material quantity Y k in charge k: (i = 1, 2, · · · , N; k = 1, 2, · · · , L) here, X ik is a discrete variable that can adopt the values 0 or 1 such that contract i exists in charge k when X ik is 1 and it does not exist when X ik is 0.
This equation defines the penalty value of contracts i and j due to differences in the steel grade, width, and delivery time within the same charge.

Process of Solving the Charge Plan Model for SM-CC
A charge plan is typically solved in the form of a large-scale combinatorial optimization problem. The complexity of the problem is often related to the number of contracts and charges. In the production process at steel mills, the number of contracts and charges are large. Accordingly, the general search method is difficult to apply. Therefore, herein, we propose an improved elitist genetic algorithm (IEGA) to solve the charge plan model. The algorithm flow can be described as follows.
(1) Read the basic data of the preselected contract pool, including the contract number, weight, steel grade, and delivery time. (2) Initialize algorithm parameters, including the iteration time, population size, crossover probability, and conventional mutation probability. Perform the second selection operation, choosing N individuals from 2N individuals to obtain a new generation of the population. (13) Go back to step 5, continue the iteration process until the iteration is complete.

Chromosome Encoding
The final solution of a charge plan model is expected to have such a characteristic that all contract numbers should differ from each other. Therefore, we implement the encoding method of permutation coding to construct chromosomes. The charge plan uses the contract number to represent the gene value in a chromosome coding string. Chromosome coding can be expressed as {a 1 , . . . , a i , . . . , a N }. The chromosome length is the total number of precompiled contracts N, and a i represents the contract number, a i ∈ {1, 2, . . . , N}. In the encoding scheme, gene positions a i in the same chromosome are natural numbers without repetition.

Chromosome Decoding
The example provided in Figure 1 represents the chromosome coding of the charge plan, illustrating its feasible solution. The numbers 1-10 denote the contract numbers and the total number 10 corresponds to the total number of preselected contracts. The steps of chromosome decoding in the charge plan are as follows: Step (1) Start a cycle according to chromosome length N.
Step (2) In each cycle, accumulate weight g i of contract a i corresponding to gene position i of the current chromosome.
Step (3) Determine whether the accumulated weight exceeds the furnace capacity. If not, record the contract a i .
Step (4) If yes, subtract weight g i from the accumulated weight and record the accumulated contract as the number of charges in the charge plan result table.
Step (5) Run the next cycle until the algorithm iterates N times.

Calculation of the Fitness Function
In the proposed model, the fitness function adopts the fitness distribution method based on the linear ordering of the objective function value [18] and can be written as follows: here, Nind represents the number of individuals in the population; Pos represents the ranking position of individuals in the population; SP denotes the selection pressure that is generally taken as [1.0, 2.0]. When using the fitness distribution function, an objective function value of each individual in the population must be calculated in advance and these values must be arranged in descending order to obtain a ranking position of the corresponding individual. Then, according to Equation (12), the algorithm can derive the fitness of each individual by following the convention that the higher the value of the objective function, the smaller the fitness. Accordingly, in the iterative process, the algorithm can select better individuals from the population.

Genetic Operators
Generally, genetic operators include selection operators, crossover operators, and mutation operators. The selection of an operator considerably influences the convergence of an algorithm.
(1) Selection operators Herein, we consider two types of selection operators that first calculate the fitness value of each chromosome according to Equation (12) and then make the selection.
After performing statistical analysis on the current population, the algorithm makes the first selection to choose independently N parent chromosomes from the current population. To this end, the algorithm adopts the elitism and tournament selection method [19], based on the conventional tournament selection method to select a certain number of individuals from the population; however, the method of improving elite individuals must be selected.
After executing the crossover and mutation operations, the algorithm completes the second selection and merges the parent and offspring populations. The purpose here is to select N chromosomes from the combined 2N chromosomes as the new generation population. To realize this, the algorithm adopts the direct copy selection method based on fitness ordering. After calculating the fitness value of 2N chromosomes, the algorithm sorts them in descending order according to fitness and then directly copies N chromosomes corresponding to the highest fitness value as a new generation population.
(2) Crossover operators In this study, the proposed algorithm is based on a partial matching crossover operator [20]. Figure 2 illustrates the crossover process, which includes four steps.
Step (1) All chromosomes are paired in the order in which they exist in the population. If the number of chromosomes is odd, the last chromosome is copied directly and does not participate in the crossover operation.
Step (2) The starting and ending positions of the genes to be swapped in a pair of parental chromosomes (A0\A1) are generated randomly.

Calculation of the Fitness Function
In the proposed model, the fitness function adopts the fitness distribution method based on the linear ordering of the objective function value [18] and can be written as follows: here, Nind represents the number of individuals in the population; Pos represents the ranking position of individuals in the population; SP denotes the selection pressure that is generally taken as [1.0, 2.0]. When using the fitness distribution function, an objective function value of each individual in the population must be calculated in advance and these values must be arranged in descending order to obtain a ranking position of the corresponding individual. Then, according to Equation (12), the algorithm can derive the fitness of each individual by following the convention that the higher the value of the objective function, the smaller the fitness. Accordingly, in the iterative process, the algorithm can select better individuals from the population.

Genetic Operators
Generally, genetic operators include selection operators, crossover operators, and mutation operators. The selection of an operator considerably influences the convergence of an algorithm.
(1) Selection operators Herein, we consider two types of selection operators that first calculate the fitness value of each chromosome according to Equation (12) and then make the selection.
After performing statistical analysis on the current population, the algorithm makes the first selection to choose independently N parent chromosomes from the current population. To this end, the algorithm adopts the elitism and tournament selection method [19], based on the conventional tournament selection method to select a certain number of individuals from the population; however, the method of improving elite individuals must be selected.
After executing the crossover and mutation operations, the algorithm completes the second selection and merges the parent and offspring populations. The purpose here is to select N chromosomes from the combined 2N chromosomes as the new generation population. To realize this, the algorithm adopts the direct copy selection method based on fitness ordering. After calculating the fitness value of 2N chromosomes, the algorithm sorts them in descending order according to fitness and then directly copies N chromosomes corresponding to the highest fitness value as a new generation population.
(2) Crossover operators In this study, the proposed algorithm is based on a partial matching crossover operator [20]. Figure 2 illustrates the crossover process, which includes four steps.
Step (1) All chromosomes are paired in the order in which they exist in the population. If the number of chromosomes is odd, the last chromosome is copied directly and does not participate in the crossover operation.
Step (2) The starting and ending positions of the genes to be swapped in a pair of parental chromosomes (A 0 \A 1 ) are generated randomly.
Step (3) Intermediate chromosomes (B 0 \B 1 ) are obtained by swapping the genes of two chromosomes and scrambling the sequences, respectively.
Step (4) Conflict detection. The algorithm establishes the mapping relationships between two groups of genes that need to be exchanged in A 0 \A 1 . Then, it replaces a conflicting gene in B 0 \B 1 according to the mapping relationship. Finally, a new pair of progeny chromosomes (C 0 \C 1 ) is formed.
Metals 2020, 10, x FOR PEER REVIEW 7 of 14 Step (3) Intermediate chromosomes (B0\B1) are obtained by swapping the genes of two chromosomes and scrambling the sequences, respectively.
Step (4) Conflict detection. The algorithm establishes the mapping relationships between two groups of genes that need to be exchanged in A0\A1. Then, it replaces a conflicting gene in B0\B1 according to the mapping relationship. Finally, a new pair of progeny chromosomes (C0\C1) is formed. (

3) Mutation operators
As shown in Figure 3, the proposed algorithm utilizes a chromosome fragment reversal operator [21] to randomly select two reversal points on individual chromosome A0. Then, a sequence of genes between two points is reversed to obtain new progeny chromosome C0.  During the present study, we found that in the late iteration period, the population lacked the diversity of chromosomes and in particular cases, fell into the local optimal solution. Therefore, we incorporated the method of large mutation probability while using the reversal operator. The idea of the large mutation probability operation [22,23] is that when all individuals in a generation are relatively concentrated, the algorithm performs a mutation operation with a probability much larger than the usual mutation probability. The mutation operation with a large mutation probability can randomly and independently produce new individuals, thereby diversifying the population. However, this large variation probability operation can be applied only to a charge plan model involving a large amount of data.
When maximum fitness Fitmax and average fitness Fitave of a certain generation of a population satisfy the following formula, the algorithm performs a mutation operation with a large mutation probability as follows: here, α ∈ (0.5,1) is the density factor that represents the concentration degree of an individual. In addition, we require the model to maintain the optimal objective function value at least ten times continuously during iteration, and therefore, the algorithm must adopt a great variation operation.

Application Case
To verify the developed charge plan model and the proposed algorithm for SM-CC, we utilized the production data of a real iron and steel enterprise as an example to conduct experimental verification. To this end, among the data corresponding to 300 contracts planned to be input for

(3) Mutation operators
As shown in Figure 3, the proposed algorithm utilizes a chromosome fragment reversal operator [21] to randomly select two reversal points on individual chromosome A 0 . Then, a sequence of genes between two points is reversed to obtain new progeny chromosome C 0 .
Metals 2020, 10, x FOR PEER REVIEW 7 of 14 Step (3) Intermediate chromosomes (B0\B1) are obtained by swapping the genes of two chromosomes and scrambling the sequences, respectively.
Step (4) Conflict detection. The algorithm establishes the mapping relationships between two groups of genes that need to be exchanged in A0\A1. Then, it replaces a conflicting gene in B0\B1 according to the mapping relationship. Finally, a new pair of progeny chromosomes (C0\C1) is formed. (

3) Mutation operators
As shown in Figure 3, the proposed algorithm utilizes a chromosome fragment reversal operator [21] to randomly select two reversal points on individual chromosome A0. Then, a sequence of genes between two points is reversed to obtain new progeny chromosome C0.  During the present study, we found that in the late iteration period, the population lacked the diversity of chromosomes and in particular cases, fell into the local optimal solution. Therefore, we incorporated the method of large mutation probability while using the reversal operator. The idea of the large mutation probability operation [22,23] is that when all individuals in a generation are relatively concentrated, the algorithm performs a mutation operation with a probability much larger than the usual mutation probability. The mutation operation with a large mutation probability can randomly and independently produce new individuals, thereby diversifying the population. However, this large variation probability operation can be applied only to a charge plan model involving a large amount of data.
When maximum fitness Fitmax and average fitness Fitave of a certain generation of a population satisfy the following formula, the algorithm performs a mutation operation with a large mutation probability as follows: here, α ∈ (0.5,1) is the density factor that represents the concentration degree of an individual. In addition, we require the model to maintain the optimal objective function value at least ten times continuously during iteration, and therefore, the algorithm must adopt a great variation operation.

Application Case
To verify the developed charge plan model and the proposed algorithm for SM-CC, we utilized the production data of a real iron and steel enterprise as an example to conduct experimental verification. To this end, among the data corresponding to 300 contracts planned to be input for During the present study, we found that in the late iteration period, the population lacked the diversity of chromosomes and in particular cases, fell into the local optimal solution. Therefore, we incorporated the method of large mutation probability while using the reversal operator. The idea of the large mutation probability operation [22,23] is that when all individuals in a generation are relatively concentrated, the algorithm performs a mutation operation with a probability much larger than the usual mutation probability. The mutation operation with a large mutation probability can randomly and independently produce new individuals, thereby diversifying the population. However, this large variation probability operation can be applied only to a charge plan model involving a large amount of data.
When maximum fitness Fit max and average fitness Fit ave of a certain generation of a population satisfy the following formula, the algorithm performs a mutation operation with a large mutation probability as follows: αFit max < Fit ave (13) here, α ∈ (0.5, 1) is the density factor that represents the concentration degree of an individual.
In addition, we require the model to maintain the optimal objective function value at least ten times continuously during iteration, and therefore, the algorithm must adopt a great variation operation.

Application Case
To verify the developed charge plan model and the proposed algorithm for SM-CC, we utilized the production data of a real iron and steel enterprise as an example to conduct experimental verification. To this end, among the data corresponding to 300 contracts planned to be input for production on a certain day, the model randomly chose 40 preselected contract data points as the input set of the charge plan model and arranged ten charges.

Discussion and Analysis of Results
(2) Proposed algorithm Figure 4 presents the iteration curve of the proposed charge plan (the iteration curve of the second result) solved using IEGA. The vertical axis represents the model objective function value, and the horizontal axis denotes iteration times. In Figure 4, after 500 iterations of solving the charge plan model, the optimization result was 123.10. During each iteration of IEGA, the value of the objective function gradually converged to a smaller direction, indicating the high efficiency of the proposed algorithm. In addition, to demonstrate the validity of the proposed algorithm against alternative approaches, we applied the elitist genetic algorithm (EGA) [24] and the simple genetic algorithm (SGA) [25] to solve the considered problem and compared the corresponding results as follows (Table  5).  4 Mean of the objective function solved in multiple cycles. 5 Mean of the solving time for multiple cycles/s. 6 Mean of the amount of residual material solved in multiple cycles/t.
(1) When using SGA to solve this model, the achieved result was not ideal. Although the population size and the number of iterations were greater, Vo was 2279.2, which is much larger than the value obtained using the other two methods. This is mainly because the genetic operators in SGA have little effect on determining the optimal solution. In each iteration process, the population difference is not big; hence, the optimization cannot be performed quickly.
(2) When using EGA to solve this model, Vo was 123.10. However, this result was obtained at the 519th iteration. Compared with IEGA, finding a solution through EGA required more iterations and therefore, larger solving time.
(3) As a result of iteratively solving the problem and comparing the statistical data of EGA and IEGA, we observed that Vc, Tc, and Mc obtained using EGA were greater than those obtained using IEGA.
In the process of solving the model, each iteration of IEGA needs to be selected twice. The first In addition, to demonstrate the validity of the proposed algorithm against alternative approaches, we applied the elitist genetic algorithm (EGA) [24] and the simple genetic algorithm (SGA) [25] to solve the considered problem and compared the corresponding results as follows (Table 5). (1) When using SGA to solve this model, the achieved result was not ideal. Although the population size and the number of iterations were greater, V o was 2279.2, which is much larger than the value obtained using the other two methods. This is mainly because the genetic operators in SGA have little effect on determining the optimal solution. In each iteration process, the population difference is not big; hence, the optimization cannot be performed quickly.
(2) When using EGA to solve this model, V o was 123.10. However, this result was obtained at the 519th iteration. Compared with IEGA, finding a solution through EGA required more iterations and therefore, larger solving time.
(3) As a result of iteratively solving the problem and comparing the statistical data of EGA and IEGA, we observed that V c , T c , and M c obtained using EGA were greater than those obtained using IEGA.
In the process of solving the model, each iteration of IEGA needs to be selected twice. The first selection preserves the elite chromosomes in each generation, and the second selection preserves the population with high fitness in each generation. Partial matching crossover operation enhances the difference between individuals in each generation of population. The chromosome fragment reversal mutation operation increases the chromosome richness; in particular, in the late iteration, when the chromosomes in the population tend to be consistent, the combination of the great variation operation increases the chromosome richness to avoid the algorithm tending to the local optimal solution. Therefore, we concluded that the proposed IEGA was superior over EGA and SGA in solving the charge plan model for SM-CC.

Practical Examples
Considering the model and algorithm proposed herein, combined with some other studies and using C# language, an SM-CC production planning system was developed and applied to a steel plant. The application effect results are listed in Table 6. The data listed in Table 6 are the average values of the corresponding statistics after 10 consecutive charges. Thus, the application of the proposed system shortens the processing time of the SM-CC by about 20 min, and the broken casting times of the continuous casting machine decreased from 0.8 to 0.3. This is because the model and algorithm proposed herein can minimize the difference in steel grade, width, and delivery time between contracts within the same charge, considerably reduce the adjustment between charges, and make the process more stable and smooth. Additionally, the residual materials are reduced from 11.2 t to 2.3 t, which reduces the cost incurred by inventory and improves the competitiveness of enterprises.

Conclusions and Future Prospects
In the present study, we thoroughly investigated the development of a charge plan model of SM-CC, formulated a suitable model, improved the conventional genetic algorithm, and successfully solved the problem based on the specific situation of the considered model. According to the characteristics of the model, we introduced an IEGA based on the permutation encoding method and proposed the corresponding chromosome decoding strategy. Based on the above research, we draw the following conclusions: (1) The results of model analysis confirmed the correctness of the developed charge plan model.
We found that the optimal objective function value was 123.10, the total amount of the residual material was 294 t, and the solving time was 587.10 s. (2) Through algorithm analysis, we demonstrated that IEGA is more effective than EGA and SGA.
In the process of solving the model, each iteration of IEGA requires two selection operations, one crossover operation and one mutation operation, which improves the speed of searching for the optimal solution of the algorithm and prevents the algorithm from tending to the local optimal solution. (3) Using the SM-CC production planning system, the processing time in the SM-CC was shortened by about 20 min. The average number of broken casting times was reduced from 0.8 to 0.3, and the residual materials decreased from 11.2 t to 2.3 t.
Thus, this study evidences the rationality of the proposed model and algorithm, but its practicability needs to be further verified. In this regard, future works will include the following subjects: (1) development and improvement of the SM-CC production planning system with increased versatility; (2) relatively independent research on the charge and casting plans, with further research on the close relationship between them.
Author Contributions: Modeling, F.Y. and S.W.; algorithm, S.W. and W.S.; testing, S.W.; formal analysis, F.Y.; resources, A.X.; writing-original draft preparation, F.Y. and S.W.; writing-review and editing, F.Y. and S.W. All authors contributed equally to editing and revising of this review. All authors have read and agreed to the published version of the manuscript.