Nonlinear 0–1 programming: I. Linearization techniques