Skip to main content
Log in

A solution methodology for carpooling systems based on double auctions and cooperative coevolutionary particle swarms

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

Although carpooling provides a way to achieve higher efficiency and lower costs of a transport system by grouping people and sharing cars or vehicles in use, it is still not widely accepted. Several studies indicate that cost savings and timeliness are the main incentives for acceptance of the carpooling business model. However, existing studies are deficient in supporting operations of carpooling business model from specifying the requirements of drivers and passengers, matching drivers with passengers to allocating cost savings among ridesharing participants. A pragmatic solution methodology to maximize cost savings while respecting timing constraints and allocate cost savings in carpooling systems is a critical factor for ensuring the success of carpooling business model. The problem to maximize cost savings subject to capacity constraints and timing constraints can be formulated as an integer programming problem. Although there are several works for solving carpooling problems based on metaheuristic approaches, existing studies on application of metaheuristic approaches in carpooling problems are still limited. Motivated by deficiencies of existing studies discussed above, this paper aims to (1) propose a carpooling model based on double auctions, (2) formulate the carpooling problem and develop a discrete cooperative coevolving particle swarm optimization (DCCPSO) algorithm to solve the problem (3) propose a cost savings allocation scheme to benefit ridesharing participants (4) study the influence of detour distance constraints on performance and (5) study the effectiveness of the proposed algorithm by comparing with other metaheuristic algorithms through experiments. Simulation results indicate that the proposed DCCPSO algorithm significantly outperforms several existing algorithms in solving the carpooling problem.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Baldacci R, Maniezzo V, Mingozzi A (2004) An exact method for the car pooling problem based on Lagrangean column generation. Oper Res 52(3):422–439

    Article  MATH  Google Scholar 

  2. Maniezzo V, Carbonaro A, Hildmann H (2004) An ants heuristic for the long-term car pooling problem. In: Onwubolu G, Babu BV (eds) New optimization techniques in engineering, pp 412–429

  3. Marletto G (2014) Car and the city: socio-technical transition pathways to 2030. Technol Forecast Soc Change 87:164–178

    Article  Google Scholar 

  4. Furuhata M, Dessouky M, Ordóñez F, Brunet M, Wang X, Koenig S (2013) Ridesharing: the state-of-the-art and future directions. Transp Res B Methodol 57:28–46

    Article  Google Scholar 

  5. Agatz N, Erera A, Savelsbergh M, Wang X (2012) Optimization for dynamic ridesharing: a review. Eur J Oper Res 223(2):295–303

    Article  MATH  Google Scholar 

  6. Kennedy J, Eberhart RC (1995) Particle swarm optimization. In: Proceedings of IEEE International Conference on Neural Networks, Piscataway, NJ, pp 1942–1948

  7. El-Galland AI, El-Hawary ME, Sallam AA (2001) Swarming of intelligent particles for solving the nonlinear constrained optimization problem. Eng Intell Syst Electr Eng Commun 9(3):155–163

    Google Scholar 

  8. Van den Bergh F, Engelbrecht AP (2000) Cooperative learning in neural network using particle swarm optimizers. South African Comput J 26:84–90

    Google Scholar 

  9. Tasgetiren MF, Sevkli M, Liang YC, Gencyilmaz G (2004) Particle swarm optimization algorithm for single machine total weighted tardiness problem. In: Proc IEEE Congress Evolutionary comput, vol 2, pp 1412–1419

  10. Kennedy J, Eberhart RC (1997) A discrete binary version of the particle swarm algorithm, 1997. IEEE Int Conf Syst, Man, Cybern: Comput Cybern Simul 5:4104–4108

    Google Scholar 

  11. Vesterstrom J, Thomsen R (2004) A comparative study of differential evolution, particle swarm optimization, and evolutionary algorithms on numerical benchmark problems. Proc 2004 Congress Evolutionary Comput 2:1980–1987

    Article  Google Scholar 

  12. van den Bergh F, Engelbrecht AP (2004) A Cooperative approach to particle swarm optimization. IEEE Trans Evolutionary Comput 8(3):225–239

    Article  Google Scholar 

  13. Potter MA, De Jong KA (1994) A cooperative coevolutionary approach to function optimization. Lect Notes Comput Sci 866:249–257

    Article  Google Scholar 

  14. Yang Z, Ke T, Yao X (2008) Large scale evolutionary optimization using cooperative coevolution. Inform Sci 178(15):2985–2999

    Article  MathSciNet  MATH  Google Scholar 

  15. Li X, Yao X (2012) Cooperatively coevolving particle swarms for large scale optimization. IEEE Trans Evolutionary Comput 16(2):210–224

    Article  Google Scholar 

  16. Hsieh F-S (2017) Car pooling based on trajectories of drivers and requirements of passengers. In: IEEE 31st International Conference on Advanced Information Networking and Applications, pp 972–978

  17. Hsieh F-S, Zhan F-M, Guo Y-H (2017) Car pooling based on a metaheuristic approach. In: 30th International Conference on Industrial Engineering and Other Applications of Applied Intelligent Systems (IEA/AIE 2017), Lecture Notes in Artificial Intelligence, vol 10350, pp 31–40

  18. Ravindran A, Ragsdell KM, Reklaitis GV (2007) Engineering optimization: methods and applications, Second Edition. Wiley, New York

    Google Scholar 

  19. Deb K (2004) Optimization for engineering design: algorithms and examples. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  20. Deb K (2000) An efficient constraint handling method for genetic algorithms. Comput Methods Appl Mech Eng 186(2-4):311– 338

    Article  MATH  Google Scholar 

  21. Banitalebi A, Aziz Mohd IA, Aziz ZA (2016) A self-adaptive binary differential evolution algorithm for large scale binary optimization problems. Inform Sci 367-368:487–511

    Article  Google Scholar 

  22. Bruglieri M, Ciccarelli D, Colorni A, Luè A (2011) Poliunipool: a carpooling system for universities. Procedia - Soc Behavioral Sci 20:558–567

    Article  Google Scholar 

  23. Agatz Niels AH, Erera Alan L, Savelsbergh MWP, Wang X (2011) Dynamic ride-sharing: a simulation study in Metro Atlanta. Transp Res B Methodol 45(9):1450–1464

    Article  Google Scholar 

  24. Elbery A, ElNainay M, Chen F, Chang-Tien L, Kendall J (2013) A carpooling recommendation system based on social VANET and geo-social data. In: Proceedings of the 21st ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (SIGSPATIAL’13). ACM, New York, pp 556– 559

  25. Cici B, Markopoulou A, Frias-Martinez E, Laoutaris N (2014) Assessing the potential of ride-sharing using mobile and social data: a tale of four cities. In: Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp ’14). ACM, New York, pp 201–211

  26. Bicocchi N, Mamei M (2014) Investigating ride sharing opportunities through mobility data analysis. Pervasive Mobile Comput 14:83–94

    Article  Google Scholar 

  27. Bruck BP, Incerti V, Iori M, Vignoli M (2017) Minimizing CO emissions in a practical daily carpooling problem. Comput Oper Res 81:40–50

    Article  MathSciNet  MATH  Google Scholar 

  28. Santos DO, Xavier EC (2015) Taxi and ride sharing: a dynamic dial-a-ride problem with money as an incentive. Expert Syst Appl 42(19):6728–6737

    Article  Google Scholar 

  29. Nourinejad M, Roorda MJ (2016) Agent based model for dynamic ridesharing. Trans Res Part C: Emerg Technol 64:117–132

    Article  Google Scholar 

  30. Stiglic M, Agatz N, Savelsbergh M, Gradisar M (2016) Making dynamic ride-sharing work: the impact of driver and rider flexibility. Trans Res Part E: Logistics Trans Rev 91:190–207

    Article  Google Scholar 

  31. Herbawi W, Weber M (2011) Evolutionary multi-objective route planning in dynamic multi-hop ridesharing. Evol Comput Combin Optim 6622:84–95

    Google Scholar 

  32. Cheikh SB, Hammadi S, Tahon C (2015) Agent-based evolutionary cooperative approach for dynamic multi-hop ridematching problem. IFAC-PapersOnLine 48(3):887–892

    Article  Google Scholar 

  33. Cheikh SB, Hammadi S (2016) Multi-hop ridematching optimization problem: intelligent chromosome agent-driven approach. Expert Syst Appl 62:161–176

    Article  Google Scholar 

  34. Shete A, Bhandare V, Londhe L (2015) Intelligent carpooling system. Int J Comput Appl 118(4):26–31

    Google Scholar 

  35. Herbawi WM, Weber M (2012) A genetic and insertion heuristic algorithm for solving the dynamic ridematching problem with time windows. In: Proceedings of the ACM International Conference of Genetic Evolutionary Computation, pp 385–392

  36. Eberhart C, Yuhui R, Yuhui S (1998) Comparison between genetic algorithms and particle swarm optimization. Lect Notes Comput Sci 1447:611–616

    Article  Google Scholar 

  37. Hassan R, Cohanim B, De Weck O (2005) A Comparison of Particle Swarm Optimization and the Genetic Algorithm. https://doi.org/10.2514/6.2005-1897

  38. Satunin S, Babkin E (2014) A multi-agent approach to Intelligent Transportation Systems modeling with combinatorial auctions. Expert Syst Appl 41(15):6622–6633

    Article  Google Scholar 

  39. Khan SA, Engelbrecht AP (2012) A fuzzy particle swarm optimization algorithm for computer communication network topology design. Appl Intell 36:161–177

    Article  Google Scholar 

  40. Olivera AC, Garcia-Nieto JM, Alba E (2015) Reducing vehicle emissions and fuel consumption in the city by using particle swarm optimization. Appl Intell 42(3):389–405

    Article  Google Scholar 

  41. Hsieh F-S, Liao C-S (2015) Scalable multi-agent learning algorithms to determine winners in combinatorial double auctions. Appl Intell 43(2):308–324

    Article  Google Scholar 

  42. Xia M, Stallaert J, Whinston AB (2005) Solving the combinatorial double auction problem. Eur J Oper Res 164(1):239–251

    Article  MATH  Google Scholar 

  43. Guajardoa M, Ronnqvist M (2016) A review on cost allocation methods in collaborative transportation. Int Trans Oper Res 23(3):371–392

    Article  MathSciNet  MATH  Google Scholar 

  44. Shapley LS (1953) A value for n-person games. Annal Math Stud 28:307–317

    MathSciNet  MATH  Google Scholar 

  45. Kalai E (1977) Proportional solutions to bargaining situations: intertemporal utility comparisons. Econometrica 45(7):1623–1630

    Article  MathSciNet  MATH  Google Scholar 

  46. Schmeidler D (1969) The nucleolus of a characteristic function game. SIAM J Appl Math 17(6):1163–1170

    Article  MathSciNet  MATH  Google Scholar 

  47. Fatima SS, Wooldridge M, Jennings NR (2008) A linear approximation method for the Shapley value. Artif Intell 172(14):1673–1699

    Article  MathSciNet  MATH  Google Scholar 

  48. Boughaci D (2010) A differential evolution algorithm for the winner determination problem in combinatorial auctions. Electron Notes Discrete Math 36:535–542

    Article  MATH  Google Scholar 

  49. Wang F, Zhang H, Li K, Lin Z, Yang J, Shen XL (2018) A hybrid particle swarm optimization algorithm using adaptive learning strategy. Inf Sci 436-437:162–177

    Article  MathSciNet  Google Scholar 

  50. Chen Y, Li L, Peng H, Xiao J, Wu Q (2018) Dynamic multi-swarm differential learning particle swarm optimizer. Swarm Evol Comput 39:209–221

    Article  Google Scholar 

  51. Cao L, Xu L, Goodman ED (2018) A neighbor-based learning particle swarm optimizer with short-term and long-term memory for dynamic optimization problems. Inf Sci 453:463–485

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

