I have a big boolean formula to solve, due to the reason of the redaction, I have to paste an image here:
Also, I have already a function area
to measure the dimension of 4 integers: area(c,d,e,f)=|c−d|×|e−f|
I would like to do more than just figuring out if the formula is satisfiable: I am looking for an optimal 6-tuple (a,b,c,d,e,f)
which makes the big formula TRUE
and area(c,d,e,f)
is greater or equal to the dimension of any other 6-tuple which also satisfies the formula.
In other word, find Max(area(c,d,e,f))
subjet to the big formula.
I am wondering if SMT solver could help on this problem. I learn that Z3
supports quantifiers
, and be able to say if a boolean expression is satisfiable or not. But the question is if Z3
could help find the optimal solution for the function area
.
Does anyone have any idea? Any comment about SMT solver, Z3 or other algorithms will appreciated...