Here are the approaches I have.
Approach 1:
- randomize the list
- look through the list line by line and move any item with x feature up a number of lines (probably a random number within a range)
Approach 2:
- sort the list by random
- sort the list by (has x feature) and (doesn't have x feature)
- look through the list line by line and do a soft shuffle by moving every item up or down a random number (within a range) of lines
That's all I've got. They both have their obvious disadvantages and would result in very different lists (the first may leave "preferred" individuals very close to the bottom, and the second would surely start with all preferred individuals before moving on). Of the two, I think I like the first better, simply because I plan on having users select up to two "prefer x" options.
Anyway, I'd love to hear your genius.
