Replies: 1 comment 4 replies
-
You can use assumption literals to bound number of wheels. If the assumption literal appears in an unsat core you create a weaker bound using a new assumption literal. |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
In so-called generative configuration problems, the number of components in a configuration is not known in advance . For example, a vehicle may have 1, 2, 3 or 4 wheels, a number to be determined subject to some constraints on cost and required functionality.
Such a problem could be represented in Z3 using an uninterpreted sort
Wheel
for wheels, so that Z3 would generate wheels as needed. Preliminary investigations show that Z3 tends to create more wheels than needed, significantly impacting performance (because the search space increases with the number of created objects).A Branch & Bound approach could improve performance significanlty: via a setting, we would tell Z3 to create no more than N objects. N would initially be a small number, possibly resulting in
unsat
. It would then be incremented untilsat
.Could that be implemented in Z3 ? I would think it would have other applications as well.
(Related, closed issue: #5672)
Beta Was this translation helpful? Give feedback.
All reactions