2015-11-08 1 views
12

解決されるように求められたユースケースが、旅行セールスマン問題/車両ルーティング問題に属する場合、インタビューのケースが最近出ました。私は、実際の問題が何であるか、問題に数学が関与していることを教えてくれました。私は、下記のユースケースがHadoopのMapReduceパラダイム部分を使って解決できることを説明しました。 (ジムリンとクリス・ダイアーによる「本書のデータ集約型テキスト処理」を参照してください)トラベルセールスマン/ビークルルーティングユースケースの最善の実装

私はgoogleに関するいくつかの調査を行いました 問題は、(x、y)形式で述べた都市の座標と私がgoogleで見た多くの解決策がユニット距離のような他の要素を考慮しているかどうかを質問されました、負の/正の単位の測定などが含まれますので、私は研究と読書をしましたが、もっと混乱しました。 em。経験豊富な人がこれにいくつかの光を当てることができれば、私の混乱を解消し、より良い方法で解決策を理解することが役に立ちます。

会社はのために最善の最適解を見つけようとしている。インタビューで尋ねた

ユースケース(私はもっと混乱して探検全体のソリューションの海を取得しないように)、または誰かが正しい方向に私を指示することができた場合300人の顧客基盤に12人の従業員を奉仕しています。 彼らは、ビジネスが成長し、顧客の変化の場所、新しい場所が追加されるなどの変化に伴い、顧客の要求をどのように満たすことができるかを示す技術ソリューションを求めています。

問題は基本的に、トラベリングセールスマン問題(TSP)または車両ルーティング問題(VSP)の一形態です。以下のことをここで完了する必要があります。

開始座標は(0,0)で、都市座標の例は以下のとおりです。ここ は、入力としてテキストファイルで提供ワーキング溶液が期待している座標である:

このNP困難問題かそうでない場合は異なる可能性がどのような権利 方法を処理するための正しい方法することができ何
X coordinate Y Coordinate 
420 278 
421 40 
29 178 
350 47 
298 201 
417 186 
378 134 
447 239 
42 114 
45 199 
362 195 
381 243 
429 1 
338 209 
176 9 
364 26 
326 182 
500 129 
190 51 
489 103 
368 142 
132 260 
305 200 
446 137 
375 154 
440 190 
9 118 
437 32 
383 266 
  1. 彼らの長所/短所とアプローチ。

  2. 解析に基づく問題の多くは、これを解決するために何らかの視覚化を行うことができるため、 です。いくつかのグラフやR /アナリティクスツールのようなもの

さらに詳しい情報が必要な場合や、私が読んで理解しやすい箇所があれば教えてください。私は「事前

+0

