2013-05-30 39 views
7

個別最適化問題(グローバル最適化)を最適化するためにscipy.optimizeパッケージを使用しようとしています。ドキュメントへのアクセス、scipy.optimize.annealで実装されたシミュレートされたアニーリングは同じもののための良い選択であるべきです。しかし、オプティマイザに検索空間の整数値のみを検索させる方法はわかりません。助けてもらえますか?Pythonの離散最適化

説明例:

f(x1,x2) = (1-0.4*x1)^2 + 100*(0.6*x2 -0.4*x1^2)^2

where, $x1, x2 \in I$

答えて

4

私はscipy.optimize.annealチェックしました、と私は離散的な値を使用する方法を見ることはできません。それを自分で実装する方法は、カスタムの「移動」機能を作成することですが、スケジュールを指定する方法(文字列で指定する方法)はそうしないようにします。

私はそれが大きな間違いだと思います。パラメータとしてカスタムスケジュールクラスを渡すことができれば、離散変数などを使用してカスタマイズすることができます。彼らは離散的であるかどうかは、それが持つことができるどのような値に制御している、または、あなたが状態を変更する機能を提供する必要があるため https://github.com/perrygeo/python-simulated-annealing

は、私が見つけた解決策ではなく、この他の実装を使用することです連続。

希望します。

+0

ありがとうございます..スーパー:私はこのようなものを探していました。その間、私は自分自身でSAを実装して、あなたが言ったコントロールを持つようにしました – goofd