If given a list of players, their salaries, and their projections, one can easily find the top 'n' projected teams (where a team is a combination of players), such that every team is under the salary cap. Yet, these teams will share very similar rosters. Is there an algorithm that will diversify the solution set, while preserving some sort of 'optimality'? How do mutual funds, wanting to maximize an investment vehicle's expected return, generate diverse indexes and funds?
Effectively you're in a situation similar to a chess engine. You want to find as many possible states within a certain number of moves from a given checkmate state. In chess, solving all of these would be impractical to the point of absurdity but for small state systems, this would be possible. You figure out a given optimal solution for a set of players and so forth. Then you do single permutations on players and then expand the number of players permuted until you've got a solution set that is sufficiently diverse. Thus you can cap the search space to something manageable whilst still maintaining some level of optimization and diversity.