Optimization With Discrete Variables Via Recursive Quadratic Programming: Part 1—Concepts and Definitions