好みに基づいてユーザーをグループに割り当てようとしているWebアプリケーションを構築しています。私のアプリケーションには、ユーザー情報が保存される1つのテーブルと、ユーザーの選択が保存される1つのテーブルがあります。
ユーザーは、10から少なくとも1つの選択肢を選択する必要があります。
私はこれらのルールを満たすアルゴリズムを書き込もうとしています:
1。グループには4〜8人のユーザーがいる
必要があります2.各ユーザーは最大で1つのグループに含まれている必要があります
3.グループ内のすべてのユーザーには少なくとも1人の優先ユーザーがいます共通の選択
4.そしてできれば各ユーザーはグループに属する/できるだけ多く
しかし、まだ運がありません。誰かがそのような解決策を見つける方法を知っていますか?また、良い解決策(最善ではない)を見つけるアルゴリズムも高く評価されます。