# Compact Sine Cosine Algorithm with Multigroup and Multistrategy for Dispatching System of Public Transit Vehicles

Authors: Minghui Zhu; Shu-Chuan Chu; Qingyong Yang; Wei Li; Jeng-Shyang Pan
Journal: Journal of Advanced Transportation
 (2021)

---

## Abstract

This paper studies the problem of intelligence optimization, a fundamental problem in analyzing the optimal solution in a wide spectrum of applications such as transportation and wireless sensor network (WSN). To achieve better optimization capability, we propose a multigroup Multistrategy Compact Sine Cosine Algorithm (MCSCA) by using the compact strategy and grouping strategy, which makes the initialized randomly generated value no longer an individual in the population and avoids falling into the local optimum. New evolution formulas are proposed for the intergroup communication strategy. Performance studies on the CEC2013 benchmark demonstrate the effectiveness of our new approach regarding convergence speed and accuracy. Finally, we apply MCSCA to solve the dispatch system of public transit vehicles. Experimental results show that MCSCA can achieve better optimization.


---

## Body

## 1. Introduction

The optimization problem is the problem of finding the optimal solution according to the optimization direction in a feasible solution domain defined by constraints [1]. Inspired by existing natural phenomena, a large number of researchers have devoted themselves to heuristic algorithms. Among them, the metaheuristic algorithm which shares the collective information of all individuals based on species behavior is a recent hotspot. Swarm intelligence algorithm is a metaheuristic algorithm [2] that can get better results without consuming too much computing time. Swarm intelligence generally simulates a living population, such as a particle swarm that simulates bird swarm [3, 4], wolf swarm [5], fish swarm [6], cat swarm [7–9], and artificial bee colony [10, 11]. There are also inanimate objects like fireworks [12]. Swarm intelligence optimization algorithms generally have the following characteristics: there are many particles (representing each type of agent), the individuals are independent of each other, individuals move position according to different mechanisms to explore the solution space, and the position movement mechanism generally introduces random numbers for better exploration.The Sine Cosine Algorithm (SCA) [1] is a new swarm intelligence optimization algorithm proposed by the Australian scholar Mirjalili in 2016. This algorithm has a simple structure and fewer parameters and is easy to implement. In recent years, many scholars have further optimized this algorithm to solve different problems. It is mainly optimized from two aspects. The one aspect is to optimize the algorithm itself, such as the multiobjective version of the SCA algorithm [13] and the binary version of the SCA algorithm [14, 15], based on the opposite learning improved SCA algorithm [16, 17]. The other is to combine the algorithm with other algorithms, such as the SCA algorithm combined with particle swarm optimization algorithm [18, 19] and the SCA algorithm combined with differential evolution algorithm [20–23].Sine Cosine Algorithm with Multigroup and Multistrategy (MMSCA) is an improved SCA algorithm [24]. MMSCA divides the population into groups and uses different update strategies in different groups. It uses two strategies: rand strategy, and best strategy. In the rand strategy, the next generation of solving goals is chosen by using multiple roulette methods. In the best strategy, the best individual in all populations is still the solution target.The SCA and the improved SCA algorithms [24–26] are used in many different fields to solve different problems. For example, the SCA algorithm can solve the economic and emission dispatch problem [27, 28], a design damping controller [29], and a system for battery charging [30], predict wind speed [31], reconfigure the power distribution network [32], segment image [33], and control the load frequency of power system [34]. The SCA and improved SCA algorithms still have some disadvantages. A disadvantage of the SCA algorithm is the algorithm that requires evaluation of each solution in the swarm and needs to call the target function multiple times. It increases the complexity of the algorithm. Another disadvantage is the slow convergence speed.Based on the above discussions, it is key to effectively deal with high complexity and slow convergence speed. Unlike the existing SCA methods, we develop a compact SCA with multigroup and multistrategy, named MCSCA, to make the initialized randomly generated value no longer an individual in the population and avoid falling into the local optimum. Compact strategy [35–38] is a technique based on a probabilistic model. This technique reduces the memory usage and computation time of the algorithm by using a probabilistic model to replace the population from a macroperspective. The idea of grouping [39–41] implies that many populations can be iteratively updated simultaneously. The advantage of this method is that it ensures population diversity and further improves the search capability and performance of the algorithm. In particular, when solving complex optimization problems, grouping populations is an effective way to improve the efficiency and accuracy of the algorithm.The superiority of the proposed MCSCA is proved by the comparison between MCSCA and several heuristic algorithms on benchmark functions. To test the ability of MCSCA in solving practical problems, we apply it to the dispatching system of public transit vehicles, which is one of the problems that transportation needs to solve, which is related to the economic and social benefits of public transportation companies.The main contributions of the paper are listed as follows:(1)
We develop a new compact SCA algorithm for intelligent optimization problems(2)
We propose an optimization approach by designing new evolution formulas and utilizing a grouping strategy(3)
We extend the MCSCA algorithm in the application of the dispatching system of public transit vehiclesWe conduct extensive empirical studies on the CEC2013 benchmark in Section4. The empirical studies confirm that our new approach significantly outperforms the state-of-the-art approaches.The rest of the paper is organized as follows. Section2 gives a brief retrospect to the SCA algorithm and the basic principles of the compact. Section 3 formally proposes the MCSCA algorithm. In Section 4, the results of numerical experiments are presented and discussed. Section 5 introduces the application of this algorithm in the dispatching system of public transit vehicles. Finally, Section 6 gives a conclusion.


## 2. Related Works

Besides the related works discussed above, other related works are categorized as follows.


### 2.1. Sine Cosine Algorithm

The SCA algorithm is a metaheuristic algorithm that uses mathematical equations to estimate the global optimal solution of the optimization problem. It creates multiple initial random candidate solutions and requires them to use mathematical models based on sine and cosine functions to fluctuate outward or toward the best solution. The algorithm also integrates several random and adaptive variables to emphasize the exploration and use of the search space at different stages of optimization. The update formula is as follows:(1)Xit+1=Xit+r1×sinr2×r3×Pbt−Xit,r4<0.5,Xit+r1×cosr2×r3×Pbt−Xit,r4≥0.5,where Xit is the position of the i-th dimension in the t-th iteration. r1, r2, r3, and r4 are random numbers, r2∈0,2π, r3∈0,2, and r4∈0,1, and pbt represents the best individual position after t iterations. The updated formula of r1 is as follows:(2)r1=a−atT,where a is a constant, t is the number of current iterations, and T is the maximum number of iterations.


### 2.2. Fundamentals of Compact and Grouping

