Open Access
This article is

- freely available
- re-usable

*Symmetry*
**2018**,
*10*(8),
349;
https://doi.org/10.3390/sym10080349

Article

Optimizing the High-Level Maintenance Planning Problem of the Electric Multiple Unit Train Using a Modified Particle Swarm Optimization Algorithm

^{1}

School of Traffic and Transportation, Beijing Jiaotong University, Beijing 100044, China

^{2}

Institute of Computing Technology, China Academy of Railway Sciences, Beijing 100081, China

^{3}

Department of Vehicles, China Railway Shanghai Bureau Group Co., Ltd., Shanghai 200071, China

^{*}

Author to whom correspondence should be addressed.

Received: 17 July 2018 / Accepted: 17 August 2018 / Published: 19 August 2018

## Abstract

**:**

Electric multiple unit (EMU) trains’ high-level maintenance planning is a discrete problem in mathematics. The high-level maintenance process of the EMU trains consumes plenty of time. When the process is undertaken during peak periods of the passenger flow, the transportation demand may not be fully satisfied due to the insufficient supply of trains. In contrast, if the process is undergone in advance, extra costs will be incurred. Based on the practical requirements of high-level maintenance, a 0–1 programming model is proposed. To simplify the description of the model, candidate sets of delivery dates, i.e., time windows, are generated according to the historical data and maintenance regulations. The constraints of the model include maintenance regulations, the passenger transportation demand, and capacities of workshop. The objective function is to minimize the mileage losses of all EMU trains. Moreover, a modified particle swarm algorithm is developed for solving the problem. Finally, a real-world case study of Shanghai Railway is conducted to demonstrate the proposed method. Computational results indicate that the (approximate) optimal solution can be obtained successfully by our method and the proposed method significantly reduces the solution time to 500 s.

Keywords:

Electric multiple unit trains; high-level maintenance planning; time window; 0–1 programming model; particle swarm algorithm## 1. Introduction

In China, high-speed railway has become a priority option for the long trip due to its convenience and comfortableness, and it account for 60% of rail total passenger traffic. It has long been a difficult problem for the China Railway (CR) that supply enough available Electric Multiple Unit (EMU) trains in tourist rush seasons to fulfill heavy transportation tasks. The EMU trains are the unique vehicles running on the China high-speed railway. In addition, they have a high purchase cost and complicated maintenance regulations. Therefore, the problem becomes much worse.

The gigh-level maintenance planning (HMP) is an important part of the operation and maintenance management for the EMU trains, which covers the third-level maintenance, the fourth-level maintenance and the fifth-level maintenance. Due to the complex regular preventive maintenance, uneven distribution of passenger flow, limited maintenance capacity of workshop and several weeks for maintenance service time, the EMU trains’ HMP needs to be scheduled in advance, of which the planning horizon lasts for a natural year or more. The HMP’s aim is to provide enough available EMU trains for the long peak period of the passenger flow (such as the Spring Festival and the summer holiday) under the conditions of limited maintenance resources and the regular preventive maintenance policy. The HMP is a prerequisite for the EMU operational plan, the second-level maintenance plan, the job shop scheduling at workshop, and the outsourcing plan for high-level maintenance workloads (see Figure 1).

In the CR system, according to the maintenance regulations [1], the EMU trains that have been put into operation in the first period will undergo the high-level maintenance (HM) procedures together in the next few years. When lots of EMU trains are sent to workshop in tourist rush season, it will lead to the travel needs of passengers cannot be met. Not only the operating income but also the traveler satisfaction level on high-speed railway transportation will decrease. Meanwhile, it will increase the maintenance costs when the HM procedures are undergone in advance. Due to the limited capacities of workshops, the maintenance service time will be prolonged when plenty of EMU trains undergo the maintenance procedures together. Therefore, to scientifically formulate the HMP that meets the travel demands and reduces maintenance cost as much as possible is a complicated combinatorial optimization problem that needs to be solved in the field of high-speed railway operation.

For the maintenance system, Stuchly et al. [2] and Rezvanizaniani et al. [3] developed a condition based maintenance management system, Shimada [4] introduced the accident prevention maintenance system, and Cheng and Tsao [5] proposed a preventive and corrective maintenances system. These maintenance systems can reduce the maintenance costs and improve the utilization efficiency of EMU train.

Many experts and scholars study the first-level and the second-level maintenances. Maróti and Kroon [6,7] proposed that adjust the operation schedule ahead of time to ensure the maintenance procedures can be undertook in time. Tsuji et al. [8] developed a novel approach based on ant colony optimization and Wang et al. [9] designed an algorithm based column generation to solve the EMU train maintenance plan problem. Giacco et al. [10] integrated the rolling stock circulation problem and short-term maintenance planning, and a mixed-integer linear-programming formulation was proposed.

In other fields, scheduled maintenance planning problems also have been researched. Ziarati et al. [11], Lingaya et al. [12], and Wang et al. [13] studied the locomotive operation and maintenance. Moudania and Félix [14] and Mehmet and Bilge [15] developed the aircraft operation and maintenance. Budai et al. [16] researched the long-term planning of railway maintenance works. In addition, Grigoriev et al. [17] tried to find the length of maintenance plan to minimize the total operation costs.

There are a few relevant literatures available for the EMU trains HMP problem. Lin et al. [18] designed a state function to show the state of EMU train on each day during the planning horizon, and a non-linear 0–1 programming model and its solution strategy was proposed. Wu et al. [19] proposed a time-state network to optimize the EMU trains HMP problem. Li et al. [20] presented a forecast method to estimate the maintenance quantity of the EMU trains in future.

Compared to the existing researches, a 0–1 programming model and solution strategy were proposed. In the mathematic model, all necessary regulations and practical constraints were considered.

The remainder of this paper is organized as follows. The problem description of HMP in the CR system is presented in Section 2. In Section 3, a 0–1 programming model is proposed, and then the solution algorithm on the basis of particle swarm algorithm is designed in Section 4. An empirical case is provided to verify the effectiveness of the model and the algorithm in Section 5. The last section gives some conclusions and the possible areas of further research.

## 2. HMP Problem at CR

