An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window

An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window

Applied Soft Computing Journal xxx (xxxx) xxx Contents lists available at ScienceDirect Applied Soft Computing Journal journal homepage: www.elsevie...

3MB Sizes 0 Downloads 17 Views

Applied Soft Computing Journal xxx (xxxx) xxx

Contents lists available at ScienceDirect

Applied Soft Computing Journal journal homepage: www.elsevier.com/locate/asoc

An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window ∗

Sheng Su a , , Fangzheng Zhou a , Haijie Yu b a b

School of Software Engineering, University of Electronic Science and Technology of China, Chengdu, China School of Economic and Management, Chongqing University of Art and Science, Chongqing, China

article

info

Article history: Received 7 December 2018 Received in revised form 28 August 2019 Accepted 25 September 2019 Available online xxxx Keywords: Carpooling Artificial bee colony algorithm Variable neighborhood search Time window

a b s t r a c t Carpooling is an effective sharing economy mode that can increase utilization ratio of vehicle and relieve traffic pressure in cities. A carpooling system needs to provide feasible car-sharing solution under the constraint on time window of each passenger. Moreover, fairness is important to a long-term car sharing problem. A person will not willing to share his/her car if he/she has more contribution than others. In this paper, a long-term carpooling problem with time window is investigated for a group of people with a common destination. In order to guarantee fairness, a person can be chosen as a driver only for a limited number of consecutive days. An artificial bee colony algorithm combining variable neighbor search and tabu list (ABC-VNSTL) are proposed. We designed five neighbor search strategies: one-swapping strategy, all-swapping strategy, moving strategy, passenger to driver strategy, and solution exchange strategy. The experiments results demonstrate that ABC-VNSTL can obtain better solution quality than other six algorithms in the literature. As the number of participants increases, the advantages of ABC-VNSTL increase. In addition, ABC-VNSTL algorithm is more efficient than the compared algorithms under the condition of achieving same solution quality. © 2019 Elsevier B.V. All rights reserved.

1. Introduction Nowadays the number of vehicles has increased rapidly because of the burgeoning economy and the improvement on people’s living standards. This explosive growth has caused a lot of social problems such as traffic jam, parking problems, and environmental pollution. The conflict between the rapid growth of private car and the limited roads is becoming more and more fierce, resulting in serious traffic jams. The economic losses caused by severe traffic congestion in the world account for almost 2.5% of GDP every year. Some governments have introduced such measures as tail number restriction and auction of license plates to regulate the number of vehicles on the road and the growth of cars, to some extent to alleviate traffic congestion, but the congestion is still serious. In the rush hour, large-capacity public transport is crowded and cannot meet the needs of passengers. It is hard to get a taxicab service. However, private cars are the opposite, the average passenger carrying rate is 1.36 people per car. Vehicle seat resources are greatly wasted, and a large number of vehicles with low utilization rate aggravate traffic congestion [1]. ∗ Corresponding author. E-mail address: [email protected] (S. Su).

Researcher has come up with a lot of solutions. Carpooling is an effective and the most directive way to raise the utilization rate of cars. It is also an environmentally friendly transportation system based on the sharing of empty seats of vehicles [2]. The driver who has a car can carry the passengers who have the same destination or similar traffic routes. A survey shows that carpooling can reduce travel vehicles by 10% to 25% per day. In addition, carpooling trip significantly reduces the willingness of some carfree users to buy vehicles, thus reduces the number of private car ownership. With the decline in private car use and ownership, the demand for parking spaces, roads and private car travel related services will inevitably be reduced, which will be in line with the government’s concept of building a conservation-minded society. Carpooling becomes more and more popular. Many companies have developed their own websites or mobile applications to provide carpooling service, such as Uber and DiDi. The websites and mobile applications usually provide one time carpooling service. Some of them just provide the information on passengers and drivers. No algorithm is used to optimize the matching process. Few companies or researchers take attention to long period carpooling. However, long period carpooling is practically meaningful. Long period carpooling appears in two main forms: daily carpooling problem (DCPP) and long-term carpooling problem (LTCPP) [3]. In the case of DCPP, drivers pick up passengers and

https://doi.org/10.1016/j.asoc.2019.105814 1568-4946/© 2019 Elsevier B.V. All rights reserved.

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

2

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

later bring them back on the same day. The objective of DCPP is to assign passengers to drivers and find the best path under the time window and car capacity constraints. In the case of LTCPP, each user can act both as a driver and as a passenger. For a group of people working in the same destination, due to the fixed participants and similar working hours, long-term carpooling is more practical and stable than one time or daily carpooling. Moreover, long-term carpooling avoids safety problems between strangers of one time or daily carpooling since the participants of long-term carpooling they are familiar with each other. Compared with one time or daily carpooling, people prefer long-term carpooling. The objective becomes to minimize the total distance traveled by all users, also car capacity and time window constraints should be taken into consideration. In order to maintain a stable longterm carpooling, we restrict a person’s continuous days as a driver to not exceed a given threshold. It reflects the fairness of efforts among the cooperative groups. As far as we know, this is the first job to consider the fairness between drivers in LTCPP. To solve LTCPP, an algorithm combining artificial bee colony algorithm and variable neighborhood search and tabu list (ABCVNSTL) is proposed in this paper. Artificial bee colony algorithm is a swarm intelligence and meta-heuristic evolutionary algorithm [4]. Variable neighborhood artificial bee colony algorithm (VNABC) is proposed by Li et al. [5] which uses variable neighborhood search to improve the efficiency of artificial bee colony algorithm. We developed five neighbor search strategies: one-swapping strategy, all-swapping strategy, moving strategy, passenger to driver strategy, and solution exchange strategy. They are applied to the stage of employed bee and onlooker bee of artificial bee colony algorithm. Diversity protection strategy is applied to protect the population diversity at the scout stage. The computational experiments show that ABC-VNSTL can obtain better solution quality than other six algorithms: tabu search (TS), artificial bee colony (ABC), artificial bee colony with tabu search (ABC-TS), genetic algorithm (GA), adaptive differential evolution (JADE), and variable neighborhood search (VNS). In addition, ABCVNSTL algorithm is more efficient than the compared algorithms under the condition of achieving same solution quality. The paper is organized as follows. Related works are reviewed in Section 2. We will describe the LTCPP problem in Section 3. ABC-VNSTL algorithm is presented in Section 4. Computational experiments are described and discussed in Section 5. ABC-VNSTL algorithm is also compared with other algorithms. Section 6 concludes this paper and discusses the future work. 2. Related works 2.1. Car sharing Most of the research on carpooling mainly solves the onetime static or dynamic car sharing problem. No consideration is given to arriving at a common destination or long-term carpooling across multiple days. Santos DO et al. studied a dynamic problem of ridesharing and taxi sharing with time windows [6]. The objective is to maximize the number of shared trips: in the case of taxis, people going to close locations can share the costs of the trip, and in case of rides, the driver and passengers can share costs as well. The authors proposed a heuristic algorithm to solve the problem. A framework was also built that consists basically of a client application and a server. Hosni et al. formulated the problem of assigning passengers to taxis and computing the optimal routes of taxis as a mixed integer program [7]. A Lagrangian decomposition approach was proposed which exploits the structure of the problem leading to smaller problems that are solved separately. Furthermore, they proposed two heuristics that are used to obtain good quality feasible solutions. Huang S C et al. designed an intelligent system that can