The essence of the compact is based on a probability model to represent the distribution of all particles. The virtual population replaces the actual solution population. This virtual population is encoded in a data structure. This data structure is named the disturbance vector and represented byPV. There are K particles in the original population, and each particle has n dimensions. After adding the compact, each dimension can be represented by a normal distribution, so that the original K × n matrix becomes a 2 × n matrix:(3)PVt=μt,σt,where μ and σ are, respectively, vectors containing, for each design variable, mean and standard deviation values of a Gaussian Probability Distribution Function (PDF) [42] truncated within the interval [-1, 1].The sampling mechanism of a design variablexi associated with a generic candidate solution x from PV requires an extensive explanation. For each design variable indexed by i, a truncated Gaussian PDF with mean value μi and the standard deviation σi is associated.(4)PDFtruncNormx=e−x−μi2/2σi22/πσierfμi+1/2σi−erfμi−1/2σi,where erf is the error function; see [43]. The update rule for μ and σ is(5)μt+1i=μti+1Npwinneri−loseri,(6)σt+1i2=σti2+μti2−μt+1i2+1Npwinneri2−loseri2,where i represents the i-th dimension, Np is the virtual population number, and winner and loser are obtained by comparing the two particles generated by PV.By constructing a Chebyshev polynomial, the probability density function can correspond to a cumulative distribution function with values ranging from 0 to 1. The cumulative distribution function is described by the following equation:(7)CDF=∫−1xPDFdx=∫−1x2/πe−x−μ2/2σ2σerfμ+1/2σ−erfμ−1/2σdx,CDF=erfμ+1/2σ+erfx−μ/2σerfμ+1/2σ−erfμ−1/2σ.The inverse function of the cumulative distribution is as follows:(8)y=2δerf−1−erfμ+12δ−xerfμ−12δ+xerfμ+12δ+μ.Many metaheuristic algorithms have applied the idea of grouping, such as parallel PSO [39], parallel ACO [40], and parallel QUATRE [41]. This method changes the basic characteristics of the traditional SCA algorithm. Each group evolves independently, and the entire population adopts a unified mechanism to evolve. Therefore, it can effectively increase the speed of calculation. Different groups adopt different update formulas, which helps prevent falling into the local optimum while preventing premature convergence.Although the compact strategy reduces memory usage and computation time, it limits the search capability and convergence speed of the algorithm. Therefore, the compact strategy and the group strategy are combined to improve the performance of the algorithm [44].


### 2.3. Dispatching System of Public Transit Vehicles

There are many issues worth studying in the direction of transportation, such as vehicle speed estimation and prediction [45, 46], traffic monitoring [47], traffic accident prediction [48], bus arrival time prediction [49], and dispatching system of public transit vehicles [50]. Public transit vehicles have the advantages of large passenger capacity, low road traffic conditions, and access to many areas. So, public transit vehicle is an important direction in this field. It has many issues worth studying, such as the choice of bus types, site construction and road selection [51], calculation of greenhouse gas emissions from public transit vehicles [52], integration of unmanned driving, and public transportation.In this paper, the improved SCA algorithm is applied to the dispatching system of public transit vehicles. Intelligent dispatch of operating vehicles is one of the problems that transportation needs to solve, which is related to the economic and social benefits of public transportation companies. The bus scheduling problem is a complex nonlinear dynamic optimization problem using a bus dispatching model that takes into account the interests of both the company and the passengers. It is to find an optimal solution that satisfies the proposed objective function in the solution space that satisfies the scheduling constraints. Many algorithms have been used for the dispatching system of public transit vehicles, such as ACO [53], GA [54, 55], and Immune Algorithms (IA) [56]. The dispatching system of public transit vehicles still has many problems such as the fact that weights of the multiobjective function are difficult to be determined, the original data source is not accurate, and the algorithm convergence is slow.


## 2.1. Sine Cosine Algorithm

The SCA algorithm is a metaheuristic algorithm that uses mathematical equations to estimate the global optimal solution of the optimization problem. It creates multiple initial random candidate solutions and requires them to use mathematical models based on sine and cosine functions to fluctuate outward or toward the best solution. The algorithm also integrates several random and adaptive variables to emphasize the exploration and use of the search space at different stages of optimization. The update formula is as follows:(1)Xit+1=Xit+r1×sinr2×r3×Pbt−Xit,r4<0.5,Xit+r1×cosr2×r3×Pbt−Xit,r4≥0.5,where Xit is the position of the i-th dimension in the t-th iteration. r1, r2, r3, and r4 are random numbers, r2∈0,2π, r3∈0,2, and r4∈0,1, and pbt represents the best individual position after t iterations. The updated formula of r1 is as follows:(2)r1=a−atT,where a is a constant, t is the number of current iterations, and T is the maximum number of iterations.


## 2.2. Fundamentals of Compact and Grouping

The essence of the compact is based on a probability model to represent the distribution of all particles. The virtual population replaces the actual solution population. This virtual population is encoded in a data structure. This data structure is named the disturbance vector and represented byPV. There are K particles in the original population, and each particle has n dimensions. After adding the compact, each dimension can be represented by a normal distribution, so that the original K × n matrix becomes a 2 × n matrix:(3)PVt=μt,σt,where μ and σ are, respectively, vectors containing, for each design variable, mean and standard deviation values of a Gaussian Probability Distribution Function (PDF) [42] truncated within the interval [-1, 1].The sampling mechanism of a design variablexi associated with a generic candidate solution x from PV requires an extensive explanation. For each design variable indexed by i, a truncated Gaussian PDF with mean value μi and the standard deviation σi is associated.(4)PDFtruncNormx=e−x−μi2/2σi22/πσierfμi+1/2σi−erfμi−1/2σi,where erf is the error function; see [43]. The update rule for μ and σ is(5)μt+1i=μti+1Npwinneri−loseri,(6)σt+1i2=σti2+μti2−μt+1i2+1Npwinneri2−loseri2,where i represents the i-th dimension, Np is the virtual population number, and winner and loser are obtained by comparing the two particles generated by PV.By constructing a Chebyshev polynomial, the probability density function can correspond to a cumulative distribution function with values ranging from 0 to 1. The cumulative distribution function is described by the following equation:(7)CDF=∫−1xPDFdx=∫−1x2/πe−x−μ2/2σ2σerfμ+1/2σ−erfμ−1/2σdx,CDF=erfμ+1/2σ+erfx−μ/2σerfμ+1/2σ−erfμ−1/2σ.The inverse function of the cumulative distribution is as follows:(8)y=2δerf−1−erfμ+12δ−xerfμ−12δ+xerfμ+12δ+μ.Many metaheuristic algorithms have applied the idea of grouping, such as parallel PSO [39], parallel ACO [40], and parallel QUATRE [41]. This method changes the basic characteristics of the traditional SCA algorithm. Each group evolves independently, and the entire population adopts a unified mechanism to evolve. Therefore, it can effectively increase the speed of calculation. Different groups adopt different update formulas, which helps prevent falling into the local optimum while preventing premature convergence.Although the compact strategy reduces memory usage and computation time, it limits the search capability and convergence speed of the algorithm. Therefore, the compact strategy and the group strategy are combined to improve the performance of the algorithm [44].


## 2.3. Dispatching System of Public Transit Vehicles

There are many issues worth studying in the direction of transportation, such as vehicle speed estimation and prediction [45, 46], traffic monitoring [47], traffic accident prediction [48], bus arrival time prediction [49], and dispatching system of public transit vehicles [50]. Public transit vehicles have the advantages of large passenger capacity, low road traffic conditions, and access to many areas. So, public transit vehicle is an important direction in this field. It has many issues worth studying, such as the choice of bus types, site construction and road selection [51], calculation of greenhouse gas emissions from public transit vehicles [52], integration of unmanned driving, and public transportation.In this paper, the improved SCA algorithm is applied to the dispatching system of public transit vehicles. Intelligent dispatch of operating vehicles is one of the problems that transportation needs to solve, which is related to the economic and social benefits of public transportation companies. The bus scheduling problem is a complex nonlinear dynamic optimization problem using a bus dispatching model that takes into account the interests of both the company and the passengers. It is to find an optimal solution that satisfies the proposed objective function in the solution space that satisfies the scheduling constraints. Many algorithms have been used for the dispatching system of public transit vehicles, such as ACO [53], GA [54, 55], and Immune Algorithms (IA) [56]. The dispatching system of public transit vehicles still has many problems such as the fact that weights of the multiobjective function are difficult to be determined, the original data source is not accurate, and the algorithm convergence is slow.


