我使用Z3 Python绑定通过z3.And(exprs)
创建一个And表达式,其中exprs
是一个对布尔变量的48000个等式约束的python列表。对于具有2.6GHz处理器的MBP,此操作需要2秒钟。
我可能做错了什么?这是z3 Python绑定的问题吗?关于如何优化这种结构的任何想法?
顺便说一句,在我的实验中,这些表达式的构造比解决结果公式花费更多时间:)
答案 0 :(得分:2)
在Python上使用Z3通常很慢。它包括参数检查和编组(_coerce_expr等)。 对于可伸缩性,您最好使用其他绑定之一或尽可能绕过Python运行时。