web-dev-qa-db-ja.com

NP completeまたはNP実際の問題

誰かが実際にNP completeまたはNPヒューリスティックス、または次善のソリューションなどを追跡することによって)難しい問題を自分の仕事で解決する実際の例を持っていますか?スケジューリング、計画、VLSI設計などで発生することは知っていますが、プログラマーやエンジニアを採用している主な業界でこれを定期的に行っていることを知りたいと思っています。専門知識やライブラリを開発する場合、たとえば、組み合わせ最適化プログラミングジョブの一部としてそれをどこで使用できますか?

個人アカウントはありますか?

17
highBandWidth

私が考えることができるもののいくつか(これらのほとんどは多かれ少なかれ関与してきました):

  • 言語とコンパイラの開発環境。次のような質問:この文法は曖昧な言語を生成しますか? (この問題は実際には決定不可能です!)
  • データ復旧。部分的に失われたデータパケットの再構成または断片化されたファイルの回復。 (ファクトリーの複雑さ)
  • ソフトウェアのセキュリティ。いくつかの観察された動作がそれに起因する可能性があるかどうかを判断するための、ソフトウェアの一部を通るすべての可能な実行パスの評価。 (停止の問題?)
  • ロジスティクス。転送するパケット、そのサイズ、および転送先に基づいて転送の使用を最適化します。 (少なくとも指数関数的)

最短ルートの検索、看護師のスケジュール設定など、多くの標準的な例がありますが、組み合わせの最適化に慣れている場合は、それらについてすべて知っています。

8
Deckard

時間制約のあるシミュレーテッドアニーリングを使用して、タッチパネル製造における巡回セールスマンのような問題を解決しました。各パネルのレーザーエッチングのサイクルタイムから1ミリ秒ごとにひげをそると、スループット、利用率、したがって機械の収益性が向上するので、スクライブパス(非スクライブパス)間のデッドタイム(非スクライブパス)を最小限に抑えることに多大な労力を費やしました(明らかに最適化できませんでした)。

NP問題の難易度を回避するために時間制限付きアルゴリズムを使用しました。最適化の計算に、より最適なパスで節約された時間よりも時間がかかるというリスクを負うことができなかったためです。マシンがパネルをロード位置から最も近いコーナーにあるレーザーヘッドがある位置に移動している間、シミュレーションを実行する時間がありました。移動の数百ミリ秒以内にアルゴリズムが完了することはほとんどありませんでしたが、常に、これまでに使用した単純な非適応モデル(スパイラルパスやスネークパスなど)よりも優れたスクライブパスを返しました。

9
Mark Booth

私は(現在、実際には)複数のローカルDNAシーケンスアライメントのバイオインフォマティクスの問題に取り組んでいます。これのポイントは、いくつかの共通のプロパティ(ChIPチップ実験での類似した発現プロファイルまたは同じ転写因子結合)を持つ遺伝子からの多くの配列が、ある時点で強く整列している場合、おそらくそれらの共通の理由を見つけたということですプロパティ。繰り返しになりますが、私は問題の統計的側面にもっと興味があります。それはNP困難ですが、実際にヒューリスティックを使用することで多くを失うことはありません。問題の興味深い部分であるIMHOは、信号対雑音比の問題です。

7
dsimcha

NP complete/hardの意味はわかりませんが、supply autoplanningis a kindその。

100個の製品SKUの90日先の需要計画があります:ビール! 100の製品SKUは次の場所にあります。

  • レベル1ベースの生の原料は10〜15種類あり、それらは1000リットルの大きな缶で醸造され、1日かかります。
  • 醸造後、いくつかの材料を追加する必要があります(発酵させますか?)、それを10〜15日間休ませてから、15〜20種類のレベル2の原料を入手します。
  • 最後に、準備ができたら、いくつかの材料を追加する必要があります。これはレベル3のもので、飲めるビールと呼ばれます。ccがあります。 30種類のビール;
  • ビールは3 dl、5 dlとして瓶詰めすることができ、特別なネックレス(レベル4)になることもあります。その後、5x4ボックス、6パック(レベル5)として梱包できます。

醸造から包装まで、各操作には機械の「ライン」があります。マシンはより多くの操作を実行できます。たとえば、一部の梱包機は6パックと3パックを作成できますが、他のマシンは6パックしか実行できません。制約があります。スピード、または大きな醸造ケトルは、醸造分です。 6000、最大、8000リットルのビール(ただし、ビールの種類が軽い場合、最小は5000リットル、最大は7000リットル)。など、すべてのレベルで。

タスク:私が述べたように、100種類のレベル5(ボトル入りのパッケージされたもの)の需要計画があります。 5つのレベルすべて、すべてのマシンについて最適製造計画を作成します。マシンスイッチを最小限に抑えます(たとえば、.5、.5、.5、.3、.3、.3は.3、.5、.3、.5、.3、.5よりも優れています。瓶詰め機のデッドタイムが短縮されます)。顧客による優先順位付け:一部の顧客は、有効期限の50%以上が残っている状態でのみビールを出荷する必要があります。等.

ボトルネック(eh)を発見し、これらのポイントに存在しないマシンを追加して代替計画を作成し、最適な仮想シナリオを使用して、新しいマシン。

テキスタイルファクトリーがどのように機能するかを十分に伝える必要がありますか?

(個人的な発言:Web、銀行、およびロジスティクスは難しい分野ですが、製造上の問題と比較すると、赤ちゃんのおもちゃです。)

免責事項:数値はセキュリティ上の理由から歪んでおり、桁は実際のものです。

3
ern0