Is there a way to translate arbitrary Boolean functions into ILP. I'm particularly struggling with disjunctions of linear constraints. Is it possible with Simplex at all?
What you may want to do is shift from straight simplex logic, to Fuzzy Logic. I once had a fuzzy-like logic I called grey logic that operated on the integer range between And and Or where the dis/con-junction had an integer value as well.
And was -128 Mu was 0 and Or was 127. (I was experimenting with short integers with the idea that I could program them into the vector math engine in a standard PC.)
GreyLogic having integer values for the And/Or function can however mix And and Or into partial functions which is confusing as far as logic is concerned what is a 20% And and 80% Or function? But just because the function exists doesn't mean you have to use it. You can calculate your logic with integers as if it had only the extreme functions.
The simplest way is to solve the three disjunctions separately and to make the union of the solution. CPlex has the operator OR though. But I suppose you thought of that already?
Maybe it is even sufficient to have a solver that only supports OR but not AND. The only prerequisite is to also have negation. Then you can use De Morgan's Law to remove all ANDs. Together with Frédéric's answer this might help to use existing solvers.