摘要

One of the main concerns in rank aggregation tasks for metasearch service is how to retrieve and aggregate the large-scale candidate search results efficiently. Much work has been done to implement metasearch service engines with different rank aggregation algorithms. However, the performance of these metasearch engines can hardly be improved. In this paper, we transform the top-k ranking task into a multi-objective programming problem when user preferences are considered along with user queries. We build an improved discrete multi-objective programming model to make the aggregate rankings satisfy user queries and user preferences both, and then propose a user preferences-based rank aggregation algorithm accordingly. Based on discrete particle swarm optimization algorithm, we improve the encoding scheme, the initialization methods, the position and velocity definition, the integrating updating process, the turbulence operator, and the external archive updating and leader selection strategy to make sure the candidate results that fit the user's preferences can be located quickly and accurately in a large-scale discrete solution space. We have our proposed algorithm tested on three different benchmark datasets: a public dataset, the real-world datasets and the synthetic simulation datasets. The experimental results demonstrate the efficacy and convergence efficiency of the proposed algorithm over the baseline rank aggregation methods especially when dealing with large amount of candidate results. And when the set of candidate results is of normal size, the proposed algorithm is proved to perform not worse than the baseline methods.