こんにちは私は問題の同じ入力で異なる解決策が必要なので、非決定論的制約充足問題ツールが必要です。誰かがこの特徴を持つツールについて知っていますか?
私は、Gecode(c ++)、Choco(Java)、Curry(Haskell)のような、決定論的な方法で機能すると思うツールしか知りません。
こんにちは私は問題の同じ入力で異なる解決策が必要なので、非決定論的制約充足問題ツールが必要です。誰かがこの特徴を持つツールについて知っていますか?
私は、Gecode(c ++)、Choco(Java)、Curry(Haskell)のような、決定論的な方法で機能すると思うツールしか知りません。
ランダムなソリューションを取得することが必要な場合、ほとんどのCPツールはランダム化されたヒューリスティックの使用をサポートしています。たとえば、標準のGecodeブランチには、このためのオプションがあります。たとえば、整数変数の場合はINT_VAR_RNDとINT_VAL_RNDです。毎回異なる検索を取得するには、シードを一意に設定してください。
ランダムヒューリスティックを使用しても、分布が保証されるわけではないことに注意してください。たとえば、問題の解決策が2つしかない場合でも、ほとんどすべてのランダムな選択により、解決策の1つが非常に偏った分布になる可能性があります。
パレート最適化(別名多目的最適化)を実行して、ユーザーにパレート最適ソリューションの1つを選択させようとしていますか?
人々は、 BestSolutionRecallerクラスを置き換えるだけで、 Drools Planner(java、オープンソース)を使用してこれを実行しました。このスレッドとこのスレッドを参照してください。Planner 6.0または6.1は、すぐに使用できるパレートサポートを提供します。
Zayenzが言ったことと同様に、フラグを付けてMinion-randomiseorder
を試すことができます。