@article {Kouris2020,
	title = {A versatile package recommendation framework aiming at preference score maximization},
	journal = {Evolving Systems},
	volume = {11},
	number = {3},
	year = {2020},
	month = {Sep},
	pages = {423{\textendash}441},
	abstract = {Package recommendation systems have gained in popularity especially in the tourism domain, where they propose combinations of different types of attractions that can be visited by someone during a city tour. These systems can also be applied in suggesting home entertainment, proper nutrition or academic courses. Such systems must optimize multiple user criteria in tandem, such as preference score, package cost or duration. This work proposes a flexible framework for recommending packages that best fit users{\textquoteright} preferences while satisfying several constraints on the set of the valid packages. This is achieved by modeling the relation between the items and the categories these items belong to, aiming at recommending to each user the top-k packages that cover their preferred categories and the restriction of a maximum package cost. Our contribution includes an optimal and a greedy algorithm, that both outperform a state-of-the-art system and a popularity-based baseline solution. The novelty of the optimal algorithm is that it combines the collaborative filtering predictions with a graph-based model to produce package recommendations. The problem is expressed through a minimum cost flow network and is solved by integer linear programming. The greedy algorithm has a low computational complexity and provides recommendations which are close to the optimal one. An extensive evaluation of the proposed framework has been carried out on six popular recommendation datasets. The results obtained using a set of widely accepted metrics show promising performance. Finally, the formulation of the problem for specific domains has also been addressed.},
	issn = {1868-6486},
	doi = {10.1007/s12530-018-9231-2},
	url = {https://doi.org/10.1007/s12530-018-9231-2},
	author = {Kouris, Panagiotis and Varlamis, Iraklis and Alexandridis, Georgios and Stafylopatis, Andreas}
}
