<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2016.414002</article-id><article-id pub-id-type="publisher-id">JCC-71930</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Differential Evolution for Urban Transit Routing Problem
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ahmed</surname><given-names>Tarajo Buba</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Lai</surname><given-names>Soon Lee</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Mathematics, Faculty of Science, Universiti Putra Malaysia, Selangor, Malaysia</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>abtarajo72@yahoo.com(ATB)</email>;<email>lls@upm.edu.my(LSL)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>11</day><month>11</month><year>2016</year></pub-date><volume>04</volume><issue>14</issue><fpage>11</fpage><lpage>25</lpage><history><date date-type="received"><day>September</day>	<month>5,</month>	<year>2016</year></date><date date-type="rev-recd"><day>Accepted:</day>	<month>November</month>	<year>8,</year>	</date><date date-type="accepted"><day>November</day>	<month>11,</month>	<year>2016</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  The urban transit routing problem (UTRP) involves the construction of route sets on existing road networks to cater for the transit demand efficiently. This is an NP-hard problem, where the generation of candidate route sets can lead to a number of potential routes being discarded on the grounds of infeasibility. This paper presents a new repair mechanism to complement the existing terminal repair and the make-small-change operators in dealing with the infeasibility of the candidate route set. When solving the UTRP, the general aim is to determine a set of transit route networks that achieves a minimum total cost for both the passenger and the operator. With this in mind, we propose a differential evolution (DE) algorithm for solving the UTRP with a specific objective of minimizing the average travel time of all served passengers. Computational experiments are performed on the basis of benchmark Mandl’s Swiss network. Computational results from the proposed repair mechanism are comparable with the existing repair mechanisms. Furthermore, the combined repair mechanisms of all three operators produced very promising results. In addition, the proposed DE algorithm outperformed most of the published results in the literature.
 
