Fact-checked by Grok 2 weeks ago

Cutting-plane method

The cutting-plane method is an iterative algorithm in used to solve integer linear programming (ILP) and mixed-integer linear programming (MILP) problems by enhancing the (LP) relaxation. It begins by solving the LP relaxation to obtain an optimal solution, which may be fractional; if so, valid inequalities known as cutting planes are generated and added to the formulation to exclude the fractional point from the while preserving all integer feasible solutions. This process repeats, tightening the LP bounds toward the of integer solutions until an integer optimal solution is achieved. The method was pioneered by mathematician Ralph E. Gomory in 1958, who introduced it as a finite procedure for pure integer programs in his paper "Outline of an Algorithm for Integer Solutions to Linear Programs," published in the Bulletin of the . Gomory's original approach focused on deriving cuts from the optimal tableau of the LP relaxation, ensuring convergence in a finite number of steps for problems with bounded feasible regions. Over time, the technique evolved to handle mixed-integer cases and was integrated into branch-and-cut algorithms, combining cutting planes with branch-and-bound for practical efficiency in large-scale problems. Central to the method are various types of cutting planes, each designed to strengthen the relaxation. Gomory cuts, the foundational type, are derived from a basic feasible solution's tableau row by using fractional parts of coefficients to form inequalities like \sum (a_j - \lfloor a_j \rfloor) x_j \geq b - \lfloor b \rfloor, where a_j and b are from the , ensuring the cut eliminates the current fractional . Extensions include Chvátal-Gomory cuts, which round coefficients after nonnegative combinations of original , and Gomory mixed-integer (GMI) cuts, tailored for MILPs by partitioning variables into integer and continuous sets. Split cuts, based on integer disjunctions, further generalize the approach by considering unions of polyhedra defined by conditions like \pi x \leq \beta or \pi x \geq \beta + 1. In practice, cutting-plane methods address the separation problem—finding violated inequalities—through exact or procedures, often integrated into solvers like CPLEX or Gurobi. They have proven effective in applications such as the traveling salesman problem, where subtour elimination and comb inequalities serve as cuts, and knapsack or set-packing problems, dramatically reducing computation times by improving bounds early in the process. Despite challenges like slow convergence and numerical instability in some instances, the method remains a cornerstone of modern integer optimization, with ongoing research enhancing cut generation and selection.

Overview

Definition and Principles

The cutting-plane method is an optimization algorithm employed in to solve problems where variables must take values. It operates by iteratively solving a (LP) relaxation of the original program and adding linear inequalities, called cuts, to eliminate non- (fractional) solutions from the while preserving all feasible solutions. This process refines the polyhedral approximation of the feasible set until an -optimal solution is obtained. Central principles of the method require that each cut be valid—satisfied by every point in the integer feasible set—and separating—violated by the current relaxation's optimal solution. Valid cuts ensure no solutions are erroneously excluded, while separating cuts progressively tighten the relaxation by "cutting off" fractional vertices, improving the bound on the objective function without altering the integer optimum. This dual property allows the method to converge to the of the feasible integer points through successive polyhedral intersections. The general workflow follows an iterative loop: initialize the LP relaxation, solve it to obtain an optimal solution, check for integrality, generate and add a valid separating cut if fractional, and re-solve the updated relaxation. This can be expressed in high-level as:
Initialize [LP](/page/LP) relaxation P from the integer program
While the optimal solution x* of P is not integer-feasible:
    Identify a fractional [vertex](/page/Vertex) x*
    Solve the separation problem to generate a valid cut violated by x* (e.g., πx ≥ π₀ where πx* > π₀)
    Add the cut to P
    Re-solve P
Return the integer-optimal x*
The separation step typically involves deriving cuts from the simplex tableau or other oracles for the . For illustration, consider the one-dimensional program: minimize x subject to x \geq 1.5, x , x \geq 0. The LP relaxation solves to x^* = 1.5. A valid separating cut is x \geq 2, as it holds for all feasible integers (e.g., x = 2, [3, \dots](/page/3_Dots)) but is violated by 1.5. Adding this cut yields a new relaxation with optimum x = 2, which is -feasible and optimal.

Motivation and Role in Optimization

Integer linear programming (ILP) problems are NP-hard primarily due to the integrality constraints on decision variables, which prevent the direct application of efficient polynomial-time algorithms available for their continuous counterparts. These constraints ensure that solutions must lie in a discrete feasible set, often leading to in search spaces for large instances. To address this, practitioners commonly solve the (LP) relaxation by dropping the integrality requirements, yielding a solvable continuous approximation that provides a lower bound on the optimal ILP value but typically results in fractional solutions outside the integer . Cutting-plane methods play a crucial role in optimization by iteratively adding valid linear inequalities—known as cuts—to the LP relaxation, thereby tightening the polyhedral approximation of the original discrete feasible set and eliminating fractional points. This process bridges the gap between the continuous relaxation and the of integer points, progressively improving the and accelerating convergence toward integer-optimal solutions without exhaustive enumeration. By refining the relaxation, cuts enhance the quality of bounds obtained from each LP solve, making the method particularly effective for mixed-integer programs where the is nonconvex due to integrality. In comparison to branch-and-bound algorithms, which partition the search space through local branching on fractional variables, cutting planes provide global tightening of the formulation applicable across the entire tree, often reducing the number of nodes explored in large-scale problems. This complementary strengthening allows branch-and-cut hybrids to outperform pure branch-and-bound by leveraging cuts to prune infeasible or suboptimal branches more efficiently, especially in high-dimensional instances. Theoretically, the motivation for cutting planes stems from foundational results like , which guarantees the existence of a separating for points outside a defined by linear inequalities, enabling the systematic generation of valid cuts that exclude fractional solutions while preserving integer feasibility. Ultimately, the goal is to approximate the of the integer points within the original , the tightest convex relaxation containing all feasible integer solutions and serving as the ideal target for exact optimization.

Mathematical Foundations

Linear Programming Relaxation