## 3. Compact SCA Algorithm with Multigroup and Multistrategy

In this section, we first propose a compact SCA algorithm in Section3.1 and then develop optimization techniques inspired by the idea of grouping to avoid the local optimum issue in Section 3.2.


### 3.1. Compact Sine Cosine Algorithm (CSCA)

The pseudocode of our compact SCA algorithm denoted by CSCA is shown in Algorithm1. We initially set the dimension as d, the population size as Np, and the upper and lower bounds as ub and lb. The vectors μ and σ of PV are initialized to 0 and 10. The variable best is set as ub, which is used to store the global optimum, and Fmin is set to infinity, which is used to store the fitness value corresponding to the global optimum (Line 1–4). Then, we iteratively use equation (8) to generate a random solution ranging from -1 to 1 and use equation (9) to control the generated solution in the decision space (Line 6). The solution is updated according to equation (1) (Line 7). The variables winner and loser are set as a random solution and updated solution. The values of the objective function corresponding to the two solutions are compared, and winner is set as the better solution (Line 8). After that, for the solution, we first update PV according to equations(5)and(6) (Line 10). The variable fitwinner represents the objective function value corresponding to winner. If fitwinner is less than the given threshold, the best and Fmin values will be updated to winner and fitwinner, respectively (Line 11–13). Finally, fitwinner and Fmin are compared to update the global optimum.(9)x1=x2ub−lb+12ub+lb.


### 3.2. Compact Sine Cosine Algorithm with Multigroup and Multistrategy (MCSCA)

The SCA algorithm can generate a set of values per iteration. After adding the idea of compact, the initialized randomly generated value is no longer an individual in the population, but a set of vectors used for compact. In this case, it is easy to fall into the local optimum. Therefore, the idea of grouping is added. Grouping is a common idea in optimization algorithms. After adding group ideas, a set of values can be generated per iteration, which increases the diversity of the population and jumps out of the local optimal. So, the searchability and convergence speed are improved, and the solution is found faster (Algorithm1).Algorithm 1:CSCA.
Input: Parametersd, Np, ub, andlbOutput: Global optimumbestand its fitness valueFmin(1)
fori = 1:ddo(2)
initializeµ = 0, σ = λ = 10;(3)
initializebest = ub, Fmin = inf ;(4)
end for(5)
whilet<Max Generation do(6)
Getx1 from PV via equations (8), (9);(7)
Updatex1 to get x2 via equation (1);(8)
winner,loser = compete (x1 ,x2 );(9)
fori = 1:d do(10)
UpdatePV via equations (5), (6);(11)
iffitwinner <Fminthen(12)
best =  winner; Fmin = fitwinner ;(13)
end if(14)
end for(15)
end whileThe communication strategy between groups adopts the idea of differential evolution. The differential evolution algorithm is a random parallel optimization algorithm based on population evolution and is a simple and efficient random global optimization method [57]. This article uses the following differential evolution formula and improved differential evolution formula:(10)DE/best/2:x=xbest+Fxr1−xr2+Fxr3−xr4,(11)DE/current−to−rand/1:x=xcurrent+Fxcurrent−xr1+Fxr2−xr3,(12)DE/best−to−rand/1:x=xbest+Fxbest−xr1+Fxr2−xr3,(13)DE/best−to−current/1:x=xbest+Fxbest−xcurrent+Fxr1−xr2,where F stands for mutation factor, generally taking the value 0.5, and xr1, xr2, xr3, and xr4 represent random individuals in the population. xbest is the global optimal individual and xcurrent represents the current individual.The original differential evolution strategy is to update the individuals in the population according to the above formula. This algorithm groups the population, andx in the corresponding formula also changes from the individual to the optimal of a group. For example, xr originally represents a random individual in the population, which represents the optimal individual in a random group in this algorithm. Four formulas are used for communication between groups, among which equations (11)–(13) are improved on common formulas. DE/current-to-rand/1 represents updating the current solution with a random solution, DE/best-to-rand/1 represents updating the global optimum with a random solution, and DE/best-to-current/1 represents updating the global optimum with the current solution. Using the random solution and the current solution to influence the global optimum can speed up the convergence speed, and updating the current solution can increase the randomness of the solution.The pseudocode of our Compact Sine Cosine Algorithm with Multigroup and Multistrategy denoted by MCSCA is shown in Algorithm2. We initially set the variable globalbest to represent the global optimum, set the variable globalfmin to represent the fitness value corresponding to the global optimum, set the variable g to represent the number of groups, set Gi⋅best to store the best in the group, and set Gi⋅Fmin to store the fitness value corresponding to Gi⋅best(Line 1–3). Dimension, population size, upper, lower, and vectors of PV are consistent with those set by CSCA. Then, we iteratively use equations (8) and (9) to generate a random solution in the decision space and update this solution according to equation (1) (Line 6–7). winner and loser are set as this random solution and updated solution. The values of the objective function corresponding to the two solutions are compared, and winner is set as the better solution. fitwinner represents the objective function value corresponding to the winner, and we update PV according to equations (5) and (6) (Line 9).After that, the optimum in the group and the corresponding fitness value are updated by comparingfitwinner with Gi⋅Fmin. The global optimum is updated by communication strategy between groups. The specific intergroup communication strategy is to cycle the number of groups, and the following four strategies are executed with equal probability.Strategy 1 compared the fitness value of the current group and the global optimum to determine whether to replace it. If there is no need to replace, update the global optimum according to equation (10). Strategy 2 compares the optimal value of the current group and the optimal value of the random group. If the fitness value of the random group is better, the best value and fitness value of the current group are replaced with the best value and fitness value of this random group. Otherwise, the random group is updated according to equation (11). Strategy 3 and Strategy 4 update the global optimum according to equations (12) and (13), respectively. After executing the intergroup strategy, use the sorting statement to find the worst and the best of optimal individuals of all groups and update the worst to the best (Algorithm 2).Algorithm 2:MCSCA.
Input: Parametersd, Np, ub , lb, andgOutput: Global optimumglobalbestand its fitness valueglobalfmin(1)
Set the number of groupsg, each group is Gi;(2)
initializeGi⋅PV , Gi⋅best and Gi⋅Fmin of each group;(3)
Initializeglobalbest = G1⋅best, globalfmin = G1⋅Fmin;(4)
whilet<Max Gernerationdo(5)
fori = 1:gdo(6)
Getx1 , x2 via equations (8). (9) and (1);(7)
winner,loser,fitwinner = compete (x1 ,x2 );(8)
fori = 1:ddo(9)
UpdateGi⋅PV via equations (5), (6);(10)
end for(11)
iffitwinner <Gi⋅Fminthen(12)
Gi⋅best = winner; Gi⋅Fmin = fitwinner;(13)
end if(14)
Updateglobalbest and globalfmin;(15)
if rand<0.25 then(16)
Execute Strategy 1;(17)
else if rand<0.5 then(18)
Execute Strategy 2;(19)
else if rand<0.75 then(20)
Execute Strategy 3;(21)
else(22)
Execute Strategy 4;(23)
end if(24)
end for(25)
Change the worst individual to the best individual by the sorting statement;(26)
end while


## 3.1. Compact Sine Cosine Algorithm (CSCA)

