Solving School Bus Routing Problem by Intelligent Water Drops Algorithm

: The School Bus Routing Problem (SBRP) is an essential subject in the development of transportation. Solving the problem will have a great impact on the transportation systems by improving the quality of the provided service and reducing the operations costs. SBRP tries to find an efficient school buses plan where each bus takes up students from different bus stops and transports them to their schools while fulfilling number constraints including the maximum bus capacity and the time window of a school. This study used Intelligent Water Drops (IWD) optimization approach to resolve (SBRP). IWD is a meta-heuristic swarm-based optimization technique that simulates natural water drops. The scheme of the IWD algorithm is applied here to find a reasonable solution to SBRP. The application of IWD algorithm produces satisfying results within a reasonable amount of time.


Introduction
The school bus routing problem is essentially engaged in the system of the school transportation, which involves transporting students to and from the specified bus places (Schittekat et al., 2006). The school bus routing problem is a variation of the travelling salesman problem, generally belongs to the class of Vehicle Routing Problems (VRP) (Lim et al., 2011), furthermore, SBRP deals with many objectives including minimizing the transportation cost and time (Kamkar et al., 2010).
The most important features that need to be considered during building a solution to the SBRP are: Efficiency which involves the entire cost of running the school bus and effectiveness which deals with the satisfaction of the provided service. These features are aligned with the fairness feature which involves assigning each student a school bus. Therefore, the SPRP as an optimization problem that deals with two subject matters: The student to bus stop assignment and bus routing (Corberán et al., 2002).
The goal is to maximize bus utilization while reducing transportation times, given that, an on time student deliverance to the school need to be maintained. On the other hand, the SBRP has constraints that need to be considered while building the solution which include: The limitation of the traveling duration of a student in a bus (e.g., each path should not be longer than 30 min), the capacity of buses and the time window to the school (e.g., each bus has to return to the school before the classes start) (Khalid and AbdelMonaem, 2012).
The SBRP is in the class of NP-hard problems, meaning that no polynomial time algorithm has been found yet to resolve the problem. Many efforts have been made to find a solution to the SBRP using approaches such as genetic algorithm (Sghaier et al., 2013), Harmony search (Geem et al., 2005), Scatter search (Russell and Chiang, 2006) and ant colony optimization (Arias-Rojas et al., 2012). This study adopts the Intelligent Water Drops (IWD) algorithm to deal with SBRP. IWD is a meta-heuristic approach that has been implemented effectively on many optimization problems as the clustering problem (Hosseini, 2013) and the travelling salesman problem (Shah-Hosseini, 2009). The idea of IWD algorithm is derived from the dynamics of river schemes and is inspired by the events that happen among the water drops in rivers (Hosseini, 2013). In nature, the path that the river follows is usually created by swarms of water drops. In this algorithm the intelligent water drops IWDs collaborate together to achieve more desirable solution for a given problem. During the application of the IWD technique the IWDs are formed with two major properties that are subject to change during the IWDs lifetime. These properties are: The velocity of water drop and the amount of soil it carries during its trip.
The study involves the following assumptions: First, there are a variety of students existing in diverse regions that need to go to the same school with a limited number of buses. Second, the bus is limited by a certain capacity. Third, the travelled should not exceed a certain distance. Finally, there is a time window that forces each bus to come back to the school before the classes start. Having these constraints, the goal is to locate the best possible route that minimizes the distance travelled by the buses and minimizes the total cost. This paper is structured as follows: First, the introduction provides information about SBRP and IWD algorithm. Then, the literature review lists some of the previous work that was proposed to solve the problem. The methodology section explains the IWD approach to solve the problem, which is followed by the results obtained from the experiment. Finally, the conclusion is presented to summarize the main outcomes of this research.