The standard formulation of an integer linear program (ILP) is to minimize \mathbf{c}^\top \mathbf{x} subject to A\mathbf{x} = \mathbf{b}, \mathbf{x} \geq \mathbf{0}, where \mathbf{x} is required to be integer-valued. The (LP) relaxation of this ILP is obtained by removing the integrality constraints on \mathbf{x}, resulting in the continuous optimization problem: minimize \mathbf{c}^\top \mathbf{x} subject to A\mathbf{x} = \mathbf{b}, \mathbf{x} \geq \mathbf{0}. This relaxation provides a lower bound on the optimal value of the original ILP, denoted z_{LP} \leq z_{IP} for minimization problems (or z_{LP} \geq z_{IP} for maximization), since the feasible set of the LP contains all integer feasible points. From a perspective, the feasible set of the relaxation is the P = \{ \mathbf{x} \in \mathbb{R}^n \mid A\mathbf{x} = \mathbf{b}, \mathbf{x} \geq \mathbf{0} \}, which is the of its points. The hull P_I is defined as the of the points within P, i.e., P_I = \conv\{ \mathbf{x} \in P \mid \mathbf{x} \in \mathbb{Z}^n \}, which is itself a when P is rational. Cutting-plane methods aim to approximate P_I by iteratively tightening P toward this hull, but the initial relaxation serves as the starting whose optimal solution often lies outside P_I, highlighting the integrality gap. To solve the LP relaxation, algorithms such as the simplex method or interior-point methods are employed. The simplex method proceeds by moving along the edges of the polyhedron from one basic feasible solution to another, where a basic feasible solution is defined by selecting a basis B of m linearly independent columns from A (assuming A is m \times n with m < n), solving for the basic variables x_B = B^{-1} \mathbf{b} - B^{-1} N \mathbf{x}_N \geq \mathbf{0} with non-basic variables x_N = \mathbf{0}, until optimality is reached. Interior-point methods, in contrast, generate a sequence of points in the strict interior of P that converge to an optimal vertex, often providing faster performance on large-scale problems. The output is typically an optimal basic feasible solution, which identifies basic and non-basic variables for subsequent analysis in cutting-plane procedures. A representative example is the 0-1 knapsack problem, formulated as maximize \sum_{i=1}^n v_i x_i subject to \sum_{i=1}^n w_i x_i \leq W, x_i \in \{0,1\} for i=1,\dots,n, where v_i > 0 are values, w_i > 0 are weights, and W > 0 is the capacity. The LP relaxation replaces x_i \in \{0,1\} with $0 \leq x_i \leq 1, which can be solved greedily by sorting items in decreasing order of v_i / w_i and filling the knapsack fractionally. For instance, with n=3, W=10, weights w=(6,5,3), and values v=(10,8,5), the ratios are approximately 1.67, 1.60, and 1.67; the optimal LP solution is x_1=1, x_3=1, x_2=0.2 (filling the remaining capacity of 1 with a fraction of the second item), yielding z_{LP} = 10 + 5 + 1.6 = 16.6. The optimal integer solution is x_1=1, x_3=1, x_2=0 with z_{IP}=15, illustrating the gap where z_{LP} > z_{IP}.

Validity and Separation of Cutting Planes

In integer linear programming, a cutting plane, expressed as an inequality \alpha^\top x \geq \beta, is valid for the hull P_I = \conv\{x \in \mathbb{Z}^n : Ax = b, x \geq 0\} if it is satisfied by every point in P_I. Such inequalities are derived from the integrality constraints, often through arguments that exploit the fact that solutions must satisfy \lfloor \alpha^\top x \rfloor \geq \lceil \beta \rceil for appropriately chosen coefficients, ensuring no feasible point is excluded. Validity guarantees that the cutting plane tightens the without altering the optimal solution. The separation property ensures that a valid cutting plane effectively excludes fractional points from the relaxation. Specifically, for an optimal \bar{x} to the , the cut separates \bar{x} if \alpha^\top \bar{x} < \beta, thereby violating the inequality and forcing the relaxation to adjust. The separation problem itself is formulated as an optimization task over the dual of the integer hull's description, seeking to maximize the violation \beta - \alpha^\top \bar{x} subject to the cut being valid for P_I; if the maximum violation is positive, a separating cut is returned. This process is computationally challenging, as solving the exact separation problem is generally NP-hard, though heuristics or approximations are often employed in practice. Cutting planes preserve the integer feasible set because their validity ensures no point in P_I is removed, as each inequality is derived to hold for all integer solutions. Regarding convergence, adding a valid separating cut strictly reduces the feasible region of the relaxation by eliminating at least the current fractional vertex \bar{x}, and since the number of possible facets of the polyhedron is finite, repeated application leads to either an integer solution or the convex hull P_I. A key computational abstraction is the separation oracle, which, given a point \bar{x}, either certifies that \bar{x} \in P_I (i.e., no violated cut exists) or produces a valid separating cut. The oracle's output can be quantified by the violation measure \max\{0, \beta - \alpha^\top \bar{x}\}, where a positive value indicates the extent to which the cut improves the bound. This framework underpins the efficiency of cutting-plane methods, allowing iterative refinement without exhaustive enumeration of all valid inequalities.

Core Algorithms

Gomory's Cutting Planes

Gomory's cutting planes were introduced by in 1958 as a finite algorithm for solving pure integer linear programs, where all decision variables are constrained to be integers. The method assumes the integer program is given in standard form with non-negative integer variables and relies on iteratively tightening the linear programming relaxation through valid inequalities derived from the simplex tableau. The procedure operates on the optimal tableau of the LP relaxation, which expresses the basic variables in terms of non-basic variables. To generate a cut, select a row i where the right-hand side \bar{b}_i is fractional (non-integer). This row can be written as \bar{b}_i = \sum_{j \in N} \bar{a}_{ij} x_j + \sum_{k \in B \setminus \{i\}} \bar{a}_{ik} x_k, where N is the set of non-basic variables, B is the set of basic variables, and all x_j, x_k \geq 0 are integers in the original problem. Since the variables are integers, the integer parts of the equation must balance, leaving the fractional parts to satisfy \{ \bar{b}_i \} = \sum_{j \in N} \{ \bar{a}_{ij} \} x_j + \sum_{k \in B \setminus \{i\}} \{ \bar{a}_{ik} \} x_k, where \{ \cdot \} denotes the fractional part. However, because the basic variables x_k (except the one for row i) are expressed in terms of non-basics and are non-negative integers, the terms involving them contribute non-negative fractions less than 1. To derive a valid cut excluding the current fractional solution, focus on the non-basic representation: let f_j = \{ \bar{a}_{ij} \} for j \in N and f_i = \{ \bar{b}_i \}. The resulting is \sum_{j \in N} f_j x_j \geq f_i. This inequality is valid for all integer points in the feasible region and cuts off the current LP optimum since the equality would hold only if all relevant x_j = 0, which contradicts the fractional \bar{b}_i > 0. The algorithm proceeds as follows:
  1. Solve the relaxation to obtain an optimal and its tableau.
  2. If all basic variables are -valued, terminate with the solution. Otherwise, select a row i with fractional \bar{b}_i.
  3. Derive and add the Gomory fractional cut to the formulation.
  4. Re-optimize the updated LP, typically using the dual method to exploit the warm start from the previous solution.
  5. Repeat until an solution is obtained.