The pseudocode of our compact SCA algorithm denoted by CSCA is shown in Algorithm1. We initially set the dimension as d, the population size as Np, and the upper and lower bounds as ub and lb. The vectors μ and σ of PV are initialized to 0 and 10. The variable best is set as ub, which is used to store the global optimum, and Fmin is set to infinity, which is used to store the fitness value corresponding to the global optimum (Line 1–4). Then, we iteratively use equation (8) to generate a random solution ranging from -1 to 1 and use equation (9) to control the generated solution in the decision space (Line 6). The solution is updated according to equation (1) (Line 7). The variables winner and loser are set as a random solution and updated solution. The values of the objective function corresponding to the two solutions are compared, and winner is set as the better solution (Line 8). After that, for the solution, we first update PV according to equations(5)and(6) (Line 10). The variable fitwinner represents the objective function value corresponding to winner. If fitwinner is less than the given threshold, the best and Fmin values will be updated to winner and fitwinner, respectively (Line 11–13). Finally, fitwinner and Fmin are compared to update the global optimum.(9)x1=x2ub−lb+12ub+lb.


## 3.2. Compact Sine Cosine Algorithm with Multigroup and Multistrategy (MCSCA)

The SCA algorithm can generate a set of values per iteration. After adding the idea of compact, the initialized randomly generated value is no longer an individual in the population, but a set of vectors used for compact. In this case, it is easy to fall into the local optimum. Therefore, the idea of grouping is added. Grouping is a common idea in optimization algorithms. After adding group ideas, a set of values can be generated per iteration, which increases the diversity of the population and jumps out of the local optimal. So, the searchability and convergence speed are improved, and the solution is found faster (Algorithm1).Algorithm 1:CSCA.
Input: Parametersd, Np, ub, andlbOutput: Global optimumbestand its fitness valueFmin(1)
fori = 1:ddo(2)
initializeµ = 0, σ = λ = 10;(3)
initializebest = ub, Fmin = inf ;(4)
end for(5)
whilet<Max Generation do(6)
Getx1 from PV via equations (8), (9);(7)
Updatex1 to get x2 via equation (1);(8)
winner,loser = compete (x1 ,x2 );(9)
fori = 1:d do(10)
UpdatePV via equations (5), (6);(11)
iffitwinner <Fminthen(12)
best =  winner; Fmin = fitwinner ;(13)
end if(14)
end for(15)
end whileThe communication strategy between groups adopts the idea of differential evolution. The differential evolution algorithm is a random parallel optimization algorithm based on population evolution and is a simple and efficient random global optimization method [57]. This article uses the following differential evolution formula and improved differential evolution formula:(10)DE/best/2:x=xbest+Fxr1−xr2+Fxr3−xr4,(11)DE/current−to−rand/1:x=xcurrent+Fxcurrent−xr1+Fxr2−xr3,(12)DE/best−to−rand/1:x=xbest+Fxbest−xr1+Fxr2−xr3,(13)DE/best−to−current/1:x=xbest+Fxbest−xcurrent+Fxr1−xr2,where F stands for mutation factor, generally taking the value 0.5, and xr1, xr2, xr3, and xr4 represent random individuals in the population. xbest is the global optimal individual and xcurrent represents the current individual.The original differential evolution strategy is to update the individuals in the population according to the above formula. This algorithm groups the population, andx in the corresponding formula also changes from the individual to the optimal of a group. For example, xr originally represents a random individual in the population, which represents the optimal individual in a random group in this algorithm. Four formulas are used for communication between groups, among which equations (11)–(13) are improved on common formulas. DE/current-to-rand/1 represents updating the current solution with a random solution, DE/best-to-rand/1 represents updating the global optimum with a random solution, and DE/best-to-current/1 represents updating the global optimum with the current solution. Using the random solution and the current solution to influence the global optimum can speed up the convergence speed, and updating the current solution can increase the randomness of the solution.The pseudocode of our Compact Sine Cosine Algorithm with Multigroup and Multistrategy denoted by MCSCA is shown in Algorithm2. We initially set the variable globalbest to represent the global optimum, set the variable globalfmin to represent the fitness value corresponding to the global optimum, set the variable g to represent the number of groups, set Gi⋅best to store the best in the group, and set Gi⋅Fmin to store the fitness value corresponding to Gi⋅best(Line 1–3). Dimension, population size, upper, lower, and vectors of PV are consistent with those set by CSCA. Then, we iteratively use equations (8) and (9) to generate a random solution in the decision space and update this solution according to equation (1) (Line 6–7). winner and loser are set as this random solution and updated solution. The values of the objective function corresponding to the two solutions are compared, and winner is set as the better solution. fitwinner represents the objective function value corresponding to the winner, and we update PV according to equations (5) and (6) (Line 9).After that, the optimum in the group and the corresponding fitness value are updated by comparingfitwinner with Gi⋅Fmin. The global optimum is updated by communication strategy between groups. The specific intergroup communication strategy is to cycle the number of groups, and the following four strategies are executed with equal probability.Strategy 1 compared the fitness value of the current group and the global optimum to determine whether to replace it. If there is no need to replace, update the global optimum according to equation (10). Strategy 2 compares the optimal value of the current group and the optimal value of the random group. If the fitness value of the random group is better, the best value and fitness value of the current group are replaced with the best value and fitness value of this random group. Otherwise, the random group is updated according to equation (11). Strategy 3 and Strategy 4 update the global optimum according to equations (12) and (13), respectively. After executing the intergroup strategy, use the sorting statement to find the worst and the best of optimal individuals of all groups and update the worst to the best (Algorithm 2).Algorithm 2:MCSCA.
Input: Parametersd, Np, ub , lb, andgOutput: Global optimumglobalbestand its fitness valueglobalfmin(1)
Set the number of groupsg, each group is Gi;(2)
initializeGi⋅PV , Gi⋅best and Gi⋅Fmin of each group;(3)
Initializeglobalbest = G1⋅best, globalfmin = G1⋅Fmin;(4)
whilet<Max Gernerationdo(5)
fori = 1:gdo(6)
Getx1 , x2 via equations (8). (9) and (1);(7)
winner,loser,fitwinner = compete (x1 ,x2 );(8)
fori = 1:ddo(9)
UpdateGi⋅PV via equations (5), (6);(10)
end for(11)
iffitwinner <Gi⋅Fminthen(12)
Gi⋅best = winner; Gi⋅Fmin = fitwinner;(13)
end if(14)
Updateglobalbest and globalfmin;(15)
if rand<0.25 then(16)
Execute Strategy 1;(17)
else if rand<0.5 then(18)
Execute Strategy 2;(19)
else if rand<0.75 then(20)
Execute Strategy 3;(21)
else(22)
Execute Strategy 4;(23)
end if(24)
end for(25)
Change the worst individual to the best individual by the sorting statement;(26)
end while


## 4. Experiments