provide carpooling service at any place and time [8]. Geographic information system is used to acquire user’s location information in real time. The intelligent carpooling system integrates abundant geographic, traffic and social information for demand management. They proposed a genetic algorithm-based carpool routing and matching algorithm (GCRMA). Compared with random allocation climbing algorithm and greedy allocation climbing algorithm, GCRMA algorithm has better solution quality and higher computational efficiency. Chou et al. [9] proposed a particle swarm carpool algorithm based on stochastic set-based particle swarm optimization (PSO). Stochastic coding to augment traditional particles was introduced. The set-based PSO (S-PSO) can be realized by local exploration. 2.2. Carpooling with common destination For the carpooling problem with a common destination problem, Bruck B P et al. considered a practical case found in an Italian service company [10]. The objective is to develop an integrated web application to be used by the employees of this company to organize carpooling crews on a daily basis, so as to reach a common destination. Mathematical formulations and heuristic algorithms were proposed. The heuristic algorithms were embedded into the web application. Guo Y et al. considered three situations of picking up and delivery [11]. First, a server picks up clients, and then they go to a common destination. Second, a server picks up clients and then leads them to their destinations before going to the server’s own destination. Third, a server picks up clients and delivers them to a transfer point, and then another server picks them up from this point and delivers them to their destination. A hybrid ant colony algorithm (HAC) was proposed to solve the problem. A transfer point searching heuristic (TPS) and a local search procedure are integrated into the algorithm in order to identify the transfer points and to further optimize the best solutions obtained during iterations. 2.3. Long-term carpooling problem The long-term carpooling problem (LTCPP) is a NP-hard problem that each participator can be a driver or a passenger in the different stage. Because of the complexity of the LTCPP, limited number of researches has been done about this problem [4,12– 14]. Huang et al. [15] proposed an intelligent carpool system with fuzzy-controlled genetic-based carpooling algorithm which is a combination of genetic algorithm and fuzzy control system. The result shows the algorithm is effective, but it is lack of fairness. Huang et al. [16] proposed a tabu search algorithm that takes the fairness into consideration, but it did not care about time window constraint. We will compare our algorithm with this tabu search algorithm in this paper. Yan et al. [5] proposed a model of LTCPP that considers the systematic costs and related operating constraints. The model is formulated as a special integer multiple-commodity network flow problem. An algorithm based on Lagrangian relaxation and a heuristic for finding the upper bound solution was proposed. The test results confirm the usefulness of the model and the heuristic algorithm and that they could be useful in practice. Each participant shares related costs fairly. We ensure fairness by limiting the number of consecutive days for a participant to be a driver in this paper. A genetic algorithm (GA) with a customized fitness function proposed by Boukhater et al. shows a good efficiency on the longterm many to many carpooling problem [17]. Time window did not be considered in the carpooling problem. They did not compare their genetic algorithm with other algorithms. In addition, a heuristic algorithm proposed by Huang et al. and an evolutionary algorithm proposed by Lin et al. aim at solving multi-objective optimization carpool service problem [18,19].

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx Table 1 A list of notations in the mathematical formulation of the LTCPP problem. P D Pr V

xijkt ∈ {0, 1} , yijt ∈ {0, 1}

The set of participants each of which has a location The set of potential drivers who are participants with cars The set of passengers each of which is a participant The set of vertexes where each participant denotes a vertex, and destination is a vertex; a vertex has all properties of the corresponding participant The decision period of carpooling The max number of passengers that a driver can pick up The destination The velocity of the car, we assume that each driver has same velocity The consecutive days that a potential driver can be selected as driver The distance between vertex i and j The start time of time window of participant i The end time of time window of participant i 1, if the edge between vertex i and j is chosen in day t; otherwise yijt = 0, i ∈ V, i ∈ V, i̸ =j 1, if the edge between vertex i and j is chosen by driver k in day t; otherwise xijkt = 0, i ∈ V, i ∈V, i̸ =j The time that driver k arrives at vertex i in day t The time that driver k has to wait at vertex i in day t

T C l v u dij si ei yijt xijkt at ikt wt ikt

3. Problem description The problem proposed in this paper is a LTCPP with only one destination and several possible origins for the passengers and drivers. There is a group of employees that work in the same company. Some of them have car while others do not have. Several drivers are selected from the employees that have car for each day. The rest of employees is passenger. Each passenger registers to a certain driver. Each driver should pick up all the registered passengers during time window. All drivers start from their homes and go to the same destination. To ensure fairness, an employee with a car should not be selected to be a driver for several days continuously. Table 1 is a list of notations in the mathematical formulation of the LTCPP problem. The objective function of the LTCPP problem is to find the solution with the shortest total distance for all participants as shown by the following. min

∑∑∑

yijt dij

(1)

i∈V j∈V t ∈T

The constraints of the LTCPP problem are expressed by formula (2)–(11).



xijkt ∀i, j ∈ V , ∀t ∈ T

(2)

xijkt ≤ C ∀k ∈ D, ∀t ∈ T

(3)

xijt = 1 ∀j ∈ V , j ̸ = l, ∀t ∈ T

(4)

yijt =

k∈D

∑∑ i∈V j∈V

∑ i∈V

xijkt =



xjrkt ∀i, j ∈ V , j ̸ = l, ∀t ∈ T

(5)

r ∈V



xkjkt =

j∈V



xilkt ∀k ∈ D, ∀t ∈ T

(6)

i∈V

≤ u ∀k ∈ D , ∀t ∈ T ∑∑ xijkt atkjt < ej ∀j ∈ Pr , ∀t ∈ T

(7) (8)

i∈V k∈D

atikt =