This paper is currently supported in part by Ministry of Science and Technology, Taiwan under Grant MOST 106-2410-H-324-002-MY2.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fu-Shiung Hsieh.

Appendices

Appendix I: Notation

Symbol

Meaning

P

the number of different passengers in the carpooling system; the set of all passengers is denoted by {1, 2, 3,....P}.

p

the index of a passenger, where p ∈{1, 2, 3,....P}.

K

the number of all pick-up and drop-off locations of passengers. Without loss of generality, it is assumed that all the pick-up and drop-off locations of passengers are distinct. In this case, there are P pick-up locations and P drop-off locations and K = 2P.

k

the index of a pick-up location or a drop-off location, where k ∈{1, 2,...,K}.

L k

the k -th location, where k ∈{1, 2,...,K}.

D

the number of drivers in the carpooling system; the set of all drivers is {1, 2, 3,....,D}.

d

the index of a driver, where d ∈{1, 2, 3,....,D}.

J d

the number of bids placed by driver d, where d ∈{1, 2,...,D}.

j

the jth bid submitted by driver d, where d ∈{1, 2,...,D} and j ∈{1, 2,...,Jd}.

Π

a route, which consists a sequence of locations.

π d

the original route taken by driver d when driver d travels alone.

πdj(Lod, Led)