Consider the following two-variable integer linear program: maximize x_1 + x_2 subject to -5x_1 + 4x_2 \leq 0, $5x_1 + 2x_2 \leq 15, x_1, x_2 \geq 0 integer. The LP relaxation yields the optimal solution x_1 = 1.5, x_2 = 1.875, with tableau row x_2 + \frac{1}{6} y_1 + \frac{1}{6} y_2 = \frac{15}{8} (where y_1, y_2 are slacks or non-basics). The fractional parts give the cut \frac{1}{6} y_1 + \frac{1}{6} y_2 \geq \frac{7}{8}, which simplifies to x_2 \leq 2 after substitution. Re-solving yields a new optimum x_1 = 2.2, x_2 = 2, and the next cut from a fractional row produces x_1 \leq 2, leading to the integer solution x_1 = 2, x_2 = 2 with objective 4. For bounded pure integer programs with a finite optimum, the method converges in a finite number of steps, as each cut strictly decreases the maximum in the optimal solution, and there are only finitely many possible fractional values greater than the current one.

Chvátal-Gomory Cuts

The Chvátal-Gomory cuts were developed by V. Chvátal in as a systematic way to generate valid inequalities for the of integer points in rational polyhedra, building on R. E. Gomory's foundational work in from 1958. These cuts apply specifically to pure linear programs of the form Ax \geq b, x \geq 0, x integer, where A has rational entries and b is rational. Unlike tableau-based , the procedure operates directly on the constraint through non-negative combinations and , offering a simpler computational approach for deriving cuts that tighten the . The generation of a Chvátal-Gomory (CG) cut proceeds as follows: select a non-negative rational vector u \geq 0 and form the combined inequality uAx \geq ub, which is valid for the original polyhedron. The CG cut is then obtained by rounding: \lceil uA \rceil x \geq \lceil ub \rceil. This inequality is valid for all integer feasible solutions because, for integer x \geq 0, \lceil uA \rceil x = uAx + \sum ( \lceil (uA)_j \rceil - (uA)_j ) x_j \geq uAx \geq ub, and since the left-hand side is integer-valued, it follows that \lceil uA \rceil x \geq \lceil ub \rceil. The closure of a is defined as the set of points satisfying all rank-1 cuts, obtained by applying the procedure once to the original constraints. Higher-rank closures involve iteratively applying the procedure to the previous closure, yielding the rank-k closure. Chvátal showed that repeated application produces a hierarchy of polyhedra converging to the integer hull, with the rank measuring the number of iterations needed. For rational data, the process terminates in finite steps, as established by Schrijver, who proved that the integer hull is reached after a finite number of rank increases, bounded by the dimension of the space. A simple example illustrates the tightening effect. Consider the inequality $0.4x + 0.7y \geq 1.1 with x, y \geq 0 . The integer feasible points include (3,0), (1,2), (0,2), etc. The LP relaxation admits the fractional point (0, 1.571), since 0.71.571 ≈1.1. Choosing u = (1, 2), uA = 0.4 + 1.4 = 1.8, wait, no—for single inequality, u scalar. For u=2, uA=(0.8, 1.4), ub=2.2 . Then \lceil 0.8 \rceil x + \lceil 1.4 \rceil y \geq \lceil 2.2 \rceil, i.e., $1x + 2y \geq 3. At (0,1.571): 0 + 21.571 ≈3.142 ≥3 true, not cut. Better example: consider fractional solution needing cut. Alternatively, for standard illustration, note that CG cuts can eliminate fractionals; for instance, in the fractional matching , they generate odd-set . This reduces the feasible region's volume, bringing the relaxation closer to the . CG cuts exhibit several key properties: for rational input data, the procedure guarantees finiteness, with the Chvátal rank bounded exponentially in the dimension but finite, ensuring the integer hull is obtained after finitely many iterations. They are weaker than full Gomory cuts derived from LP tableaux, as the latter can generate more inequalities in a single step, but CG cuts are computationally simpler, requiring only matrix multiplications and rounding without solving subproblems or maintaining basis information. This trade-off makes them suitable for initial strengthening in iterative algorithms.

Advanced Techniques

Mixed-Integer Gomory Cuts

