Binary (Boolean) values are integer values. Therefore, optimization problems with boolean constraints are either integer programming or mixed integer programing (MIP).
Generally, there is no easy algorithm that is guaranteed to find the optimal solution of MIP problems quickly. My reason to believe that is: I can implement a boolean satisfiability (b-sat) problem as a mixed integer programming problem. That means mixed integer programming problems is a super-set of b-sat problems. Since b-sat is NP-complete, mip is NP-hard.
I think KKT condition is more like a check to see if a solution is a local optimum. I don't expect NP-hard problems to have simple analytical solution in general.
Of course, some problems with Boolean constraints can have analytical solution. But there is no general easy way to solve all MIP problems.