簡體   English   中英

SMT求解器中約束強化的效率

[英]Efficiency of constraint strengthening in SMT solvers

解決優化問題的一種方法是使用SMT求解器來詢問是否存在(壞)解決方案,然后逐步添加更嚴格的成本約束,直到命題不再可滿足為止。 例如,在http://www.lsi.upc.edu/~oliveras/espai/papers/sat06.pdfhttp://isi.uni-bremen.de/agra/doc/konf/中討論了這種方法。 08_isvlsi_optprob.pdf

這種方法有效嗎? 也就是說,當嘗試用額外的約束來解決時,解算器會重復使用先前解決方案中的信息嗎?

解算器可以重用嘗試解決先前查詢時學習的詞條。 只要你執行一個pop所有的lemmas(自相應的push以來創建)被遺忘,請記住,而不是在Z3中。 因此,要實現這一點,您必須避免使用pushpop命令,並在需要撤消斷言時使用“假設”。 在下面的問題中,我描述了如何在Z3中使用“假設”:Z3中的軟/硬約束

關於效率,這種方法對於每個問題域都不是最有效的方法。 另一方面,它可以在大多數SMT求解器之上實現。 此外,偽布爾求解器(0-1整數問題的求解器)成功地使用類似的方法來解決優化問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM