In short, yes.
Since your formula is made up of quantifiers, I don't think the Microsoft Solver Foundation is the right choice. As you said, Z3 supports quantifiers, integer theory and is used to test feasibility. Although Z3 does not directly support optimization, you can easily code optimization tasks using universal quantifiers:
sat (a, b, c, d, e, f) => (forall a1, b1, c1, d1, e1, f1. sat (a1, b1, c1, d1, e1, f1) && &; Target ( a, b, c, d, e, f)> = goal (a1, b1, c1, d1, e1, f1))
where: sat is your boolean expression for checking feasibility, and goal is the area function, your optimization goal.
As you can see, the wording literally translates from your requirement in the question. The assignment for (a, b, c, d, e, f) is the optimal solution you need to find.
And on the side of the note, Z3 has a Linux distribution and provides an OCaml API that is fully suited to your preferences.