Mixed-Integer Gomory cuts extend Gomory's cutting-plane procedure to mixed-integer linear programs (MILPs), where decision variables include both integers and continuous reals, enabling the generation of valid inequalities that tighten the without excluding feasible integer solutions. Introduced by E. Gomory in 1960, these cuts address the challenge of fractional solutions in MILP relaxations by incorporating the distinct natures of integer and continuous variables. Unlike pure-integer cuts, they allow continuous variables to adjust freely while enforcing integrality on discrete ones, making them suitable for real-world models like or scheduling. The derivation starts from a row in the optimal simplex tableau of the MILP relaxation, where the basic variable is integer-valued and the right-hand side b_0 is fractional with f_0 = \{b_0\} \in (0,1). The row equation is b_0 = \sum_j a_j^I x_j + \sum_k \tilde{a}_k \tilde{x}_k, where x_j are nonbasic integer variables (with fractional parts f_j^I = \{a_j^I\}) and \tilde{x}_k are nonbasic continuous variables (with \tilde{f}_k = \{ \tilde{a}_k \}). Introducing nonnegative slack variables s_j for integer parts and \tilde{s}_k for continuous parts, the equation becomes f_0 + \lfloor b_0 \rfloor = \sum_j (f_j^I s_j + \lfloor a_j^I \rfloor x_j) + \sum_k (\tilde{f}_k \tilde{s}_k + \lfloor \tilde{a}_k \rfloor \tilde{x}_k). Since integer variables and their slacks are integer, the integer parts balance, leaving the fractional equation \sum_j f_j^I s_j + \sum_k \tilde{f}_k \tilde{s}_k \geq f_0, which forms the basic mixed-integer cut in slack form. Substituting back to original variables yields a cut violated by the current fractional solution. This procedure is functionally equivalent to solving the master cyclic group problem for mixed-integer settings, where coefficients are derived from subadditive functions over the cyclic group \mathbb{Z}/f_0\mathbb{Z}. The resulting inequality aligns with the mixed-integer rounding (MIR) form: for a general MILP row \sum_{j \in J} c_j v_j + \sum_{i \in I} \hat{a}_i x_i = \hat{b} (with \hat{b} = f_0, \hat{a}_i = \{a_i\}, integer x_i \geq 0, continuous v_j \geq 0), the MIR cut is \sum_{j: c_j > 0} \frac{c_j}{f_0} v_j + \sum_{j: c_j < 0} \frac{c_j}{1 - f_0} v_j + \sum_{i: \hat{a}_i \leq f_0} \frac{\hat{a}_i}{f_0} x_i + \sum_{i: \hat{a}_i > f_0} \frac{1 - \hat{a}_i}{1 - f_0} x_i \geq 1. This form ensures validity by rounding up contributions from integer variables while scaling continuous ones to maintain feasibility. These cuts excel in handling practical MILPs with continuous variables, often closing significant portions of the integrality gap (e.g., up to 24% in MIPLIB instances). They are widely implemented in commercial solvers like CPLEX, where they have driven major performance improvements since version 6.5 by dynamically generating violated cuts during branch-and-cut.

Lift-and-Project Methods

The lift-and-project method, introduced by Balas, Ceria, and Cornuéjols in 1993, provides a systematic procedure for generating valid inequalities that strengthen the of mixed 0-1 integer programs through iterative application of lifting and projection operations over subsets of variables. This approach builds on earlier ideas in disjunctive programming and aims to produce cuts that are tighter than those from simpler procedures, facilitating better bounds in branch-and-cut frameworks. The procedure begins by selecting a S of the 0-1 variables from the current relaxation P. Projection onto S is performed via , eliminating the remaining variables to obtain the projected \exists P, which captures the possible values of variables in S consistent with P. A valid for \exists P is then identified, typically a facet-defining one violated by the current optimum. To restore validity in the full space, lifting is applied sequentially or simultaneously: coefficients for variables outside S are computed by solving auxiliary that ensure the inequality holds for both disjuncts implied by the 0-1 constraints on S, resulting in a cut added to P for the next iteration. At its core, the method relies on disjunctive programming principles, where the integer constraints induce disjunctions such as x_j = 0 or x_j = 1 for each 0-1 variable x_j. For a S, the disjunction corresponds to the of polyhedra P^0 (where variables in S are fixed to 0) and P^1 (fixed to 1), and the lift-and-project cut is derived from the \mathrm{conv}(P^0 \cup P^1) projected back after lifting. This yields Balas' lift-and-project cuts, which are valid for the mixed 0-1 and often facet-defining. These cuts offer significant advantages, as they can generate facets of the integer hull, providing tight approximations to the of integer feasible solutions. Moreover, the iterative lift-and-project procedure converges finitely to the integer hull for any mixed 0-1 linear program, ensuring termination after at most n iterations where n is the number of 0-1 variables.

Applications

In Integer Linear Programming Solvers

In modern integer linear programming (ILP) solvers, cutting-plane methods are integrated into the branch-and-cut framework, a approach that combines branch-and-bound with dynamic cut generation to solve mixed-integer programs efficiently. Cuts are typically generated at the root node of the search tree to strengthen the (LP) relaxation before branching begins, and additional cuts are added during later nodes to further tighten bounds on subproblems. This integration allows solvers to iteratively improve the relaxation while exploring the branch-and-bound tree, often reducing the overall computational effort compared to pure branch-and-bound. Cut generation and selection strategies in these solvers emphasize and to maximize while minimizing overhead. For instance, cuts are selected based on violation depth (, measuring how deeply the current solution violates the cut), to existing constraints (to ensure coverage of new directions), and low parallelism (to avoid redundancy with prior cuts). Solvers like SCIP parameterize this with weights, such as an factor of 1.0 and a minimum of 0.01 at the , while limiting additions to 2000 cuts per to prevent excessive growth in model size. Presolving routines also generate initial cuts, such as implied bounds or inequalities, to create a tighter starting and accelerate early iterations. Heuristics like mixed-integer (MIR) and Gomory-based ranking further guide selection by prioritizing cuts with high potential to reduce the . Prominent ILP solvers such as CPLEX, Gurobi, and SCIP extensively employ cutting planes, with demonstrated performance gains on benchmark instances like those from MIPLIB. CPLEX generates cuts in multiple rounds using heuristics for Gomory, , and disjunctive inequalities, achieving up to a 53.7-fold across 106 models when cuts are enabled, with disjunctive cuts contributing a 64% improvement in solving times. Gurobi uses adaptive strategies to apply Gomory cuts alongside lift-and-project and implied bound cuts, dynamically deciding activation based on problem characteristics. SCIP integrates over 20 separator plugins, including and flow cuts, with efficacy-driven selection that enhances LP bounds. In benchmarks, these implementations often reduce branch-and-bound sizes by orders of magnitude; for example, on the MIPLIB instance p2756, enabling cuts dropped the node count from 3,414,408 to 11, while closing the root optimality from 13.5% to 0.2%. Such impacts typically scale to 50-90% reductions in exploration for mixed-integer sets, underscoring the method's role in practical solvability. Challenges in implementation include LP degeneracy, where multiple bases yield the same solution and limit cut variety, and numerical stability issues arising from floating-point precision in LP solvers, which can produce cuts with coefficients that amplify errors (e.g., treating 4.99999 as 5). To mitigate these, solvers employ scaling to integer coefficients, cut aging (e.g., maximum age of 3 rounds in some frameworks), and duplicate/parallelism filters (threshold 0.1) to maintain a diverse pool without bloating the relaxation. Despite these hurdles, the net effect is robust performance enhancement. A illustrative case is the traveling salesman problem (TSP), where branch-and-cut solvers apply subtour elimination and comb inequalities as cutting planes to enforce connectivity and non-overlapping tours. In seminal implementations, such as those solving large TSP instances with up to 1,000 cities, these cuts dramatically accelerate convergence to optimal tours by reducing the search tree size by factors of thousands compared to branch-and-bound alone.