Literature Review
The previous work made on school bus routing and scheduling are very different in terms of objectives, constraints and assumptions and thus also in terms of solution techniques. Spasovic et al. (2001) provided guidelines to schools and bus operators for the purpose of developing an efficient school bus routes. The guidelines were emerged upon performing a case study that involved Riverdale, New Jersey elementary School. The study applied three methods including the time saving heuristic method, ROUTER and the sweep method. The capacity, road length and total tour time were the main constraints in the problem. The results derived from the time saving heuristic and the ROUTER methods were extremely near and more valuable than those derived from the sweep method. Though the heuristic method cost an enormous amount of time. But, considering all of the various constraints, the heuristic method was counted as the most accurate one. However, the ROUTER method takes into account for quick adaptations for alterations in the student mobility rate throughout the year. So, for city districts that have one school or one bus station, the ROUTER methods maintain the optimum results. Li and Fu (2002) formulated the bus routing problem as a multi-objective combinatorial optimization problem through a case study. The main objectives were minimizing the total obligatory count of buses, the total travel time that the students spend at pick-up points and the total bus travel time, in addition to harmonizing the loads and travel times among the buses. Li and Fu (2002) developed a heuristic system that was tested against data from a kindergarten in Hong Kong. The reported results showed a reduction of 29% in whole travelling times when compared to the existing system. Geem et al. (2005) developed a heuristic that utilizes the music inspired Harmony Search (HS) algorithm. The objectives include minimizing the overall travel time of the provided buses as well as the travel time of the entire buses, subject to the limitations of the capacity of each bus and time window. The experiment designed a system consisting of one school, one bus and 10 bus stops. The HS algorithm was applied and the results were compared to results from other techniques like the Genetic Algorithm (GA). The results showed that the HS algorithm was able find good solutions that are in some cases better than genetic algorithm. Russell and Chiang (2006) proposed a scatter search algorithm for the purpose of solving the Vehicle Routing Problem in the Company of time Windows and Split Deliveries (VRPTWSD). The scatter search is an example of evolutionary algorithms that generates a new solution upon operating on a set of initial reference solutions. The process involves providing means of solutions combination, variation and escalation of the search process in order to find the optimal rout. Russell and Chiang (2006) applied the scatter search algorithm on Solomon's problem set consisting of 100 clients with Euclidean distance and a varying proportion of time windows according to the provided problem. Bektas and Elmasta (2007) and Fugenschuh (2009) used integer programming as an approach to resolve School Bus Routing Problem (SBRP). The main objective was to reduce the entire cost of students' transportation to and from the school, taking in consideration the capacity and distance. The results of applying the integer programming formulation were a total of around 28% to 32% reduction of the overall cost when matched up to the existing direction-finding method. Arias-Rojas et al. (2012) proposed a heuristic that uses Ant Colony Optimization (ACO). The heuristic was implemented using actual facts from the school. The objective was to extend bus usage and to cut down travel periods for students, considering the delivery of students without delay as a constraint. Arias-Rojas implemented "cluster-first route-second" strategy which consists of grouping the students into clusters and then, solving each cluster by finding a rout. The results of running the algorithm and selecting the best routs shows an average reduction in distance travelled by 8.3% in the morning and 21.4% in the afternoon which was compiled to a total reduction of 30 min in average for each bus. The main challenge in this approach is speeding up the algorithm while reducing travel time. Sayyah et al. (2016) developed a new version of ant colony optimization that uses three search methods, which effectively outperform the existing ones. Abounacer et al. (2009) introduces the Professional Staff Transportation Problem (PSTP) which is basically a variation of the (SBRP). PSTP aims to transport the staff of one or several companies using minimum total cost in view of the quality of service offered. The authors adopted Ant Colony Optimization (ACO) and Genetic Algorithm (GA) to formulate a meta-heuristic approach for solving the PSTP with the objectives of minimizing the transportation cost and optimizing the quality of service. The experimental results showed that applying ACO at first, plays an important role in generating efficient solutions. Sghaier et al. (2013) used the Genetic approach to solve the (SBRP) with the introduction of new genetic operators for the purpose of enhancing the performance of the genetic algorithm. The objectives include minimizing the cost of the transportation by cutting down the overall traveled distance and the amount of bus operations. The application of the algorithm on real cases showed a 20% reduction of the number of buses used and 5% reduction of the traveled distance. The main inadequacy on this approach is in the absence of the bus capacity constraints.

Methodology
We now give an explanation of our proposed methodology but first we will give a brief presentation of the IWD algorithm. Then, apply the proposed IWD algorithm on the School Bus Routing Problem (SBRP)

