Abstract
Humans are social animals and usually organize activities in groups. However, they are often willing to split temporarily a bigger group in subgroups to enhance their preferences. In this work we present NightSplitter, an on-line tool that is able to plan movie and dinner activities for a group of users, possibly splitting them in subgroups to optimally satisfy their preferences. We first model and prove that this problem is NP-complete. We then use Constraint Programming (CP) or alternatively Simulated Annealing (SA) to solve it. Empirical results show the feasibility of the approach even for big cities where hundreds of users can select among hundreds of movies and thousand of restaurants.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Currently preferences are visible to all the users. However, mechanisms to hide the individual preferences such as differential privacy [8] are under consideration.
- 2.
We are developing the tool for commercial use.
- 3.
Specifically, the rating value of activity ranges from 0 to 5, where 0 means “no rating information is given”.
- 4.
Public preferences are useful to break the ties when users have very general individual preferences (e.g., I like all the movies).
- 5.
The decision version of the problem requires the “greater or equal” operator. Similar to the theorem presented in [4], our theorem holds because the sum of the preferences is never greater than V.
- 6.
We selected these solvers based on the recent results of the MiniZinc Challenge 2016 [27]. In particular Or-Tools won a golden medal in the Fixed category and HCSP won a golden medal in Free and Parallel category. Chuffed was the second best solver of the entire Challenge after LCG-Glucose-free which is not publicly available. We would remark also that our problem instances have been submitted to the incoming MiniZinc Challenge 2017 [28].
References
Aarts, E.H., Korst, J.H.: Simulated annealing. ISSUES 1, 16 (1988)
AlloCiné (2016). http://www.allocine.fr
Amer-Yahia, S., Roy, S.B., Chawlat, A., Das, G., Yu, C.: Group recommendation: semantics and efficiency. Proc. VLDB Endow. 2(1), 754–765 (2009)
Basu Roy, S., Lakshmanan, L.V., Liu, R.: From group recommendations to group formation. In: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, pp. 1603–1616. ACM (2015)
Boratto, L., Carta, S.: State-of-the-art in group recommendation and new approaches for automatic identification of groups. In: Soro, A., Vargiu, E., Armano, G., Paddeu, G. (eds.) Information Retrieval and Mining in Distributed Environments, vol. 324, pp. 1–20. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16089-9_1
Chu, G., de la Banda, M.G., Mears, C., Stuckey, P.J.: Symmetries and lazy clause generation. In: Proceedings of the 16th International Conference on Principles and Practice of Constraint Programming (CP 2010) Doctoral Programme, pp. 43–48 (2010)
Di Bitonto, P., Di Tria, F., Laterza, M., Roselli, T., Rossano, V., Tangorra, F.: A model for generating tourist itineraries. In: 2010 10th International Conference on Intelligent Systems Design and Applications, pp. 971–976. IEEE (2010)
Dwork, C.: Differential privacy: a survey of results. In: Agrawal, M., Du, D., Duan, Z., Li, A. (eds.) TAMC 2008. LNCS, vol. 4978, pp. 1–19. Springer, Heidelberg (2008). doi:10.1007/978-3-540-79228-4_1
Garcia, I., Sebastia, L., Onaindia, E.: On the design of individual and group recommender systems for tourism. Expert Syst. Appl. 38(6), 7683–7692 (2011)
Gauvin, E.: Allocine helper (2016). https://github.com/etienne-gauvin/api-allocine-helper
Google: Google or-tools (2016). https://developers.google.com/optimization/
Harper, F.M., Konstan, J.A.: The movielens datasets: history and context. ACM Trans. Interact. Intell. Syst. (TiiS) 5(4), 19 (2016)
Ivrii, A., Ryvchin, V., Strichman, O.: Mining backbone literals in incremental SAT. In: Heule, M., Weaver, S. (eds.) SAT 2015. LNCS, vol. 9340, pp. 88–103. Springer, Cham (2015). doi:10.1007/978-3-319-24318-4_8
Jacopo Mauro, T.L.: Minizinc model (2017). http://cs.unibo.it/t.liu/nightsplitter/mzn.html
Khoshkangini, R., Pini, M.S., Rossi, F.: A self-adaptive context-aware group recommender system. In: Adorni, G., Cagnoni, S., Gori, M., Maratea, M. (eds.) AI*IA 2016. LNCS, vol. 10037, pp. 250–265. Springer, Cham (2016). doi:10.1007/978-3-319-49130-1_19
Kompan, M., Bielikova, M.: Group recommendations: survey and perspectives. Comput. Inform. 33(2), 446–476 (2014)
Le Berre, D., Marquis, P., Roussel, S.: Planning personalised museum visits. In: ICAPS (2013)
Lim, K.H., Chan, J., Leckie, C., Karunasekera, S.: Towards next generation touring: personalized group tours (2016)
Mackworth, A.K.: Consistency in networks of relations. Artif. Intell. 8(1), 99–118 (1977)
Masthoff, J.: Group recommender systems: combining individual models. In: Ricci, F., Rokach, L., Shapira, B., Kantor, P.B. (eds.) Recommender Systems Handbook, pp. 677–702. Springer, Heidelberg (2011). doi:10.1007/978-0-387-85820-3_21
Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: towards a standard CP modelling language. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 529–543. Springer, Heidelberg (2007). doi:10.1007/978-3-540-74970-7_38
Perry, M.: Python module for simulated annealing (2017). https://github.com/perrygeo/simanneal
Preston, C.C., Colman, A.M.: Optimal number of response categories in rating scales: reliability, validity, discriminating power, and respondent preferences. Acta psychol. 104(1), 1–15 (2000)
Rossi, F., Van Beek, P., Walsh, T.: Handbook of Constraint Programming. Elsevier, Amsterdam (2006)
Sebastia, L., Garcia, I., Onaindia, E., Guzman, C.: E-Tourism: a tourist recommendation and planning application. Int. J. Artif. Intell. Tools 18(5), 717–738 (2009). http://dx.doi.org/10.1142/S0218213009000378
Smith, B.M.: Modelling for constraint programming. In: Lecture Notes for the First International Summer School on Constraint Programming (2005)
Minizinc Team: Minizinc challenge 2016 (2016). http://www.minizinc.org/challenge2016/challenge.html
Minizinc Team: Minizinc challenge 2017 (2017). http://www.minizinc.org/challenge2017/challenge.html
Liu, T., Mauro, J., Di Cosmo, R., Gabbrielli, M.: Nightsplitter (2017). http://cs.unibo.it/t.liu/nightsplitter
TripAdvisor (2016). https://www.tripadvisor.com
Yelp: Yelp dataset challenge (2016). http://yelp.com/dataset_challenge/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Liu, T., Di Cosmo, R., Gabbrielli, M., Mauro, J. (2017). NightSplitter: A Scheduling Tool to Optimize (Sub)group Activities. In: Beck, J. (eds) Principles and Practice of Constraint Programming. CP 2017. Lecture Notes in Computer Science(), vol 10416. Springer, Cham. https://doi.org/10.1007/978-3-319-66158-2_24
Download citation
DOI: https://doi.org/10.1007/978-3-319-66158-2_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-66157-5
Online ISBN: 978-3-319-66158-2
eBook Packages: Computer ScienceComputer Science (R0)