1

好みに基づいてユーザーをグループに割り当てようとしているWebアプリケーションを構築しています。私のアプリケーションには、ユーザー情報が保存される1つのテーブルと、ユーザーの選択が保存される1つのテーブルがあります。

ユーザーは、10から少なくとも1つの選択肢を選択する必要があります。

私はこれらのルールを満たすアルゴリズムを書き込もうとしています:
1。グループには4〜8人のユーザーがいる
必要があります2.各ユーザーは最大で1つのグループに含まれている必要があります
3.グループ内のすべてのユーザーには少なくとも1人の優先ユーザーがいます共通の選択
4.そしてできれば各ユーザーはグループに属する/できるだけ多く

しかし、まだ運がありません。誰かがそのような解決策を見つける方法を知っていますか?また、良い解決策(最善ではない)を見つけるアルゴリズムも高く評価されます。

4

2 に答える 2

1

この問題は、 Miss Manners 2009のDrools Plannerの例に似ています。これは、ゲスト (= ユーザー) をテーブル (= グループ) に割り当て、隣同士に座っているゲストが同じ設定を持っていることを確認することに関するものです。

于 2011-03-08T14:03:26.693 に答える
0

これを強制するアルゴリズムが必要な理由がわかりません。

ユーザーは、10 個の選択肢から少なくとも 1 つを選択する必要があります。

これは UI で実施する必要があります。有効なオプションのリストボックスだけをユーザーに提供したい場合があります。自由なテキスト ボックスの場合は、ユーザーが値を送信した直後に検証します。

これらのルールを満たすアルゴリズムを作成しようとしています: 1. グループには 4 から 8 人のユーザーが必要です 2. 各ユーザーは最大で 1 つのグループに属している必要があります 3. グループ内のすべてのユーザーには、少なくとも 1 人の優先ユーザーがいます共通の選択 4. 各ユーザーがグループに所属する / できるだけ多くのユーザーが所属することが望ましい

各ルールを SQL ステートメントとして記述し、要件に基づいて、データベースの各更新後にこれらの SQL ステートメントをトリガーします。意識して実行する場合は、ストアド プロシージャでこのすべてのルールを毎晩のバッチ ジョブとして実行するようにスケジュールします。

于 2011-03-07T22:42:39.660 に答える