In Convex and Nonsmooth Optimization

In , cutting-plane methods extend beyond linear programs to address the minimization of a f: \mathbb{R}^n \to \mathbb{R}, which may be nonsmooth and accessible only via a subgradient oracle. At a point \bar{x}, a subgradient g \in \partial f(\bar{x}) yields a supporting hyperplane, or cut, defined by the inequality f(x) \geq f(\bar{x}) + g^T (x - \bar{x}) for all x, which underestimates f and linearizes the epigraph from below. These cuts form a collection of linear inequalities that progressively tighten the approximation of the feasible region or objective level set containing the optimum. For nonsmooth convex functions, where differentiability fails at finitely many points, bundle methods serve as robust cutting-plane variants that aggregate multiple subgradients into a "bundle" to construct a more stable piecewise linear model, mitigating the zigzagging behavior of basic subgradient descent. Originating as extensions of Kelley's 1960 cutting-plane framework, bundle methods, further developed by Lemaréchal, enable efficient handling of oracles providing only function values and subgradients. Complementary approaches, such as the center-of-gravity method and , generate separating cuts to localize the optimum in nonsmooth settings by reducing the volume of an enclosing . The core procedure involves initializing a polyhedral underestimator from an initial cut and a bounding box. At each iteration, solve a master subproblem to minimize the maximum of the accumulated linear underestimators (the cutting-plane model) over a proximal or trust-region stabilization term, obtaining a trial point x^k. Query the at x^k to add a new subgradient cut, updating the model; this process converges to the global minimum as the underestimator approaches f from below, with the optimum identified when the subproblem solution satisfies a tolerance on the or model error. A representative example is minimizing the nonsmooth convex function f(x) = |x| + |x - 1| over \mathbb{R}, which attains its minimum value of 0 on the [0, 1]. The subdifferential is \partial f(x) = \{\operatorname{sign}(x) + \operatorname{sign}(x-1)\} away from the kinks, yielding subgradients of -2 for x < 0, 0 for $0 < x < 1, and 2 for x > 1; at x = 0, \partial f(0) = [-2, 0], and at x = 1, \partial f(1) = [0, 2]. Starting at \bar{x} = 2, a subgradient g = 2 generates the cut f(x) \geq 3 + 2(x - 2), or f(x) \geq 2x - 1. Solving the subproblem over this cut and bounds (e.g., |x| \leq 3) yields a new point like x = 0.5, where g = 0 adds a null cut, but selecting an extreme subgradient (e.g., from nearby evaluation) refines further; iteration continues until the model minimum reaches 0. Trade-offs arise in cut depth: a shallow (neutral) cut passes through \bar{x} (g^T (x - \bar{x}) \leq 0), excluding less volume, while a deep cut shifts below (g^T (x - \bar{x}) \leq f(\bar{x}) - \bar{f}, with \bar{f} a lower bound estimate), accelerating localization but requiring additional oracle information on function bounds. Extensions enhance efficiency in challenging nonsmooth cases. Away-step variants in bundle methods permit trial steps directed away from the proximal center, leveraging historical subgradients to avoid redundant proximity and improve descent directions over standard null-step iterations. Level-set methods generate cuts via projections onto superlevel sets of the objective, dualizing the cutting-plane oracle to handle structured nonsmoothness, as in Frank-Wolfe-style adaptations. Theoretically, subgradient cutting-plane methods, particularly proximal bundle variants, achieve a rate of O(1/k) in value to the optimum for nonsmooth problems, outperforming basic subgradient descent's O(1/\sqrt{k}).

Historical Development

Origins and Early Contributions

The cutting-plane method in traces its roots to the late 1940s and early 1950s, building on foundational work in and early explorations of valid inequalities for combinatorial problems. George Dantzig's development of the simplex method in 1947 provided the algorithmic backbone for solving linear relaxations, while the 1954 solution to a 49-city traveling salesman problem by Dantzig, Ray Fulkerson, and Selmer Johnson introduced manual cutting planes in the form of subtour elimination constraints to enforce integer feasibility in polyhedral relaxations. These efforts highlighted the potential of iteratively tightening relaxations with valid inequalities, laying prehistorical groundwork in polyhedral combinatorics, though automated procedures for general integer programs remained undeveloped. The breakthrough came in 1958 with Ralph Gomory's invention of the first pure cutting-plane algorithm for linear programs, detailed in his paper "Outline of an Algorithm for Integer Solutions to Linear Programs." Gomory's method extended the by generating fractional cuts from non-integer basic solutions, systematically cutting off fractional vertices while preserving the hull, and included a proof of finite for pure programs. This innovation shifted from ad-hoc manual cuts to a fully automated, theoretically sound procedure, marking a pivotal advancement in . Immediate extensions followed in the early 1960s, with Gomory's 1960 RAND report introducing cuts for mixed- programs and his 1963 work developing mixed- Gomory cuts to handle continuous variables alongside . Theoretical rigor was further bolstered by Gomory and A.J. Hoffman's 1963 proof of convergence for the process, while Egon Balas's 1971 intersection cuts provided a new family of valid inequalities with a finiteness proof for broader sets. By the 1960s, cutting planes gained adoption in for applications like the traveling salesman problem and lot-sizing, as surveyed by Michel Balinski in 1965, though early computational experiments revealed challenges such as slow convergence and numerical instability. Influential figures like Ellis Johnson extended these ideas in the 1970s through group-theoretic relaxations and practical implementations, facilitating the transition from theory to computational codes; Johnson's 1971 work on master group relaxations, for instance, generated strong cuts for structured problems. Gomory's collaborations, including with on cutting-stock problems (1961, 1963), underscored the method's versatility, while overall, these early contributions established cutting planes as a cornerstone of despite initial practical hurdles.