Intelligent Water Drops Algorithm
The IWD algorithm was first introduced by Shah- . The IWD algorithm is an evolutionary algorithm rooted in the driving of river schemes and activities that develop between the water drops in waterway. The IWD algorithm was successfully implemented on different complex optimization problems. Shah-Hosseini (2009) tested the IWD algorithm on travelling salesman problem and obtained near-optimal solutions. Later, Hosseini implemented the IWD algorithm on different hard problems like the multiple knapsack problem  and the clustering problem (Hosseini, 2013). Harish et al. (2014) productively replaced IWD algorithm with the famous Genetic Algorithm (GA) for various experimental functions to gain multimodal peaks by showing less convergence time with IWD. Abdulelah et al. (2015) adopted the IWD algorithm for optimizing COQUAMO, which is a reproduction used to approximate the superiority of the software project. The results of this adaptation acquire more reasonable evaluation of software development quality.
In the IWD approach, IWDs have two key properties that control the process of finding their best possible pathway to their target (Hosseini, 2007). These properties are the velocity of the water drop and the amount of soil it carries while moving. Both properties change during the runtime of the algorithm. In IWD algorithm, less soil indicates more velocity that's why IWDs choose path with less soil on its links.
An IWD moves from a starting place to a ending. The speed and the amount of soil of the IWD are initially zero. During its travel, the water drop moves in the surroundings from which it takes away some soil and it may obtain some speed. From its existing location to its subsequent location, the speed of IWD grows a nonlinear, inversely relative amount to the soil level between two positions. Therefore, an IWD in a pathway with a smaller amount soil becomes faster than an IWD in a pathway with extra soil. The mechanism in IWD is to choose the trail to its subsequent position. In this mechanism, the IWD favors pathways holding little soil levels rather than pathways having high soil levels. This behavior of path election is carried out by establishing a uniform random distribution on the soils of the obtainable paths. Then, the probability of the next step to be selected is contrarily correlated to the soil level of the reachable paths. Therefore, paths with lower soil levels have a higher opportunity to be chosen by the IWD.
The IWD algorithm represents the SBRP in the form of a graph G (N, E). N corresponds to the node set, namely places. E corresponds to the edge set, namely distances between stops. Then, each IWD goes into creating its way out stepwise by moving between the stops until the IWD eventually achieves a solution. Algorithm iteration is accomplished when all IWDs have carried out their solutions. Upon the iteration completion, the iteration-best solution, which is referred to as T IB , is predicted. Then, it is used to upgrade the total-best solution, which is referred to as T TB . The quantity of soil on the lines of T IB is decreased depending on the superiority of the solution. After that, the algorithm proceeds with one more iteration using new IWDs still with the matching soils on the edges of the graph and the entire procedure is carried over. The algorithm terminates when it hits the upper limit number of iterations itermax or the T TB arrives at the anticipated quality.
Next, we specify the major steps of the IWD algorithm as explained by Hosseini (2013).
Step 1: Initialize static parameters. Static parameters are unchangeable during the runtime of the algorithm. The graph G(N, E) that describes the question is provided to the algorithm The maximum number of iterations itermax is assigned by the operator. The iteration counter itercount is set to zero. The number of water drops NIWD is set to a nonnegative integer number, which is generally assigned the count of nodes Nc of the graph. For updating the velocity, the parameters av, bv and cv are used. For soil updating, the parameters as, bs and cs are used. To update local soil and the global soil, the parameters n and IWD are used respectively, where n and IWD are small positive numbers whose value range between 0 and 1. The parameter Inirsoil is the initial soil on each path. The amount of soil in the path connecting two nodes i and j is set by soil(ei,j) = InitSoil. The parameter InitVel is the initial velocity of each IWD. These parameters are specified by the user and should be adjusted empirically in relevance to the operation.
Step 2 where, εs is a small absolute number to avoid the possibility of division by zero, here s = 0.0001: Next, insert the recently visited node j to VC(IWD).
Step 5.2: Update the velocity for every IWD hopping from node i to node j using Equation 4: where, vel IWD (t +1) is the restructured velocity of the IWD.
Step 5.3: Calculate the soil(i, j) that the IWD carries from the path for the IWD stepping from node i to node j by Equation 5: where, time() is determined as: where, HUD(j) is the heuristic function that scales the undesirability of the IWD to jump from node i to j. HUD(j) is determined fittingly for the given problem.
Step 5 Step 6: After all IWDs construct there solution, get the iteration-best solution T IB from all the solutions T IWD produced by the IWDs using Equation 9: where, q() is the quality measure function of the provided solution.
Step 7. Fill in the amount of soils on the edges that outline the recent iteration-best solution T IB by Equation 10: where, Nc represents the counted number of nodes in the solution T IB .
Step 8. Update the total best solution T TB by the existing iteration-best solution T IB using Equation 11: Step 9: Increase the iteration counter itercount by one. Subsequently, jump to Step 2 if itercount is less than itermax The previously mentioned steps are repeated until either the algorithm achieves the maximum number of iterations, or T IB remains the same for a consecutive number of iterations.

