3

約 700 の要素があり、20 の組み合わせを作成したいと考えています。可能な組み合わせの総数は [700 C 20] ~ 2.5e+38 の組み合わせです。この大規模なデータセットは、グラフの仕様に属しています。これはグラフの最適化の問題なので、この組み合わせのセットに制約を適用したいと思います。

Rを使っています!豊富なパッケージと大規模なデータセット処理機能により、この目的のために。「combinat」パッケージを使用しています。ただし、問題は、これを計算しようとすると、次のエラーが発生することです。

combn(theDataSet,20,myFunction)
Error in matrix(r, nrow = len.r, ncol = count) : 
  invalid 'ncol' value (too large or NA)
In addition: Warning message:
In combn(theDataSet, 20, myFunction) : NAs introduced by coercion

この問題に対する解決策、代替パッケージ、またはアルゴリズムを歓迎します。おそらく結果を処理する方法はありますか?

また、これはグラフ最適化の問題であるため、これに関連するパッケージやアルゴリズムも非常に高く評価されています。

または、そのような問題を解決するために利用できる他のツールがあれば教えてください。

私は電子工学を専攻しているので、グラフ最適化の高度なアルゴリズムについてはあまり知らず、組み合わせアプローチを取らなければなりませんでした。この問題に対するよりインテリジェントなアプローチがある場合は、知りたいです。

助けてください。

編集:

何人かは実際の問題を求めてきたので、私の実際の宿題の問題をインターネット上に投稿して一行一行の回答を求めるのは名誉なことではないので、私はそれを要約するだけにします.

概要:

約 700 のノードがあり、それぞれがロボットによって毎日再充電される必要があります。ロボット (ドーム内に配置) は、約 5000 ユニットのエネルギーを持つソースを運び、各ノードは異なるエネルギー レベルを必要とします (すべてのノードの平均要件は約 250 ですが、一部のノードでは 120 ユニットから 500 ユニットの範囲です)。ノードの)。ノードからドームまでの距離と、ノードから他のすべてのノードまでの距離が (701x701 の次元のマトリックス形式で) 与えられます。各ロボットが 1 日に移動できる量には制約があります。必要なロボットの数と、すべてのロボットが移動した合計距離を効率的に計算するためのアルゴリズムを設計し、(市販の仕様またはパッケージで) プログラムを作成します。

4

2 に答える 2

11

これらすべての組み合わせを生成することはできません。これは、必ずしも全体的な問題が解決できないことを意味するわけではありません。いくつかのアプローチがあります。

  1. プログラミングを理論分析に置き換えます。ジョブをまったく実行する必要がない場合もあります。
  2. 組み合わせの結果で何をしたいのかを見てください。その特性を使用して、必要な組み合わせのセットを制限し、有用なものだけを生成できますか?
  3. 何かを見つけたときに処理の次の段階を停止できる場合は、データのストリームを処理できるアルゴリズムを作成し、ヒットしたときに停止できるようにしてください。組み合わせが生成されたら、それにフィードします。

より具体的なことは、組み合わせプロセスの結果で何をしようとしているのかを知ることに依存します。

于 2012-11-18T15:24:43.870 に答える
1

おそらく、それほど多くの組み合わせは必要ありません。このボリュームの代表的なサンプルを使用するか、分割して、各セットで実行された分析の結果の数値またはインデックスを定義します。これにより、プロットするポイントが得られ、各ポイントは基本的に N 個の組み合わせのセットを表します。他の選択肢を提案できるようにするには、これらの組み合わせが何を表しているかをもっと知る必要があります。

于 2012-11-18T17:17:17.537 に答える