Modern Advances and Implementations

Theoretical advances in cutting-plane methods have focused on quantifying the strength and efficiency of cuts, with the —introduced by in 1973—serving as a key measure of the number of iterative rounds needed to reach the integer hull using . Subsequent analyses have bounded the computational depth required for convergence in pure cutting-plane procedures for certain polyhedra. A significant enhancement came with the lift-and-project method introduced by Balas, Ceria, and Cornuéjols in 1993, which generates stronger cuts by lifting variables to higher dimensions and projecting back, yielding tighter relaxations for mixed 0-1 programs than earlier Gomory-style cuts. Building on this, mixed-integer rounding (MIR) cuts, developed by Marchand, Louveaux, and Wolsey in the early 2000s, provide a general framework for deriving valid inequalities from aggregated constraints, often dominating Gomory mixed-integer cuts in strength for mixed-integer linear programs (MILPs). On the computational side, the branch-and-cut framework, pioneered by Padberg and Rinaldi in 1991, integrated cutting planes with branch-and-bound search, allowing dynamic cut generation at nodes to solve large-scale traveling salesman problems to optimality. This hybrid approach marked a shift from pure cutting planes to embedded separation routines, enabling automatic cut generation in commercial solvers starting in the mid-1990s, which improved solvability of practical MILPs by iteratively tightening LP relaxations without manual intervention. Key milestones include the integration of cutting planes into CPLEX in 1994, where initial support for Gomory and cover cuts accelerated resolution of industrial MILPs. Similarly, the SCIP solver, released in the early , incorporated advanced cut separators like and lift-and-project, fostering open-source advancements in constraint integer programming. More recently, in the 2020s, techniques for cut selection—such as models trained on solver logs—have automated the choice of promising cuts, reducing solve times on benchmark instances by prioritizing high-impact inequalities. Today, cutting-plane methods play a central role in solving large-scale MILPs with millions of variables, as seen in modern solvers handling logistics and scheduling problems where cuts prune vast search spaces efficiently. Ongoing research explores parallel cut generation, distributing separation tasks across processors to scale with multicore architectures and accelerate convergence in distributed computing environments. Emerging extensions to quantum computing, such as hybrid classical-quantum Benders decomposition with cutting planes, aim to tackle even larger MILPs by leveraging quantum subroutines for subproblem solves. These advances have profoundly impacted fields like optimization, enabling solvers to address previously intractable problems such as capacitated vehicle routing with thousands of nodes, where strong cuts reduce optimality gaps by orders of magnitude and support in supply chains.

