그래서 우리 학교에는 모든 사람들이 다른 활동에 참여하는 날이 있습니다. 각 프로젝트는 10 명의 회원을 가질 수 있습니다. 하루 종일은 2 또는 3 개의 다른 블록으로 나누어 져 활동에 할당 된 학생이 바뀝니다. (따라서 블록 1에서 학생 x는 활동 a에 참여하고 활동 d의 두 번째 블록에는 참여합니다). 이 날이 시작되기 전에 각 학생이 가장 좋아하는 활동 3 개 (또는 4 개)를 말할 수있는 목록을 만듭니다 (두 개에만 참여하며 다시 "가장 좋아하는 것"에서 가장 적은 순서로 순서가 지정됨). 참여하고 싶다. 이제 우리 학생들은 학생들에게 전반적인 만족감을 줄 수있는 방식으로 이러한 학생들을 배정합니다. 그래서 모든 사람들이 자신이 선택한 활동을 많이했거나 적게했습니다.)이 문제를 해결하는 좋은 알고리즘은 무엇입니까? (저는 (심지어는 java) 프로그래밍에 익숙하기 때문에 접근법도 충분할 것입니다. (일부 (의사) 코드도 좋을지도 모르지만) "만족도"를 계산하는 것과는 별도로이 작업을 수행 할 수있는 방법이 있습니까? 가능한 각 솔루션에 대한 가치?활동 단위에 회원을 분배하는 알고리즘 (개별 선호도 포함)
옵션 기능은 다른 사람이 프로젝트에 참여할 수없는 경우 비슷한 것으로 나타납니다 (이 또한 성 차별적 인 것으로 들리며 "여성/남성" "이 활동은이 저울에 따라 유사한 활동을 선택하고 있습니다)
이 질문이 stackexchange에 맞기를 희망합니다. 주제가 완전히 떨어져 있다면 더 적절한 스택에 대해 알려 주어서 기쁩니다.
제안을 기대, 존
프로젝트에 필요한 최소한의 학생 수 또는 1이면 충분합니다. –
그룹에 하나 또는 두 개 이상 있어야합니다. – joz