IWD Algorithm for SBRP
In SBRP, a map of stops is provided and it is constrained to visit the entire stops one after another, this is necessary to complete the tour in a way that every stop is visited only once excluding the first one, as it is visited two times. The objective of this work is to locate a tour having a minimum total length amongst all available tours intended for the provided map. A map for the school bus route is interpreted by graph G (N, E) where N is the node set representing the bus stops and E is the edge set representing the connections and weighted with the distances between the stops. The graph has n bus stops.
In this study, the graph representing the bus stops is a complete one; which means that, there exist a direct path between each bus stop and another. The graph in consideration is weighted with the distance. Therefore, given a graph G (N, E), a solution to the SBRP is an ordered set of n different bus stops.
SBRP resolution for n-stop problem can be interpreted as a tour T = (S1, S2, S3,…,Sn). The bus travels from stop S1 to S2, then from S2 to S3 and continues this until it reaches Sn. Upon reaching Sn, the bus proceeds to the first stop S1 and the tour length, TL() is computed by: TL(S1, S2, Si+1), where Sn+1= S1. Here, we use the Euclidean distance function to calculate the distance between two stops. The objective of an optimization algorithm for SBRP is to locate the minimum length tour where, TL is the whole length for a specified tour and T* is the best possible tour. So as to employ the IWD approach for the SBRP, the School Bus Route (SBR) is anticipated as a complete weighted graph G (N, E). The weight on every relation of edge set E represents a measure for the soil that the water drop carries while moving between each end of that link. As the IWD travels among nodes of graph, it changes the amount of soil on these links. The nodes of the graph represent the stops of SBR. Each holds the physical position of the bus stop it represents. Starting from an arbitrary node, an IWD moves to new nodes through the edges of the graph up till it proceeds to the starting point. While moving through links, the IWD alters the amount of soil of every edge.
The constraint on the SBRP is not to visit the bus stop more than once. In order to satisfy this constraint, the IWD next possible stop is selected from the stops that do not exist in the list of the nodes visited by IWD, VC(IWD).
The time it takes the IWD to bypass bus stop i to bus stop j, corresponds to the function HUD(i, j): where, s(k) stands for the two dimensional positional vector for the bus stop k and the formula ||s(i)s(j)|| represents the Euclidean measure. The local function HUD(i, j) scales how it is undesirable for an IWD to travel from bus stop i to bus stop j. The undesirability value depends on the distance. When the distance between bus i and j is small, HUD(i, j) grows to be large and HUD(i, j) turns out small when the span between bus i and j is big.
To facilitate finding preferable tours with anticipation to avoid local optimums, we will use an adjustment that forces the IWD to get reinitialized after reaching a constant number. The pathways of the total-best solutions T TB are assigned less soil than the other pathways: where, a1 is a small positive number, the number chosen here is 0.10 and 1 is a random number, which is drawn from a uniform distribution in the interval [0, 1]. Accordingly, IWD chooses paths of T TB with less soil on. Now we summarize our approach into four phases: Initialization phase, construction phase, reinforcement phase and termination phase. The major steps of the IWD-algorithm are shown in Fig. 1: 1. Initialization phase: The major purpose of this phase is the formulation of the problem  The problem formulation consists of initializing both the static and dynamic parameters. The initial values for these parameters appears in Table 1  Set the the quality of the total-best solution T TB to unfavorable amount. Here q(T TB ) =   We have represented the bus stop graph G by a two dimentional matrix: We also use a two dimentional distance matrix Dij where the the edges are wighted with the distance between i th and j th bus stops  The vector tour is defined to contain the sequence of bus stops where each bus stops at during their tour  The soil is a two dimensional array initialized by the soil initial value   As mentioned earlier, the school bus rout is an undirected weighted graph G (N, E), where the nodes represent the stops of the school bus route and the edges weights are the amount of soil the IWD carries  The applied algorithm distributes IWDs randomly through the graph  Initially, the graph weight is filled from the initial soil amount that each IWD carries. Later, these values are changed  As a result of applying the algorithm steps, the IWD moves through the links which lead to the reevaluation of the link weight that the water drop moves through  Vc is a vector representing the nodes that the IWD has not visited yet. This vector is updated by removing the currently visited node  Before moving the IWD from node i to j:  Vc is checked to make sure that each stop is visited once  Use the probability function in Equation 2 to move the IWD between i and j  Update the velocity using Equation 4   This phase is repeated until a complete solution is formed. The solution is represented by a tour which is a vector of bus stops representing the sequence of stops that the IWD travels through.  For each tour, the algorithm calculates the tour length by applying a function d() that takes the tour vector as an input and returns the distance value. The function calculates the Euclidean distance between each sequence of bus stops, then sums all the calculated distances.  After all IWDs construct their complete solutions, the algorithm selects the iteration-best solution T IB from all solutions obtained by the IWDs.  Adjust the total best-solution T TB using the present T IB by Equation 11:  For the quality measure, use the distance where the smaller the distance the better the quality 3. The reinforcement phase: The purpose of this phase is to make sure that the algorithm chooses a better solution. Here, the algorithm performs the followings:  Choose the tour with the minimum length TL  Adjust the soil to avoid local optimums. Supsequent to each determined count of iterations the amount of soil is reinitialized one more time so that the paths of the total-best solutions T TB are provided with lower amount of soil than the other paths 4. Termination phase: After performing a large number of iterations, the algorithm terminates and return the total-best solution T TB

