As most of the multi-objective problems have to meet several objectives, it is impossible to obtain a unique solution that satisfies all the objectives simultaneously. Usually, Simulated Annealing (SA) [
21], Ant Colony Optimization (ACO) [
26], Multi-objective Heuristic Algorithms [
27], Discrete Evolutionary Multi-objective Optimization (DEMO) [
28], Niched Genetic Algorithm [
5], Non-dominated Sorting Genetic Algorithm (NSGA) [
29,
30] are often chosen to solve multi-objective problems. One of the widely used algorithms proposed to solve multi-objective problems is the Non-dominated Sorting Genetic Algorithm-II (NSGA-II).
The scheduling of different bus lines will affect the transfer efficiency. Moreover, there are many schemes for each bus line and the two objectives conflict with each other. Therefore, it is necessary to design an algorithm that can deal with multi-objective public transportation scheduling quickly. In this section, a two-step algorithm is employed in order to solve this problem. The first step is to obtain the Pareto solutions, and the second step is to obtain a satisfactory scheme from the Pareto solution set on the basis of the entropy weight-TOPSIS method.
4.1. The NSGA-II Algorithm
The NSGA-II algorithm is one of the most commonly used multi-objective optimization algorithms, but it has some drawbacks of an uneven convergence of the population and the ease of falling into the local optimal solution [
31]. In order to avoid premature convergence of Genetic algorithm, it is necessary to keep the diversity of population. According to the characteristics of this model, an adaptive adjusted model of the crossover and the mutation probability is introduced, and an adaptive crossover operator for judging the similarity of chromosomes and multipoint mutation operator are designed.
(1) Construction of chromosomes
Chromosome
is designed by a positive integer, where gene
of the chromosome represents the set of the departure time for each bus of line
i.
Figure 1 illustrates the specific structure of a randomized chromosome.
The process of generating a chromosome is as follows:
Step 1: Let and (where is a random number obeying 0–1 uniform distribution).
Step 2: , If , let , return to Step 2. Otherwise, go to Step 3.
Step 3: if , , return to Step 2. Otherwise, stop.
(2) Select operator
The selection of the parental population is using binary tournament method calculate the performing non-dominated sorting and crowding calculation of the parental population.
(3) Adaptive adjusted model for crossover and mutation probability
In order to improve the search performance of the algorithm and avoid falling into the local optimal solution, an adjusted model is adopted to adjust the crossover probability and mutation probability.
The crossover probability can be adjusted by the following method.
where
,
are the crossover probability for different generations,
is the adjustment coefficient of crossover and mutation probability in the later stage of evolution.
is the current evolutionary generation,
are the dividing points of the early stage and the middle stage, and
is the total maximum evolution generation.
Furthermore, the mutation probability can be adjusted by the following method according to the running phase.
where
represents the total number of bus departures for all lines in a chromosome,
is the maximum mutation probability.
(4) Crossover operator
According to the character of the chromosome structure, the traditional single-point crossover is easy to fall into the local optimal solution. Therefore, an adaptive crossover operator is designed through judging the similarity of chromosomes.
The process of adaptive crossover operator is stated as follows:
Step1: Let .
Step2: If , then go to step 4. Otherwise, compare the number of bus departures of a line for the two selected chromosomes, if the departure times are equal, let the departure times of line be and go to Step3, otherwise, let , return to Step2.
Step3: Count the number of equal departure time of lines of the two chromosomes. If , then regenerate the departure time of line for one chromosome and exchange the genes of line of two chromosomes, and let , go to Step2.
Step4: If , randomly generate two different lines and exchange the corresponding genes of two chromosomes.
In the case of
, the crossover process is shown in
Figure 2. Assume that the first genes of parents
are highly similar to the
genes, then randomly select one chromosome from
, regenerate the departure time of the high similarity line, and exchange the corresponding genes of
(where
is the regenerated departure time). The crossover process when
is shown in
Figure 3.
(5) Mutation operator
Randomly select two different lines from a chromosome and calculate the length of each line gene .
Randomly select some places form line gene and regenerate these departure time according to the following conditions (, and denote the departure time of bus and respectively, and indicates a random number from uniform distribution ).
Case 1: When , if , then . Otherwise, if , then , otherwise, .
Case 2: When , .
Case 3: When , if , then . Otherwise, if , then , otherwise .
Figure 4 and
Figure 5 are used to illustrate the mutation process for Case 1 and Case 3 respectively, where
,
and the scheduling time window is 30 min.
Since Case 2 has only one calculation method, we will give examples of Cases 1 and 3 respectively, the shaded part is the point to be mutated, assuming that the departure interval is [
3,
10] min and the scheduling time window is 30 min.