1

配布に関連する次の問題を解決しようとしています-

アイテム (I1、I2、....In) のリスト L が重要な順に並べられており、I1 が最も重要です。各アイテムには複数のタグが割り当てられており、これらのタグの組み合わせはアイテムごとに異なる可能性があるため、I1 はタグ T1 と T2 を持つことができ、I2 はタグ t2、t3 と t4 を持つことができ、I3 はタグ T1 を持つことができます。 .

ここで、このリスト L からバッチを作成する必要があり、(タグに従って) アイテムの分布は次の制約に従います。

  1. 各バッチのサイズは固定 B
  2. 各タグには、最小から最大までの範囲のバッチ配布内のアイテムの範囲があります。したがって、B には、タグ t1 を持つ最小 x1 アイテム、タグ t2 を持つ x2 アイテム、最大 t1 の y1 アイテム、t2 の y2 アイテムなどを含める必要があります。
  3. L の一番上からアイテムを選び始め、制約を満たす最終的な分布に到達するまでバッチを埋め続けます。たとえば、L に 300 個のアイテムがあり、50 個のバッチ サイズを作成する必要がある場合、リスト内の任意の数のアイテムまで移動して、目的の分布を作成するアイテムを選択できます。
  4. アイテムがリストから選択されると、それに割り当てられたすべてのタグの数が 1 増えることに注意してください。

最初に、特定のタグごとに対応するアイテムのリストを作成するソリューションを考えていました。リストから特定のタグに最低限必要な項目を選択します。したがって、アイテムに他のタグが含まれているかどうかに関係なく、タグ t1 を持つアイテムのリストからタグ t1 を持つ x1 アイテムを選択します。このようにして、すべてのタグの「最小」基準が確実に満たされるようにします。しかし、最大の部分では、各タグは間違いなく船外に出ます。バッチのアイテムを L の残りのアイテムに再帰的に置き換えて、最終的な目的の配布を行うにはどうすればよいですか?

他のソリューションは素晴らしいでしょう。または、この問題にアプローチするための正しい方向に導くことができる既存のアルゴリズム。

質問が少し冗長で、おそらく少し混乱していることはわかっていますが、できる限り説明しようとしました。もちろん、問題は非常に興味深いものになると思います。

4

1 に答える 1

0

これは NP 困難な問題です。たとえば、このようにグラフの色を減らすことができます。各頂点はリスト L の要素に対応し、各バッチは色に対応し、各エッジは 2 つのインシデント頂点にのみ存在するタグに対応します。各バッチが各タグを 1 つだけ持つように制約を設定した場合、これは隣接する 2 つの頂点が同じ色にならないように各頂点に色を割り当てることと同じです。

このような状況では、基本的に次の 2 つの選択肢があります。

  1. 遭遇すると思われる種類の入力に合わせて調整された、合理的と思われるヒューリスティックを思いつきます。
  2. 問題を整数計画問題に変換し、lpsolve http://lpsolve.sourceforge.net/5.5/などの利用可能なソルバーを使用します。
于 2013-10-10T16:54:41.163 に答える