興味深い組み合わせ最適化問題の生成


9

私はメタヒューリスティックスのコースを教えており、プロジェクトという用語の古典的な組み合わせ問題の興味深いインスタンスを生成する必要があります。TSPに注目しましょう。次元以上のグラフに取り組んでいます。私はランダムから採取された値を用いてコストマトリックスとグラフを生成するために、もちろん試みU 0 1 、及び(ランダムパスの多くをサンプリングして描画された)パスコストのヒストグラムは、(予想通り)ことを見出し非常に狭い正規分布(μ100ですが、σは約4です)200U(0,1)μ 100σ4)。これは、私の意見では、ほとんどのランダムパスは平均を下回り、最小コストパスはランダムパスに非常に近いため、問題は非常に簡単であることを意味します。

だから、私は、次のアプローチを試みた。生成した後 -マトリックスを、グラフの周りに長いランダムウォークを取り、ランダム(ベルヌーイを用いて、P = 0.5)、二重またはエッジの値を半減します。これはすべての値を下げ、最終的にはゼロに達する傾向がありますが、適切な数のステップを実行すると、μが2σが1の分布が得られます。U(0,1)p=0.5μ2σ1

私の質問は、最初に、これは興味深い問題の良い定義でもありますか?理想的には、非常にマルチモーダル(最も一般的な近傍関数の場合)であり、最小値の近くにパスがほとんどないため、ほとんどのランダム解が最適値から非常に離れているインスタンスが必要です。2番目の質問は、この説明を踏まえて、そのような特性を持つインスタンスをどのように生成できるかということです。


3
ORで研究されているように、TSPベンチマークのライブラリを探しますか(たとえば、ApplegateなどによるTSPの作品を検索します(例:ここ))。
Neal Young

2
多くのインスタンスを持つTSPLIBがあります。
adrianN 2013年

おかげで、リンクを確認し、役に立ちましたが、私の質問は、インスタンスを生成することについてです。特定のインスタンスを解決したいのではなく、適切な組み合わせ問題の原因に関する洞察、後で拡張できる洞察を求めているからですTSP以外の問題。
アレハンドロピアド2013年


1
@アレハンドロ、隠されたクリーク問題はあなたが探しているものの例かもしれません。また、満足度のランダムなインスタンスがどの程度難しいと考えられるかについての調査を検索する場合もあります。
Neal Young

回答:


6

より難しいインスタンスを生成する一般的なアプローチの1つは次のとおりです。

  • ランダムな問題のインスタンスから始めます。
  • 「隠れたバックドア」を埋め込む:適切なソリューション(既存のソリューションよりもはるかに優れている可能性が高いもの)をランダムに選択し、問題のインスタンスを修正して、このソリューションを問題のインスタンスに強制的に埋め込みます。

U(0,1)U(0,c)c<1; 既存の重量を減らします。または、一定の確率で既存のエッジを変更します)。この調整手順により、最適なソリューションが、選択した特別ツアーになる可能性が高くなります。運が良ければ、適切な埋め込みを選択すると、特別なソリューションをどこに隠したかを認識するのも簡単ではなくなります。

このアプローチは、トラップドアの一方向の問題を作成する暗号化の一般的なアイデアに基づいています。つまり、秘密のトラップドアの知識がないと問題を解決することは困難ですが、秘密のトラップドアの知識があれば、問題は非常に簡単になります。秘密のトラップドアをさまざまな難しい問題に埋め込もうとする試みが(トラップドアを追加した後でも問題の厳しさを維持しながら)多くの成功を収めてきました。しかし、この一般的なアプローチは、目的に応じて機能するように思えます。

結果として生じる問題のインスタンスは難しいかもしれませんが、実際的な観点からは興味深いでしょうか?知りません。私を殴る。彼らは私にはかなり人工的に見えますが、私は何を知っていますか?

