SR-CFSS is a Branch and Bound algorithm for Social Ridesharing. SR-CFSS has been presented by Filippo Bistaffa, Alessandro Farinelli, and Sarvapali D. Ramchurn in “Sharing Rides with Friends: a Coalition Formation Algorithm for Ridesharing”, Proceedings of the 2015 AAAI Conference on Artificial Intelligence (AAAI), pages 608–614, 2015, AAAI.
SR-CFSS requires g++
to compile, and does not require any external library to execute. In order to employ Twitter as network topology, java
must be installed on the system, and the Twitter GitHub repository must be git clone
'd inside SR-CFSS's root directory.
SR-CFSS must be executed by means of the sr.sh
script, i.e.,
./sr.sh -t <scalefree|twitter> -n <#agents> -s <seed> [-m <barabasi_m>] [-d <drivers%>] [-p <output>]
-t Network topology (either scalefree or twitter)
-n Number of agents
-s Seed
-d Drivers' percentage (optional, default d = 20)
-m Parameter m of the Barabasi-Albert model (optional, default m = 2)
-p Outputs a solution file formatted for PK
SR-CFSS can generate a DOT file that represents the search tree explored during the execution. In order to generate such file, #define
the TREEDOT
constant as the path of the output DOT file inside params.h
, e.g.,
#define TREEDOT "tree.dot"
To render such file as a PNG image, dot
(part of the graphviz
suite) must be installed in the system. Then, execute
unflatten -f -l3 TREEDOT | dot -Tpng -o PNGFILE
where TREEDOT
is the generated DOT file and PNGFILE
is the desired output PNG file.
The ID of each coalition structure (i.e., the labels of the nodes) are printed during the execution of SR-CFSS.
The optimal solution is highlighted in green.
SR-CFSS employs the GeoLife dataset by Microsoft Research presented by Yu Zheng, Quannan Li, Yukun Chen, Xing Xie, and Wei-Ying Ma in “Understanding mobility based on GPS data”, Proceedings of the 10th ACM conference on Ubiquitous Computing (Ubicomp), pages 312−321, 2008, ACM press.