Algorithm Portfolios : Advances, Applications, and Challenges