As to me you can try A genetic algorithm, that exploits the K-means principles for dividing objects in groups having high similarity. Those that lie with in the first, second or so would be selected as best alternatives for your search to fit to the case on hand.