</p></abstract><kwd-group><kwd>Urban Transit</kwd><kwd> Routing</kwd><kwd> Network</kwd><kwd> Repair Mechanism</kwd><kwd> Differential Evolution</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>In recent years, the rapid growth of population and urbanization of large cities with its attendant consequences such as increase in travel demand, traffic congestion, energy consumption, noise level, and air pollution have been a major source of concern to the urban transportation planners and practitioners, particularly in developing and emerging countries. A reliable option to handle some of these problems is to make use of the public transit systems in the urban areas. The public transit systems which include buses, trams, trains and underground or metro services aim to satisfy the travel demand of urban commuters safely, affordably, and efficiently. Although achieving a highly attractive public transit usage is a very complex issue, however, designing an operationally and economically efficient public transit network can be a significant attribute. Furthermore, the urban area’s social, economic, and physical structure can be enhanced through the construction of efficient public transit networks.</p><p>In a general sense, designing bus network is commonly characterized by mutually conflicting factors across different planning horizons. For instance, higher level of service in terms of shorter waiting time, faster travel time, and minimum number of transfers is provided to the transit users in the presence of more routes and buses needed. In other words, the network topology has a direct impact on the costs of the users, benefits of the transit operators, and the relevant social costs. In bus transit system, the literature identifies five stages for designing a public transportation system [<xref ref-type="bibr" rid="scirp.71930-ref1">1</xref>] : route network design, frequency setting, timetable design, fleet assignment and crew assignment. Most previous approaches have attempted to handle these stages sequentially in the real systems, because each stage is NP-hard in its own and this creates several sources of complexity. At the same time, these decisions are made for different planning horizons, whether the context of the planning is strategic, tactical or operational.</p><p>The urban transit routing problem (UTRP) which corresponds to the first stage of the bus planning process involves the construction of transit routes on an existing road network based on the travel demand and corresponding link travel times subject to given constraints and requirements such that the routes optimize the desired objective(s) defined by the stakeholders (including users, operators, and society). It represents the single very strategic planning step in the urban bus planning process that seeks to balance the competing objectives of minimizing both passenger and operator costs ( [<xref ref-type="bibr" rid="scirp.71930-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref2">2</xref>] ).</p><p>The contributions of this study are in two folds. First, a new repair mechanism called sub-route reversal repair mechanism is designed to complement the existing terminal repair [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] and the make-small-change operator [<xref ref-type="bibr" rid="scirp.71930-ref4">4</xref>] in dealing with the infeasibility of the route sets. The proposed repair mechanism managed to repair some of the candidate route sets which are deemed as infeasible by both repair mechanisms. In the second contribution, a new algorithm based on differential evolution (DE) has been developed to solve the UTRP. To the best of our knowledge, there is no study of DE on UTRP. The decision to develop the DE is due to its flexibility, simplicity, robustness and its wide applications to many other constrained optimization problems with promising results ( [<xref ref-type="bibr" rid="scirp.71930-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref6">6</xref>] ). For a fair comparison with other approaches in the litarature, the same performance evaluation parameters adopted in the literature with known bench- mark problems are used.</p><p>The rest of the paper is organized as follows: Section 2 presents a brief literature review of the solution approaches for UTRP. The mathematical formulation of UTRP is given in Section 3. The details of the proposed repair mechanism and the DE algorithm are described in Section 4 and 5 respectively. Computational results and discussions are presented in Section 6. Finally, conclusions and the directions for future research are provided in Section 7.</p></sec><sec id="s2"><title>2. Literature Review</title><p>A search in the literature provides various heuristic and metaheuristic algorithms for the optimization of UTRP. A heuristic algorithm to find the optimal route sets is first proposed by [<xref ref-type="bibr" rid="scirp.71930-ref7">7</xref>] . The methodology consists of two major stages including the generation of feasible candidate route sets, and the selection of the optimal route set. The Swiss network used in [<xref ref-type="bibr" rid="scirp.71930-ref7">7</xref>] has since become the only publicly available benchmark dataset for UTRP.</p><p>Reference [<xref ref-type="bibr" rid="scirp.71930-ref1">1</xref>] introduced a model for tackling the routing and scheduling together. The methodology consists of two-level routines for constructing the initial candidate route set and testing the candidate route set. The user’s viewpoint is considered at the first level, while both users and operators point of view is considered at the second level. A hybrid solution approach for the network design problem by incorporating the knowledge of experts and optimization techniques is presented in [<xref ref-type="bibr" rid="scirp.71930-ref8">8</xref>] . The AI-based approach is composed of three main components including route generation algorithm, analysis procedure, and route improvement algorithm. Experiments were conducted to evaluate the performance of the route generation algorithm.</p><p>Over the past decade, genetic algorithm (GA) has gain significant success in determining near optimal solutions for the UTRP ( [<xref ref-type="bibr" rid="scirp.71930-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref9">9</xref>] - [<xref ref-type="bibr" rid="scirp.71930-ref12">12</xref>] ). A GA is proposed by [<xref ref-type="bibr" rid="scirp.71930-ref2">2</xref>] in designing efficient and optimal sets of routes from initial candidate route sets based on a given road network and data on travel demand. A GA to tackle the UTRP giving priority to the passenger cost is presented in [<xref ref-type="bibr" rid="scirp.71930-ref9">9</xref>] . The computational results on the benchmark Mandl’s Swiss network outperforms most approaches in the literature. Reference [<xref ref-type="bibr" rid="scirp.71930-ref10">10</xref>] developed two models of GA to address the problem. The aim is to optimize the size of passengers satisfied, the overall travel time of served passengers, and the total number of transfers. The GA with elitism produced some competitive results, while the GA with increasing population outperforms all previous results in the literature. However, their results cannot be used as a direct comparison with others as the constraints on the maximum number of nodes (i.e. 8 nodes) in a route is relaxed as compared to other approaches in the literature.</p><p>A hill climbing heuristic and simulated annealing (SA) is developed in [<xref ref-type="bibr" rid="scirp.71930-ref4">4</xref>] for solving the UTRP. Three issues including representation, initialization procedures, and neighborhood moves that need to be considered to ensure the success of metaheuristics are highlighted. A bee colony optimization (BCO) algorithm for solving the UTRP is proposed in [<xref ref-type="bibr" rid="scirp.71930-ref13">13</xref>] . Their approach consist of generating initial candidate solutions using a greedy heuristic, then an improvement version of the BCO is introduced to construct optimal route sets. Experiments are conducted on benchmark Mandl’s Swiss network confirming that the BCO approach can produced high quality solutions. The particle swarm optimization (PSO) algorithm developed in [<xref ref-type="bibr" rid="scirp.71930-ref14">14</xref>] and [<xref ref-type="bibr" rid="scirp.71930-ref15">15</xref>] for solving the problem gives proper emphasis on both candidate solution representations and evaluation approach. The aim is optimize the coverage index subject to operator cost at the upper level. The methodology consists of two main elements: a candidate route construction module, and a discrete PSO algorithm to determine the optimal route set.</p><p>A number of studies employed multiobjective models to solve the UTRP and the corresponding vehicle frequencies setting simultaneously ( [<xref ref-type="bibr" rid="scirp.71930-ref16">16</xref>] - [<xref ref-type="bibr" rid="scirp.71930-ref23">23</xref>] ). Reference [<xref ref-type="bibr" rid="scirp.71930-ref16">16</xref>] proposed a GA for solving the problem through fixed and variable string length coding. Based on some descriptors considered in the study, the fixed string length coding produced better results compared to the variable length coding. The GA proposed by [<xref ref-type="bibr" rid="scirp.71930-ref17">17</xref>] optimized the location of bus route and its corresponding headway. The proposed GA is found to converge efficientlyto optimum as confirmed by the solution from exhaustive search algorithm. A new approach to evaluate the fitness function values in GA for optimization of bus network is given in [<xref ref-type="bibr" rid="scirp.71930-ref18">18</xref>] . The aim is to develop a heuristic that determines the best bus route network of which both demand and transport offer are satisfied. An experiment is conducted and the model is tested on a realistic network. The GA developed by [<xref ref-type="bibr" rid="scirp.71930-ref19">19</xref>] tackled the bi-objective UTRP in optimizing the user and operator costs. The proposed GA introduces an adding-node mechanism to correct an infeasible solution. The genetic operators include effective route crossover and identical- point mutation. The computational results of the proposed GA tested on benchmark Mandl’s Swiss network outperformed the previous best pulished results in most cases.</p><p>Reference [<xref ref-type="bibr" rid="scirp.71930-ref20">20</xref>] proposed a SA to solve the UTRP by considering the level of distribution node. The methodology comprised of initialization, transit trips assignment, and a SA algorithm that selects the optimum solution. To evaluate the quality of the solution obtained by the proposed SA, a GA solution is utilized as the benchmark. A tabu search (TS) is developed in [<xref ref-type="bibr" rid="scirp.71930-ref21">21</xref>] to optimize the problem. The methodology consists of three major components: initialization, demand assignment, and TS algorithm that determine the optimum. Computational results obtained outperform the GA which is used as the benchmark as in [<xref ref-type="bibr" rid="scirp.71930-ref20">20</xref>] . The TS employed in [<xref ref-type="bibr" rid="scirp.71930-ref22">22</xref>] analyzed an urban transportation problem in northern Spain. The aim is to optimize the level of service. The methodology consists of line design and assignment of buses such that a local search and TS strategies are modified alternatively at the two decision levels. The result obtained is far better than the existing tools used by transport authorities.</p></sec><sec id="s3"><title>3. Mathematical Formulation</title><p>In this study, the UTRP is solved from the passengers’ point of view. Generally, passengers would prefer to travel to their destination within the shortest journey time possible, but avoiding the discomfort associated with too many transfers. The passengers’ cost for a route set, R is defined as the average journey time over all passengers. It is a difficult task to optimize the transit network where the journey time includes vehicle travel time, waiting time, transfer time, and transfer penalties. Based on the studies by [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] and [<xref ref-type="bibr" rid="scirp.71930-ref19">19</xref>] , minimizing the passengers’ cost is often considered as the most significant objective in bus network design with inelastic demand.</p><p>In this study, the UTRP is defined as follows: given a road network represented by the graph, G = (N, A), where N is the set of nodes representing the demand points (bus stops) and A is the set of edges (links) representing the street segments. Let λ<sub>ij</sub> denote the shortest journey time of any pair of nodes (i, j) of route set R, calculated based on the Dijkstra’s algorithm [<xref ref-type="bibr" rid="scirp.71930-ref24">24</xref>] , n is the number of nodes of the route set R, d<sub>ij</sub> represents the travel demand between nodes i and j. The proxy for passenger cost for a route set R is the mean journey time over all passengers [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] . The objective of the UTRP is to find a set of route network that achieves the minimum cost Equation (1) while meeting all the requirements and constraints of (1)-(8):</p><disp-formula id="scirp.71930-formula213"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-1730441x2.png"  xlink:type="simple"/></disp-formula><p>subject to the following constraints:</p><p>1) Each route should have a minimum and a maximum length (a minimum length to ensure connectivity of the route network while a maximum length to aid bus schedule adherence).</p><p>2) There must be exactly number of routes in a route set R predefined by the transit operator due to resource limitation.</p><p>3) The transit graph must be connected, so that there should be a path connecting any two nodes where any passenger using the route network can travel between any two nodes.</p><p>4) Each route in the route set is free from repeated nodes. Hence, no cycles or backtracks should be allowed in the individual routes.</p><p>5) All nodes must be included in the route set to form a complete route set.</p><p>6) The demand, travel time, and distance matrices are symmetrical along the same route.</p><p>7) The demand level is inelastic throughout the period of the study and passenger choice of routes is based on the shortest travel time.</p><p>8) The policy headway is not considered, it is assumed there are adequate vehicles and capacity.</p></sec><sec id="s4"><title>4. Sub-Route Reversal Repair Mechanism</title><p>Based on the literature, heuristics and shortest path algorithms have been commonly utilized to generate the candidate route sets during the initialization procedure. According to [<xref ref-type="bibr" rid="scirp.71930-ref4">4</xref>] , it has not been justified which of the two approaches will yield the best initial solution. The quality of the initial solution is assessed in terms of coverage, connectivity, and diversity of the candidate route sets. The use of heuristics and shortest path algorithms often resulted in many initial candidate route sets being rejected due to infeasibility. A feasible candidate route set is characterized by connected route sets and every node presents in the original transit network is included. In most cases, a repair mechanism is employed to reduce the infeasibility of the candidate route sets. The repair mechanisms currently available in the literature are the terminal repair [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] and make-small-change [<xref ref-type="bibr" rid="scirp.71930-ref4">4</xref>] . However, there are still far from being efficient. With the aim to improve the quality of the initial candidate route sets in terms of the feasibility, a new repair mechanism, called sub-route reversal repair mechanism is proposed to complement the existing repair mechanisms mentioned above. The steps of the proposed repair mechanism in dealing with an infeasible route set are as follows:</p><p>STEP 1:</p><p>Compile a list of the missing nodes, Ň = {?<sub>1</sub>, ?<sub>2</sub> , ..., ?<sub>m</sub>} from the constructed infeasible route set, Ř = {ř<sub>1</sub>, ř<sub>2</sub>, ..., ř<sub>s</sub>}.</p><p>STEP 2:</p><p>The first route from Ř is selected as the current route, ř<sub>i</sub> (i = 1).</p><p>STEP 3:</p><p>The first node from Ň is selected as the current missing node, ?<sub>j</sub> (j = 1).</p><p>STEP 4:</p><p>IF, ř<sub>i</sub> contains a neighbor (i.e. two nodes are directly connected) of ?<sub>j</sub>, go to STEP 5, ELSE, go to STEP 6.</p><p>STEP 5:</p><p>Identify the neighborx, of ?<sub>j</sub> in ř<sub>i</sub>. The route ř<sub>i</sub> is divided into two sub-routes, s<sub>1</sub> and s<sub>2</sub> for two cases:</p><p>Case 1:</p><p>the neighbor x is located at the end of s<sub>1</sub>. Reverse the sequence of nodes in s<sub>1</sub> so the x becomes the first node. The new route is built from the reversed s<sub>1</sub> by appending the nodes from s<sub>2</sub> (if feasible) continuously until the neighborhood relation is exhausted or the maximum number (i.e. 8) of nodes for a route is satisfied. This new route is labeled as ř<sub>i</sub><sup>1</sup>.</p><p>Case 2:</p><p>the neighbor x is located at the beginning of s<sub>2</sub>. Reverse the sequence of nodes in s<sub>2</sub> so the x is located at the end of the node sequence in this reversed s<sub>2</sub> sub-route. The new route is built from the reversed s<sub>2</sub> by appending the nodes from s<sub>1</sub> (if feasible) continuously until the neighborhood relation is exhausted or the maximum number (i.e. 8) of nodes for a route is satisfied. This new route is labeled as ř<sub>i</sub><sup>2</sup>.</p><p>The new ř<sub>i</sub><sup>*</sup> = max {ř<sub>i</sub><sup>1</sup>, ř<sub>i</sub><sup>2</sup>}. Breaking ties arbitrarily. Update Ň by removing the ?<sub>j</sub> from the list. Update ř<sub>i</sub> in Ř with the new route ř<sub>i</sub><sup>*</sup>. Go to STEP 2.</p><p>STEP 6:</p><p>IF, the current route, ř<sub>i</sub> is not the last route of Ř, set i = i + 1, go to STEP 4. ELSE, go to STEP 7.</p><p>STEP 7:</p><p>The missing node, ?<sub>j</sub> could not be inserted in Ř. Hence, the Ř is infeasible. STOP.</p><p>The steps are repeated until all missing nodes are inserted into the route set (i.e. the infeasibility is repaired), or when the STEP 7 is invoked (i.e. infeasible).</p><p>To further enhance the efficiency in dealing with the infeasibility of the route sets, a combined repair mechanism is used. The combined repair mechanism work in such a way that the three repair mechanisms, terminal repair, make-small-change and sub- route reversal are performed in a sequential order. The terminal repair will be applied first to repair the infeasibility. If the operator failed to repair the infeasible route set, the make-small-change will be applied next, follow by the sub-route reversal operator. The efficiency of the proposed repair mechanism is investigated in Section 6.2.</p></sec><sec id="s5"><title>5. Differential Evolution</title><p>In this section, the classic DE and the proposed DE framework for solving the UTRP are discussed. The DE is a variant of GA that is originally introduced by [<xref ref-type="bibr" rid="scirp.71930-ref25">25</xref>] for global optimization problems over continuous space. The DE algorithm utilizes three major operators similar to GAs including the mutation, crossover and selection operators. However, DE depends heavily on mutation as a primary search mechanism to distinguish it from the GA. The mutation operator of DE involves the computation of weighted differences of randomly sampled pairs of solutions in the population such that the exploration of the search space is favored at the initial stage of the evolution process. Subsequently, exploitation of the search space is favored as evolution advances as a result of mutation operator. Therefore, during the implementation, the DE adapts the search step automatically through the mutation to achieve the best value. The DE algorithm utilizes a uniform crossover that can select child vector from one parent more often than the other to construct trial vectors. The crossover operator efficiently exchanges information between successful combinations, whereby the most promising area of the search space is located for an optimum.</p><p>In the DE algorithm, a mutant vector is created for each target vector in the population. Then the crossover operator is carried out between the mutated population and the target population in order to give rise to a population of trial vectors. Next, the selection operator is introduced for the comparison of the target and trial population based on the fitness value. Finally, better vectors constitute the members of the population for the next generation. Through repeated cycles of the evolutionary operators the DE directs the population towards the neighborhood of the global optimum.</p>Proposed Differential Evolution Algorithm Framework<p>While employing the DE algorithm framework, it is likely that infeasible vectors will be generated due to the evolutionary operators (mutation and crossover). Some studies in the literature considered such vectors to be rejected and the whole initialization procedure together with feasibility checks is repeated to construct a feasible solution to replace it ( [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref19">19</xref>] and [<xref ref-type="bibr" rid="scirp.71930-ref26">26</xref>] ). In this paper, we employed the combined repair mechanisms as described in Section 4 to deal with the infeasibility. The steps of the proposed DE framework for solving the UTRP are structured as follows:</p><p>STEP 1:</p><p>The DE algorithm starts with a population of N<sub>p</sub> solution vectors initially generated based on the construction algorithm [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] by incorporating the combined repair mechanisms to increase the number of feasible vectors.</p><p>STEP 2:</p><p>During the generation G, for a Target vector X<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> = (x<sub>1,</sub><sub> </sub><sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub>, x<sub>2,</sub><sub> </sub><sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub>, …, x<sub>d</sub><sub>,</sub><sub> </sub><sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub>), where i = 1, d represents d-components in the d-dimensional space; a random vector is selected from the population (except the selected Target vector) and an identical point mutation proposed in [<xref ref-type="bibr" rid="scirp.71930-ref19">19</xref>] is applied on the random vector to generate a Noisy Random vector, V<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub>. In the case where the resulted Noisy Random vector, V<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> is infeasible, the combined repair mechanism is introduced to correct the infeasibility.</p><p>STEP 3:</p><p>To increase the diversity of the Target and Noisy Random vectors, the uniform route crossover [<xref ref-type="bibr" rid="scirp.71930-ref27">27</xref>] is introduced. In this work, a pair of Trial vectors, U<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> is generated through selecting the vector component values either from the Target vector, X<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> or the Noisy Random vector, V<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> using a 0/1 crossover mask where each sub-route in the Trial vector is constructed by copying the corresponding sub-route either from the Target or the Noisy Random vector. In the case where the resulted Trial vector(s), U<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> is/are infeasible, the combined repair mechanism is introduced.</p><p>STEP 4:</p><p>After the crossover, the objective function values corresponding to the Trial vectors, U<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> are evaluated and compared with that of the Target vector, X<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub>.</p><p>STEP 5:</p><p>An elitism selection strategy is employed, where the best vector with the lowest fitness value between the Target vector, X<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> and the Trial vectors, U<sub>i</sub><sub>,</sub><sub> </sub><sub>G</sub> will be selected for the next generation. Repeat STEP 2 - STEP 4 for i = 2, …N<sub>p</sub> to complete one generation.</p><p>STEP 2 - STEP 5 are repeated until the termination criterion (e.g., maximum generation, execution time, etc.) is met. The framework of the proposed DE for solving the UTRP is shown in Algorithm 1.</p></sec><sec id="s6"><title>6. Computational Experiments and Discussion</title><sec id="s6_1"><title>6.1. Benchmark Data and Experimental Design</title><p>The proposed DE algorithm is utilized to design the best transit route network of Mandl’s Swiss network [<xref ref-type="bibr" rid="scirp.71930-ref7">7</xref>] (see <xref ref-type="fig" rid="fig1">Figure 1</xref>) which is the benchmark network for demonstrating the effectiveness and efficiency of an algorithm. This network consists of 15 demand points (nodes) within a 33 minutes shortest travel time between the two farthest nodes and 21 links, with a total travel demand of 15570 units daily. Many variations</p><p>Algorithm 1. DE for UTRP.</p><p>Generate N<sub>p</sub> candidate route set based on heuristic in [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] with combined repair mechanism</p><p>for i: = 1 to N<sub>p</sub></p><p>fitness evaluation (Equation (1))</p><p>end for</p><p>for n: = 1 to G</p><p>for i: = 1 to N<sub>p</sub></p><p>set Target vector = X<sub>i</sub><sub>,</sub><sub> </sub><sub>n</sub></p><p>select randomly a vector (except the selected Target vector, X<sub>i</sub><sub>,</sub><sub> </sub><sub>n</sub>) in the population</p><p>apply identical point mutation to generate a Noisy Random vector, V<sub>i,n</sub> (repair if infeasible)</p><p>apply uniform crossover between X<sub>i</sub><sub>,</sub><sub> </sub><sub>n</sub> and V<sub>i</sub><sub>,</sub><sub> </sub><sub>n</sub> to generate a pair Trial vectors, U<sub>i</sub><sub>,</sub><sub> </sub><sub>n</sub> (repair if infeasible)</p><p>fitness evaluation of U<sub>i</sub><sub>,</sub><sub> </sub><sub>n</sub> (Equation (1))</p><p>elitism selection</p><p>if Trial vector fitness ≤Target vector fitness</p><p>new_population [i] = Trial vector, U<sub>i</sub><sub>,</sub><sub> </sub><sub>n</sub></p><p>else</p><p>new_population [i] = Target vector, X<sub>i</sub><sub>,</sub><sub> </sub><sub>n</sub></p><p>end for</p><p>N<sub>p</sub> = new_population</p><p>end for</p><p>return BEST</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Mandl’s Swiss road network</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-1730441x3.png"/></fig><p>of the UTRP (i.e. different objectives) are solved by [<xref ref-type="bibr" rid="scirp.71930-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref4">4</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref14">14</xref>] , and [<xref ref-type="bibr" rid="scirp.71930-ref28">28</xref>] . The performance parameters together with their solutions will be used as the benchmark results to validate the proposed DE algorithm.</p><p>The proposed algorithm is coded in Python programming language and executed on a 1.60 GHz Intel Core™ i 5 - 4200 CPU with 4.00 GB of RAM. The performance of the proposed DE algorithm is evaluated using the following parameters adopted by many researchers in the literature ( [<xref ref-type="bibr" rid="scirp.71930-ref4">4</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.71930-ref14">14</xref>] and [<xref ref-type="bibr" rid="scirp.71930-ref28">28</xref>] ):</p><p>・ do―the percentage of demand satisfied without any transfers,</p><p>・ d1―the percentage of demand satisfied with one transfer,</p><p>・ d2―the percentage of demand satisfied with two transfers,</p><p>・ dun―the percentage of demand unsatisfied,</p><p>・ ATT―average travel time in minutes per transit user.</p><p>The travel time includes vehicle travel time, waiting time, transfer time, and transfer penalties. Based on the literature, the transfer penalty is fixed at 5 minutes per passenger. The minimum and maximum of nodes in a route is also fixed at 2 and 8 nodes respectively. We performed comparison in four scenarios: 4, 6, 7 and 8 routes in each route set. The best values of the parameters are computed.</p></sec><sec id="s6_2"><title>6.2. Computational Experiments of Repair Mechanisms</title><p>To investigate the efficiency of the proposed sub-route reversal repair mechanism in dealing with the infeasible candidate route set, we compared it with the terminal repair [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] , make-small-change [<xref ref-type="bibr" rid="scirp.71930-ref4">4</xref>] , and the combined repair mechanism. We performed the experiments on benchmark Mandl’s Swiss network by generating a population of 500 infeasible candidate route sets using the heuristic proposed in [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] in all four cases with route set sizes of 4, 6, 7, and 8 routes respectively. For each case, 10 runs are recorded to obtain the descriptors for each repair mechanism as shown in <xref ref-type="table" rid="table1">Table 1</xref>. The descriptors represent the average, minimum, and maximum number of infeasible candidate route</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> The comparison of infeasible route sets repaired by the repair mechanisms</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Case</th><th align="center" valign="middle" >Number of Routes</th><th align="center" valign="middle" >Repair Mechanism</th><th align="center" valign="middle" >Average</th><th align="center" valign="middle" >Minimum</th><th align="center" valign="middle" >Maximum</th><th align="center" valign="middle" >CPU Time (sec)</th></tr></thead><tr><td align="center" valign="middle"  rowspan="4"  >I</td><td align="center" valign="middle"  rowspan="4"  >4</td><td align="center" valign="middle" >Terminal Repair</td><td align="center" valign="middle" >47</td><td align="center" valign="middle" >34</td><td align="center" valign="middle" >68</td><td align="center" valign="middle" >0.013</td></tr><tr><td align="center" valign="middle" >Make-Small-Change</td><td align="center" valign="middle" >53</td><td align="center" valign="middle" >39</td><td align="center" valign="middle" >69</td><td align="center" valign="middle" >0.052</td></tr><tr><td align="center" valign="middle" >Sub-Route Reversal</td><td align="center" valign="middle" >56</td><td align="center" valign="middle" >47</td><td align="center" valign="middle" >68</td><td align="center" valign="middle" >0.040</td></tr><tr><td align="center" valign="middle" >Combined Repair</td><td align="center" valign="middle" >139</td><td align="center" valign="middle" >126</td><td align="center" valign="middle" >157</td><td align="center" valign="middle" >0.001</td></tr><tr><td align="center" valign="middle"  rowspan="4"  >II</td><td align="center" valign="middle"  rowspan="4"  >6</td><td align="center" valign="middle" >Terminal Repair</td><td align="center" valign="middle" >149</td><td align="center" valign="middle" >133</td><td align="center" valign="middle" >170</td><td align="center" valign="middle" >0.029</td></tr><tr><td align="center" valign="middle" >Make-Small-Change</td><td align="center" valign="middle" >206</td><td align="center" valign="middle" >193</td><td align="center" valign="middle" >220</td><td align="center" valign="middle" >0.490</td></tr><tr><td align="center" valign="middle" >Sub-Route Reversal</td><td align="center" valign="middle" >169</td><td align="center" valign="middle" >157</td><td align="center" valign="middle" >181</td><td align="center" valign="middle" >0.032</td></tr><tr><td align="center" valign="middle" >Combined Repair</td><td align="center" valign="middle" >292</td><td align="center" valign="middle" >277</td><td align="center" valign="middle" >306</td><td align="center" valign="middle" >0.002</td></tr><tr><td align="center" valign="middle"  rowspan="4"  >III</td><td align="center" valign="middle"  rowspan="4"  >7</td><td align="center" valign="middle" >Terminal Repair</td><td align="center" valign="middle" >201</td><td align="center" valign="middle" >184</td><td align="center" valign="middle" >219</td><td align="center" valign="middle" >0.029</td></tr><tr><td align="center" valign="middle" >Make-Small-Change</td><td align="center" valign="middle" >293</td><td align="center" valign="middle" >267</td><td align="center" valign="middle" >317</td><td align="center" valign="middle" >0.066</td></tr><tr><td align="center" valign="middle" >Sub-Route Reversal</td><td align="center" valign="middle" >223</td><td align="center" valign="middle" >210</td><td align="center" valign="middle" >234</td><td align="center" valign="middle" >0.025</td></tr><tr><td align="center" valign="middle" >Combined Repair</td><td align="center" valign="middle" >352</td><td align="center" valign="middle" >335</td><td align="center" valign="middle" >377</td><td align="center" valign="middle" >0.001</td></tr><tr><td align="center" valign="middle"  rowspan="4"  >IV</td><td align="center" valign="middle"  rowspan="4"  >8</td><td align="center" valign="middle" >Terminal Repair</td><td align="center" valign="middle" >231</td><td align="center" valign="middle" >207</td><td align="center" valign="middle" >250</td><td align="center" valign="middle" >0.020</td></tr><tr><td align="center" valign="middle" >Make-Small-Change</td><td align="center" valign="middle" >356</td><td align="center" valign="middle" >319</td><td align="center" valign="middle" >376</td><td align="center" valign="middle" >0.042</td></tr><tr><td align="center" valign="middle" >Sub-Route Reversal</td><td align="center" valign="middle" >265</td><td align="center" valign="middle" >242</td><td align="center" valign="middle" >284</td><td align="center" valign="middle" >0.025</td></tr><tr><td align="center" valign="middle" >Combined Repair</td><td align="center" valign="middle" >379</td><td align="center" valign="middle" >347</td><td align="center" valign="middle" >399</td><td align="center" valign="middle" >0.012</td></tr></tbody></table></table-wrap><p>sets that were repaired by the corresponding repair mechanism. It can be seen in <xref ref-type="table" rid="table1">Table 1</xref> that the results from the proposed sub-route reversal repair mechanism is performed better than the terminal repair in all cases but only slightly better than the make-small- change in one of the cases. Although the make-small-change repaired more infeasible route sets than the proposed repair mechanism, but its average CPU time is the highest in all cases.</p><p>The results obtained through the combined repair mechanism for all cases are very promising. The mechanism significantly outperformed all other repair mechanisms in terms of the number of infeasible route sets repaired and with the fastest CPU time. Therefore, it is only logical to implement the combined repair mechanism in both the heuristic [<xref ref-type="bibr" rid="scirp.71930-ref3">3</xref>] and the proposed DE algorithm when dealing with the infeasible route sets.</p></sec><sec id="s6_3"><title>6.3. Comparative Results of Differential Evolution</title><p>In this section, the UTRP is solved by the proposed DE algorithm from the viewpoint of the passengers’ cost. We conducted the computational experiments for each of the four cases to obtain the best route set, evaluated based on the performance parameters explained in Section 6.1. A population of 20 vectors and 200 generations is used for the computational experiments based on the initial experiments conducted during the development of the proposed algorithm. For each case, the proposed DE algorithm is performed for 10 runs and the best result is reported in <xref ref-type="table" rid="table2">Table 2</xref>, column 12. The previous best solutions found in the literature are reported in column 3 to column 11. The best route sets for all cases found by the proposed DE algorithm are also presented in <xref ref-type="table" rid="table3">Table 3</xref>.</p><p>It is important to note that, some of the approaches in the literature utilize the same formulation for the modeling of the UTRP and attempt to optimize the equivalent objective function. For instance, [<xref ref-type="bibr" rid="scirp.71930-ref10">10</xref>] proposed two algorithms (GAWE and GAWIP) to handle the UTRP in a similar manner as in [<xref ref-type="bibr" rid="scirp.71930-ref13">13</xref>] but by relaxing the constraint on route length (max. 8 nodes) in their approach to achieve the best results so far (see <xref ref-type="table" rid="table2">Table 2</xref>, column 10 and 11). However, [<xref ref-type="bibr" rid="scirp.71930-ref14">14</xref>] confirmed computationally that if the number of nodes per route is set to a value greater than 8, the percentage transfer demands satisfied directly (do) is increased. On the other hand, as the number of nodes per route is increased, the number of transfer demands satisfied with one transfer or with two transfers is decreased. However, in practice, increasing the length of route alone is not enough to improve the quality of transport services.</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Comparison results (best route sets) of Mandl’s Swiss network</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Number of routes</th><th align="center" valign="middle" >Parameters</th><th align="center" valign="middle" >1</th><th align="center" valign="middle" >2</th><th align="center" valign="middle" >3</th><th align="center" valign="middle" >4</th><th align="center" valign="middle" >5</th><th align="center" valign="middle" >6</th><th align="center" valign="middle" >7</th><th align="center" valign="middle" >8*</th><th align="center" valign="middle" >9*</th><th align="center" valign="middle" >10</th></tr></thead><tr><td align="center" valign="middle"  rowspan="5"  >4</td><td align="center" valign="middle" >do</td><td align="center" valign="middle" >69.94</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >86.86</td><td align="center" valign="middle" >93.26</td><td align="center" valign="middle" >92.42</td><td align="center" valign="middle" >92.10</td><td align="center" valign="middle" >91.84</td><td align="center" valign="middle" >96.14</td><td align="center" valign="middle" >95.83</td><td align="center" valign="middle" >94.28</td></tr><tr><td align="center" valign="middle" >d1</td><td align="center" valign="middle" >29.93</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >12.00</td><td align="center" valign="middle" >6.74</td><td align="center" valign="middle" >6.81</td><td align="center" valign="middle" >7.19</td><td align="center" valign="middle" >7.64</td><td align="center" valign="middle" >3.47</td><td align="center" valign="middle" >3.60</td><td align="center" valign="middle" >5.72</td></tr><tr><td align="center" valign="middle" >d2</td><td align="center" valign="middle" >0.13</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >1.14</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.77</td><td align="center" valign="middle" >0.71</td><td align="center" valign="middle" >0.52</td><td align="center" valign="middle" >0.39</td><td align="center" valign="middle" >0.57</td><td align="center" valign="middle" >0.00</td></tr><tr><td align="center" valign="middle" >dun</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td></tr><tr><td align="center" valign="middle" >ATT</td><td align="center" valign="middle" >12.90</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >11.90</td><td align="center" valign="middle" >11.37</td><td align="center" valign="middle" >10.51</td><td align="center" valign="middle" >10.51</td><td align="center" valign="middle" >10.64</td><td align="center" valign="middle" >10.49</td><td align="center" valign="middle" >10.35</td><td align="center" valign="middle" >10.36</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >6</td><td align="center" valign="middle" >do</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >78.61</td><td align="center" valign="middle" >86.04</td><td align="center" valign="middle" >91.52</td><td align="center" valign="middle" >95.57</td><td align="center" valign="middle" >95.63</td><td align="center" valign="middle" >96.21</td><td align="center" valign="middle" >98.39</td><td align="center" valign="middle" >98.91</td><td align="center" valign="middle" >98.01</td></tr><tr><td align="center" valign="middle" >d1</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >21.39</td><td align="center" valign="middle" >13.96</td><td align="center" valign="middle" >8.48</td><td align="center" valign="middle" >4.43</td><td align="center" valign="middle" >4.37</td><td align="center" valign="middle" >3.47</td><td align="center" valign="middle" >1.61</td><td align="center" valign="middle" >1.09</td><td align="center" valign="middle" >1.99</td></tr><tr><td align="center" valign="middle" >d2</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.32</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td></tr><tr><td align="center" valign="middle" >dun</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td></tr><tr><td align="center" valign="middle" >ATT</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >11.86</td><td align="center" valign="middle" >10.30</td><td align="center" valign="middle" >10.48</td><td align="center" valign="middle" >10.28</td><td align="center" valign="middle" >10.23</td><td align="center" valign="middle" >10.23</td><td align="center" valign="middle" >10.14</td><td align="center" valign="middle" >10.10</td><td align="center" valign="middle" >10.01</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >7</td><td align="center" valign="middle" >do</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >80.99</td><td align="center" valign="middle" >89.15</td><td align="center" valign="middle" >93.32</td><td align="center" valign="middle" >96.60</td><td align="center" valign="middle" >98.52</td><td align="center" valign="middle" >97.17</td><td align="center" valign="middle" >99.17</td><td align="center" valign="middle" >99.55</td><td align="center" valign="middle" >98.07</td></tr><tr><td align="center" valign="middle" >d1</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >19.01</td><td align="center" valign="middle" >10.85</td><td align="center" valign="middle" >6.36</td><td align="center" valign="middle" >3.40</td><td align="center" valign="middle" >1.48</td><td align="center" valign="middle" >2.83</td><td align="center" valign="middle" >0.83</td><td align="center" valign="middle" >0.45</td><td align="center" valign="middle" >1.93</td></tr><tr><td align="center" valign="middle" >d2</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.32</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td></tr><tr><td align="center" valign="middle" >dun</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td></tr><tr><td align="center" valign="middle" >ATT</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >12.50</td><td align="center" valign="middle" >10.15</td><td align="center" valign="middle" >10.42</td><td align="center" valign="middle" >10.25</td><td align="center" valign="middle" >10.15</td><td align="center" valign="middle" >10.16</td><td align="center" valign="middle" >10.07</td><td align="center" valign="middle" >10.07</td><td align="center" valign="middle" >10.21</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >8</td><td align="center" valign="middle" >do</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >79.97</td><td align="center" valign="middle" >90.38</td><td align="center" valign="middle" >94.54</td><td align="center" valign="middle" >97.50</td><td align="center" valign="middle" >98.97</td><td align="center" valign="middle" >97.75</td><td align="center" valign="middle" >99.87</td><td align="center" valign="middle" >99.87</td><td align="center" valign="middle" >98.59</td></tr><tr><td align="center" valign="middle" >d1</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >20.03</td><td align="center" valign="middle" >9.62</td><td align="center" valign="middle" >5.46</td><td align="center" valign="middle" >2.50</td><td align="center" valign="middle" >1.03</td><td align="center" valign="middle" >2.25</td><td align="center" valign="middle" >0.13</td><td align="center" valign="middle" >0.13</td><td align="center" valign="middle" >1.41</td></tr><tr><td align="center" valign="middle" >d2</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td></tr><tr><td align="center" valign="middle" >dun</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td><td align="center" valign="middle" >0.00</td></tr><tr><td align="center" valign="middle" >ATT</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >11.86</td><td align="center" valign="middle" >10.46</td><td align="center" valign="middle" >10.36</td><td align="center" valign="middle" >10.17</td><td align="center" valign="middle" >10.09</td><td align="center" valign="middle" >10.13</td><td align="center" valign="middle" >10.03</td><td align="center" valign="middle" >10.04</td><td align="center" valign="middle" >10.01</td></tr></tbody></table></table-wrap><p>Note: n/a = not available, *constraint of maximum 8 nodes per route is relaxed, 1: Heuristic by [<xref ref-type="bibr" rid="scirp.71930-ref7">7</xref>] , 2: AI by [<xref ref-type="bibr" rid="scirp.71930-ref28">28</xref>] , 3: GA by [<xref ref-type="bibr" rid="scirp.71930-ref2">2</xref>] , 4: Metaheuristic by [<xref ref-type="bibr" rid="scirp.71930-ref4">4</xref>] , 5: GA by [<xref ref-type="bibr" rid="scirp.71930-ref9">9</xref>] , 6: BCO by [<xref ref-type="bibr" rid="scirp.71930-ref13">13</xref>] , 7: PSO by [<xref ref-type="bibr" rid="scirp.71930-ref14">14</xref>] , 8: GA with Elitism by [<xref ref-type="bibr" rid="scirp.71930-ref10">10</xref>] , 9: GA with Increasing Population by [<xref ref-type="bibr" rid="scirp.71930-ref10">10</xref>] , 10: Proposed DE algorithm.</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Best route sets generated from Mandl’s Swiss network by the proposed DE algorithm</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Case</th><th align="center" valign="middle" >Number of Routes</th><th align="center" valign="middle" >Description of routes</th></tr></thead><tr><td align="center" valign="middle"  rowspan="4"  >I</td><td align="center" valign="middle"  rowspan="4"  >4</td><td align="center" valign="middle" >13-9-10-11-3-1-2-5</td></tr><tr><td align="center" valign="middle" >0-1-2-5-7-14-6-9</td></tr><tr><td align="center" valign="middle" >8-14-5-7-9-13-12-10</td></tr><tr><td align="center" valign="middle" >0-1-4-3-11-10-9-12</td></tr><tr><td align="center" valign="middle"  rowspan="6"  >II</td><td align="center" valign="middle"  rowspan="6"  >6</td><td align="center" valign="middle" >13-12-10-11-3-4-1-0</td></tr><tr><td align="center" valign="middle" >9-6-14-7-5-2-1-0</td></tr><tr><td align="center" valign="middle" >12-13-9-10-11-3-5-7</td></tr><tr><td align="center" valign="middle" >4-3-1-2-5-14-7-9</td></tr><tr><td align="center" valign="middle" >8-14-5-7-9-12-10-11</td></tr><tr><td align="center" valign="middle" >6-9-10-11-3-5-2</td></tr><tr><td align="center" valign="middle"  rowspan="7"  >III</td><td align="center" valign="middle"  rowspan="7"  >7</td><td align="center" valign="middle" >0-1-3-5-7-9-6</td></tr><tr><td align="center" valign="middle" >8-14-6-9-10-11-3-4</td></tr><tr><td align="center" valign="middle" >0-1-2-5-3-11-10-12</td></tr><tr><td align="center" valign="middle" >0-1-4-3-11-10-9-7</td></tr><tr><td align="center" valign="middle" >2-1-3-5-7-14-6-9</td></tr><tr><td align="center" valign="middle" >9-10-11-3-5-2-1-4</td></tr><tr><td align="center" valign="middle" >13-12-10-9-6-14-8</td></tr><tr><td align="center" valign="middle"  rowspan="8"  >IV</td><td align="center" valign="middle"  rowspan="8"  >8</td><td align="center" valign="middle" >6-14-7-5-3-4-1-2</td></tr><tr><td align="center" valign="middle" >1-4-3-11-10-12-13</td></tr><tr><td align="center" valign="middle" >0-1-3-11-10-9-6</td></tr><tr><td align="center" valign="middle" >8-14-7-5-3-11-10-9</td></tr><tr><td align="center" valign="middle" >11-10-12-13-9-6-14-8</td></tr><tr><td align="center" valign="middle" >8-14-5-2-1-4-3</td></tr><tr><td align="center" valign="middle" >9-10-11-3-4-1-2-5</td></tr><tr><td align="center" valign="middle" >12-13-9-7-5-2-1-0</td></tr></tbody></table></table-wrap><p>The quality of a route set is assessed by considering the parameters mentioned in Section 6.1. In <xref ref-type="table" rid="table2">Table 2</xref>, the proposed DE algorithm performed the best for 4 and 6 routes while in 7 and 8 routes, the DE algorithm is ranked second after [<xref ref-type="bibr" rid="scirp.71930-ref13">13</xref>] . However, the best ATT recorded by the DE algorithm is better than [<xref ref-type="bibr" rid="scirp.71930-ref13">13</xref>] in the case of 8 routes. Note that the results achieved by [<xref ref-type="bibr" rid="scirp.71930-ref10">10</xref>] should not be used as a direct comparison since the constraints on the maximum number of nodes (i.e. 8 nodes) in a route is relaxed as compared to other approaches in <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>In all four cases considered in this study, the DE produced results with maximum only one transfer required to satisfy all the travel demand. In addition, as efficient route set is defined by the values of dun (0.00), do (as high as possible) and ATT (as low as possible), it can be concluded that the route sets constructed by the proposed DE algorithm for all cases are highly efficient as compared to other approaches in the literature.</p></sec></sec><sec id="s7"><title>7. Conclusion</title><p>In this paper, a sub-route repair mechanism that complements the terminal repair and make-small-change repair mechanisms in dealing with the infeasible route sets is proposed. To further enhance the efficiency, a combined repair mechanism is developed where all three repair mechanisms: terminal repair, make-small-change and sub-route reversal, are implemented in a sequential order. The combined repair mechanism significantly outperformed all other repair mechanisms with the fastest CPU time. In addition, a new DE algorithm that constructs efficient route networks for UTRP has been developed. Computational experiments performed on the benchmark Mandl’s Swiss network show that the proposed DE algorithm is competitive to the other approaches published in the literature. In real sense, the efficiency of the urban transport system depends not solely on the topology of the transit route network, but also on the operating frequency of the routes. Consequently, the application of the proposed model to handle the UTRP and the operating frequency simultaneously, as well as improving the effectiveness of the sub-route reversal repair mechanism will be the focus of the future work.</p></sec><sec id="s8"><title>Cite this paper</title><p>Buba, A.T. and Lee, L.S. (2016) Differential Evolution for Urban Transit Routing Problem. Journal of Computer and Communications, 4, 11-25. http://dx.doi.org/10.4236/jcc.2016.414002</p></sec></body><back><ref-list><title>References</title><ref id="scirp.71930-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Ceder, A. and Wilson, N.H.M. (1986) Bus Network Design. Transportation Research Part B: Methodological, 20, 331-344. http://dx.doi.org/10.1016/0191-2615(86)90047-0</mixed-citation></ref><ref id="scirp.71930-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Chakroborty, P. and Wivedi, T. (2002) Optimal Route Network Design for Transit Systems Using Genetic Algorithms. Engineering Optimization, 34, 83-100.  
http://dx.doi.org/10.1080/03052150210909</mixed-citation></ref><ref id="scirp.71930-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Mumford, C.L. (2013) New Heuristic and Evolutionary Operators for the Multi-Objective Urban Transit Routing Problem. 2013 IEEE Congress on Evolutionary Computation, Cancun, Mexico, 20-23 June 2013, 939-946. http://dx.doi.org/10.1109/CEC.2013.6557668</mixed-citation></ref><ref id="scirp.71930-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Fan, L. and Mumford, C.L. (2010) A Metaheuristic Approach to the Urban Transit Routing Problem. Journal of Heuristics, 16, 353-372. http://dx.doi.org/10.1007/s10732-008-9089-8</mixed-citation></ref><ref id="scirp.71930-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Vasan, A. and Simonovic, S.P. (2010) Optimization of Water Distribution Network Using Differential Evolution. Journal of Water Resources Planning and Management, 136, 279-287. http://dx.doi.org/10.1061/(ASCE)0733-9496(2010)136:2(279)</mixed-citation></ref><ref id="scirp.71930-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Das, S. and Suganthan, P.N. (2011) Differential Evolution: A Survey of the State-of-the-Art. IEEE Transactions on Evolutionary Computation, 15, 4-31.  
http://dx.doi.org/10.1109/TEVC.2010.2059031</mixed-citation></ref><ref id="scirp.71930-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Mandl, C.E. (1980) Evaluation and Optimization of Urban Public Transportation Networks. European Journal of Operational Research, 5, 396-404.  
http://dx.doi.org/10.1016/0377-2217(80)90126-5</mixed-citation></ref><ref id="scirp.71930-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Baaj, M.H. and Mahmassani, H.S. (1995) Hybrid Route Generation Heuristic Algorithm for the Design of Transit Networks. Transportation Research Part C: Emerging Technologies, 3, 31-50. http://dx.doi.org/10.1016/0968-090X(94)00011-S</mixed-citation></ref><ref id="scirp.71930-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Chew, J.S.C. (2012) Genetic Algorithms for Urban Transit Routing Problems. M.Sc. Thesis, Universiti Putra Malayisia, Malaysia.</mixed-citation></ref><ref id="scirp.71930-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Nayeem, M.A., Rahman, M.K. and Rahman, M.S. (2014) Transit Network Design by Genetic Algorithm with Elitism. Transportation Research Part C: Emerging Technologies, 46, 30-45. http://dx.doi.org/10.1016/j.trc.2014.05.002</mixed-citation></ref><ref id="scirp.71930-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Ngamchai, S. and Lovell, D.J. (2003) Optimal Time Transfer in Bus Transit Route Network Design Using a Genetic Algorithm. Journal of Transportation Engineering, 129, 510-521.  
http://dx.doi.org/10.1061/(ASCE)0733-947X(2003)129:5(510)</mixed-citation></ref><ref id="scirp.71930-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Tom, V. and Mohan, S. (2003) Transit Route Network Design Using Frequency Coded Genetic Algorithm. Journal of Transportation Engineering, 129, 186-195.  
http://dx.doi.org/10.1061/(ASCE)0733-947X(2003)129:2(186)</mixed-citation></ref><ref id="scirp.71930-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Nikolic, M. and Teodorovic, D. (2013) Transit Network Design by Bee Colony Optimization. Expert Systems with Applications, 40, 5945-5955.  
http://dx.doi.org/10.1016/j.eswa.2013.05.002</mixed-citation></ref><ref id="scirp.71930-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Kechagiopoulos, P.N. and Beligiannis, G.N. (2014) Solving the Urban Transit Routing Problem Using a Particle Swarm Optimization Based Algorithm. Applied Soft Computing, 21, 654-676. http://dx.doi.org/10.1016/j.asoc.2014.04.005</mixed-citation></ref><ref id="scirp.71930-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Bagherian, M., Massah, S. and Kermanshahi, S. (2013) A Swarm Based Method for Solving Transit Network Design Problem. Proceedings of the 36th Australasian Transport Research Forum (ATRF), Brisbane, Australia, 2-4 October 2013.  
http://atrf.info/papers/2013/2013_bagherian_massah_kermanshahi.pdf</mixed-citation></ref><ref id="scirp.71930-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Pattnaik, S., Mohan, S. and Tom, V. (1998) Urban Bus Transit Route Network Design Using Genetic Algorithm. Journal of Transportation Engineering, 124, 368-375.  
http://dx.doi.org/10.1061/(ASCE)0733-947X(1998)124:4(368)</mixed-citation></ref><ref id="scirp.71930-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Chien, S., Yang, Z. and Hou, E. (2001) Genetic Algorithm Approach for Transit Route Planning and Design. Journal of Transportation Engineering, 127, 200-207.  
http://dx.doi.org/10.1061/(ASCE)0733-947X(2001)127:3(200)</mixed-citation></ref><ref id="scirp.71930-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Bielli, M., Caramia, M. and Carotenuto, P. (2002) Genetic Algorithms in Bus Network Optimization. Transportation Research Part C: Emerging Technologies, 10, 19-34.  
http://dx.doi.org/10.1016/S0968-090X(00)00048-6</mixed-citation></ref><ref id="scirp.71930-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Chew, J.S.C., Lee, L.S. and Seow, H.V. (2013) Genetic Algorithm for Biobjective Urban Transit Routing Problem. Journal of Applied Mathematics, 2013, Article ID: 698645.  
http://dx.doi.org/10.1155/2013/698645</mixed-citation></ref><ref id="scirp.71930-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Fan, W. and Machemehl, R.B. (2006) Using a Simulated Annealing Algorithm to Solve the Transit Route Network Design Problem. Journal of Transportation Engineering, 132, 122-132. http://dx.doi.org/10.1061/(ASCE)0733-947X(2006)132:2(122)</mixed-citation></ref><ref id="scirp.71930-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Fan, W. and Machemehl, R.B. (2008) Tabu Search Strategies for the Public Transportation Network Optimizations with Variable Transit Demand. Computer-Aided Civil and Infrastructure Engineering, 23, 502-520. http://dx.doi.org/10.1111/j.1467-8667.2008.00556.x</mixed-citation></ref><ref id="scirp.71930-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Pacheco, J., Alvarez, A., Casado, S. and González-Velarde, J.L. (2009) A Tabu Search Approach to an Urban Transport Problem in Northern Spain. Computers &amp; Operations Research, 36, 967-979. http://dx.doi.org/10.1016/j.cor.2007.12.002</mixed-citation></ref><ref id="scirp.71930-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Mauttone, A. and Urquhart, M.E. (2009) A Multi-objective Metaheuristic Approach for the Transit Network Design Problem. Public Transport, 1, 253-273.  
http://dx.doi.org/10.1007/s12469-010-0016-7</mixed-citation></ref><ref id="scirp.71930-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Dijkstra, E.W. (1959) A Note on Two Problems in Connexion with Graphs. Numerische Mathematik, 1, 269-271. http://dx.doi.org/10.1007/BF01386390</mixed-citation></ref><ref id="scirp.71930-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Storn, R. and Price, K. (1995) Differential Evolution—A Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces. International Computer Science Institute, Berkeley, CA, Technical Report TR-95-012.</mixed-citation></ref><ref id="scirp.71930-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Arbex, R.O. and da Cunha, C.B. (2015) Efficient Transit Network Design and Frequencies Setting Multi-Objective Optimization by Alternating Objective Genetic Algorithm. Transportation Research Part B: Methodological, 81, 355-376.  
http://dx.doi.org/10.1016/j.trb.2015.06.014</mixed-citation></ref><ref id="scirp.71930-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Beasley, D., Bull, D.R. and Martin, R.R. (1993) An Overview of Genetic Algorithms: Part 2, Research Topics. University Computing, 15, 170-181.  
http://orca-mwe.cf.ac.uk/64433/1/ga_overview2.pdf</mixed-citation></ref><ref id="scirp.71930-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Baaj, M.H. and Mahmassani, H.S. (1991) An AI-Based Approach for Transit Route System Planning and Design. Journal of Advanced Transportation, 25, 187-209.  
http://dx.doi.org/10.1002/atr.5670250205</mixed-citation></ref></ref-list></back></article>