特定の変数の値を変更するとコストがかかるCSPモデルを考えてみます。目的関数が検索プロセス中に変数の値の変化の数も考慮する作業はありますか?
例:変更にコストがかかる変数が他のエージェントの制御下にある可能性があり、変数を変更するためにそのエージェントを関与させるオーバーヘッドがいくつかあります。別の例:変数は制約の1つに参加し、この制約の満足には、高価な関数(シミュレーターなど)の呼び出しが含まれます。たとえば、は制約で、は高価です。計算機能。したがって、とは変更が高価な変数です。
1
目的関数はCSPの最終的な値について話し、検索プロセスを認識しません。したがって、標準的な定式化では、そのような変数の変更はCSPモデルに公開されません。Chocoなどの一部のソルバーは、検索プロセスをガイドするためのヒューリスティックを提供します。これらの一部は、ユーザーが定義することもできます。おそらく、それが検索の方法を変更する場所です。
—
デイブクラーク
しかし、なぜ目的関数は、ソリューションを思い付くのにどれほど費用がかかるかを反映しているのでしょうか。その後、問題領域でのソリューションの有用性によってソリューションを比較しないでください。それとも、解決までの時間は現実の問題の一部ですか?
—
ラファエル
分散制約充足の設定にいるようで、ヒューリスティックを探しているようです。
—
Dave Clarke