What is the defining characteristic of integer linear programming (ILP) compared to standard linear programming?
A) It only uses quadratic objective functions
B) It requires all variables to be integers
C) It has no constraints
D) It allows for non-linear relationships