We conduct extensive empirical studies to evaluate the efficiency and effectiveness of our proposed algorithms for the dispatching system of public transit vehicles. In specific, we evaluate the following algorithms:(1)
SCA: the algorithm in [1].(2)
MMSCA: the algorithm in [24].(3)
CSCA: the approach discussed in Section3.1(4)
MCSCA: the approach discussed in Section3.2All algorithms are implemented in MATLAB2018a. All experiments are conducted on a machine with an Intel (R) Core (TM) 2.60 GHz CPU and 12 GB memory running 64-bit Windows 10. We evaluate the performance of all algorithms on the CEC2013 benchmark functions as follows:(1)
f1−f5 are unimodal benchmark functions(2)
f6−f20 are basic multimodal functions(3)
f21−f28 are composite functionsThere are four key parameters in the intergroup communication strategy of the MCSCA algorithm, that is, the mutation factor corresponding to the four formulas. The value of the mutation factor will affect the convergence of the algorithm. If the value of the mutation factor is too small, it will easily fall into the local optimum, and if the value of the mutation factor is too large, the algorithm is difficult to converge. So, Taguchi’s method [58] is used to obtain a reasonable combination of the four mutation factors. Taguchi’s method detects part of the possible combination of factors, but not all combinations. This method uses the smallest number of trials to detect the best combination. The value of F ranges from 0 to 2. So, the level settings of the four factors are 0.5, 1, and 1.5. A full-factorial analysis needs 34 = 81 experiments. Taguchi’s method adopts the orthogonal arrays. Therefore, an orthogonal array L9, 34 that contains only 9 experiments is adopted in our experiment. We conducted ten tests on CEC2013 to find the average value. When the mutation factors are all 0.5, the effect is the best.


### 4.1. Comparing CSCA and MCSCA with SCA and MMSCA

We compare our proposed algorithms, CSCA and MCSCA, with the existing algorithms, SCA and MMSCA. Here, we selected 15 figures with obvious optimization effects to show in Figure1. Table 1 presents the results in the 28 CEC2013 benchmark functions. Generally, MCSCA outperforms CSCA; the only difference between these two algorithms is that MCSCA uses the proposed Multigroup and Multistrategy. Thanks to the compact technique, the performance of CSCA is much better than the performance of SCA in most functions.Figure 1
Convergence plots for optimization in the CEC2013 benchmark functions. (a)f1, (b) f2, (c) f5, (d) f8, (e) f9, (f) f10, (g) f14, (h) f15, (i) f16, (j) f19, (k) f22, (l) f23, (m) f24, (n) f25, and (o) f27.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)Table 1
Performance evaluation for CSCA, MCSCA, SCA, and MMSCA over CEC2013.
FunctionMCSCAMMSCASCACSCAf11.0012e + 041.1018e+041.5563e+041.1834e+05f21.5879e + 081.7454e+082.4311e+082.1502e+09f38.9088e+125.9098e+105.3981e + 101.2261e+17f44.6156e+044.6370e+044.5172e + 042.7359e+05f51.8310e + 032.0867e+032.1676e+034.1026e+04f6278.956315.6414206.01072.5995e+04f7320.5652−605.5122−533.95511.3614e+06f8−679.0443−679.0068−678.9740−678.8082f9−560.8198−560.1837−558.7135−554.2032f101.2036e + 031.2840e+031.5836e+031.5415e+04f1190.0472−10.352912.7879928.8658f12227.488885.8620106.43201.3068e+03f13321.5240193.1019196.49911.4176e+03f145.9463e + 037.2369e+037.2578e+039.1906e+03f156.8223e + 037.5356e+037.9090e+039.3590e+03f16201.7178202.8841202.9772204.9818f17944.1183819.8032876.31623.7177e+03f181.0708e+03935.6093949.79534.2394e+03f193.6962e + 037.9335e+032.0738e+043.1437e+06f20614.7672614.4340614.3648615f212.1325e + 032.6757e+032.7754e+039.3564e+03f227.6664e + 038.5483e+038.7796e+031.1109e+04f238.3404e + 039.0079e+038.9873e+031.0256e+04f241.3035e + 031.3196e+031.3216e+031.3885e+03f251.3992e + 031.4321e+031.4338e+031.4979e+03f261.5405e+031.4144e + 031.4243e+031.6308e+03f272.6168e + 032.7104e+032.7086e+032.8722e+03f285.2591e+034.2623e + 034.4768e+031.3878e+04As shown in Table1, compared with the SCA algorithm, the MCSCA achieves better results in 16 benchmark functions. Compared with MMSCA, the proposed MCSCA algorithm performs better on 17 benchmark test functions. Compared with CSCA, the MCSCA algorithm is better in all benchmark functions. Among the unimodal benchmark functions, our MCSCA approach over f1, f2, and f5 can achieve the best accuracy compared to that of SCA and MMSCA algorithms. From Figure 1, we can see that the convergence speed in our MCSCA algorithm increases significantly. Among the eight composite functions, for f26 and f28, the MMSCA algorithm is better optimized. For the remaining six composite functions, the MCSCA algorithm is better optimized. The reason for the significant optimization effect is the intergroup communication strategy of MCSCA, which uses the idea of differential evolution. The basic idea of the communication strategy between groups is to use the difference between the two group optimal values to affect the current group optimal value or the global optimal value. It increases the randomness of the solution. After intergroup communication is complete, the worst individual in all groups is found by a ranking statement and replaced with the global optimum. This method speeds up convergence.


### 4.2. Comparison with the Existing Compact Methods

To further verify the effectiveness of the algorithm, this paper also compares it with three other compact algorithms, including CBA, PCABC, and CPSO. The number of iterations is one thousand. Each algorithm is tested 30 times for the average. The experimental results are shown in Table2.Table 2
Performance evaluation for MCSCA, CBA, PCABC, and CPSO over CEC2013.
FunctionMCSCACBAPCABCCPSOf11.0012e + 045.8592e + 045.4265e + 048.2174e + 03f21.5879e + 084.6005e + 087.1326e + 083.4631e + 08f38.9088e + 123.4373e + 212.7048e + 151.9944e + 15f44.6156e + 046.8506e + 041.0192e + 051.0063e + 05f51.8310e + 035.4879e + 031.5106e + 041.5106e + 04f6278.95631.8592e + 047.4003e + 035.5797e + 03f7320.56522.8640e + 043.5116e + 04576.36333f8−679.0443−678.7539−678.9390−678.7612f9−560.8198−542.1405−557.5668−556.9122f101.2036e + 031.1691e + 046.9226e + 031.7629e + 03f1190.0472598.9505468.3890325.8092f12227.4888675.6116600.3618402.0084f13321.5240938.8861702.9930496.6388f145.9463e + 036.6365e + 038.0827e + 038.3116e + 03f156.8223e + 036.1357e + 038.2723e + 039.0474e + 03f16201.7178203.1301203.3737204.0167f17944.11831.2152e + 031.3819e + 031.1049e + 03f181.0708e + 031.2951e + 031.4863e + 031.2152e + 03f193.6962e + 037.5477e + 051.1702e + 061.2111e + 06f20614.7672615614.9994615f212.1325e + 033.2044e + 033.4450e + 032.7068e + 03f227.6664e + 031.1060e + 049.5938e + 031.0378e + 03f238.3404e + 039.6684e + 039.6065e + 031.0629e + 03f241.3035e + 031.8042e + 031.3712e + 031.3198e + 03f251.3992e + 031.5600e + 031.4826e + 031.4109e + 03f261.5405e + 032.3145e + 031.4961e + 031.5641e + 03f272.6168e + 034.3918e + 032.8685e + 032.7369e + 03f285.2591e + 031.0705e + 047.6122e + 047.9081e + 04It can be seen that the MCSCA algorithm has better solution accuracy compared to CBA, CPSO, and PCABC, except forf1. CBA and CPSO approach only add compact ideas to the original SCA algorithm, which saves memory but is easy to fall into a local optimum and converge ahead of time. The PCABC, like the MCSCA algorithm, adds grouping ideas to the compact algorithm.But the intergroup communication strategy of the MCSCA algorithm uses the idea of differential evolution and multiple strategies. It updates the group optimum to increase the diversity of population solutions and updates the global optimum to maintain the strong local optimization ability of the original algorithm and avoid the instability of the algorithm caused by the introduction of the rand strategy. Thus, the MCSCA algorithm has a more pronounced optimization effect.According to the comparison results of the two phases of experiments, the MCSCA algorithm shows strong competitiveness compared with other algorithms of the same type. To further study the feasibility and effectiveness of this algorithm in practical applications, this paper applies the algorithm to the dispatching system of public transit vehicles.


