Minimizing a concave function subject to convex constraints is Concave Programming. If the constraints of a Concave Programming problem are compact, as in your example, there must be a global optimum at an extreme of the constraints. In this example, the extreme point of the constrains are the 8 vertices having $x_i = $ 0 or 1. So evaluating the objective function at all 8 points and picking the largest objective value will produce the global optimum. This is a viable method if the number of variables is not too high. If there are (also) semidefinite constraints, explicit enumeration of all extreme points will not be possible. If the constraints are not compact and convex, there need not be a global optimum at an extreme of the constraints.