The HMP, a typical discrete system, is a tactical plan that determines when the EMU trains to undergo the high-level maintenance. The length of the planning horizon lasts for about one year. Each train undergoes the high-level maintenance at most once during the planning horizon because of the interval between two adjacent HM processes is longer than the span of planning horizon; the order of the maintenance level for a train is the third-level, the fourth-level, the third-level, the fifth level, the third-level and so on until they are scrapped [1]. Therefore, the level of the high-level maintenance can be deduced beforehand according to the records and regulations of maintenance. According to the maintenance regulations, each train has a time window during which the train can be delivered to workshop on any day. The lower bound of the time window is the earliest date on which a train can be delivered to workshop while the upper bound is the latest date. The detailed problem descriptions can be referred to Lin et al. [18] and Wu et al. [19]. Here, we focus on the generation steps of the time window.

The estimated time of arrival (eta) of the HM can be easily calculated [20]. In this process, the average daily operating mileage is used to describe the daily usage of EMU trains before HM procedures. The notations used in the generation process of the time window are listed in Table 1.

The time window of the start time for the HM can be generated as follows.

Step 2. According to $e(m)$ and $e(g)$, determine the offset range of the operating mileage for the EMU train $e$: [$-{R}_{e(m),e(g)}^{-}$,${R}_{e(m),e(g)}^{+}$];

Step 3. Calculate the offset range of the time window for the EMU train $e$: [$-{R}_{e(m),e(g)}^{-}/{l}_{e}$,${R}_{e(m),e(g)}^{+}/{l}_{e}$];

Step 4. Determine the time window of the EMU train $e$: [$et{a}_{e}-{R}_{e(m),e(g)}^{-}/{l}_{e}$,$et{a}_{e}+{R}_{e(m),e(g)}^{+}/{l}_{e}$], and set $E=E-\left\{e\right\}$, ${E}^{\prime}={E}^{\prime}+\left\{e\right\}$;

Step 5. If $E=\varphi $, turn to Step 6, otherwise turn to Step 1;

Step 6. Set $E={E}^{\prime}$, over.

The EMU train’s time window is continuous if we set the “day” as the minimum time unit. In this way, the time window can be presented by a time interval.

In addition, the HMP aims to ensure that there are enough well-conditioned trains to meet the passenger transport demand. We set a maximum HM rate to guarantee it. The HM rate is the ratio of the number of trains in HM state to the fleet size.

## 3. Mathematical Model of the HMP Problem

In this section, we propose a 0–1 programming model for the HMP problem. The constraints of the model include the maintenance interval, the passenger transportation demand, and the capacity of workshop. The objective function is to minimize the mileage losses of all EMU trains.

#### 3.1. Notations

The all notations that used in the model are listed in Table 2.

#### 3.2. Optimization Objective

The objective function of the mathematical model is to maximize the service efficiency of the EMU trains, i.e., to minimize the unutilized mileage. In this way, the objective function can be presented as follows.

$$\mathrm{min}Z=c{\displaystyle \sum _{t\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}]}{\displaystyle \sum _{e\in E}(W{E}_{e}-t){l}_{e}{{\displaystyle x}}_{e}^{t}}}\text{}$$

#### 3.3. Constraints Analysis

According to Section 2, each train $e$ can choose one and only one delivery date during the time window. This is the uniqueness constraint.

$$\sum _{t\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}]}{{\displaystyle x}}_{e}^{t}}=1\text{\hspace{1em}}\forall \text{}e\in E$$

Any time $t$ out of the time window for the train $e$ cannot be selected.

$${x}_{e}^{t}=0\text{\hspace{1em}}\forall \text{}e\in E,t\notin [W{S}_{e},W{E}_{e}]\text{}\mathrm{and}\text{}t\in T$$

The ${\theta}_{t}$ is a variable according to travel demand which should be guaranteed. Theoretically, the value of ${\theta}_{t}$ is different for each day during the planning horizon. To describe this requirement, a set of constraints established as follows.

$$\sum _{e\in E}{{\displaystyle \alpha}}_{e(m)}{{\displaystyle y}}_{e}^{t}}\le {{\displaystyle \theta}}_{t}\cdot Inv\text{\hspace{1em}\hspace{1em}}\forall \text{}t\in T$$

Because of the various itineraries, the number of the trains with the specific type in the HM state must be less than the given threshold value on the $t$-th day. Constraints in this respect can be expressed as follows.

$$\sum _{e\in E|e(m)=m}{{\displaystyle y}}_{e}^{t}}\le {d}_{m}^{t}\text{\hspace{1em}\hspace{1em}}\forall m\in M,\text{}t\in T$$

The number of trains in each level of the HM state should not be exceeded the capacity of workshops. A set of constraints can be listed as follows.

$$\sum _{e\in E|e(g)=g}{y}_{e}^{t}}\le {{\displaystyle b}}_{g}\text{\hspace{1em}\hspace{1em}}\forall \text{}g\in G,\text{}t\in T$$

Meanwhile, restricted by the limited resources, only a few trains are permitted to enter the workshop over several days. This situation can be described in the form of mathematical inequalities as follows.

$$\sum _{e\in E|e(g)=g}{z}_{e}^{t}}\le {{\displaystyle N}}_{g}\text{\hspace{1em}\hspace{1em}}\forall \text{}g\in G,\text{}t\in T$$

In addition, the logical relationships between those three sets of decision variables are presented as follows.

$$({{\displaystyle x}}_{e}^{k}-1)Q\le ({\displaystyle \sum _{t=k}^{k+{H}_{e(m)}^{e(g)}-1}{{\displaystyle y}}_{e}^{t}}-{H}_{e(m)}^{e(g)})\le (1-{{\displaystyle x}}_{e}^{k})Q\text{\hspace{1em}\hspace{1em}}k\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}],\text{}\forall e\in E$$

$$\sum _{t=1}^{\left|T\right|+{H}_{e(m)}^{e(g)}}{y}_{e}^{t}}={H}_{e(m)}^{e(g)}\text{\hspace{1em}\hspace{1em}}\forall \text{}e\in E$$

$$({{\displaystyle x}}_{e}^{k}-1)Q\le ({\displaystyle \sum _{t=k}^{k+{J}_{e(m)}^{e(g)}-1}{{\displaystyle z}}_{e}^{t}}-{J}_{e(m)}^{e(g)})\le (1-{{\displaystyle x}}_{e}^{k})Q\text{\hspace{1em}\hspace{1em}}k\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}],\text{}\forall e\in E$$

$$\sum _{t=1}^{\left|T\right|+{J}_{e(m)}^{e(g)}}{z}_{e}^{t}}={J}_{e(m)}^{e(g)}\text{\hspace{1em}}\forall \text{}e\in E$$

