I'm not sure under which 'algorithm' it falls under, but here is the problem:

I need to match each person to 5 people from the opposite gender (each guy gets 5 girls, each girl gets 5 guys). Not all guy-girl matchings/'edges' are possible, and the edges are weights. Also, I'm not looking for a perfect solution - just a reasonable approximation where most people get as close as possible to 5 matches.

Any idea how to go about it? The traditional stable marriage and assignment solutions don's work in this case.

p.s For context: the real world problem is matching users to girls/guys in their extended social network.