the route corresponding to the jth bid submitted by driver d, where d ∈{1, 2,...,D} and j ∈{1, 2,...,Jd}, Lod and Led denote the origin and destination of route πdj, respectively. πdj(Lod, Led) is abbreviated as πdj whenever its is clear from the context. πdj consists of a sequence of locations \(L_{1} ,L_{2} ,...,L_{\left | {M_{dj} } \right |} \).

k d j m

the mth location visited by route πdj, \(m\in M_{dj} =\{1,2,...,\left | {\pi _{dj} } \right |\}\)

Πd

the set of all routes submitted by driver d, where d ∈{1, 2,...,D}, \({\Pi }_{d} =\{\pi _{dj} \left | {j\in \{1,2,...,J_{d} \}\}} \right .\).

a d

the number of available seats (capacity of the car) provided by driver d, where d ∈{1, 2, 3,....,D}.

τ d j

\(\tau _{dj} = \frac {dist(\pi _{dj} (Lo_{d} ,Le_{d} ))}{dist(\pi _{d} (Lo_{d} ,Le_{d} ))}:\) the detour ratio of route πdj.

\(\bar {{\tau }}_{d} \)

the maximum detour ratio specified by driver d .

R d

\(R_{d} = (Lo_{d} ,Le_{d} ,{\omega _{d}^{e}} ,{\omega _{d}^{l}} ,a_{d} ,\bar {{\tau }}_{d} ):\) the requirements of driver d , where \(Lo_{d} ,Le_{d} ,{\omega _{d}^{e}} ,{\omega _{d}^{l}} \), ad and \(\bar {{\tau }}_{d} \) denote the origin, destination, earliest departure time, latest arrival time, quantity of available seats and maximum detour ratio specified by driver d, respectively.