### 4.3. Comparing MCSCA with DE and DE Variants

The intergroup communication strategy of the proposed algorithm uses a differential evolution mechanism. So, in order to fully demonstrate the effectiveness of the proposed method, this paper also compares the proposed algorithm with DE and DE variants, including JADE, SHADE, and LSHADE [59–61]. The test results are shown in Table 3. JADE algorithm incorporates parameter adaptation and greedy compilation strategies in the traditional DE algorithm. SHADE uses a historical memory of recently successful parameter sets based on JADE. LSHADE linearly reduces the population size based on SHADE.Table 3
Performance evaluation for MCSCA, DE, JADE, SHADE, and LSHADE over CEC2013.
FunctionMCSCADEJADESHADELSHADEf11.0012e + 041.8334e+041.6936e+041.3601e+041.1211e+04f21.5879e+082.2830e+082.4714e+081.8775e+081.5016e + 08f38.9088e+122.0809e+122.0411e+111.5216e + 119.3578e+11f44.6156e + 045.3020e+045.5735e+044.6472e+045.1199e+04f51.8310e+033.8654e+033.5120e+032.7086e+031.7677e + 03f6278.95631.4409e+031.0112e+031.2955e+03351.1929f7320.56522.2144e+03581.7276204.7736235.5335f8−679.0443−678.9891−679.0055−679.0331−679.0418f9−560.8198−560.0210−559.3174−561.1851−561.0092f101.2036e + 032.1623e+032.1844e+031.5209e+031.8154e+03f1190.0472120.7334114.347373.177980.3474f12227.4888246.6691247.9068182.5079173.5435f13321.5240334.2122292.0396283.9232330.5799f145.9463e + 037.1437e+037.2404e+036.5639e+036.5771e+03f156.8223e + 037.3093e+037.5481e+037.4742e+037.6433e+03f16201.7178202.6536202.5590202.4048202.3882f17944.1183880.5067828.7338893.9824908.6225f181.0708e+031.0352e+031.0004e+031.0181e+03986.8915f193.6962e + 037.3193e+039.0551e+036.2207e+036.2646e+03f20614.7672614.8392614.74552614.4299614.6522f212.1325e + 032.6780e+032.5064e+032.3300e+032.2905e+03f227.6664e + 038.5134e+038.8210e+038.1707e+038.5568e+03f238.3404e + 039.1687e+039.0751e+038.9719e+038.9474e+03f241.3035e+031.3004e+031.3059e+031.3007e+031.2964e + 03f251.3992e+031.4012e+031.4021e+031.3996e+031.3985e + 03f261.5405e+031.5791e+031.5341e+031.5403e+031.5075e + 03f272.6168e+032.6780e+032.6312e+032.6169e+032.6157e + 03f285.2591e + 038.5134e+035.3486e+035.5304e+035.3490e+03According to the data in Table3, compared with the DE algorithm and improved DE algorithms, the MCSCA algorithm has better results than these algorithms in 13 functions. But the effect on other benchmark functions is not the best. Compared with the original DE algorithm, the MCSCA algorithm is only unsatisfactory in the effects of f17. The main reason for this effect is that the MCSCA algorithm divides the population into groups and adopts a variety of intragroup communication strategies. Different communication strategies focus on different goals. This method can accelerate the convergence speed without falling into the local optimum while reducing memory.


## 4.1. Comparing CSCA and MCSCA with SCA and MMSCA

We compare our proposed algorithms, CSCA and MCSCA, with the existing algorithms, SCA and MMSCA. Here, we selected 15 figures with obvious optimization effects to show in Figure1. Table 1 presents the results in the 28 CEC2013 benchmark functions. Generally, MCSCA outperforms CSCA; the only difference between these two algorithms is that MCSCA uses the proposed Multigroup and Multistrategy. Thanks to the compact technique, the performance of CSCA is much better than the performance of SCA in most functions.Figure 1
Convergence plots for optimization in the CEC2013 benchmark functions. (a)f1, (b) f2, (c) f5, (d) f8, (e) f9, (f) f10, (g) f14, (h) f15, (i) f16, (j) f19, (k) f22, (l) f23, (m) f24, (n) f25, and (o) f27.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)Table 1
Performance evaluation for CSCA, MCSCA, SCA, and MMSCA over CEC2013.
FunctionMCSCAMMSCASCACSCAf11.0012e + 041.1018e+041.5563e+041.1834e+05f21.5879e + 081.7454e+082.4311e+082.1502e+09f38.9088e+125.9098e+105.3981e + 101.2261e+17f44.6156e+044.6370e+044.5172e + 042.7359e+05f51.8310e + 032.0867e+032.1676e+034.1026e+04f6278.956315.6414206.01072.5995e+04f7320.5652−605.5122−533.95511.3614e+06f8−679.0443−679.0068−678.9740−678.8082f9−560.8198−560.1837−558.7135−554.2032f101.2036e + 031.2840e+031.5836e+031.5415e+04f1190.0472−10.352912.7879928.8658f12227.488885.8620106.43201.3068e+03f13321.5240193.1019196.49911.4176e+03f145.9463e + 037.2369e+037.2578e+039.1906e+03f156.8223e + 037.5356e+037.9090e+039.3590e+03f16201.7178202.8841202.9772204.9818f17944.1183819.8032876.31623.7177e+03f181.0708e+03935.6093949.79534.2394e+03f193.6962e + 037.9335e+032.0738e+043.1437e+06f20614.7672614.4340614.3648615f212.1325e + 032.6757e+032.7754e+039.3564e+03f227.6664e + 038.5483e+038.7796e+031.1109e+04f238.3404e + 039.0079e+038.9873e+031.0256e+04f241.3035e + 031.3196e+031.3216e+031.3885e+03f251.3992e + 031.4321e+031.4338e+031.4979e+03f261.5405e+031.4144e + 031.4243e+031.6308e+03f272.6168e + 032.7104e+032.7086e+032.8722e+03f285.2591e+034.2623e + 034.4768e+031.3878e+04As shown in Table1, compared with the SCA algorithm, the MCSCA achieves better results in 16 benchmark functions. Compared with MMSCA, the proposed MCSCA algorithm performs better on 17 benchmark test functions. Compared with CSCA, the MCSCA algorithm is better in all benchmark functions. Among the unimodal benchmark functions, our MCSCA approach over f1, f2, and f5 can achieve the best accuracy compared to that of SCA and MMSCA algorithms. From Figure 1, we can see that the convergence speed in our MCSCA algorithm increases significantly. Among the eight composite functions, for f26 and f28, the MMSCA algorithm is better optimized. For the remaining six composite functions, the MCSCA algorithm is better optimized. The reason for the significant optimization effect is the intergroup communication strategy of MCSCA, which uses the idea of differential evolution. The basic idea of the communication strategy between groups is to use the difference between the two group optimal values to affect the current group optimal value or the global optimal value. It increases the randomness of the solution. After intergroup communication is complete, the worst individual in all groups is found by a ranking statement and replaced with the global optimum. This method speeds up convergence.