Finally, all of the decision variables are binary variables.

$${x}_{e}^{t},\text{}{y}_{e}^{t},\text{}{z}_{e}^{t}\in \{0,1\}\text{\hspace{1em}}\forall \text{}e\in E,t\in T$$

#### 3.4. Model Construction

On the basis of above analysis, a 0–1 programming model for the EMU train HMP problem is proposed as follows.
$$\sum _{e\in E|e(m)=m}{{\displaystyle y}}_{e}^{t}}\le {d}_{m}^{t}\text{\hspace{1em}\hspace{1em}}\forall m\in M,\text{}t\in T$$
$$\sum _{e\in E|e(g)=g}{y}_{e}^{t}}\le {{\displaystyle b}}_{g}\text{\hspace{1em}\hspace{1em}}\forall \text{}g\in G,\text{}t\in T$$
$$\sum _{e\in E|e(g)=g}{z}_{e}^{t}}\le {{\displaystyle N}}_{g}\text{\hspace{1em}\hspace{1em}}\forall \text{}g\in G,\text{}t\in T$$

$$\text{HMP model}:\text{}\mathrm{min}Z=c{\displaystyle \sum _{t\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}]}{\displaystyle \sum _{e\in E}(W{E}_{e}-t){{\displaystyle {l}_{e}x}}_{e}^{t}}}$$

$$\mathrm{s}.\mathrm{t}.\text{}{\displaystyle \sum _{t\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}]}{{\displaystyle x}}_{e}^{t}}=1\text{\hspace{1em}}\forall \text{}e\in E$$

$${x}_{e}^{t}=0\text{\hspace{1em}\hspace{1em}}\forall \text{}e\in E,t\notin [{\mathrm{WS}}_{e},W{E}_{e}]\text{}\mathrm{and}\text{}t\in T$$

$$\sum _{e\in E}{{\displaystyle \alpha}}_{e(m)}{{\displaystyle y}}_{e}^{t}}\le {{\displaystyle \theta}}_{t}\cdot Inv\text{\hspace{1em}}\forall \text{}t\in T$$

$$({{\displaystyle x}}_{e}^{k}-1)Q\le ({\displaystyle \sum _{t=k}^{k+{H}_{e(m)}^{e(g)}-1}{{\displaystyle y}}_{e}^{t}}-{H}_{e(m)}^{e(g)})\le (1-{{\displaystyle x}}_{e}^{k})Q\text{\hspace{1em}}k\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}],\text{}\forall e\in E$$

$$\sum _{t=1}^{\left|T\right|+{H}_{e(m)}^{e(g)}}{y}_{e}^{t}}={H}_{e(m)}^{e(g)}\text{\hspace{1em}}\forall \text{}e\in E$$

$$({{\displaystyle x}}_{e}^{k}-1)Q\le ({\displaystyle \sum _{t=k}^{k+{J}_{e(m)}^{e(g)}-1}{{\displaystyle z}}_{e}^{t}}-{J}_{e(m)}^{e(g)})\le (1-{{\displaystyle x}}_{e}^{k})Q\text{\hspace{1em}}k\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}],\text{}\forall e\in E$$

$$\sum _{t=1}^{\left|T\right|+{J}_{e(m)}^{e(g)}}{z}_{e}^{t}}={J}_{e(m)}^{e(g)}\text{\hspace{1em}\hspace{1em}}\forall \text{}e\in E$$

$${x}_{e}^{t},\text{}{y}_{e}^{t},\text{}{z}_{e}^{t}\in \{0,1\}\text{\hspace{1em}\hspace{1em}}\forall \text{}e\in E,t\in T$$

We can see from the HMP model that the number of all decision variables equals to $3\times \left|T\right|\times \left|E\right|$ that is the product of two factors: the time span of the planning horizon and the number of trains. But the search space will reach $\left|T\right|^\left|E\right|$ according to the model. It is too complicated to be solved by using CPLEX or Gurobi within a reasonable time. Thus, a meta-heuristic solution strategy based on the particle swarm optimization (PSO) algorithm is designed to address this problem.

## 4. Modified Particle Swarm Optimization Algorithm

PSO algorithm is a population based stochastic optimization technique motivated by social behavior of organisms. PSO algorithm has the advantage of fast convergence speed and high accuracy solution and it is easy to be applied in most areas [21], which makes it attract great attention from researchers. The algorithm can also be used in solving the combinatorial optimization problem [22,23]. In this section, we present a modified particle swarm optimization (MPSO) algorithm to solve the HMP model based on analysis and preprocess.

#### 4.1. Processing of Model Constraints

The constraint conditions of the HMP model need to be processed before applying the MPSO algorithm. Constraints (2), (3), (8)–(12) are the logical relationships, and they can be observed by the specific encoding rules (see the latter section), while the others can be removed by the penalty function method. For the value of the penalty factor, it is necessary to combine the actual application of the EMU trains and the strength of the constraint. Among the Inequations (4)–(7), the Inequation (7) has the strongest constraint and the Inequation (4) has the weakest constraint. The relationship of the penalty coefficient is ${\lambda}_{4}>{\lambda}_{3}>{\lambda}_{2}>{\lambda}_{1}$. The optimization model can be presented as follows.
s.t. (2), (3), (8)–(12).

$$\begin{array}{l}\mathrm{min}\text{}\mathrm{W}\text{}=\text{}c{\displaystyle \sum _{t\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}]}{\displaystyle \sum _{e\in E}(W{E}_{e}-t){{\displaystyle {l}_{e}x}}_{e}^{t}}}+{\lambda}_{1}{\displaystyle \sum _{t\in T}\mathrm{max}\{0,{\displaystyle \sum _{e\in E}{{\displaystyle \alpha}}_{e(m)}{{\displaystyle y}}_{e}^{t}}-{{\displaystyle \theta}}_{t}\cdot Inv\}}\\ +{\lambda}_{2}{\displaystyle \sum _{t\in T}{\displaystyle \sum _{m\in M}\mathrm{max}\{0,{\displaystyle \sum _{e\in E|e(m)=m}{{\displaystyle y}}_{e}^{t}}-{d}_{m}^{t}\}}}+{\lambda}_{3}{\displaystyle \sum _{t\in T}{\displaystyle \sum _{g\in G}\mathrm{max}\{0,{\displaystyle \sum _{e\in E|e(g)=g}{y}_{e}^{t}}-{{\displaystyle b}}_{g}\}}}+{\lambda}_{4}{\displaystyle \sum _{t\in T}{\displaystyle \sum _{g\in G}\mathrm{max}\{0,{\displaystyle \sum _{e\in E|e(g)=g}{z}_{e}^{t}}-{{\displaystyle N}}_{g}\}}}\end{array}\text{}$$

