2016-07-30 8 views
1

C++ APIを使用してZ3の最適化クラスのタイムアウトを設定する方法を理解しようとしています。Z3:C++での最適化のタイムアウト

この私に私のコード:

context c; 
optimize opt(c); 
z3::params par(c); 
par.set("timeout", 1000); 
opt.set(par); 

しかし、私はラインopt.set(PAR)の "未知パラメータ 'タイムアウト'" の例外を取得します。最適化クラスのタイムアウトを設定することは可能ですか(タイムアウト後、私は最良の解決策を見つけることができますか?)

ありがとうございました!

+0

あなたは睡眠のような意味ですか? Z3 – Charlie

+0

["z3 minimization and timeout"](https://stackoverflow.com/questions/35203432/z3-minimization-and-timeout)に固有のものは、基本的には同じ質問ですが、Python APIを使用しています。ユーザーは、良い解決策を見つけていないようです。 'set_param(" smt.timeout "、1000);を使ったC++ APIでは、' opt.check() '中にタイムアウトするために私のシステム上で動作しますが、ハード制約を解決するときにのみ機能します。他の質問から、最適なモデルは、とにかくそのようなアプローチを使用して返されないように聞こえる。私は私の部分的な答えを削除したので、Z3の開発者はこの問題を未回答のままにしているかもしれません。 –

答えて

0

私はこれが古い質問ですけど、誰もがまだ答えを探しているならば、あなたが必要とする:

Z3_global_param_set(「タイムアウト」、タイムアウト)。

あなたのタイムアウトはC文字列で指定する必要があります。