If some or all of the unknown variables are required to be integers, then the problem is called an integer programming (IP) or integer linear programming (ILP) problem.
If understand correctly, the feasible region of a ILP problem is not a convex set. Being not a convex set, ILP problems are in many practical situations NP-hard.
What's the relation between the non-convex sets and the hardness of the problem?