#### 4.2. General Particle Swarm Optimization Algorithm

In general PSO algorithm, the basic update equations of the velocity and position of the particles are as follows:
where ${V}_{i}(r)$ and ${P}_{i}(r)$ denote the velocity and the position, respectively, for particle $i$ in the $r-\mathrm{th}$ iteration. $H{B}_{i}(r)$ denotes the best position in the history for particle $i$ by the end of the $r-\mathrm{th}$ iteration; $GB(r)$ denotes the best position in the history for all of the particles by the end of the $r-\mathrm{th}$ iteration. $\omega $ denotes the inertia weight; ${c}_{1}$ denotes the self-learning factor; ${c}_{2}$ denotes the social learning factor; $\xi $ and $\eta $ are the random numbers in [0, 1].

$${V}_{i}(r+1)=\omega {V}_{i}(r)+{c}_{1}\xi (H{B}_{i}(r)-{P}_{i}(r))+{c}_{2}\eta (GB(r)-{P}_{i}(r))\text{}$$

$${P}_{i}(r+1)={P}_{i}(r)+{V}_{i}(r+1)\text{}$$

#### 4.3. MPSO and Solution Strategy

#### 4.3.1. Inertia Weight

In order to make the particles have a better search ability in the early stage of evolution and have a better development ability in the later stage of the evolution, the linear time-varying inertia weight is adopted in this paper. The inertia weight can be calculated as follows.
where $\omega (r)$ denotes the inertia weight at the r-th iteration. ${\omega}_{\mathrm{max}}$ and ${\omega}_{\mathrm{min}}$ denotes the maximum inertia weight and the minimum inertia weight, respectively. And $MAXR$ denotes the maximum number of the evolution iterations.

$$\omega (r)={\omega}_{\mathrm{max}}-({\omega}_{\mathrm{max}}-{\omega}_{\mathrm{min}})\xb7r/MAXR\text{}$$

#### 4.3.2. Learning Factor

In the same way, in order to make the particles strengthen the global search ability in the early stage and converge to the global optimum in the later period, we decrease the self-learning factor and increase the social learning factor continuously during the process of optimization. The calculation formulae are as follows.
where ${c}_{1}(r)$ and ${c}_{2}(r)$ denote the self-learning factor and the social learning factor in the $r-\mathrm{th}$ iteration. ${{c}^{\prime}}_{1}$ and ${{c}^{\u2033}}_{1}$ denote the initial value and the final value for the self-learning factor; ${{c}^{\prime}}_{2}$ and ${{c}^{\u2033}}_{2}$ denote the initial value and the final value for the social learning factor; they are the constants.

$${c}_{1}(r)={{c}^{\prime}}_{1}+({{c}^{\u2033}}_{1}-{{c}^{\prime}}_{1})\xb7r/MAXR\text{}$$

$${c}_{2}(r)={{c}^{\prime}}_{2}+({{c}^{\u2033}}_{2}-{{c}^{\prime}}_{2})\xb7r/MAXR\text{}$$

#### 4.3.3. Update Equations

The particle continuously updates its position in the search space at an unfixed speed. The velocity represents the variation of position in magnitude and direction like the definition in classical physics, and it has the same dimension as the position. Let $hbes{t}_{i}(r)$ denote the corresponding fitness value of $H{B}_{i}(r)$. Let $gbest(r)$ denote the corresponding fitness value of $GB(r)$. The fitness value can be calculated by the formula (13). The update equations of the position and velocity for the particle $i$ are as follows.
where $\xi (r)$ and $\eta (r)$ are the random numbers in [0,1].

$${V}_{i}(r+1)=\omega (r)\xb7{V}_{i}(r)+{c}_{1}(r)\xb7\xi (r)\xb7(H{B}_{i}(r)-{P}_{i}(r))+{c}_{2}(r)\xb7\eta (r)\xb7(GB(r)-{P}_{i}(r))\text{}$$

$${P}_{i}(r+1)={P}_{i}(r)+{V}_{i}(r+1)\text{}$$

Each dimension of the velocity of a particle is limited to an interval [−${V}_{\mathrm{max}}$, ${V}_{\mathrm{max}}$], and if it is out of the interval, we set the boundary value of the interval as the actual velocity component. Similarly, the components of the position vector are limited to the time window for each train. Let $pbes{t}_{i}(r)$ denote the fitness value for ${P}_{i}(r)$.

#### 4.3.4. Encoding Rules and Initial Solution

It is a crucial step to make the particle of the MPSO and the solution of a certain problem correspond with each other. We use a particle to represent an overall HMP for all of the EMU trains. According to Equations (2) and (3), we set the dimensionality of a particle to $\left|E\right|$. The value of each dimension represents the start time of the HM for the corresponding EMU train. The detailed description is shown in Figure 2 with the help of schematic diagram.

In Figure 2, ${t}_{e}$ denotes the start time of the HM for the $e-\mathrm{th}$ EMU train. Therefore, ${x}_{e}^{t}$ = 1 when the value of ${t}_{e}$ is determined, and the $t$ in ${x}_{e}^{t}$ equals to ${t}_{e}$. Because of the maintenance level and the type of each train can be ensured in advance, the value of ${H}_{e(m)}^{e(g)}$ and ${J}_{e(m)}^{e(g)}$ for the train $e$ is known. Then, the value of ${y}_{e}^{t}$ and ${z}_{e}^{t}$ can be determined accordingly, i.e., ${y}_{e}^{t}$ = 1 ($t\in [{t}_{e},{t}_{e}+{{\displaystyle H}}_{e(m)}^{e(g)}-1]$); ${z}_{e}^{t}$ = 1 ($t\in [{t}_{e},{t}_{e}+{{\displaystyle J}}_{e(m)}^{e(g)}-1]$). In this way, the Constraints (2), (3), (8)–(12) are well handled.

The initial solution can be generated by selecting the start time of the HM during the time window for each train. The selection is stochastic in this process.

#### 4.4. Algorithm Steps

Step 1. Generate the time window for all of the EMU trains that need to be maintained during the planning horizon, turn to Step 2.