## 4.2. Comparison with the Existing Compact Methods

To further verify the effectiveness of the algorithm, this paper also compares it with three other compact algorithms, including CBA, PCABC, and CPSO. The number of iterations is one thousand. Each algorithm is tested 30 times for the average. The experimental results are shown in Table2.Table 2
Performance evaluation for MCSCA, CBA, PCABC, and CPSO over CEC2013.
FunctionMCSCACBAPCABCCPSOf11.0012e + 045.8592e + 045.4265e + 048.2174e + 03f21.5879e + 084.6005e + 087.1326e + 083.4631e + 08f38.9088e + 123.4373e + 212.7048e + 151.9944e + 15f44.6156e + 046.8506e + 041.0192e + 051.0063e + 05f51.8310e + 035.4879e + 031.5106e + 041.5106e + 04f6278.95631.8592e + 047.4003e + 035.5797e + 03f7320.56522.8640e + 043.5116e + 04576.36333f8−679.0443−678.7539−678.9390−678.7612f9−560.8198−542.1405−557.5668−556.9122f101.2036e + 031.1691e + 046.9226e + 031.7629e + 03f1190.0472598.9505468.3890325.8092f12227.4888675.6116600.3618402.0084f13321.5240938.8861702.9930496.6388f145.9463e + 036.6365e + 038.0827e + 038.3116e + 03f156.8223e + 036.1357e + 038.2723e + 039.0474e + 03f16201.7178203.1301203.3737204.0167f17944.11831.2152e + 031.3819e + 031.1049e + 03f181.0708e + 031.2951e + 031.4863e + 031.2152e + 03f193.6962e + 037.5477e + 051.1702e + 061.2111e + 06f20614.7672615614.9994615f212.1325e + 033.2044e + 033.4450e + 032.7068e + 03f227.6664e + 031.1060e + 049.5938e + 031.0378e + 03f238.3404e + 039.6684e + 039.6065e + 031.0629e + 03f241.3035e + 031.8042e + 031.3712e + 031.3198e + 03f251.3992e + 031.5600e + 031.4826e + 031.4109e + 03f261.5405e + 032.3145e + 031.4961e + 031.5641e + 03f272.6168e + 034.3918e + 032.8685e + 032.7369e + 03f285.2591e + 031.0705e + 047.6122e + 047.9081e + 04It can be seen that the MCSCA algorithm has better solution accuracy compared to CBA, CPSO, and PCABC, except forf1. CBA and CPSO approach only add compact ideas to the original SCA algorithm, which saves memory but is easy to fall into a local optimum and converge ahead of time. The PCABC, like the MCSCA algorithm, adds grouping ideas to the compact algorithm.But the intergroup communication strategy of the MCSCA algorithm uses the idea of differential evolution and multiple strategies. It updates the group optimum to increase the diversity of population solutions and updates the global optimum to maintain the strong local optimization ability of the original algorithm and avoid the instability of the algorithm caused by the introduction of the rand strategy. Thus, the MCSCA algorithm has a more pronounced optimization effect.According to the comparison results of the two phases of experiments, the MCSCA algorithm shows strong competitiveness compared with other algorithms of the same type. To further study the feasibility and effectiveness of this algorithm in practical applications, this paper applies the algorithm to the dispatching system of public transit vehicles.


## 4.3. Comparing MCSCA with DE and DE Variants

The intergroup communication strategy of the proposed algorithm uses a differential evolution mechanism. So, in order to fully demonstrate the effectiveness of the proposed method, this paper also compares the proposed algorithm with DE and DE variants, including JADE, SHADE, and LSHADE [59–61]. The test results are shown in Table 3. JADE algorithm incorporates parameter adaptation and greedy compilation strategies in the traditional DE algorithm. SHADE uses a historical memory of recently successful parameter sets based on JADE. LSHADE linearly reduces the population size based on SHADE.Table 3
Performance evaluation for MCSCA, DE, JADE, SHADE, and LSHADE over CEC2013.
FunctionMCSCADEJADESHADELSHADEf11.0012e + 041.8334e+041.6936e+041.3601e+041.1211e+04f21.5879e+082.2830e+082.4714e+081.8775e+081.5016e + 08f38.9088e+122.0809e+122.0411e+111.5216e + 119.3578e+11f44.6156e + 045.3020e+045.5735e+044.6472e+045.1199e+04f51.8310e+033.8654e+033.5120e+032.7086e+031.7677e + 03f6278.95631.4409e+031.0112e+031.2955e+03351.1929f7320.56522.2144e+03581.7276204.7736235.5335f8−679.0443−678.9891−679.0055−679.0331−679.0418f9−560.8198−560.0210−559.3174−561.1851−561.0092f101.2036e + 032.1623e+032.1844e+031.5209e+031.8154e+03f1190.0472120.7334114.347373.177980.3474f12227.4888246.6691247.9068182.5079173.5435f13321.5240334.2122292.0396283.9232330.5799f145.9463e + 037.1437e+037.2404e+036.5639e+036.5771e+03f156.8223e + 037.3093e+037.5481e+037.4742e+037.6433e+03f16201.7178202.6536202.5590202.4048202.3882f17944.1183880.5067828.7338893.9824908.6225f181.0708e+031.0352e+031.0004e+031.0181e+03986.8915f193.6962e + 037.3193e+039.0551e+036.2207e+036.2646e+03f20614.7672614.8392614.74552614.4299614.6522f212.1325e + 032.6780e+032.5064e+032.3300e+032.2905e+03f227.6664e + 038.5134e+038.8210e+038.1707e+038.5568e+03f238.3404e + 039.1687e+039.0751e+038.9719e+038.9474e+03f241.3035e+031.3004e+031.3059e+031.3007e+031.2964e + 03f251.3992e+031.4012e+031.4021e+031.3996e+031.3985e + 03f261.5405e+031.5791e+031.5341e+031.5403e+031.5075e + 03f272.6168e+032.6780e+032.6312e+032.6169e+032.6157e + 03f285.2591e + 038.5134e+035.3486e+035.5304e+035.3490e+03According to the data in Table3, compared with the DE algorithm and improved DE algorithms, the MCSCA algorithm has better results than these algorithms in 13 functions. But the effect on other benchmark functions is not the best. Compared with the original DE algorithm, the MCSCA algorithm is only unsatisfactory in the effects of f17. The main reason for this effect is that the MCSCA algorithm divides the population into groups and adopts a variety of intragroup communication strategies. Different communication strategies focus on different goals. This method can accelerate the convergence speed without falling into the local optimum while reducing memory.


## 5. MCSCA Algorithm on the Dispatching System of Public Transit Vehicles