References

  1. [1]
    [PDF] Integer programming techniques 2: cutting planes
    Apr 4, 2013 · It is also called a cutting plane, or cut. We want cuts that eliminate part of the LP feasible region.
  2. [2]
    [PDF] Lecture 27: The cutting plane method - Faculty Web Pages
    Nov 29, 2022 · The cutting plane method is really a family of strategies for solving integer programs. The philosophy is that an integer program can have ...
  3. [3]
    [PDF] Lecture 11: Cutting Plane Methods
    Cutting plane methods attempt to improve the bound produced by the LP relaxation by iteratively adding cutting planes to the initial LP relaxation. Adding such ...
  4. [4]
    Outline of an algorithm for integer solutions to linear programs
    Outline of an algorithm for integer solutions to linear programs. Ralph E. Gomory. DOWNLOAD PDF + SAVE TO MY LIBRARY. Bull. Amer. Math. Soc. 64(5): 275-278.
  5. [5]
    [PDF] Outline of an Algorithm for Integer Solutions to Linear Programs and ...
    The following article originally appeared as: R.E. Gomory, Outline of an Algorithm for Integer Solutions to Linear Programs,. Bulletin Of the American ...
  6. [6]
    [PDF] 15.083 Lecture 17: Cutting plane methods I - MIT OpenCourseWare
    Cutting Planes. • Consider max{wx : Ax ≤ b, x integer}. • Establishing the optimality of a solution is equivalent to proving wx ≤ t is valid for all integral.<|control11|><|separator|>
  7. [7]
    [PDF] 10.1 Integer Programming and LP relaxation - cs.wisc.edu
    We can therefore reduce any NP-complete optimization problem to an integer program, “relax” it to a linear program by removing the integrality constraints, ...
  8. [8]
    [PDF] Lecture 7 1 Linear Programming Relaxations - Stanford CS Theory
    Jan 25, 2011 · The disadvantage of ILPs is that they are a very expressive language to formulate combinatorial optimization problems, and finding optimal ...
  9. [9]
    [PDF] Cutting Planes for Mixed-Integer Programming: Theory and Practice
    Gomory proposed a finite cutting plane algorithm for pure IPs (1958). • Dash, Dobbs, Gunluk, Nowicki,and Swirszcz, did the same for MIPs (2014). • In practice,.
  10. [10]
    [PDF] Achieving Consistency with Cutting Planes - Optimization Online
    Cutting planes help improve the dual bound by tightening the LP relaxation, whereas heuristic methods seek to find feasible solutions that provide a better ...
  11. [11]
    Mixed-Integer Programming (MIP/MILP) – A Primer on the Basics
    The idea of cutting planes is that they tighten the formulation by removing undesirable fractional solutions, as in the case of MIP presolve, but that they do ...
  12. [12]
    [PDF] Branch and bound and cutting planes - MIT OpenCourseWare
    3 Branch and bound. Slide 9. 1. Branching: Select an active subproblem Fi. 2. Pruning: If the subproblem is infeasible, delete it.
  13. [13]
    [PDF] Computational Integer Programming Lecture 12: Branch and Cut
    Branch and cut is an LP-based branch-and-bound scheme in which the linear ... – Primal bound improvement versus dual bound improvement. – The savings ...
  14. [14]
    [PDF] THEORY AND COMPUTATION FOR CUTTING-PLANE METHODS ...
    For the cut-generating and separation problem of cutting-planes, we are interested in ... Theorem 1.3 (Farkas' Lemma). A system of linear inequalities Ax ≤ b is ...<|separator|>
  15. [15]
  16. [16]
    Integer and Combinatorial Optimization | Wiley Online Books
    Jun 16, 1988 · Integer and Combinatorial Optimization ; Author(s):. George Nemhauser, Laurence Wolsey, ; First published:16 June 1988 ; Print ISBN:9780471828198 | ...
  17. [17]
    [PDF] Integer Programming Formulation 1
    When the integer constraints are removed from an IP formulation, we obtain an LP formulation. This. LP formulation is called the LP relaxation. Since we have ...
  18. [18]
    Integer Programming | SpringerLink
    Wolsey, L.A. [ 1998 ]: Integer Programming. Wiley, New York 1998MATHGoogle Scholar. Cited References:.
  19. [19]
    [PDF] Mixed Integer Linear Programming Formulation Techniques
    Definition 2.2. An MIP formulation of set S ⊆ Qn is sharp if and only if the projection onto the x variables of its LP relaxation is exactly conv(S).
  20. [20]
    Theory of Linear and Integer Programming - Wiley
    Free delivery 30-day returnsThis book describes the theory of linear and integer programming, surveys algorithms, focuses on complexity analysis, and complements practical books.Missing: hull | Show results with:hull<|control11|><|separator|>
  21. [21]
    [PDF] Integer Hulls of Rational Polyhedra Rekha R. Thomas
    The main focus of these lectures is on the convex hull of integer points in a rational polyhe-.Missing: approximation | Show results with:approximation
  22. [22]
    [PDF] The Simplex Method - Stanford University
    The key for the simplex method is to make computers see corner points; and the key for interior-point methods is to stay in the interior of the feasible region.
  23. [23]
    Interior-point method for LP - Optimization Wiki
    Dec 21, 2020 · The interior-point method starts inside the polytope, moving towards the lowest cost vertex, unlike the simplex method which moves along edges. ...
  24. [24]
    [PDF] math 409 lectures 19-21 the knapsack problem
    Relaxing the 0/1 constraint on the variables, we get the linear pro- gramming relaxation of the knapsack problem that is usually called the fractional knapsack ...Missing: gap | Show results with:gap
  25. [25]
    [PDF] Relaxations and Bounds: Applications to Knapsack Problems
    The principle to compute an optimal solution for the LP relaxation (¯P) is as before: sorting the items in decreasing order of pi/wi then by selecting the first ...Missing: fractional | Show results with:fractional
  26. [26]
    [PDF] Integer Linear Programming - MAT3007 Optimization
    For a minimization problem, the optimal value of the LP relaxation provides a lower bound for the optimal value of the IP. The difference between the optimal ...
  27. [27]
    Cutting planes in integer and mixed integer programming
    Nov 15, 2002 · This survey is devoted to cutting planes that are useful or potentially useful in solving mixed integer programs.
  28. [28]
    [PDF] Gomory Cuts
    The purpose of this paper is to do a brief survey of the research that has been carried out around Gomory cuts throughout the years. The interested reader is ...
  29. [29]
    [PDF] Tutorial 11: Gomory cuts and a little more - MIT OpenCourseWare
    To derive the Gomory cuts, first you work out the simplex tableau. Here is the optimal tableau for LP(1). As you can see, the first constraint row (not the ...
  30. [30]
    [PDF] 5.3 Cutting plane methods and Gomory fractional cuts
    In general we need to add a (very) large number of cuts. Theorem: If the ILP has a finite optimal solution, the cutting plane method finds one after adding a ...
  31. [31]
    Edmonds polytopes and a hierarchy of combinatorial problems
    V. Chvátal, Edmonds polytopes and weakly Hamiltonian graphs, Math. Programming, to appear. ... V. Chvátal, On certain polytopes associated with graphs, submitted ...
  32. [32]
    Reduce-and-Split Cuts: Improving the Performance of Mixed-Integer ...
    Mixed-integer Gomory cuts have become an integral part of state-of-the-art software for solving mixed-integer linear programming problems.
  33. [33]
    [PDF] Integer Programming ISE 418 Lecture 14
    The convex hull of the union of polyhedra is not necessarily a polyhedron. ... Solving the LP relaxation, we look for a row in the tableau in which an.
  34. [34]
    On the strength of Gomory mixed-integer cuts as group cuts
    Jul 24, 2007 · Gomory mixed-integer (GMI) cuts generated from optimal simplex tableaus are known to be useful in solving mixed-integer programs.
  35. [35]
    Gomory Mixed Integer Cuts - oj! Algorithms
    Apr 20, 2022 · To generate a GMI cut one starts with a valid equality in nonnegative integer variables and nonnegative continuous variables.
  36. [36]
    [PDF] Lecture 2 Split Inequalities and Gomory Mixed Integer Cuts
    Derivation of Gomory's Mixed Integer Cut. Consider a single constraint : S ... that one can gain about 6% on top of Gomory mixed integer cuts from the ...
  37. [37]
    From blackboard to code: Gomory Cuts using CPLEX
    Feb 5, 2013 · The introduction of Mixed Integer Gomory cuts in CPLEX was The major breakthrough of CPLEX 6.5 and produced the version-to-version speed-up ...
  38. [38]
    A lift-and-project cutting plane algorithm for mixed 0–1 programs
    May 26, 1992 · This algorithm uses a polyhedron family to strengthen LP relaxation, generates a cut via a large LP, and uses a lifting step to reduce LP size.
  39. [39]
    Lift-and-project Cuts: An efficient Solution Method for Mixed Integer ...
    Ceria, G. Cornuéjols, A lift-and-project cutting plane algorithm for mixed 0-1 programs, Mathematical Programming, 58 (1993) 295-324.
  40. [40]
    Disjunctive Programming | SpringerLink
    Egon Balas. Pages 49-68. Disjunctive Programming and Extended Formulations. Egon Balas. Pages 69-77. Lift-and-Project Cuts for Mixed 0-1 Programs. Egon Balas.
  41. [41]
    A precise correspondence between lift-and-project cuts, simple ...
    We establish a precise correspondence between lift-and-project cuts for mixed 0-1 programs, simple disjunctive cuts (intersection cuts) and mixed-in.<|separator|>
  42. [42]
    [PDF] Cutting Plane Separators in SCIP
    I want to solve general MIPs! Why do I care about cutting planes for ... Cut Selection Strategy . Efficacy, i.e., distance of the hyperplane to the ...
  43. [43]
    [PDF] Implementing cutting plane management and selection techniques
    Example 1 Consider the simple integer program max {2x1 + x2 : x ∈ X}. (7) where X = XR ∩ Z2 and XR = {x ∈ R2. + : 6x1 + 4x2 = 20}. The optimal solution to ...<|control11|><|separator|>
  44. [44]
    [PDF] The CPLEX Library: Presolve and Cutting Planes - Conferences
    As many as possible? • Relaxation solution only needs to be cut off once. • Cuts increase the size of the model. • Need ...
  45. [45]
  46. [46]
    [PDF] MILP Software
    The branch-and-cut algorithm has been proven to be very effective initially for combinatorial optimization problems (like TSP) with special- purpose cuts based ...
  47. [47]
    [PDF] Subgradients - Stanford University
    Apr 13, 2022 · If f is convex and differentiable, then its gradient at x is a subgradient. But a subgradient can exist even when f is not differentiable at x, ...
  48. [48]
    The Cutting-Plane Method for Solving Convex Programs - SIAM.org
    This paper introduces a master cutting plane algorithm for nonlinear programming that isolates the points it generates from one another until a solution is ...Missing: original | Show results with:original
  49. [49]
    New variants of bundle methods | Mathematical Programming
    Apr 16, 1994 · J.E. Kelley, “The cutting plane method for solving convex programs,”Journal of the SIAM 8 (1960) 703–712. Google Scholar.
  50. [50]
    [PDF] Localization and Cutting-Plane Methods
    The goal of cutting-plane and localization methods is to find a point in a convex set X ⊆. Rn, which we call the target set, or, in some cases, to determine ...
  51. [51]
    [PDF] Regularized Bundle Methods for Convex and Non-Convex Risks
    Among candidate families of optimization algorithms, cutting plane methods and bundle based methods are very appealing for optimization problems such as the one ...
  52. [52]
    A nonsmooth Frank-Wolfe algorithm through a dual cutting-plane ...
    Mar 27, 2024 · The DLS algorithm essentially results from a dualization of a specific cutting-plane algorithm, based on projections on some level sets.
  53. [53]
    [1609.00842] Rate of Convergence of the Bundle Method - arXiv
    Sep 3, 2016 · Abstract:We prove that the bundle method for nonsmooth optimization achieves solution accuracy \varepsilon in at most ...
  54. [54]
    [PDF] 50 Years of Integer Programming 1958–2008 - UW Math Department
    It applies them to the study of valid inequalities for mixed integer linear sets, such as Gomory's mixed integer cuts. The study of combinatorial optimization ...
  55. [55]
    [PDF] Ralph E. Gomory and Integer Linear Programming
    Gomory, Outline of an algorithm for integer solutions to linear programs, Bulletin of the American. Mathematical Society 64 (1958) 275–278. R.E. Gomory ...
  56. [56]
    Intersection Cuts-A New Type of Cutting Planes for Integer ... - jstor
    This paper proposes a new class of cutting planes for integer programming. A typical member of the class is generated as follows. Let X be the feasible.
  57. [57]
    Chvátal Rank in Binary Polynomial Optimization - PubsOnLine
    We determine the Chvátal rank of all known cutting planes and show that almost all of them have Chvátal rank 1. We observe that these inequalities have an ...
  58. [58]
    Small Chvátal Rank | Mathematical Programming
    May 14, 2010 · Cutting planes · Chvátal rank · Supernormality · Stable set polytopes. Mathematics Subject Classification (2000). 90C10 · 90C27 · 90C57 · Use ...
  59. [59]
    A Lift-and-Project Cutting Plane Algorithm for Mixed 0-1 Programs
    Aug 5, 2025 · The procedures of Balas-Ceria-Cornuéjols (BCC) [2] and Lovász-Schrijver (LS) [14] are two classical methods for generating extended formulations ...
  60. [60]
    Aggregation and Mixed Integer Rounding to Solve MIPs - PubsOnLine
    In this paper, we discuss the use of mixed integer rounding (MIR) inequalities to solve mixed integer programs. MIR inequalities are essentially Gomory ...
  61. [61]
    A Branch-and-Cut Algorithm for the Resolution of Large-Scale ...
    An algorithm is described for solving large-scale instances of the Symmetric Traveling Salesman Problem (STSP) to optimality.
  62. [62]
    Evolution and state-of-the-art in integer programming - ScienceDirect
    Boyd (1994; [14]) generated a class of deep cutting planes known as Fenchel cuts to enhance the separation problem associated with using Lagrangian ...
  63. [63]
    SCIP: solving constraint integer programs
    SCIP is a free software framework and solver for constraint integer programs, integrating CP, MIP, and SAT techniques.
  64. [64]
    Machine Learning for Cutting Planes in Integer Programming - arXiv
    Feb 17, 2023 · We survey recent work on machine learning (ML) techniques for selecting cutting planes (or cuts) in mixed-integer linear programming (MILP).
  65. [65]
    [PDF] Cutting planes generation and decomposition-based approaches for ...
    Jun 27, 2023 · ... MILP can be of extremely large size (involving e.g. several millions of variables and constraints). Moreover, due to the presence of big-M ...
  66. [66]
    Generating Cutting Planes for Mixed Integer Programming Problems ...
    The parallel cutting-plane algorithm is coupled with an LP-based heuristic to assist in returning a good quality integer feasible solution upon termination of ...
  67. [67]
    Mixed-integer linear programming solver using Benders ...
    This paper presents a hybrid classical-quantum approach to solve mixed-integer linear programming (MILP) using neutral-atom quantum computations.Article Text · INTRODUCTION · QUANTUM ALGORITHM... · HYBRID QUANTUM...
  68. [68]
    Strong cutting planes for the capacitated multi-pickup and delivery ...
    Efficient route optimization can enable delivery services to reduce costs, ensure faster and more reliable delivery operations, and improve the overall customer ...