τ p d

estimated detour ratio \(\tau _{pd} =\frac {\gamma (p,d)}{dist(\pi (Lo_{dj} ,Le_{dj} ))}\), where γ(p, d) = dist(Π(Lod, Lop)) + dist(Π(Lop, Lep)) + dist(Π(Lep, Led))

R p

\(R_{p} = (Lo_{p} ,Le_{p} ,{\omega _{p}^{e}} ,{\omega _{p}^{l}} ,n_{p} ):\) the request of passenger p, where \(Lo_{p} ,Le_{p} ,{\omega _{p}^{e}} ,{\omega _{p}^{l}} \) and np denote the origin, destination, earliest departure time, latest arrival time specified by passenger p and the number of passengers to be transported, respectively, and p ∈P.

\(t_{p}^{dep} \)

the time passenger p is picked up at Lop.

\(t_{p}^{arr} \)

the time passenger p is dropped of at Lep.

\(t_{d}^{dep} \)

the time driver d departs at Lod.

\(t_{d}^{arr} \)

the time driver d arrives at Led.

B d

the set of passengers \(^{\prime }\)ad -smallest estimated detour ratio (τpd) requests for each driver d ∈{1, 2,...,D}; \(B_{d} =\{R_{p} \left | {p\in \{1,2,3,....P\},\tau _{pd} } \right .\) is ad -smallest }

c d j

the cost for transporting the bundle of passengers in the jth bid submitted by driver d.

o d

the travel cost for taking the route πd by driver d without transporting any passengers. That is, od is the cost that driver d travels alone.

\(q_{djk}^{1} \)

a nonnegative integer that denotes the quantity of seats offered to pick up passengers at location k in the jth bid submitted by driver d ; \(q_{djk}^{1} =\) 0 if location k is not visited by πdj.

\(q_{djk}^{2} \)

a nonnegative integer that denotes the quantity of seats released due to dropping passengers at location k in the jth bid submitted by driver d; \(q_{djk}^{2} =\) 0 if location k is not visited by πdj.

\(b_{dj}^{D} \)

\(b_{dj}^{D} = (q_{dj1}^{1} ,q_{dj2}^{1} ,...,q_{djk}^{1} ,...,q_{djP}^{1} ,q_{dj1}^{2} ,q_{dj2}^{2} ,...,q_{djk}^{2} ,...,q_{djP}^{2} ,\pi _{dj} ,c_{dj} ,a_{d} ): \) a vector generated based on Rd to represent the jth bid submitted by driver d. The jth bid \( b_{dj}^{D} \) is actually an offer to transport passengers specified by \( q_{djk}^{1} \) and \( q_{djk}^{2} \) for each k ∈{1, 2, 3,....,P} at the cost cdj with capacity ad by following route πdj.

