A technique, introduced by the Dutchman Jacques Benders, that is used in linear programming. The variables are first divided into groups x and y and the problem is reformulated as one of maximizing (or minimizing) a semi-linear objective function of the form c′x+g(y), subject to constraints such as Ax+h(y)≤b, where g is a known function, h is a known vector-valued function, A is a known matrix, b and c are known vectors, and c′ is the transpose of c.