∑(

atjkt + w tjkt +

j∈ V

wtjkt =

{

dji

v

)

xjikt ∀i ∈ V , j ̸ = l, ∀t ∈ T

sj − atjkt , if sj − atjkt ≥ 0 0, if sj − atjkt < 0

(9)

∀j ∈ Pr , ∀k ∈ D, ∀t ∈ T (10)

3

(11)

Eq. (2) makes sure that any edge chosen in one day should assign only one driver. Inequation (3) ensures that the number of passengers assigned to a driver should not exceed the capacity of the car. Eq. (4) means all participants must be picked up. Eq. (5) requests that if there is an edge ending in vertex j, there must be only one edge starts from vertex j except vertex j is destination. It assures the path of a driver is continuous. Eq. (6) makes sure that each driver has to arrive at the destination. In Eq. (7) restrict that a participant only can be selected as driver on consecutive u days. In Eq. (8) ensures that a driver must pick up the passenger before the end time of the passenger’s time window. Eq. (9) calculates the time when driver k arrives at vertex i in day t. Eq. (10) calculates the waiting time of driver k at vertex i in day t. Expression (11) constraints that xijt and xijkt are binary variables. 4. Artificial Bee Colony Algorithm with Variable Neighborhood Search and Tabu List (ABC-VNSTL) There are three kinds of decision-making in the LTCPP problem: choosing the drivers from the car owners, assigning passengers to the drivers, and determining the order in which each driver picks up the assigned passengers. Because the computing time increases exponentially with the scale of the problem, exact algorithm is not a good choice for the LTCPP problem. For the meta-heuristic algorithm, evolutionary algorithm is a big category which gets evolutionary force by selection, mutation, and crossover operations. Genetic algorithm and differential evolution are the representatives of evolutionary algorithm. However, it is not easy to find a concise and effective encoding to the solution of the LTCPP problem integrating driver selection and passenger assignment. For other meta-heuristic algorithms, it is also necessary to design specific operations related to the problem. For example, the position and velocity of a particle need to be defined specially for particle swarm optimization. The updating strategy of particle position also needs to be considered. Artificial bee colony (ABC) algorithm is a mature meta-heuristic that has been applied to solve many industry and service problems. In ABC algorithm, the mechanism of finding new solutions by searching is very suitable for the LTCPP problem. Therefore, we use ABC algorithm as the main framework to solve LTCPP problems. Similar to ABC, VNS also applies search strategy. This makes the combination of ABC and VNS seem reasonable. In the artificial bee colony algorithm, the colony of artificial bees consists of three groups of bees: employed bees, onlookers and scouts [20]. A bee waiting on the dance area for making decision to choose a food source is called the onlooker. A bee going to the food source visited by itself previously is named the employed bee. A bee carrying out random search is called the scout. Each search of ABC algorithm consists of three steps. First step is to send employed bees to the food sources and then measure their nectar amounts. Second step is to select food sources by the onlookers after the information on employed bees is shared. Scout bees will be sent to search a new food source randomly if an abandon food source is found in third step. Standard ABC and many of its variants only search one variable in each vector updating. From the viewpoint of neighborhood search, the ABC algorithms only search a single neighborhood structure with one variable perturbation [21–24]. Some researchers improved the ABC algorithm to solve global optimization and multi-objective problems [25–29]. VNABC improves the optimization performance of ABC based on the idea of neighborhood change and integration of global search and local search. As the evolution of ABC proceeds, each candidate solution will be

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

4

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

searched through different regions in the search space. More than one variable may be searched each time to efficiently locate the promising solutions. Our ABC-VNSTS is based on VNABC. Tabu list and diversity protection strategy are used to improve the algorithm performance in the long-term carpooling problem. In this section several important sub-algorithms of ABC-VNSTS will be discussed. 4.1. Process of ABC-VNSTL The algorithmic description of ABC-VNSTL is given in Algorithm 1. As shown step 4∼8 in Algorithm 1, m solutions are generated by algorithm SI (It will be described in Section 4.2). The solutions are put into solution set SS. Tabu list is also initiated by the solutions. n iterations are executed. Each iteration includes three basic search stages: employed bees, onlooker bees and scout bees. Step 10∼12 is the employed bee stage in which algorithm VNSTL (It will be described in Section 4.3) is used to optimize each solution. Better solution found will replace the original one. Step 13∼17 is the onlooker bee stage in which roulette-wheel selection is used to choose a solution, then algorithm VNSTL is used to optimize this solution as same as in the employee bee stage. Roulette-wheel selection means that the solution with good quality has more chance to be selected than worse one. In scout bee stage as expressed in step 18∼20, algorithm SDP (It will be described in Section 4.4) is applied to introduce new solution for any solution that does not be improved in the employed bee and onlooker bee stages. The best solution and tabu list are updated after the above three stages are executed. The process of ABC-VNSTL is terminated after n iterations are implemented.

4.2. Solution initiation The process of solution initiation is to select drivers from car owners and assign passengers to the drivers. In order to reduce the total distance of all cars and increase the utilization rate of cars, we chose the minimum number of drivers that can pick up all passengers. Initial solutions will be generated with a random strategy in order to protect the diversity of the solutions. Each solution contains a list of selected drivers and each driver has a list of assigned passengers. In the viewpoint of ABC algorithm, solutions are regarded as food sources. The number of seats of each car is 5 (C = 4). It means that a car can transport five participants including driver. Let nP = | Pr | be the number of participants, and δ is the minimum number of cars to delivery all participants, respectively. The value of δ can be obtained by Eq. (12).

δ=

nP 5

(12)

The initiation process is depicted in Algorithm 2. Firstly, a set consisting of δ drivers is chosen randomly from potential drivers for each day in algorithm 1. It follows the constraint that a participant cannot be chosen as a driver over consecutive u day. Secondly, each driver is assigned as many passengers as possible under the constraint of capacity C and time window of passengers. If there are one or more passengers without driver assigned after the assign process of all drivers is finished for any day, the value of variable f is set as false. It means that the solution is infeasible and should be abandoned. Otherwise, a feasible solution is output denoted by SD. For the shortest path problem of each driver, since the number of passengers assigned to a driver is small, we just traverse all possible orders of passengers to find the shortest path. 4.3. Variable neighborhood search with tabu list Variable neighborhood search is a meta-heuristic that exploits the idea of neighborhood change to efficiently locate the local optimum and escape from the valleys containing them [30,31]. In the employed bee and onlooker stage, variable neighborhood search is used to find optimal food source. The first issue is to define a set of neighborhood structures. We define five neighborhood structures denoted by Nk (s) where s is the original solution and k = 1,2,. . . ,5. Each neighborhood is an exchange strategy between passengers or between passengers and drivers. Variable neighborhood search executes searching around the neighborhood of a solution until no improvement is found and then moves to next neighborhood. Once a better new solution is found, the original solution will be replaced with the new solution. The following is the detail of the five neighborhood structures. (1) One-swap strategy (OSS): swap the position of two passengers who are assigned to different drivers. Two drivers are chosen randomly. Arbitrary passenger is selected from the passenger list of each driver. The two passengers chosen are swapped between the two drivers. (2) All-swap strategy (ASS): swap all passengers of two drivers. Two drivers are chosen randomly. All passengers of a driver are exchanged with those of another driver. (3) Move strategy (MS): move a passenger from a driver to another driver. A passenger is chosen randomly from a driver, and then is reassigned to another driver. (4) Passenger to driver strategy (PDS): find a potential driver in the passengers and replace the driver with this potential driver.

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

(5) Solution exchange strategy (SES): change the passengers of drivers from different solutions. This strategy is different with the strategies above since it involves two solutions. The passengers assigned to the same drivers in two solutions will remain in the new solution, and other passengers will be assigned to one of the drivers randomly. Fig. 1 is an example of one-swap strategy. In the original solution as shown on the left of Fig. 1, driver X picks up passenger A, B, and C in sequence and driver Y picks up passenger D, E, and F in sequence. The new solution obtained by one-swap strategy is shown on the right of Fig. 1. Passengers C and F are swapped between driver X and Y. Fig. 2 is an example of all-swap strategy. In the original solution as shown on the left of Fig. 2, driver X picks up passenger A, B, and C in sequence and driver Y picks up passenger D, E, and F in sequence. The new solution obtained by all-swap strategy is shown on the right of Fig. 2. Passengers A, B, C and D, E, F are swapped between driver X and Y.

5

Fig. 3 is an example of move strategy. On the left of Fig. 3, the original solution shows driver X picks up passenger A, B, and C in sequence and driver Y picks up passenger D, E, and F in sequence. Passenger A is moved from driver X to driver Y in the new solution obtained by move strategy on the right of Fig. 3. Fig. 4 is an example of passenger to driver strategy. Driver X picks up passengers A, B, and C in sequence in the original solution as shown on the left of Fig. 4. For the new solution obtained by passenger to driver strategy on the right of Fig. 4, passenger B becomes a driver while driver X becomes a passenger. Driver B picks up passenger X, A and C in sequence. Fig. 5 is an example of solution exchange strategy. On the top of Fig. 5, there are two original solutions. The upper left one shows driver X picks up passenger A, B, and C in sequence and driver Y picks up passenger D, E, and F in sequence. The right one shows driver X picks up passenger B, C, and F in sequence and driver Y picks up passenger A, D, and E in sequence. The new

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

6

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

Fig. 1. An example of one-swap strategy.

Fig. 4. An example of passenger to driver strategy.

Fig. 2. An example of all-swap strategy.

Fig. 5. An example of solution exchange strategy.

Fig. 3. An example of move strategy.

solution obtained by move strategy is shown on the bottom of Fig. 5. Driver X picks up passenger B, C, A, and F in sequence and driver Y picks up passenger D and E in sequence. To avoid repeat operation in variable neighborhood search, a tabu list is used to record those finished exchanges [32]. We define a queue of solutions as tabu list. The length of tabu list is the twice of the number of drivers. A new solution generated by a neighborhood search will be compared with the solutions in the tabu list. The neighborhood search repeats to generate another new solution if the new generated solution exists in the tabu list. The original solution will be replaced by the new solution if it is better than the original solution. In addition, we need to check whether the newly generated solution is feasible. If not, the

solution will be abandoned. A neighbor search will be stopped if a feasible solution that is not in the tabu list cannot be found for ten consecutive times. The above process is shown in line 3∼12 in Algorithm 3. The tabu list will be updated after all neighborhood search strategies are executed on a solution. The solutions located in the first place of the tabu list will be removed, and new solutions will be put in the end of the tabu list (line 13∼18 in Algorithm 3). In the employed bee and onlooker stage, VNSTL is used to find the best solution in the iteration. Employed bee executes VNSTS to each food source and onlooker chooses a food source by roulette-wheel selection. The structure of VNSTS in employed bee stage is depicted in Algorithm 3. 4.4. Scout with diversity protection In the scout stage, diversity protection strategy is applied to protect the diversity of population. A scout will be sent to

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

7

search a new solution to replace it when a solution has not been improved in an iteration. The new solution will be abandoned if it is worse than the original solution. However, some solutions with potential may be abandoned if we just simply throw away all those unimproved solutions. The diversity protection strategy will find those potential solutions and protect them from being abandoned. We define a variable named ‘‘similarity’’. This variable can measure how similar two solutions are. Each same driver for any day in the two solutions will add one degree to the similarity and each same passenger assigned to the same driver for any day will also add one degree to the similarity. The max value of similarity is equal to the number of participants. The max similarity means the two solutions are totally the same. When the scout finds a new solution, it will be compared with all the solutions in current population and calculate the similarity. If the similarity of the new solution with all solutions is less than constant L which means the new solution has great potential, the original solution will be replaced with the new solution. A protection parameter γ of the new solution will be set to ensure it will not be abandoned in next several iterations. If the similarity of the new solution with any one original solution is greater than constant H, the new solution will be abandoned since it is valueless. The original solution will not be replaced with the new solution. The scout will generate another new solution. The original solution will be replaced with the new solution if the similarity is larger than L and less than H. The main steps of scout with diversity protection are depicted in Algorithm 4.

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

8

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx Table 2 The data of geographical location and relative coordinates of 39 persons working at Tianfu software park.

Fig. 6. The geographical distribution of 39 persons working at Tianfu Software Park.

5. Case study Chengdu Tianfu Software Park is one of the biggest national software industry bases and the incubator of national science and technology enterprises in China. It is located in the Southern Park of Chengdu High-tech Zone. Tianfu Software Park has attracted many well-known enterprises including IBM, SAP, EMC, Alibaba, Tencent, Philips, Maersk, Siemens, Manulife Finance. There are over 35,000 people working at Tianfu Software Park. In this case, 39 people were selected as carpooling participants. Table 2 gives the longitude and latitude information of Tianfu Software Park and each participant. The first column is the index of participants. The first 26 participants are selected as potential drivers. The corresponding geographical distribution is shown in Fig. 6. In order to calculate the distance conveniently, we project the positions of all participants on the two-dimensional coordinate axis. Tianfu Software Park is the origin, its coordinate value is (0,0). The longitude and latitude coordinates of participants are converted into x-axis and y-axis coordinates, and kilometers (km) are taken as units. The x (km) and y (km) columns in Table 2 are the values of the X and Y axes corresponding to the participants. The period of carpooling is set as six days. The start and end times of each participant are set at 7 am and 9 am, respectively. The velocity of each driver is 60 kilometers per hour. A participant cannot be selected as a driver for two consecutive days. Table 3 shows which participants are selected as drivers (driver column) and passengers for each driver (passenger column) every day. The order in which passengers appear in the passenger line is the order in which drivers pick up passengers. When anyone is chosen as a driver, he will not be chosen as a driver the next day. The total distance for all 39 people to carpool in six days are 259.07 km, 252.22 km, 248.15 km, 251.97 km, 259.23 km and 248.48 km, respectively. The average distance per day is 253.69 km. If everyone drives to Tianfu Software Park by himself, the total straight driving distance is 543.29 km. Carpooling saves 53.3 percent of mileage each day.

Index

Longitude

Latitude

x (km)

y (km)

0 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

104.071199 104.079468 104.078438 104.029282 104.119576 104.136399 104.089364 104.062241 104.031686 104.131592 104.165581 104.159058 103.984307 104.012116 104.000787 103.997697 104.009026 104.050568 104.063958 104.183091 104.142235 103.979844 103.965768 103.935212 103.943108 104.059495 104.158715 104.196824 104.183434 103.977097 103.930062 103.940705 103.951348 103.976437 104.166123 104.119603 103.998925 104.118375 104.073914 104.20472

30.541204 30.760412 30.663006 30.682085 30.685923 30.676179 30.70895 30.720461 30.731971 30.750561 30.712492 30.660824 30.686514 30.681494 30.667025 30.643102 30.622719 30.64133 30.695371 30.645465 30.628628 30.620651 30.569525 30.569229 30.532271 30.482282 30.505653 30.564499 30.618583 30.522512 30.639262 30.622424 30.683561 30.602437 30.578942 30.562832 30.486974 30.482526 30.458905 30.537594

0 0.999 0.804 −3.89 4.79 6.379 1.91 −0.687 −3.603 5.99 9.204 8.549 −8.199 −5.515 −6.621 −6.937 −5.892 −1.879 −0.551 10.827 6.898 −8.69 −10.075 −13.006 −12.299 −1.174 8.368 12.067 10.832 −9.029 −13.439 −12.418 −11.342 −9.029 9.148 4.684 −6.984 4.481 0.192 12.819

0 24.293 13.514 15.679 16.008 14.917 18.587 19.902 21.19 23.175 18.931 13.207 16.179 15.601 14.009 11.363 9.105 11.134 17.098 11.496 9.647 8.914 3.229 3.225 −0.878 −6.52 −3.978 2.494 8.509 −1.986 10.991 9.134 15.9 6.885 4.117 2.364 −5.947 −6.535 −9.119 −0.499

Table 3 The carpooling results for the case of Tianfu software park. Day (Distance)

1 (262.58)

3 (246.23)

5 (242.41)

Driver

Passenger

01 04 09 13 15 17 19 20

08,07,06,18 05,35,37,38 10,11,28,34 14,21,29,25 31,23,24,36 03,12,32,30 27,39,26 02,16,33,22

01 03 10 13 15 19 20 21

08,18,17,16 04,05,11,35 09,07,06,02 12,14,29,36 32,30,31,33 28,34,27,39 26,37,38,25 22,23,24

01 08 10 12 18 19 20 23

07,21,22,29 13,14,15,16 09,06,03,17 32,30,31,33 02,28,27,39 11,05,04,35 34,26, 37 24,36,25,38

Day (Distance)

2 (238.41)

4 (265.35)

6 (258.64)

Driver

Passenger

05 06 07 08 11 12 14 24

04,01,18,17 02,20,28,34 09,10,19,35 03,13,15,16 27,39,26,37 32,30,31,23 21,33,22 29,36,38,25

02 04 05 06 09 17 22 25

18,03,33,29 10,19,28,35 11,20,38,37 07,12,32,21 01,08,30,31 13,14,15,16 23,24,36 34,27,39,26

02 04 06 07 09 14 22 26

20,37,25,38 05,11,19,28 18,03,12,13 08,32,30,23 01,10,17,16 15,21,31,33 24,29,36 35,34,39,27

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx Table 4 Results with different test instances.

6.2. Comparison of ABC-VNSTL with other algorithms

nP

nD

nDr

nPr

ini

best

worst

avg

sd

16 26 36 46 56 66 76 86 96 106

12 16 18 26 29 33 39 46 50 68

4 6 8 10 12 14 16 18 20 22

12 20 28 36 44 52 60 68 76 84

1177.99 1521.41 2009.45 2663.22 3258.18 3688.16 4382.85 5000.43 5776.17 6447.48

418.94 558.00 778.13 970.75 1309.97 1355.26 1469.37 1621.61 1849.67 2123.45

455.64 642.29 908.86 1049.23 1410.06 1512.57 1631.34 1839.12 2057.94 2363.30

437.34 596.92 809.31 1008.02 1355.51 1413.95 1554.75 1682.78 1944.56 2246.53

19.29 27.01 40.13 26.25 30.90 44.74 61.93 71.15 62.57 76.59

6. Experiment results Since there is no benchmark data available for the presented carpooling model in this paper, a set of test instance is generated to evaluate the effects of ABC-VNSTL. The locations of participants are chosen from an area of 100*100 km randomly. The velocity of the car is 60 kilometers per hour (v = 60). For any participant, the start time of time window is a random number between 1 and 3, and the end time of time window is a random number from 25 to 30. The number of potential drivers is also random and the possibility of each participant to be a car owner is 50%. The start and end time of time window of each passenger are the same. The common destination is a random point that does not overlap with any participant’s location. Experiments were performed on a PC machine with an Intel Core m3-6Y30 CPU and 4 GB RAM. 6.1. Feasibility of ABC-VNSTL To verify the feasibility of ABC-VNSTL, the algorithm is tested with 10 (m = 10) carpooling instances which are generated randomly. The number of participants varies from 16 to 106. The ABC-VNSTL algorithm needs to find the best solution of continuous 10 days (T = 10) for each instance. Table 4 shows the results with different test instances. In Table 4, nP and nD are the number of participants and potential drivers, respectively. nDr and nPr are the number of selected driver and passenger, respectively. The result includes the average value of initial solutions (ini), the best value of final solutions (best), the worst value of final solutions (worst), the average value of final solutions (avg) and the standard deviation of final solutions (sd). All the average values are the averages of continuous ten days’ results. The standard deviation is a statistic that measures the dispersion of final solutions relative to the average value. For a solution set with n solutions, the standard deviation sd is calculated by Eq. (13) where Si is the ith solution and S is the average value of the solution set.

√ sd =

∑n ( i=1

Si − S

n

9

)2 (13)

The number of potential drivers must be larger than twice of the number of selected driver because in this experiment we stipulate that a potential driver cannot be selected as driver in continuous two days. As shown in Table 4, our algorithm has good performance in carpooling instances. The average values of final solutions usually decrease 65% than the initial values. The maximum and minimum ratios between standard deviation and average value are 5% and 2.3%, respectively. It means that the dispersion of final solutions is low. The algorithm can obtain a relatively stable solution quality for different runs. The gap between the best value and worst value is small for most instances. It means that the ABC-VNSTL algorithm is generally stable.

In this section, we compared the experiment results of ABCVNSTL with other six algorithms: tabu search algorithm [16], standard artificial bee colony algorithm (ABC), a combination of ABC and tabu search named as ABC-TS [33], standard genetic algorithm (GA), adaptive differential evolution algorithm (JADE) [34] and variable neighborhood search (VNS). Tabu search algorithm in literature [16] was developed for the carpooling problem without time window constraint. ABC-TS algorithm in literature [33] was applied to solve parallel-batching machines scheduling problem. We applied ABC-TS to solve the LTCPP problem. One-swap strategy and solution exchange strategy are used as mutation and crossover operation in GA, respectively. For JADE, the calculation method of the difference between the two solutions (S1 - S2 ) includes two steps: (1) Delete the edges that exist in S2 from S1 . (2) Randomly assign edges to nodes that are not connected, but not in S2 , and do not violate the constraint of maximum number of seats. The solution exchange strategy is used to deal with the sum of two solutions (S1 + S2 ). For VNS, all five neighbor search strategies described in Section 4.3 are applied. The same sets of participants are used to test the seven algorithms. The number of participants is 106, and the numbers of potential drivers vary from 44 to 104. Fig. 7 shows the variation trend of the average and best values of the seven algorithms’ solutions. As shown in Fig. 7, ABC-VNSTL obtains the best results on all instances in the seven algorithms. The other algorithms from good to bad are ABC-TS, VNS, JADE, GA, Tabu search, and ABC. ABC is the worst. However, the combination of ABC with tabu search or VNS greatly improves the solution quality. It means that variable neighbor search and tabu list strategy provide excellent exploration ability around solution. Variable neighbor search is responsible for exploring the neighborhood space around a solution in order to find better solutions. Different neighbor search strategies execute local search in different directions. The process of neighbor search is easy to trap into local minimum if only one neighbor search strategy is applied. The new solution generation strategy of scout bee can provide the exploitation capability of the algorithm. The similarity measure between solutions keeps the diversity of solution set. It is good to avoid premature convergence. In addition, tabu list prohibits the repetitive usage of a solution structure in the continuous iterations. It is another useful method maintaining diversity of solution set though it is not new concept. The results show that tabu search is more sensitive to the change of number of potential drivers than other algorithms. The solutions generated by ABC and ABC-TS are affected finitely by the increase in the number of potential drivers. For all algorithms, more potential drivers will lead to better solutions. We also test the seven algorithms with carpooling instances that have different number of participants. The number of participants varies from 16 to 106. For each set of participants, the algorithms need to calculate the solutions for continuous ten days. Fig. 8 compares the average and best values calculated by the seven algorithms. As shown in Fig. 8, ABC-VNSTL has also the best performance for all sets of participants. The values of solutions increase as the number of participants is bigger. It is reasonable since the total distance delivering all participants is proportional to the number of participants. The solutions calculated by ABC are better than those calculated by tabu search and ABC-TS when the number of participants is less than 36. ABCTS will perform better than ABC and tabu search when there are more participants. The advantage of ABC-VNSTL grows as the number of participants increases. Nonparametric statistical analysis is increasingly applied to evaluate evolutionary and swarm intelligence algorithms. We

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

10

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

Fig. 7. Results of different number of potential drivers.

Fig. 8. Results of different number of participants.

executed Mann–Whitney U tests to check whether the computational results of ABC-VNSTL are significantly different from other algorithms in statistical manner. In the Mann–Whitney U tests, the numbers of participants and potential drivers are 106 and 104, respectively. The carpooling decision is implemented in 10 continuous days. The carpooling results in continuous 10 days are considered as 10 independent samples. Fig. 9 shows the results of Mann–Whitney U test using SPSS statistics. As shown in Fig. 9, the mean rank of ABC-VNSTL is less than half of that of all other algorithms except ABC-TS. Exact statistical significance levels in sub-figure (a)∼(f) are 0, 0, 0.04, 0, 0, 0.01, respectively. Asymptotic statistical significance levels in sub-figure (a)∼(f) are 0, 0, 0.05, 0, 0, 0.01, respectively. Obviously, all exact and asymptotic statistical significance levels in all sub-figures are much less than the threshold value of 0.05 except sub-figure (c). Exact statistical significance level is also smaller than 0.05 for sub-figure (c). The results show that solution quality of ABC-VNSTL is different from and much better than that of other algorithms in statistical manner. It is consistent with the results in Figs. 7 and 8. Fig. 10 shows how the driving distance evolves over 5000 iterations for the seven algorithms when the number of participants is 16, 46, 86 and 106. The seven algorithms show normal convergence processes. The convergence speed of ABC-VNSTL is fast, especially on instances with 86 and 106 participants. ABCVNSTL can achieve the best solution found by other algorithms at about 100 iterations. Tabu search algorithm shows good evolution ability on instances with many participants though its solutions

are not so good. It demonstrates that tabu search is helpful to avoid trapping into local optimums. Compared to tabu search, ABC algorithm displays the phenomenon of premature convergence. The combination of ABC and tabu search can improve the convergence of ABC. VNS shows also good convergence. In order to compare the computational efficiency of the seven algorithms, we checked the computational time of different algorithms when they achieve similar solution quality. The number of participants was set as 106 in the experiment. Table 5 presents the comparison results of the seven algorithms. As shown in Table 5, the calculation time of ABC-VNSTL is 434 ms under the condition that the optimal driving distance is 2441.69. Other algorithms cannot obtain better solutions than ABC-VNSTL even if they consume more time. For example, the optimal solution of ABC-TS is 2458.71 in 5280 ms. The average computational time of one iteration of ABCVNSTL, ABC-TS, ABC, Tabu search, GA, JADE and VNS are 0.35, 0.28, 0.02, 0.11, 0.02, 0.03 and 0.12 ms, respectively. Although the computational efficiency of ABC-VNSTL is the lowest in terms of time-consuming of one iteration, it cannot be judged as the worst performance because ABC-VNSTL in about 100 generations can obtain the best solution found by other algorithms in 5000 generations. It can be easily deduced from the convergence curves in Fig. 10.

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

11

Fig. 9. Results of Mann–Whitney U test. Table 5 Computational times of all algorithms when they achieve similar solution quality. Average distance of solutions Computational time (ms)

ABC-VNSTL

Tabu search

ABC

ABC-TS

GA

JADE

VNS

2441.69

2575.41

2502.71

2458.71

2570.69

2541.69

2473.09

4304

4344

5439

5280

5149

5543

4508

6.3. Effect of parameters on solution quality Table 6 is the results on test instances with different number of potential drivers while the number of selected drivers is constant. The test instances have 100 participants. The number of potential driver (nD ) varies from 40 to 100. The number of selected driver nDr keeps 20. The continuous day number is 10. Table 6 shows that the number of potential drivers can influence solution quality obviously. The best distance is 2107.16 for 40 potential drivers. It decreases to 1927.99 while the number of potential drivers is increased up to 100. The maximum and minimum ratios between standard deviation and average value are 4.7% and 1.8%, respectively. Fig. 11 is a comparison of the average solution value of different numbers of potential drivers in continuous 5, 10 and 15 days. The overall trend of the curve is decreasing. It coincides with the tendency shown in Table 6. The total distances of all drivers for each day are affected faintly by the continuous day number from the observation that the curves of continuous 5, 10 and 15 days intersect irregularly at multiple points. The second important parameter is the number of food sources (solutions). This parameter decides how many food sources need

Table 6 Results for continuous 10 days. nD

nDr

ini

best

worst

avg

sd

40 45 50 55 60 65 70 75 80 85 90 95 100

20 20 20 20 20 20 20 20 20 20 20 20 20

5975.21 5829.89 5866.37 5824.35 5942.66 5703.47 5560.89 5715.53 5684.89 5885.82 6033.12 5844.97 5639.80

2107.16 2029.10 1938.48 1980.67 1966.02 1898.58 1955.32 1913.55 1947.71 1938.61 1917.70 1899.58 1927.99

2383.18 2138.86 2208.15 2216.10 2234.03 2231.20 2203.01 2188.97 2202.52 2131.28 2121.92 2151.86 2088.98

2135.30 2085.24 2063.06 2075.40 2068.88 2054.95 2045.22 2039.05 2022.01 2022.70 2024.05 2010.40 2007.69

101.32 37.75 87.82 84.34 91.33 88.79 83.29 92.25 78.18 57.50 69.44 65.59 50.47

to be searched in one iteration. Fig. 12 shows the test results of test instances with different numbers of food sources. The number of participants is 100 and the number of food sources varies from 5 to 30. As shown in Fig. 12, the number of food source has positive effects on solution quality. The average value decreases from 2070.61 to 1985.82 when the number of food

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

12

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

Fig. 10. Convergence curve of different number of participants.

Fig. 11. A comparison of the average solution value of different numbers of potential drivers in continuous 5, 10 and 15 days.

sources increase from 5 to 30. More food sources should lead to better solution quality on the test instances, but CPU time also increases. Thus, it is necessary to make a balance on the number of food source for different carpooling instances.

Fig. 12. Solution qualities of test instances with different numbers of food sources.

The length of tabu list is another important parameter in ABCVNSTL algorithm. In order to verify the effect of the length of tabu list, the length of tabu list varies from nDr to 6nDr while the number of participants is 100 and other parameters keep

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

13

Table 8 Results for different strategies.

Fig. 13. Effects of the length of tabu list on solution quality. Table 7 Results for different values of L and H. H, L

ini

worst

best

avg

sd

nP , nP /2 nP , nP /3 nP , nP /4 nP /2, nP /2 nP /2, nP /3 nP /2, nP /4 (nP - nDr ), nP /2 (nP - nDr ), nP /3 (nP - nDr ), nP /4

3065.78 3413.50 3230.83 3352.18 3581.97 3208.99 3348.28 3751.90 3235.14

1449.81 1419.68 1298.96 1476.21 1360.05 1480.53 1373.27 1370.11 1325.47

1139.33 1149.75 1136.54 1203.61 1147.70 1196.02 1183.60 1229.08 1203.78

1271.51 1257.48 1227.49 1279.87 1257.01 1303.90 1281.38 1267.51 1259.79

97.96 82.45 57.76 81.01 76.07 86.14 73.08 41.11 45.42

constant. As shown in Fig. 13, the change trends of distances are not obvious as the length of tabu list increases. The length of tabu list should be set as a modest number since long tabu list may affect the efficiency of ABC-VNSTL. We choose 2nDr as the length of tabu list in ABC-VNSTL because the solution quality looks good under the length compared to others. In diversity protection strategy, parameters L and H are two thresholds to determine whether a new generated solution should be abandoned or retained. Combinations of different values of L and H are tested. L can be any element in set {nP /2, nP /3, nP /4} and H can be any element in set {nP , nP /2, nP -nDr } where nP and nDr are the number of participant and selected drivers, respectively. The number of participant and selected driver are 57 and 12 in the test instances, respectively. As shown in Table 7, different combination of L and H has slight effect on solution quality. The average value of solutions is the best when H = nP and L = nP /4. Thus, we use the combination of H and L in ABC-VNSTL. 6.4. Effect of neighborhood search strategies on solution quality Variable neighborhood search is the key to ABC-VNSTL. Five neighborhood search strategies are defined in Section 4.2. It is interesting to know the optimization abilities of the five neighborhood search strategies and their different combinations. Table 8 displays the computational results on a test instance applying single neighborhood search strategies and any two combinations and all combination of the five neighborhood search strategies. Test instances have 57 participants and 10 food sources. The first column named ‘‘stgy’’ is strategy in Table 8. As shown in Table 8, each strategy can improve effectively solution quality. One-swapping strategy (OSS) is the best in five neighborhood search strategies. The best distance is 1298.66. The

stgy

ini

best

worst

avg

sd

OSS ASS MS PDS SES OSS + ASS OSS + MS OSS + PDS OSS + SES ASS + MS ASS + PDS ASS + SES MS + PDS MS + SES PDS + SES All strategies

3161.45 3434.21 3302.49 3498.85 3318.63 3352.06 3558.06 3169.40 3001.69 3476.81 3655.94 3487.94 3471.03 3394.25 3425.15 3073.17

1315.40 1982.98 1806.35 2166.53 1372.66 1246.57 1349.41 1407.85 1282.24 1617.13 1700.28 1296.43 1805.31 1411.04 1531.35 1177.93

1520.45 2181.07 1886.79 2252.02 1538.84 1447.32 1585.81 1530.70 1400.94 1770.62 1978.04 1479.96 1949.25 1568.98 1894.76 1332.30

1444.08 2088.02 1846.59 2219.95 1464.47 1403.89 1469.45 1473.48 1346.57 1689.51 1863.59 1380.72 1877.85 1485.03 1664.27 1263.22

72.75 68.61 25.71 32.26 60.16 54.02 76.69 48.18 42.26 47.31 91.44 57.34 52.59 48.94 126.25 48.66

strategy combinations including OSS (OSS + ASS, OSS + MS, OSS + PDS, OSS + SES, All strategies) obtain also good solution qualities. The worst is all-swap strategy (ASS) which has 1849.89 of the best distance. It demonstrates that swapping all passengers of two drivers is not so good. The combination of all strategies obtains better solution quality than any single strategy and combinations of any two strategies. It is the reason that ABC-VNSTL uses all five strategies. 7. Conclusions and future work Carpooling is a resource saving and environment protection transportation system. It is advocated around the world. Although safe problem is a negative factor for sharing economy, it can be avoided when carpooling happens among people knowing each other. In this paper, we studied a long-term carpooling problem with time window. The problem is practical for scene that the participants of carpooling work at a same area and live at different locations. A subset of participant should be chosen to be drivers that are response for delivering all participants to destination. The sequence picking up passengers need to be decided for any driver. A mathematic model is firstly formulated. Then, a novel artificial bee colony algorithm with variable neighborhood search and tabu list consideration (ABC-VNSTL) is proposed. Five neighborhood search strategies are designed to promote the ability of optimization. A diversity protection strategy is applied in scout stage to help the algorithm avoid the valleys containing the local optimum. A number of test instances are used to verify ABC-VNSTL algorithm. Computational experiments show that ABC-VNSTL can obtain better solution quality on all test instances than tabu search algorithm [11], standard ABC, ABC-TS [29], standard genetic algorithm (GA), adaptive differential evolution algorithm (JADE) [35] and variable neighborhood search (VNS). Effects of different parameters on solution quality are analyzed. Neighborhood search strategies and their combination are also tested in order to identify the optimization ability of the five neighborhood search strategies. It is definite that the application of ABC-VNSTL algorithm will decrease the usage of vehicle and the emission of exhaust. In addition, a person only can be selected as driver on limited consecutive days. It guarantees the fairness among participants of carpooling that is important to stable long-term run of carpooling. In the future, two directions are worthy to study deeply. First, new algorithm which is more efficient than ABC-VNSTL can be developed. Second, we will study an extension of the carpooling

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.

14

S. Su, F. Zhou and H. Yu / Applied Soft Computing Journal xxx (xxxx) xxx

problem from the viewpoint of multi-objective optimization. Possible objectives include the waiting times of each participant or all participants and the cost of each participant. The source codes and test instances applied in the paper are shared in Github. They can be downloaded from the web site https://github.com/AuditoreAzio/ABC-VNSTL.git. Declaration of competing interest No author associated with this paper has disclosed any potential or pertinent conflicts which may be perceived to have impending conflict with this work. For full disclosure statements refer to https://doi.org/10.1016/j.asoc.2019.105814. Acknowledgments This research was supported by the National Natural Science Foundation of China under Grant No. 60904072, 71301018; the Doctoral Foundation of the Youth Teachers of Ministry of Education of China under Grant No. 20090185120002; the Humanities and Social Sciences Foundation for the Youth of Ministry of Education of China under Grant No. 09YJC630018; the Science and Technology Support Plan of Sichuan Province under Grant No. 2014JY0193. We are very grateful to the anonymous reviewers for their valuable comments. References [1] S.A. Shaheen, A.P. Cohen, Carsharing and personal vehicle services: worldwide market developments and emerging trends, Int. J. Sustain. Transp. 7 (1) (2013) 5–34. [2] B.P. Bruck, V. Incerti, M. Iori, et al., Minimizing CO2 emissions in a practical daily carpooling problem, Comput. Oper. Res. 81 (2017) 40–50. [3] V. Maniezzo, A. Carbonaro, H. Hildmann, An ANTS heuristic for the long-term car pooling problem, in: New Optimization Techniques in Engineering, Springer, Berlin, Heidelberg, 2004, pp. 411–430. [4] Y. Guo, G. Goncalves, T. Hsu, A clustering ant colony algorithm for the long-term car pooling problem, Int. J. Swarm Intell. Res. 3 (2) (2012) 39–62. [5] S. Yan, C.Y. Chen, Y.F. Lin, A model with a heuristic algorithm for solving the long-term many-to-many car pooling problem, IEEE Trans. Intell. Transp. Syst. 12 (4) (2011) 1362–1373. [6] D.O. Santos, E.C. Xavier, Dynamic taxi and ridesharing: A framework and heuristics for the optimization problem, in: International Joint Conference on Artificial Intelligence, 2013, pp. 2885-2891. [7] H. Hosni, J. Naoum-Sawaya, H. Artail, The shared-taxi problem: Formulation and solution methods, Transp. Res. B 70 (C) (2014) 303–318. [8] S.C. Huang, M.K. Jiau, C.H. Lin, A genetic-algorithm-based approach to solve carpool service problems in cloud computing, IEEE Trans. Intell. Transp. Syst. 16 (1) (2015) 352–364. [9] S.K. Chou, M.K. Jiau, S.C. Huang, Stochastic set-based particle swarm optimization based on local exploration for solving the carpool service problem, IEEE Trans. Cybern. 46 (8) (2016) 1771–1783. [10] B.P. Bruck, V. Incerti, M. Iori, M. Vignoli, Minimizing CO2 emissions in a practical daily carpooling problem, Comput. Oper. Res. 81 (2017) 40–50. [11] Y. Guo, G. Goncalves, T. Hsu, A multi-destination daily carpooling problem and an ant colony based resolution method, RAIRO-Oper. Res. 47 (2013) 399–428. [12] R. Baldacci, V. Maniezzo, A. Mingozzi, An exact method for the car pooling problem based on lagrangean column generation, Oper. Res. 52 (3) (2004) 422–439.

[13] I. Hussain, L. Knapen, S. Gall, et al., Agent-based simulation model for longterm carpooling: effect of activity planning constraints, Procedia Comput. Sci. 52 (1) (2015) 412–419. [14] F.A. Özsoy, M.Ç. Pınar, An exact algorithm for the capacitated vertex -center problem, Comput. Oper. Res. 33 (5) (2006) 1420–1436. [15] S.C. Huang, M.K. Jiau, C.H. Lin, Optimization of the carpool service problem via a fuzzy-controlled genetic algorithm, IEEE Trans. Fuzzy Syst. 23 (5) (2015) 1698–1712. [16] C. Huang, D. Zhang, Y.W. Si, et al., Tabu search for the real-world carpooling problem, J. Combin. Optim. 32 (2) (2016) 492–512. [17] C.M. Boukhater, O. Dakroub, F. Lahoud, et al., An intelligent and fair GA carpooling scheduler as a social solution for greener transportation, in: Electrotechnical Conference (MELECON), 2014 17th IEEE Mediterranean, IEEE, 2014, pp. 182–186. [18] S.C. Huang, M.K. Jiau, K.H. Chong, A heuristic multi-objective optimization algorithm for solving the carpool services problem featuring high-occupancy-vehicle itineraries, IEEE Trans. Intell. Transp. Syst. 19 (8) (2018) 2663–2674. [19] J.J. Lin, S.C. Huang, M.K. Jiau, An evolutionary multiobjective carpool algorithm using set-based operator based on simulated binary crossover, IEEE Trans. Cybern. 99 (2018) 1–11. [20] D. Karaboga, B. Basturk, A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm, J. Global Optim. 39 (3) (2007) 459–471. [21] X. Li, H. Yang, M. Yang, et al., Accelerating artificial bee colony algorithm with neighborhood search, in: IEEE Congress on Evolutionary Computation, IEEE, 2017, pp. 1549–1556. [22] X. Li, G. Yang, K. Hirasawa, Evolving directed graphs with artificial bee colony algorithm, in: 14th IEEE International Conference on. Intelligent Systems Design and Applications (ISDA), 2014, pp. 89-94. [23] D. Karaboga, B. Akay, A comparative study of artificial bee colony algorithm, Appl. Math. Comput. 214 (1) (2009) 108–132. [24] A. Banharnsakun, T. Achalakul, B. Sirinaovakul, The best-so-far selection in artificial bee colony algorithm, Appl. Soft Comput. 11 (2) (2011) 2888–2901. [25] W.L. Xiang, M.Q. An, An efficient and robust artificial bee colony algorithm for numerical optimization, Comput. Oper. Res. 40 (5) (2013) 1256–1265. [26] G. Zhu, S. Kwong, Gbest-guided artificial bee colony algorithm for numerical function optimization, Appl. Math. Comput. 217 (7) (2010) 3166–3173. [27] W. Gao, S. Liu, Improved artificial bee colony algorithm for global optimization, Inform. Process. Lett. 111 (17) (2011) 871–882. [28] J. Liu, S.W. Wang, A hybrid artificial bee colony algorithm for solving sequence-dependent disassembly line balancing problem, Control Decis. 33 (4) (2018) 698–704. [29] S.N. Omkar, J. Senthilnath, R. Khandelwal, et al., Artificial Bee Colony (ABC) for multi-objective design optimization of composite structures, Appl. Soft Comput. 11 (1) (2011) 489–499. [30] P. Hansen, N. Mladenović, Variable neighborhood search: principles and applications, European J. Oper. Res. 130 (3) (2001) 449–467. [31] N. Mladenović, M. Dražić, V. Kovačevic-Vujčić, et al., General variable neighborhood search for the continuous optimization, European J. Oper. Res. 191 (3) (2008) 753–770. [32] M. Gendreau, G. Laportea, A tabu search heuristic for the undirected selective travelling salesman problem, European J. Oper. Res. 106 (2–3) (1998) 539–545. [33] S. Lu, X. Liu, J. Pei, et al., A hybrid ABC-TS algorithm for the unrelated parallel-batching machines scheduling problem with deteriorating jobs and maintenance activity, Appl. Soft Comput. 66 (2018) 168–182. [34] J. Zhang, A.C. Sanderson, JADA: adaptive differential evolution with optional external archive, IEEE Trans. Evol. Comput. 13 (5) (2009) 945–958. [35] Y. Guo, G. Goncalves, T. Hsu, A multi-agent based self-adaptive genetic algorithm for the long-term car pooling problem, J. Math. Model. Algorithms 12 (1) (2013) 45–66.

Please cite this article as: S. Su, F. Zhou and H. Yu, An artificial bee colony algorithm with variable neighborhood search and tabu list for long-term carpooling problem with time window, Applied Soft Computing Journal (2019) 105814, https://doi.org/10.1016/j.asoc.2019.105814.