0
$\begingroup$

Is the an algorithm that would help solve this problem:

Teams are swapping members.

Each team has preferences for members it 'wants' from other teams.

Each member has preferences for the teams its 'wants' to join.

Overall matches can only go through (be accepted) if they are balanced. i.e. the number of people leaving a team has to equal the number arriving to the team.

It feels like a stable matching or a top trading cycle problem but I'm not sure how to set it up with the constraint that what goes into a team must come out for the matches to work.

Would be very grateful for any advice

Edit: Thank you, Aaron and Narek for helping me make the question clearer.

A valid solution would be pareto efficient and strategy proof. I did initially think of stable matching but I came to the conclusion that stable matching would lead to two few valid matches (once you put the one-in, on-out constraint).

Number of teams 10-15, each with between 2 and 10 members, each team is has five preferences of members in other teams, and each member can state 5 five preferences of teams it out join.

$\endgroup$
4
  • 1
    $\begingroup$ Can you edit the question to add some clarification on what counts as a valid solution to the problem, other than respecting the balance restriction? I.e. do we need the solution to be a stable matching, or some other optimality criterion? $\endgroup$ – Aaron Rotenberg Dec 31 '19 at 14:58
  • $\begingroup$ Thanks for your help! I have tried to answer your questions but let me know if there's anything else I can clarify. $\endgroup$ – hkman Jan 2 '20 at 13:49
  • $\begingroup$ Welcome to CS.SE! No need for "EDIT:" - instead, revise your question to read well for someone who encounters it for the first time. See cs.meta.stackexchange.com/q/657/755. $\endgroup$ – D.W. Jan 2 '20 at 19:19
  • $\begingroup$ Can you give a self-contained definition of what is meant by 'pareto efficient' and 'strategy proof' in this context? $\endgroup$ – D.W. Jan 2 '20 at 19:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.