πp(Lop, Lep)

the original route from Lop to Lep that will be taken when passenger p travels alone. πp(Lop, Lep) will be abbreviated as πp whenever it is clear from the context.

n p

the number of passengers to be transported in the bid of passenger p.

\(s_{pk}^{1} \)

the number of seats requested in the bid of passenger p to pick up passengers at pick-up location Lk, where k ∈{1, 2, 3,....,P}.

\(s_{pk}^{2} \)

the number of seats to be released from in the bid of passenger p due to dropping passengers at location LP + k, where k ∈{1, 2, 3,....,P}.

f p

the price of the bid submitted by passenger p based on the original travel cost of passenger p when he/she travels alone.

\({b_{p}^{P}} \)

\({b_{p}^{P}} = (s_{p1}^{1} ,s_{p2}^{1} ,s_{p3}^{1} ,...,s_{pP}^{1} ,s_{p1}^{2} ,s_{p2}^{2} ,s_{p3}^{2} ,...,s_{pP}^{2} ,f_{p}):\) a vector generated based on Rp to represent the bid submitted by passenger p. The bid \( {b_{p}^{P}} \) is an offer to pay fp for transporting passengers.

Γdj

the set of passengers delivered in the j -th bid submitted by driver d

x d j

the variable to indicate the jth bid placed by driver d is a winning bid (xdj = 1) or not (xdj = 0).

y p

the variable to indicate the bid placed by passenger p is a winning bid (yp = 1) or not (yp = 0).

α

cost savings allocation coefficient for carpooling information provider.

e d j k

a nonnegative integer that denotes the quantity of empty seats available after dropping and picking up passenger at location k in the jth bid submitted by driver d.

Appendix II: Bid Generation Procedures

In a carpooling system based on double auction mechanism, passengers and drivers submit bids according to their preferences and constraints. This appendix focuses on the bid generation procedures for passengers and drivers.

1.1 (A) Bid Generation for Passengers

In this paper, it is assumed that each passenger has only one request. For each request, a bid will be generated according to the request. The request for the passenger p, where p ∈P, is represented by \( R_{p} =(Lo_{p} ,Le_{p} ,{\omega _{p}^{e}} ,{\omega _{p}^{l}} ,n_{p} ) \), where Lop, \( Le_{p} ,{\omega _{p}^{e}} ,{\omega _{p}^{l}} \) and np denotes the origin, destination, earliest departure time, latest arrival time and number of passengers to be transported, respectively. For each Rp, a Generation Procedure for Passengers will be used to generate a bid \({b_{p}^{P}} \).

Let πp(Lop, Lep) denote the original route from Lop to Lep that will be taken if passenger p travels alone. Generation of a bid for a passenger is a based on the route πp(Lop, Lep) from the origin Lop to the destination Lep. The original distance of route πp(Lop, Lep) is denoted by dist(πp(Lop, Lep)), which can be found by applying the Google Distance Matrix API. The bid price fp generated for the requirement Rp is based on a pricing function Pfp(dist(πp(Lop, Lep))). Suppose the travel cost of a route is proportional to the distance of the route. Let ω denote the cost coefficient per km. The cost of taking the route πp(Lop, Lep) is fp = Pfp(dist(πp(Lop, Lep))) = ω × dist(πp(Lop, Lep)). The bid generation procedure generates bid price fp for p ∈{1, 2, 3,...,P}. The bid generated for Rp is\({b_{p}^{P}} =(s_{p1}^{1} ,s_{p2}^{1} ,s_{p3}^{1} ,...,s_{pP}^{1} ,s_{p1}^{2} ,s_{p2}^{2} ,s_{p3}^{2} ,...,s_{pP}^{2} ,f_{p} ) \), where \( s_{pk}^{1} \) denotes the number of seats requested to pick up passengers at location \( L_{k} ,s_{pk}^{2} \) is a non-positive integer that denotes the number of seats to be released due to dropping passengers at location LP + k,,k ∈{1, 2, 3,....,K} and fp is the bid price. Note that \(s_{pk}^{1} \) is greater than zero only if Lk = Lop and \(s_{pk}^{1} \) is zero otherwise; \(s_{pk}^{2} \) is greater than zero only if Lk = Lop and \(s_{pk}^{2} \) is zero otherwise. The Bid Generation Procedure for Passengers is as follows.