Step 2. Initialization. Assign values to related parameters including the size of particle swarm $I$, ${\omega}_{\mathrm{max}}$, ${\omega}_{\mathrm{min}}$, ${{c}^{\prime}}_{1}$, ${{c}^{\u2033}}_{1}$, ${{c}^{\prime}}_{2}$, ${{c}^{\u2033}}_{2}$, $MAXR$ and ${V}_{\mathrm{max}}$. Generate the initial solution ${P}_{i}(0)$ according to Section 4.3.1, and generate the initial velocity ${V}_{i}(0)$ randomly. Set $r=0$, turn to Step 3.

Step 3. Calculate the fitness value $pbes{t}_{i}(r)$ of each particle, turn to Step 4.

Step 4. Compare the fitness values of ${P}_{i}(r)$ with $H{B}_{i}(r)$. If $pbes{t}_{i}(r)$ < $hbes{t}_{i}(r)$, then $H{B}_{i}(r)$ = ${P}_{i}(r)$, $hbes{t}_{i}(r)$ = $pbes{t}_{i}(r)$. Turn to Step 5.

Step 5. Compare the fitness values of $H{B}_{i}(r)$($i\in I$) with $GB(r)$. If $hbes{t}_{i}(r)$ < $gbest(r)$, then $GB(r)$ = $H{B}_{i}(r)$, $gbest(r)$ = $hbes{t}_{i}(r)$. Turn to Step 6.

Step 6. Update $\omega (r)$, ${c}_{1}(r)$ and ${c}_{2}(r)$ according to Formulas (16)–(18), turn to Step 7.

Step 7. Update ${V}_{i}(r)$ and ${P}_{i}(r)$ according to Formulas (19) and (20). If any dimension in ${V}_{i}(r)$ out of [−${V}_{\mathrm{max}}$, ${V}_{\mathrm{max}}$], we set the boundary value of the interval as an actual value. If any dimension in ${P}_{i}(r)$ out of [$W{S}_{e}$, $W{E}_{e}$], we set the boundary value of the time window as an actual value, turn to Step 8.

Step 8. $r=r+1$. If $r>MAXR$ or $gbest(r)$ = $gbest(r-200)$ ($r$ > 200), turn to Step 9; otherwise, turn to Step 3.

Step 9. Make $GB(r)$ feasible according to the HMP model, and output $GB(r)$ and $gbest(r)$. Over.

## 5. Case Study

In this section, we implement the proposed method to solve a practice problem. The detailed description of the case can be found in the literature [20]. The proposed model is solved by the commercial optimization solver, e.g., Gurobi, as well as the MPSO algorithm. The exact method is coded in Python 2.7 and implemented within Spyder 3.1.4 and the MPSO algorithm is implemented in C++. All the computational experiments are conducted on the computer with Intel Core i5-6200U CPU and 8 GB RAM.

According to the literature [20], some parameters are valued as follows. $Inv$ = 115, $\left|E\right|$ = 60, $\left|T\right|$ = 533. To protect data confidentiality, we can only generate the time window in advance for each train and use an ID number replace the train. The initial conditions of trains when $\left|T\right|$ = 0, which include the train ID, type, the average daily operating mileage, the time window, the maintenance level and the maintenance service time, are listed in Table 3.

From Table 3, it can be seen that there are 60 EMU trains will undergo HM procedures during the planning period. Among them, there are 101 candidate dates at most, and the minimum values are only 36 candidate dates.

During the planning horizon, the HM rate is valued as follows:

$${{\displaystyle \theta}}_{t}=\{\begin{array}{cc}0& if\text{}t\in [149,189)\hfill \\ 7\%& if\text{}t\in [189,318)\hfill \\ 6\%& \text{}if\text{}t\in [318,380)\hfill \\ 0& if\text{}t=533\hfill \\ 9\%& otherwise\hfill \end{array}$$

All of these trains undergo the HM procedures in the factory. The maximal capacity is ten, i.e., ${{\displaystyle b}}_{1}+{{\displaystyle b}}_{2}+{{\displaystyle b}}_{3}=10$. Meanwhile, the receiving capability per day for a factory is limited, e.g., ${{\displaystyle N}}_{3}{{\displaystyle +N}}_{4}{{\displaystyle +N}}_{5}=1$; ${J}_{m1}^{3}$ = ${J}_{m1}^{4}$ = ${J}_{m1}^{5}$ = ${J}_{m2}^{3}$ = ${J}_{m2}^{4}$ = ${J}_{m2}^{5}$ = ${J}_{m3}^{3}$ = ${J}_{m3}^{4}$ = ${J}_{m3}^{5}$ = 1. According to the demand, ${d}_{m1}^{t}$ = ${d}_{m2}^{t}$ = 4, ${d}_{m3}^{t}$ = 10 ($t\in T$). Therefore, the Formula (13) can be converted to the following form.

$$\begin{array}{l}\mathrm{min}\text{}\mathrm{W}=c{\displaystyle \sum _{t\in [{{\displaystyle WS}}_{e},{{\displaystyle WE}}_{e}]}{\displaystyle \sum _{e\in E}(W{E}_{e}-t){l}_{e}{{\displaystyle x}}_{e}^{t}}}+{\lambda}_{1}{\displaystyle \sum _{t\in T}\mathrm{max}\{0,{\displaystyle \sum _{e\in E}{{\displaystyle \alpha}}_{e(m)}{{\displaystyle y}}_{e}^{t}}-{{\displaystyle \theta}}_{t}Inv\}}\\ +{\lambda}_{2}{\displaystyle \sum _{t\in T}{\displaystyle \sum _{m\in M}\mathrm{max}\{0,{\displaystyle \sum _{e\in E|e(m)=m}{{\displaystyle y}}_{e}^{t}}-{d}_{m}^{t}\}}}+{\lambda}_{3}{\displaystyle \sum _{t\in T}\mathrm{max}\{0,-10+{\displaystyle \sum _{g\in G}{\displaystyle \sum _{e\in E|e(g)=g}{y}_{e}^{t}}}\}}+{\lambda}_{4}{\displaystyle \sum _{t\in T}\mathrm{max}\{0,-1+{\displaystyle \sum _{g\in G}{\displaystyle \sum _{e\in E|e(g)=g}{z}_{e}^{t}}}\}}\end{array}$$

In addition, the values of other parameters are as follows. $c$ = 0.001, ${\lambda}_{1}$ = 100, ${\lambda}_{2}$ = 500, ${\lambda}_{3}$ = 800, ${\lambda}_{4}$ = 1000; $I$ = 1000, ${\omega}_{\mathrm{max}}$ = 1.2, ${\omega}_{\mathrm{min}}$ = 0.8, ${{c}^{\prime}}_{1}$ = 2.5, ${{c}^{\u2033}}_{1}$ = 0.5, ${{c}^{\prime}}_{2}$ = 0.5, ${{c}^{\u2033}}_{2}$ = 2.5, ${V}_{\mathrm{max}}$ = ($W{E}_{e}$-$W{S}_{e}$+1)/2 $MAXR$ = 1000.

Based on the data given above, the HMP model is solved by the proposed algorithm. The program runs for 500 s. The returned optimal fitness value is 3,213,121. The curve of the optimal fitness value in the iterative process is depicted in Figure 3.

As can be seen in Figure 3, in the first 300 iterations, the algorithm has a strong search capability, which can effectively avoid the occurrence of the premature phenomena; and from about the 300th to the 690th iteration, the development ability of the algorithm is strengthened, which is helpful to search the optimal solution; the fitness value remains the same in the last 200 iterations, indicating that the (approximate) optimal solution for the HMP problem has been generated. The (approximate) optimal solution is listed in Table 4, and the first column is the train’s ID; the second column is the start date of HM procedures denoted by ${{\displaystyle t}}_{e}$.

We present the daily HM rates from the (approximate) optimal solution, and compare those with the predefined maintenance rate thresholds (see Figure 4).

From Figure 4, we can see that the HM rate of the optimal solution remains below the threshold in each period. Therefore, the proposed HMP model and the algorithm can meet the travel demands. However, the HM rate from the unscheduled solution fluctuates sharply.

In addition, to compare the performance of the proposed algorithm, we solve the HMP model by the Gurobi solver because the HMP model is linear. The detailed numerical comparison results of two solution methods, i.e., the Gurobi and the MPSO algorithm, are shown in Table 5.

We can conclude that our proposed approach is efficient and effective from Table 5. This result demonstrates that the proposed algorithm is more efficient than the commercial optimization solver with reducing 84.31% in the solution time consumption.

## 6. Conclusions

This paper researches the electric multiple unit train’s HMP problem. A 0–1 integer programming model and a modified particle swarm optimization algorithm are proposed. The objective function of the model is to minimize the unutilized mileage for all trains, and the model considers the necessary regulations and practical constraints, including passenger transport demand, workshop maintenance capacity, and maintenance regulations. A real-world instance demonstrates that the proposed method can efficaciously obtain the (approximate) optimal solution (see Table 4), and the solution strategy significantly reduces the solution time to 500 s (see Table 5). This result also demonstrates that the proposed algorithm is more efficient than the commercial optimization solver with reducing 84.31% in the solution time consumption. Optimize the workshop’s overhaul process to shorten the maintenance service time is needed in future research.

## Author Contributions

The authors contributed equally to this work.

## Acknowledgments

This work was supported by the National Railway Administration of the People’s Republic of China under the Grant Number KF2017-015, and the China Railway (formerly Ministry of Railways) under the Grant Number 2015X004-C. We would like to thank Lirong Diao of State Intellectual Property Office of the P.R.C. and Yinan Zhao of Beijing Jiaotong University for her valuable comments and suggestions.

## Conflicts of Interest

The authors declare no conflicts of interest.

## References

- China Railway. User Manual for EMU Operation and Maintenance Procedures, 1st ed.; Railway Publishing House: Beijing, China, 2013. [Google Scholar]
- Stuchly, V.; Grencik, J.; Poprocky, R. Railway vehicle maintenance and information systems. WIT Trans. Built Environ.
**2000**, 50, 885–894. [Google Scholar] - Rezvanizanianil, S.M.; Valibeiglool, M.; Asgharil, M.; Barabady, J.; Kumar, U. Reliability centered maintenance for rolling stock: A case study in coaches’ wheel sets of passenger trains of Iranian railway. In Proceedings of the IEEE International Conference on Industrial Engineering and Engineering Management, Singapore, 8–11 December 2008; pp. 516–520. [Google Scholar]
- Shimada, N. Rolling stock maintenance for safe and stable transport. Jpn. Railw. Eng.
**2006**, 46, 4–7. [Google Scholar] - Cheng, Y.H.; Tsao, H.L. Rolling stock maintenance strategy selection, spares parts’ estimation, and replacements’ interval calculation. Int. J. Prod. Econ.
**2010**, 128, 404–412. [Google Scholar] [CrossRef] - Maróti, G.; Kroon, L. Maintenance routing for train units: The transition model. Transp. Sci.
**2005**, 39, 518–525. [Google Scholar] [CrossRef] - Maróti, G.; Kroon, L. Maintenance routing for train units: The interchange model. Comput. Oper. Res.
**2007**, 34, 1121–1140. [Google Scholar] [CrossRef] - Tsuji, Y.; Kuroda, M.; Imoto, Y. Rolling stock planning for passenger trains based on ant colony optimization. Trans. Jpn. Soc. Mech. Eng. Part C
**2010**, 76, 397–406. [Google Scholar] [CrossRef] - Wang, Y.; Liu, J.; Miao, J.R. Column generation algorithms based optimization method for maintenance scheduling of multiple units. China Railw. Sci.
**2010**, 31, 115–120. [Google Scholar] - Giacco, G.L.; D’Ariano, A.; Pacciarelli, D. Rolling stock rostering optimization under maintenance constraints. J. Intell. Transp. Syst.
**2014**, 18, 95–105. [Google Scholar] [CrossRef] - Ziaratia, K.; Soumisa, F.; Desrosiers, J.; Gélinas, S.; Saintonge, A. Locomotive assignment with heterogeneous consists at CN North America. Eur. J. Oper. Res.
**1997**, 97, 281–292. [Google Scholar] [CrossRef] - Lingaya, N.; Cordeau, J.F.; Desaulniers, G.; Desrosiers, J.; Soumis, F. Operational car assignment at VIA Rail Canada. Transp. Res. B Meth.
**2002**, 36, 755–778. [Google Scholar] [CrossRef] - Wang, L.; Ma, J.J.; Lin, B.L.; Chen, L.; Wen, X.H. Method for optimization of freight locomotive scheduling and routing problem. J. China Railw. Soc.
**2014**, 36, 7–15. [Google Scholar] [CrossRef] - Moudania, W.E.; Félix, M.C. A dynamic approach for aircraft assignment and maintenance scheduling by airlines. J. Air Transp. Manag.
**2000**, 6, 233–237. [Google Scholar] [CrossRef][Green Version] - Mehmet, B.; Bilge, Ü. Operational aircraft maintenance routing problem with remaining time consideration. Eur. J. Oper. Res.
**2014**, 235, 315–328. [Google Scholar] [CrossRef] - Budai, G.; Huisman, D.; Dekker, R. Scheduling preventive railway maintenance activities. J. Oper. Res. Soc.
**2006**, 57, 1035–1044. [Google Scholar] [CrossRef][Green Version] - Grigoriev, A.; Klundert, J.V.D.; Spieksma, F.C.R. Modeling and solving the periodic maintenance problem. Eur. J. Oper. Res.
**2006**, 172, 783–797. [Google Scholar] [CrossRef][Green Version] - Lin, B.L.; Lin, R.X. An Approach to the high-level maintenance planning for EMU trains based on simulated annealing. arXiv. 2017. Available online: https://arxiv.org/abs/1704.02752 (accessed on 10 April 2017).
- Wu, J.P.; Lin, B.L.; Wang, J.X.; Liu, S.Q. A network-based method for the EMU train high-level maintenance planning problem. Appl. Sci.
**2018**, 8, 2. [Google Scholar] [CrossRef] - Li, Y.; Zhang, W.J.; Jia, Z.K. Forecast method of annual senior over haul amount for EMU. J. Transp. Eng.
**2013**, 13, 102–107. [Google Scholar] - Wang, D.W.; Wang, J.W.; Wang, H.F.; Zhang, R.Y; Guo, Z. Intelligent Optimization Method; High Education Press: Beijing, China, 2007; pp. 217–259. [Google Scholar]
- Li, J.; Lin, B.L.; Wang, Z.K.; Chen, L.; Wang, J.X. A pragmatic optimization method for motor train set assignment and maintenance scheduling problem. Discrete Dyn. Nat. Soc.
**2016**, 3, 1–13. [Google Scholar] [CrossRef] - Wang, J.X.; Lin, B.L.; Jin, J.C. Optimizing the shunting schedule of electric multiple units depot using an enhanced particle swarm optimization algorithm. Comput. Intell. Neurosci.
**2016**, 1, 1–11. [Google Scholar] [CrossRef] [PubMed]

**Figure 1.**The position of high-level maintenance plan (HMP) in the operation and maintenance management system for the electric multiple unit (EMU) trains.

Notations | Definition |
---|---|

$e$ | The index of EMU trains; |

$E$ | The set of all EMU trains; |

${E}^{\prime}$ | An empty set; |

$et{a}_{e}$ | The eta of the HM for the EMU train $e$; |

$e(m)$ | The type of the EMU train $e$; |

$e(g)$ | The maintenance level of the EMU train $e$; |

${R}_{mg}^{+}$ | The maximum value of the difference between the actual operating mileage before the HM and the $et{a}_{e}$ for the train of which the type is $m$ and maintenance level is $g$; |

${R}_{mg}^{-}$ | The maximum value of the difference between the $et{a}_{e}$ and the actual operating mileage before the HM for the train of which the type is $m$ and the maintenance level is $g$; |

${l}_{e}$ | The average daily operating mileage for the EMU train $e$ before HM. |

Notations | Definition |
---|---|

Indices | |

$e$ | The index of EMU trains; |

$m$ | The index of types for the EMU trains; |

$t$ | The index of dates during the planning horizon; |

$g$ | The index of the maintenance level; |

Set | |

$E$ | The set of all EMU trains; $e\in E$ |

$M$ | The set of all types; $m\in M$ |

$T$ | The set of all dates during the planning horizon; $t\in T$ |

$G$ | The set of all maintenance levels; $g\in G$ |

Input parameters | |

$e(g)$ | The maintenance level of the EMU train $e$; |

$e(m)$ | The type of the EMU train $e$; |

$c$ | The unit penalty fee for the unused mileage before the HM; |

$et{a}_{e}$ | The eta for the EMU train $e$; |

${l}_{e}$ | The average daily operating mileage for the EMU train $e$ before the HM; |

$W{S}_{e}$ | The first date of the time window for the EMU train $e$, $W{S}_{e}=et{a}_{e}-{R}_{e(m),e(g)}^{-}/{l}_{e}$ (See Section 2); |

$W{E}_{e}$ | The last date of the time window for the EMU train $e$, $W{E}_{e}=et{a}_{e}+{R}_{e(m),e(g)}^{+}/{l}_{e}$ (See Section 2); |

${\alpha}_{m}$ | The conversion coefficient for train of which the type is $m$, indicates whether the train includes sixteen cars or not, if yes, then ${\alpha}_{m}$ = 2; otherwise, ${\alpha}_{m}$ = 1; |

${\theta}_{t}$ | The maximum HM rate on the t-th day; |

$Inv$ | The fleet size (the standard set); |

${d}_{m}^{t}$ | The maximum number of an EMU train in the HM state for the $m$ type on the t-th day; |

${b}_{g}$ | The maximum number of an EMU train in the $g$-th level maintenance state; |

${N}_{g}$ | The maximum number of an acceptable EMU train in the $g$-th level maintenance state at the same time; |

$Q$ | A sufficiently large positive number; |

${H}_{m}^{g}$ | The maintenance service time for an EMU train with the $m$-th type and the $g$-th level; |

${J}_{m}^{g}$ | The minimum interval time for delivering another train after an EMU train with the $m$-th type and the $g$-th level enters the workshop; |

$\left|T\right|$ | The length of the planning horizon; |

$\left|E\right|$ | The number of the EMU trains which need to be maintained during the planning horizon; |

Decision Variables | |

${x}_{e}^{t}$ | Binary variable, indicates whether the EMU train $e$ selects the $t$-th day to start the HM procedures during the planning horizon, ${x}_{e}^{t}$ = 1 if yes, ${x}_{e}^{t}$ = 0 otherwise; |

${y}_{e}^{t}$ | Binary variable, indicates whether the EMU train $e$ in the $e(g)$-th level maintenance state on the $t$-th day during the planning horizon, ${y}_{e}^{t}$ = 1 if yes, ${y}_{e}^{t}$ = 0 otherwise; |

${z}_{e}^{t}$ | Binary variable, indicate whether the EMU train $e$ in the $e(g)$-th level delivery interval on the $t$-th day during the planning horizon, ${z}_{e}^{t}$ = 1 if yes, ${z}_{e}^{t}$ = 0 otherwise; |

ID | Type | ${\mathit{l}}_{\mathit{e}}\text{}\left(\mathbf{km}\right)$ | Time Window | Level | ${\mathbf{H}}_{\mathbf{e}(\mathbf{m})}^{\mathbf{e}(\mathbf{g})}$ (Day) |
---|---|---|---|---|---|

1 | m1 | 1600 | [64,164] | 3 | 50 |

2 | m1 | 1600 | [64,164] | 3 | 50 |

3 | m1 | 1600 | [90,190] | 3 | 50 |

4 | m1 | 1600 | [124,224] | 3 | 50 |

5 | m1 | 1600 | [144,244] | 3 | 50 |

6 | m1 | 1600 | [188,288] | 3 | 50 |

7 | m1 | 1600 | [200,300] | 3 | 50 |

8 | m1 | 1600 | [274,374] | 4 | 55 |

9 | m1 | 1600 | [370,470] | 4 | 55 |

10 | m1 | 1600 | [379,479] | 4 | 55 |

11 | m1 | 1600 | [429,479] | 4 | 55 |

12 | m2 | 1600 | [72,172] | 3 | 50 |

13 | m2 | 1600 | [158,258] | 3 | 50 |

14 | m2 | 1600 | [216,316] | 3 | 50 |

15 | m2 | 1600 | [264,354] | 3 | 50 |

16 | m2 | 1600 | [387,484] | 3 | 50 |

17 | m2 | 1600 | [396,484] | 3 | 50 |

18 | m2 | 1600 | [409,484] | 3 | 50 |

19 | m2 | 1600 | [443,484] | 4 | 55 |

21 | m3 | 2000 | [134,234] | 5 | 60 |

21 | m3 | 2000 | [149,249] | 3 | 40 |

22 | m3 | 2000 | [150,250] | 3 | 40 |

23 | m3 | 2000 | [153,253] | 3 | 40 |

24 | m3 | 2000 | [158,258] | 5 | 60 |

25 | m3 | 2000 | [158,258] | 3 | 40 |

26 | m3 | 2000 | [159,259] | 3 | 40 |

27 | m3 | 2000 | [167,267] | 3 | 40 |

28 | m3 | 2000 | [172,272] | 4 | 55 |

29 | m3 | 2000 | [172,272] | 3 | 40 |

30 | m3 | 2000 | [182,282] | 3 | 40 |

31 | m3 | 2000 | [184,284] | 3 | 40 |

32 | m3 | 2000 | [185,285] | 3 | 40 |

33 | m3 | 2000 | [190,290] | 3 | 40 |

34 | m3 | 2000 | [190,290] | 3 | 40 |

35 | m3 | 2000 | [191,291] | 3 | 40 |

36 | m3 | 2000 | [192,292] | 3 | 40 |

37 | m3 | 2000 | [193,293] | 3 | 40 |

38 | m3 | 2000 | [206,306] | 3 | 40 |

39 | m3 | 2000 | [209,309] | 3 | 40 |

40 | m3 | 2000 | [211,311] | 3 | 40 |

41 | m3 | 2000 | [211,311] | 3 | 40 |

42 | m3 | 2000 | [249,349] | 3 | 40 |

43 | m3 | 2000 | [276,376] | 3 | 40 |

44 | m3 | 2000 | [280,380] | 3 | 40 |

45 | m3 | 2000 | [281,381] | 3 | 40 |

46 | m3 | 2000 | [289,389] | 3 | 40 |

47 | m3 | 2000 | [290,390] | 3 | 40 |

48 | m3 | 2000 | [299,399] | 3 | 40 |

49 | m3 | 2000 | [300,400] | 3 | 40 |

50 | m3 | 2000 | [309,409] | 3 | 40 |

51 | m3 | 2000 | [309,409] | 3 | 40 |

52 | m3 | 2000 | [320,420] | 3 | 40 |

53 | m3 | 2000 | [321,421] | 3 | 40 |

54 | m3 | 2000 | [325,425] | 3 | 40 |

55 | m3 | 2000 | [395,494] | 3 | 40 |

56 | m3 | 2000 | [398,494] | 3 | 40 |

57 | m3 | 2000 | [425,494] | 3 | 40 |

58 | m3 | 2000 | [429,494] | 3 | 40 |

59 | m3 | 2000 | [448,494] | 3 | 40 |

60 | m3 | 2000 | [459,494] | 3 | 40 |

e | ${{\displaystyle \mathit{t}}}_{\mathit{e}}$ | e | ${{\displaystyle \mathit{t}}}_{\mathit{e}}\text{}$ | e | ${{\displaystyle \mathit{t}}}_{\mathit{e}}$ | e | ${{\displaystyle \mathit{t}}}_{\mathit{e}}\text{}$ | e | ${{\displaystyle \mathit{t}}}_{\mathit{e}}$ | e | ${{\displaystyle \mathit{t}}}_{\mathit{e}}\text{}$ |
---|---|---|---|---|---|---|---|---|---|---|---|

1 | 108 | 11 | 481 | 21 | 182 | 31 | 280 | 41 | 310 | 51 | 409 |

2 | 103 | 12 | 142 | 22 | 220 | 32 | 252 | 42 | 349 | 52 | 419 |

3 | 153 | 13 | 212 | 23 | 250 | 33 | 278 | 43 | 376 | 53 | 421 |

4 | 193 | 14 | 333 | 24 | 240 | 34 | 273 | 44 | 379 | 54 | 425 |

5 | 198 | 15 | 360 | 25 | 248 | 35 | 282 | 45 | 381 | 55 | 472 |

6 | 300 | 16 | 460 | 26 | 188 | 36 | 276 | 46 | 388 | 56 | 498 |

7 | 312 | 17 | 492 | 27 | 218 | 37 | 238 | 47 | 390 | 57 | 500 |

8 | 387 | 18 | 458 | 28 | 268 | 38 | 303 | 48 | 398 | 58 | 502 |

9 | 482 | 19 | 490 | 29 | 270 | 39 | 243 | 49 | 400 | 59 | 496 |

10 | 480 | 20 | 190 | 30 | 246 | 40 | 308 | 50 | 407 | 60 | 494 |

Method | z (km) | Time Consumption (s) |
---|---|---|

Gurobi | 3,213,121 | 3186 s |

MPSO | 3,213,121 | 500 s |

© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).