私は、遺伝的アルゴリズムと、並列機械スケジューリング問題の混合整数プログラミングモデルを持っています。しかし、数学的モデルは問題を解決するのに時間がかかりすぎるとは考えにくい遺伝的アルゴリズムは時間がかかりませんが、最適解は示されません。だから私は、遺伝的アルゴリズムから解を取って数学プログラミングの出発点にすることが不可能かどうか不思議です。実際に可能ですか?発見的プログラミングと数学的プログラミングの両方を使ってNP困難な問題を解くことは可能ですか?
1
A
答えて
1
従来のブランチとバインドMIPソルバーを使用すると、ヒューリスティックなソリューションを提供する場合(たとえば、対応するコールバックによって)、ソルバーを一定量まで助けることができます。 1つだけでなく、ソリューションプールにさらに多くの情報を提供できます。
- 問題は、ほとんどの場合、MIPソルバーが最適性を証明しようとしていることです。たとえ最適な解が見つかったとしても、数時間と数日を使って最適解を見つけることができます。だから、客観的な値に対してより大きなギャップを設定することができます。これは、最適性のために受け入れられます。通常、それは多くの助けになります。
- 通常、スケジューリングの問題は非常に対称的であり、通常、単純なホルムラチンではかなり悪い結果を出します。あなたのスケジューリング問題の科学文献を探してみてください。スタック交換に関する数学フォーラムにあるかもしれません。
- これらの問題が簡単に定式化された場合、LP緩和はしばしば非常に緊密ではない。多くの場合、少なくとも受け入れ可能なものを実行するには、いくつかのエキストラカットが必要です。これは二元性のギャップにも意味があります。
したがって、客観的価値のために最初に大きな許容差をつけてみてください。次に、対応する発見的なコールバックによって、いくつかの良い(そしてさまざまな解決策)MIP-Solverに渡そうとします。依然として受け入れられない場合は、問題の文献を探してみてください。しかし、私は、MathOverflow-Forumはそれらのモデルトピックに適していると考えています(そして、このトピックよりも熟練した意見があります)。
+0
この詳細な説明は私にとって良い出発点です。今、私はこの答えに対してこの主題に関するいくつかの研究を行うでしょう。ありがとう@トルスステン。 –
関連する問題
- 1. 停止問題はNP困難ですか?
- 2. プログラミングで数学的方程式を実装する際に問題がある
- 3. NP完了またはNP困難?
- 4. 難解なプログラミングと私の分析
- 5. 数学的/プログラミング問題のより良い説明が必要ですか?
- 6. 強化学習と動的プログラミング
- 7. 数学的プログラミング(数学的最適化)Android用ライブラリ
- 8. 「病理学的プログラミング」とは何ですか?
- 9. 科学的なプログラミングの慣行
- 10. Javaプログラミングの新機能、数学コーディングの問題
- 11. 動的プログラミングに関する問題
- 12. プログラミング言語の文化的問題
- 13. Javaでこの基本的なプログラミングをプログラミングする
- 14. 動的プログラミング疑問
- 15. プログラミングで「平均値」を表すことは可能ですか?
- 16. C#でMSオフィスをプログラミングすることは可能ですか?
- 17. すべての可能な組み合わせ動的プログラミングを使用して
- 18. 別のプログラミング言語でセロリを使用することは可能ですか?
- 19. 繰り返しを使用した動的プログラミングの問題
- 20. MVC3基本的なC#プログラミングの質問 - 動的なCRUD XMLアプリ - 問題
- 21. 機能パラダイムの動的プログラミング
- 22. プログラミングで推移的なことは何を意味していますか?
- 23. 機能的で純粋なプログラミング言語
- 24. Rubyによる科学的プログラミング
- 25. 基本的なCプログラミングの質問
- 26. オブジェクト指向プログラミングにCUDA Cを使用することは可能ですか?
- 27. 再帰と動的プログラミング
- 28. データと基本的なRのプログラミング
- 29. 目的のCとスピーディの両方でiPhoneアプリを書くことは可能ですか?
- 30. 機能プログラミングを使用してこのコードを書く方法
@JohnHoerrこの質問は、プログラマのための非常に貧弱な適合です - すぐに投票され、そこで閉じられるでしょうか?[http:// meta。プログラマーズ。スタッキーエクスチェンジ/ a/7274/31260)推奨読書:** [Programmers.SEはどうなっていますか?スタックオーバーフローのためのガイド」(http://meta.programmers.stackexchange.com/q/7182/31260)** – gnat
@gnat:「プログラマーズスタックエクスチェンジは、ソフトウェアに関する概念的な質問に興味を持つ専門プログラマーのための質疑応答サイトです開発。"多分、マストヘッドを更新する時間ですか? –
@JohnHoerrもしすべてがうまくいくなら、私たちがすぐに知っているようにプログラマは存在しないでしょう:http://meta.programmers.stackexchange.com/a/8054/ –