私は、あなたが探している専門家ではない、ので、私は答えとして、この単純化しすぎコメントを投稿するにはあえてしないでしょう。基本的には、座標間のパスを記述し、次にハミルトニアンサイクルを見つけることができます。多くの共通ライブラリは、それらのサイクルを計算することができる。 [igraph](http://stackoverflow.com/questions/26557533/hamiltonian-path-using-igraph)(私はhadoopについてはわかりません)。 [この質問](http://stackoverflow.com/questions/16115942/finding-all-hamiltoniancycles)はJavaのソリューションを指します。それが役に立てば幸い。 – lrnzcig

+0

従業員数は、複数の事業所を話したかったというヒントかもしれません。「最適」と「最適」は目標とコスト関数を必要とする。 – greybeard

答えて

0

おかげで何の専門家でありませんが、あなたはちょうどあなたが、すべてをカバーするまで、そのポイントのプロセスを繰り返し、起源と他のすべての点の間の距離を計算し、最も近い点を見つけることができませんでしたポイント?

+0

いいえいくつかの例では、恐ろしい結果が得られます。同じポイントの周りを行き来することができます。なぜなら、次のものが反対側のものより少し離れているからです。 – Sorin

+0

あなたはすべての可能なパスを計算し、最小の距離でそれを取ることができますか? – Paul

+0

はい、あなたは 'n! '可能なパスを持っています。 – Sorin

3

NP問題を解決する正しい方法はありません。複雑さは指数関数的であるため、簡単な例以外のものには非常に長い時間がかかるでしょう。

しかし、実際の答えにかなり近づく可能性があり、アプリケーションには十分に良い近​​似値があります(最短経路ではなく、その相対的範囲内です)。

wikipedia pageをご確認ください。彼らにはいくつかの例があります。

+0

私が理解する限り、トピックの開始にはmTSPの問題があります。 (m - multiple)、このセールスマンは異なるポイント(例えば自宅や自宅から)から始まります。この状況では、私たちはこの問題の大きさに最も適した解決策については言及しておらず、近似が必要です。 Wikiページには、多かれ少なかれ古典的な配合物/溶液が含まれています。 –

+0

私はあなたが何を言おうとしているのか明確に述べました。私の質問は、誰でも最高の解決策を提案できるかどうかです。 – user1188611

2

私はインタビューでこの質問をしました - このpaperに記載されているようなものを提案します。あなたの仕事の処方に最もよく似ています。このホワイトペーパーでは、すべてのセールスマンが1つの点から始まって複数のセールスマンの問題を解決するための最適化された近似アプローチを見つけることができます。特定のセールスマンの自宅/自宅で始まる、個々のトラベルセールスマンのサブ問題を解決することによって、従業員がどこに残っているかを知ることができます(クラスタリングは主要問題を古典的問題に分割します)。

座標の入力だけでなく、場所のグラフがある場合、k-meansをMCLのようなグラフクラスタリングアルゴリズムに置き換えることができます。

+0

他の回答については上記と同じですが、質問に対する回答を提案して質問に回答してから回答することはできません。 – user1188611

+0

「12社の従業員と300名の顧客ベースにサービスを提供する最適なソリューションを探しています」+それはTSPのバリエーションです。当社には従業員である複数の「営業マン」がいます。論理的には、1つまたは複数の「ホームオフィス」があります。彼らはTSPのモデルに従ってポイントを訪問する必要があります。だから、私たちは古典的なmTSPの問題か、あなたからのセールスマンのための異なる出発点を持つmTSPを持っています。それは単なる質問です。 +入力が距離(座標ではない)の場合 - 私はグラフのMCLを提案しました。私は問題定義のための修正を提案しませんでした。 –

+0

@ user1188611一般的に、私はあなたのコメントを本当に理解していません。関連する論文を提供するための正式版の選択です。ところで、幸いなことに、この強力な配合(mTSP)はあなたの説明に完全に合致しています:) –

2

実際、ドミトリー(Dmitry)は、これは多重走行セールスマンの事例であると言います。 自然にNP困難であることから、面接者は自然界の最適化アルゴリズムを提案することを当然望んでいます。

私は、この場合のキーは、宛先の数と場所の変更にリアルタイムで更新できるアルゴリズムを探していることだと思います。アリコロニーoptimisaiton(粒子群最適化の形態)は、実際に、最初の紙とウィキペディアを参照して、巡回セールスマン問題のために製剤化した:

https://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms

「M. Dorigo、V. ManiezzoらA. Colorni、 Antシステム:協力エージェントのコロニーによる最適化、Systems、Man、and Cyber​​neticsのIEEE Transactions - Part B、volume 26、numéro1、pages 29-41、1996。

複数の旅行saleman問題に、その中にいくつかの素晴らしい仕事のために、たとえば、この論文(オープンソース)を参照してくださいので、これは一般化されています:インタビューの状況で

http://www.researchgate.net/publication/263389346_Multi-type_ant_colony_system_for_solving_the_multiple_traveling_salesman_problem

を、それが持っている私は詳しくだろう、 1.効率的な発見的解法であること。 2.グラフ内の両方の変化をリアルタイムに更新することができる。 3.ボーナスポイントについては、in silicoの合理的に効率的な解決策が得られると、ドライバー自体にわずかな確率で経路を割り当てることができ、続いて実際のデータで駆動される最適化を実行することができました。

ドミトリーが示唆したように、検索スペースを最初に減らす問題と比べて、合理的に大量の処理能力が必要になる可能性があります。第二に、もし彼らがあなたに実際に同性愛者を描きたければ、これはインタビューの場面ではかなり難しいかもしれません。

興味深い質問:)

+0

あなたは私が私の質問で尋ねたものの英語版を与えています。私の質問は、あなたが問題への異なるアプローチを示唆することができれば、私が知らないインタビューで質問に答える異なるアプローチではないことを明確に示しています。 – user1188611

関連する問題