1.2 Bid Generation Procedure for Passengers

figure b

1.3 (B) Bid Generation for Drivers

Generation of bids for drivers is a complex task. Two sub-problems are involved to generate bids for a driver. The first sub-problem is to select passengers and the second one is to determine the sequence to pick up and drop the selected passengers for ridesharing. The computational complexity to generate all possible bids for a driver grow explosively with respect to the number of passengers as well as the number of seats of the car. To reduce the computational complexity in generation of bids for a driver, a simple rule is applied to assign requests of passengers according to the origin and destination of the driver and the pick-up/drop-off locations of the passengers’ requests. As drivers usually will not share rides with passengers that are far away, an index called ‘detour ratio’ is defined for drivers to select potential passengers. The proposed procedure calculates an estimated detour ratio \(\tau _{pd} =\frac {\gamma (p,d)}{dist(\pi _{d} (Lo_{d} ,Le_{d} ))}\) of each passenger’s request, where γ(p, d) = dist(Π(Lod, Lop)) + dist(Π(Lop, Lep)) + dist(Π(Lep, Led)), which is the sum of the distance from the origin of driver d to the pick-up location of passenger p, the distance from the pick-up location of passenger p to the drop-off location of passenger p and the distance from the drop-off location of passenger p to the destination of the driver d. Let \(\bar {{\tau }}_{d} \) denote the maximum detour ratio specified by driver d . Only passengers’ requests that satisfy the detour constraint will be selected as the potential passengers for a driver. That is, driver d will consider to meet the requirements of \({b_{p}^{P}} \) only if \(\tau _{pd} \le \bar {{\tau }}_{d}\).

For each driver d, the procedure generates bids based on the requirements of driver \(d,R_{d} =(Lo_{d} ,Le_{d} ,{\omega _{d}^{e}} ,{\omega _{d}^{l}} ,a_{d} )\) and the requirements of passengers’ request \(R_{p} =(Lo_{p} ,Le_{p} ,{\omega _{p}^{e}} ,{\omega _{p}^{l}} ,n_{p} )\). The bid generation algorithm first calculates γ(p, d) and τpd to find the set Bd of requests with ad smallest γ(p, h, d) for driver d. The algorithm then constructs a set of feasible routes Πd to pick up \(q_{djk}^{1} \) and drop off \(q_{djk}^{2} \) passengers associated with Bd subject to the maximum detour ratio \(\bar {{\tau }}_{d} \) specified for driver d and the time constraints described by \({\omega _{p}^{e}} \forall p\in \{1,2,3,....P\}\) and \({\omega _{p}^{l}} \forall p\in \{1,2,3,....P\}\) of individual passengers. Finally, our algorithm calculates the cost cdj for each driver’s route πdj ∈Πd as follows. Suppose driver dD travels by following the route πdj to pick up and drop off passengers. The distance of taking the route πdj(Lod, Led) is denoted by dist(πdj(Lod, Led)), which can be found by applying the Google Distance Matrix API. The bid price placed by driver dD is based on a pricing function cdj = Dfdj(dist(πdj(Lod, Led))). Let cdj = Dfdj(dist(πdj(Lod, Led))) = ω × dist(πdj(Lod, Led)), where ω is the cost coefficient per km. The bid generated for driver dD is\(b_{dj}^{D} =(q_{dj1}^{1} ,q_{dj2}^{1} ,...,q_{djk}^{1} ,...,q_{djP}^{1} ,q_{dj1}^{2} ,q_{dj2}^{2} ,...,q_{djk}^{2} ,...,q_{djP}^{2} , \)πdj, cdj, ad), where \( q_{djk}^{1} \) is greater than zero only if \( q_{djk}^{1} \) passengers are picked up at Lk in route πdj and \( q_{djk}^{2} \) is greater than zero only if \( q_{djk}^{2} \) passengers are dropped at Lk in route πdj. The algorithm to generate bids for drivers is as follows.

1.4 Bid Generation Algorithm for Drivers

figure c

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hsieh, FS., Zhan, FM. & Guo, YH. A solution methodology for carpooling systems based on double auctions and cooperative coevolutionary particle swarms. Appl Intell 49, 741–763 (2019). https://doi.org/10.1007/s10489-018-1288-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-018-1288-x

Keywords

Navigation