Experimental Results
This division is devoted to present the results of applying IWD algorithm. Experiments were accomplished on a computer that has Intel core I3, 3.2 GHz processor, 2 GB Ram. The following parameters need to be initialized by the beginning of IWD (Basem et al., 2014): Count of water drops NIWD, the count of cities NC. The count of water drops is set equal to the number of buses and the count of cities depends on the given problem. The parameters av = 1000, bv = 0.01 and cv = 1 are used for adjusting the velocity. For soil updating, the study uses parameters as = 1000, bs = 0.01 and cs = 0.01. The preliminary soil of every edge is indicated by the constant Initsoil and the soil of the edge connecting every two bus stops is initialized by soil(i, j) = Initsoil. The constant parameter InitVel denotes the initial velocity of IWDs. The Initsoil and InitVel parameters are initiated by the user. In this paper, Initsoil = 1000 and InitVel = 1000.
Euclidian distance is employed as a scale for measuring the distances between the nodes. The distance between (xi, yi) and (xj, yj) is computed by the following Haykin and Kosko, 2001): The proposed method was tested on 5 cities (as shown in Table 2) having 10, 50, 76, 100 and 60 stops, the distances for every city between these stops are mentioned in column 3 of Table 2, the distances calculated after implementing our suggested method once and after ten iterations using only one bus. Table 2 shows the reduction in the travelled distance after one iteration of implementing the method; this is reduced even more after 10 iterations. Figure 2 shows the Convergence curves of two implementations of the IWD algorithm, which clarifies the reduction in the calculated distance after performing ten iterations of the algorithm.
The method also has been tested with itermax = 10 (as shown in Table 3) for the same cities but this time considering two buses for collecting students. It can be seen from the results that the distance travelled in every city is reduced when the number of buses increased. Figure 3 shows a curve indicating the time it took the algorithm to find the solution for forty different executions of the application scoring a median of 52.712108ms.

Conclusion
The IWD algorithm belongs to the class of nature inspired Algorithms, these algorithms imitate the natural act of swarms in nature to resolve problems. In the School Bus Routing Problem (SBRP), it is important to provide a solution that minimizes the total cost of transportation. In this study, we proposed an answer to the school bus routing problem through adapting the IWD approach. The motivation of the IWD algorithm launches from the behavior of the water drops as they flood in rivers.
The application of the IWD algorithm to solve the SBRP builds a graph of bus stops and links between these stops. Then, the heuristic spread the IWDs on the stops and the IWDs collaborate to accomplish a superior answer for the problem, by selecting the path with the minimum cost among all possible ones. According to experiment results, it is seen that the IWD approach is capable of detecting a near optimal estimation. Though, adjustments could be applied to the standard IWD algorithm through engaging other mechanisms and formulating local heuristics that go well with the problem. For future work, a proposal of multi-objective optimization approach is needed to further analyze the trade-off between different costs like bus travel time, time window, travelled distance and number of busses.