Combinatorial optimization problems can often be formulated as mixed integer linear programming problems, as discussed in Section 1.4.1.1 in this encyclopedia. They can then be solved using branch-and-cut, which is an exact algorithm combining branch-and-bound (see Section 1.4.1.2 of this encyclopedia) and cutting planes (see Section 1.4.3 of this encyclopedia). The basic idea is to take a linear programming relaxation of the problem, solve the relaxation, and then either improve the relaxation by adding additional valid constraints, or split the problem into two or more subproblems and repeat the process.Gomory first proposed strengthening linear programming relaxations of integer programming problems by incorporating extra constraints (or cutting planes) in the 1950's [28]. These cutting planes are derived from the optimal simplex tableau, so they are broadly applicable.