Public transportation is an important part of urban transportation. Good bus dispatching is of great significance for improving the urban transportation environment, improving the travel conditions of citizens, and improving the economic and social benefits of bus companies. Optimal bus dispatching is a rhythmic and repetitive driving plan. It organizes a large number of vehicles on a prescribed route and is made according to the number, direction, and time of passenger flow after studying the rules of passenger flow. It is a complex nonlinear dynamic optimization problem.Before describing the optimal scheduling of buses, the following assumptions need to be made:(1)
The application is aimed at the dispatch of public transportation vehicles on a certain route in the urban public transportation system(2)
The model is built considering only the one-way case of this route(3)
The buses of this route are of the same vehicle type(4)
When each bus of this route passes through various stations, there are no passengers left(5)
In the same time period, two adjacent buses have the same time interval(6)
Passengers arriving at the station at each time period obey even distribution(7)
The bus has a certain running time between two adjacent stops(8)
The ticket price is the same throughout the journeyUnder the above assumptions, the optimal dispatching problem of a certain route is described as follows.In a dispatching problem of public transportation, it is known that a bus route with a total mileage ofL has J stations in total, and the operating time of vehicles in one day is tearly,tnight. The operating time can be divided into K time periods. The departure interval of the k-th time period is Δtk. The bus models of this route are the same and arrive at the station on time. The bus fare for each passenger is n. The problem needs to consider both the operating profit of the bus company and the service level of the bus company (the length of waiting time for passengers). According to the passenger flow and operating conditions of each station in a day, it solves the vehicle operating timetable of this route, that is, the departure time interval of each period of operating time.The purpose of the optimal bus dispatching system is to balance the interests of both the bus company and the passengers, from the perspective of the bus company and the passengers. From the perspective of the bus company, in order to ensure the lowest operating cost of the bus company, it is necessary to control the number of departures of the bus company. From the perspective of the passengers, it is necessary to consider that the long waiting time of the passengers will make the passengers impatient. Therefore, the following objective function is established:(14)FΔtk=αC1L∑k=1kTkΔtk+βC2∑k=1k∑j=1JmkρkjΔtk22.The objective function can be written as(15)FΔtk=αf1Δtk+βf2Δtk,(16)f1Δtk=C1L∑k=1kTkΔtk,(17)f2Δtk=C2∑k=1k∑j=1JmkρkjΔtk22,where α is the weighting coefficient of the consumption of the bus company, β is the weighting coefficient of the consumption of the passengers, f1Δtk represents the objective function cost of the bus company, and f2Δtk represents the objective function of passenger loss. In equation (16), L is the total kilometers of the route, K is the number of time period, k is the time period, Tk represents the time length of the period, Δtk is the departure interval of the k period, and C1 is the cost of consumption per bus per kilometer. In equation (17), J is the number of stations, j is the station, and C2 is the cost of loss per passenger waiting for a unit of time. mk is the total number of departures in the k-th period and it is equal to the ratio of the length of the period to the departure interval. ρkj is the passenger arrival rate at the j-th station in the k-th period, and it is equal to the ratio of the number of passengers on the j-th station in the k-th period to the length of time.Besides, there is a hidden constraint. If the bus company wants to achieve a profitable goal, it must make the total fare collected by the bus company greater than the bus company’s minimum consumption cost. That is, the following formula must be satisfied:(18)n×∑k=1K∑j=1Jukj∑k=1KTk/Δtk>C1L,where ukj is the passenger arrival rate at the j-th station in the k-th period.The code part of the constraint condition adopts the penalty function method. The penalty function is a commonly used method to deal with constraint conditions. It transforms constrained optimization problems into unconstrained optimization problems. If the fare collected by the bus company is less than its minimum consumption cost, the departure interval is increased, so that the consumption of the bus company is reduced. The departure interval is in minutes. If the condition is not met in one cycle, the time interval of a time period is randomly selected again and incremented by 1.Assuming that there are 10 stations on the bus route, the total kilometers of the route is 8 km and the operating hours of the bus company are from 6 am to 9 pm every day. The variablex represents the departure interval. The passenger flow of each station in each time period is shown in Table 4.Table 4
Number of passengers at various time sections and various stations.
TimeS1S2S3S4S5S6S7S8S9S106 : 00–8:30506168417209262320191028 : 30–12 : 003301651871746766141140401212 : 00–16 : 0012764605811611015813220616 : 00–19 : 00344172254224177178162150702419 : 00–21 : 006032454317144542153The other parameters of the MCSCA algorithm are set as follows:C1 = 1, C2 = 1, n = 1, and the max of iteration equals 200. This application performs 10 optimization tests for the settings of 3 different parameters α and β and compares with SCA and MMSCA algorithms.Situation 1.
Letα = 0.2, β = 0.8, the operation result is minFΔtk = 3037.2, Δtk = (2, 3, 4, 2, 3), and the unit is the minute. We obtained the optimized results’ comparison as shown in Table 5 and curves of the objective function value as shown in Figure 2.Table 5
Optimized results’ comparison inα = 0.2 and β = 0.8.
AlgorithmAverage valueBest valueWorst valueMCSCA3155.66672902.83408.4SCA3624.50552902.84198.8MMSCA3216.82862.83575.2Figure 2
Curves of objective function F value inα = 0.2, β = 0.8.Situation 2.
Letα = 0.5, β = 0.5, the operation result is minFΔtk = 3506.75, Δtk = (2, 2, 3, 2, 4), and the unit is the minute. We obtained the optimized results’ comparison as shown in Table 6 and curves of the objective function value as shown in Figure 3.Table 6
Optimized results’ comparison inα = 0.2 and β = 0.8.
AlgorithmAverage valueBest valueWorst valueMCSCA3562.994634743671.4464SCA3678.767834743987MMSCA3601.988735253662.5Figure 3
Curves of objective function F value inα = 0.5, β = 0.5.Situation 3.
Letα = 0.8, β = 0.2, the operation result is minFΔtk = 2743.4033, Δtk = (3, 4, 6, 3, 7), and the unit is the minute. We obtained the optimized results’ comparison as shown in Table 7 and curves of the objective function value as shown in Figure 4.
The simulation result shows that, in the morning peak and evening peak, the passenger flow is large, and the departure frequency is higher, and when the passenger flow is low, the departure frequency is also reduced. The optimization result basically conforms to the actual situation. In actual application, the value ofα and β depends on whether the decision-maker is more inclined to benefit the bus company or the consumer. The purpose of designing three sets of different weight values is to prove that MCSCA has a better optimization effect in any case.
According to Tables5–7, regardless of the values of α and β, the average value of the convergence accuracy of the MCSCA algorithm on this application is significantly better than the SCA algorithm and the MMSCA algorithm. And the difference between the best value and the worst value is significantly smaller than the other two algorithms. It indicates that the MCSCA is more stable. According to Figures 2–4, not only has the MCSCA algorithm a significant advantage in convergence accuracy but also the convergence speed is significantly better than the SCA algorithm and the MMSCA algorithm.Table 7
Optimized results’ comparison inα = 0.2 and β = 0.8.
AlgorithmAverage valueBest valueWorst valueMCSCA3562.994634743671.4464SCA3678.767834743987MMSCA3601.988735253662.5Figure 4
Curves of objective function F value inα = 0.8, β = 0.2.


## 6. Conclusion

In this paper, we developed a compact-based SCA algorithm, CSCA, which can reduce the number of optimized variables and the required running memory. To improve the performance of our approach, we further proposed the MCSCA algorithm, which combines grouping strategy to speed up the convergence speed. Extensive empirical studies on benchmark CEC2013 demonstrate the effectiveness of our approach and the efficiency of our techniques. Furthermore, applying the MCSCA algorithm to the dispatching system of public transit vehicles can get a minimum cost value than that of SCA and MMSCA algorithms, which further testify the effectiveness and superiority of the proposed MCSCA algorithm. A possible future work is considered to continue the improvement of the SCA algorithm and apply it to more practical engineering problems.



---

*Source: 5526127-2021-03-30.xml*