2017-06-17 9 views
1

私はこの問題を「相互乗り継ぎセールスマンの相互の問題」と言います。私は都市の異なる場所にいる人々のグループを持っています。彼らは特定のお店を見にツアーを計画したい。どうすればこの問題を解決できますか? GAやACOなどのメタヒューリスティックアルゴリズムを使用するために問題をモデル化するにはどうすればよいですか?起源の異なるセールスマンのメンバーの旅行を計画してください

+2

何を試しましたか?最小限の作業例を含める必要があります。 –

+0

@ThomasW問題は、この作業を行うための紙や研究または類似のプロジェクトが見つかりませんでした。通常、このような問題を解決するために、メタヒューリスティックアプローチが使用されます。しかし、これらのアプローチの使用には問題があります。異なるユーザーのための異なる経路からなる計画されたツアーは、問題の単一の解決策です(GAでは、それは染色体です)。どのようにしてこの単一のソリューションを形成できますか?また、より良い回答に向けてソリューションを進化させるために進化事業者をどのように適用できますか?同じことがACOで起こっています。どのようにソリューションを形成できますか? – Ebola

答えて

1

私は次のように問題があると仮定します。

  • 各ユーザーは、大きな地図から任意の都市のセットを見たい場合があります。

  • 2人以上が

  • 2人以上が同時に同じエッジを使用することができ、同時に同じ都市にすることができます。

遺伝的アルゴリズムの場合、各染色体は次のようになります。

人のためのルート1 | 人2のルート | 人のためのルート3 ..

生成の例は次のとおりです。

Chromosome1 = 2,6,7,1 | 4,7,2 | 3,5,6
Chromosome2 = 6,7,2,1 | 2,4,7 | 3,5,6

各ルートごとにクロスオーバー操作と突然変異操作を別々に適用する必要があります。パーミュテーション表現には、PMX(Partial-mapped Crossover)のようなクロスオーバ・メソッドを使用できます。ランダムスワップ、挿入、突然変異のスクランブルなどの操作を使用できます。

Ant Colony Optimizationでは、各Antは各反復ですべての人物のソリューションを構築する必要があります。また、人の経路ごとに異なるフェロモン値を保存する必要があります。たとえ彼らが共通の場所を持っていても(例えば、両方とも都市2と3を持っている)、それはこれらの都市間のエッジが同じ望ましさを持たなければならないということを意味しない(2と3の間のエッジは人1に適しているかもしれない。人に望ましくない2)。

だから、それぞれの人のルートを別々に見つけるのが最善だと思います。個人のルートごとにソリューション間で情報交換ができないためです。

+0

あなたの答えは非常に役に立ちましたが、すべてのツアーの長さの合計を最小限に抑えなければならないので、すべてのツアーを一緒に検討する方が良いと思うし、訪問するPOIの順序を管理する必要があります。 – Ebola

関連する問題