あなたの主な目標が、実際に関連し、TSPの実際のアプリケーションの代表である問題のインスタンスを選択することである場合、私の提案は、まったく異なるアプローチを取ることです。代わりに、TSPの実際のアプリケーションを調査してから、それらの問題の代表的なインスタンスを探し、それらを対応するTSP問題インスタンスに変換します。これにより、実際の問題から派生した問題インスタンスを操作します。


私はこのアプローチがとても好きです。実際、私が思いついた方法に非常に近く、さまざまな問題にかなり適応できるようです。私の最初の動機は学生のためのテスト問題を作ることでした、それで私は本当の言葉の問題を取得しますが、このかなり人工的な状況(学生のアルゴリズムを採点しようとする)のために私をうまく処理します。いずれにせよ、私はそれを私の研究ニーズにも適合させようと思いますが、あなたが言うように、そのように作成されたインスタンスが十分に代表的であるかどうかを判断するために、より詳しく調べる必要があります。どうもありがとう、あなたは私の+1と承認を得ました。
Alejandro Piad 2013年

3

多くの場合、ソリューションの性質を高度に制御できるアプローチは、あるNPの完全な問題から別のNPの問題への変換です。今、あなたはあなたの質問に「興味深い」を統計的な方法で定義しますが、別のきちんとしたアプローチは、フィールドからの古典的な問題を使うことです。私のお気に入りはファクタリング/ SATです。多数の因子を持つ「滑らかな」数値、または2つの「因子」のみを持つ素数(1つと素数)を見つけるのは簡単です。因数分解を解決するためにSATインスタンスを作成します。解決策は因数です(実際には因数の順列ですが、事前にカウントすることも難しくありません)。

このアプローチでは、「興味深い」、つまりP時間で解決できないハードインスタンスの自然な定義があります。このアプローチは、それ以外の場合は、すなわち、複雑性理論における一番の未解決の問題を解決するだろう非平滑数字を因数分解のために懸命にインスタンスを生成することが保証されてファクタリングの硬さ

次に、問題に変換します。この場合はTSPです。この回答を記入するには、SATからTSPへの直接変換があると便利です。SA​​TからTSPへの変換はあると思いますが、慣れていません。ただし、ここでは、この質問でのSATの因数分解に関するいくつかの参照があります:整数因数分解の問題をNP完全問題に削減

因数分解が嫌いな場合でも、さまざまな理由から、最初にSATでインスタンスを作成する方が望ましい場合があります。難易度が容易な遷移点などの中央に配置されるように調整されたランダムなSATインスタンスから始めることができます。または、コミュニティによって生成されたDIMACSハードインスタンスから作業することもできます。または、SATで他の論理的な「プログラム」を作成します。


1
TSPに特に関連するリンクをさらに提供することはありませんが、変換アプローチが好きですが、とにかくアイデアに感謝して、私はそれをより深く探求します。あなたは私の+1を得ました。
アレハンドロピアド2013年

1
@alejandro thx okはその上のリンクです。たとえば、スライド28から始まる[学部生のクラス!]、CMSC 451:SAT、カラーリング、ハミルトニアンサイクル、TSPスライドBy:カールキングスフォード。SAT→ハミルトニアンサイクル(TSP)に変換します。それが望ましい場合は、より効率的な(オーバーヘッドが少ない)変換アプローチがあるか、文献に他の調整された側面がある場合があります。あなたの仕事の詳細を聞きたいと思います。多分ここか私のブログに返信してください
vzn

1
私はPDFをチェックしました、非常に高いレベルですが十分理解できます。とりあえず、@ DWの回答で必要なものを手に入れましたが、あなたのアプローチは私にとって非常に興味深いようです。自分で試してみます。以前に(複雑な学部課程で)削減を確認しましたが、ハードインスタンスを作成するための具体的な実装については考えていませんでした。私は最適化とメタヒューリスティクスに長期的に関心があり、興味のある分野の1つは興味深いベンチマーク問題を作成することです。ところで、あなたのブログをチェックしたところ、確かに戻ってきます!!!
アレハンドロピアド2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.