Optimizes constraints that combine both integer and real constraints and use boolean operators. (Boolean operators are especially tricky because they are highly non-linear.)
Three steps
- Strengthen DSL by iterative decomposition
- Select good candidates on convex hull
- (Soundly) Prune infeasible candidates