Gomory fractional cut 2026-10-06
For an all-integer dictionary row with nonnegative variables, this cut follows because is an integer and . Consequently that integer is at most . Negative coefficients use the usual fractional part , so . Normalize a resulting inequality sensibly before introducing a new integer-valued slack variable.
Apply positive affine payoff transformations, if necessary, so both payoff matrices have strictly positive entries. Such transformations preserve best responses and Nash equilibria. The Lemke-Howson algorithm uses unnormalized nonnegative strategy vectors and slack variables satisfying
Thus its two polytopes are and . A label occurs when or ; a label occurs when or . The complementary pivoting path drops one label from the artificial zero pair and resolves each duplicated label until all labels return.
Terminate at a completely labelled pair other than the artificial zero pair. This is equivalent to complementary slackness
A nonzero completely labelled pair has both vectors nonzero: if , then forces , and the converse is analogous. Normalize to mixed strategies
The inequalities imply that every row payoff against is at most , with equality on every row receiving positive probability in . Thus is a best response to . Likewise is a best response to using . Hence is a Nash equilibrium. Nondegeneracy of a bimatrix game ensures the usual complementary pivoting path has a unique continuation after the label choice.
Row operations multiply each original tableau equation by an invertible matrix. The slack variable block therefore records that matrix and allows the original payoff matrix to be recovered without guessing.
From the first tableau, let be the coefficient block of and that of . Since its original equations were , we have . Here
so
For the second tableau, writing its and blocks as , the original equations give . We obtain
Thus a representative pair of payoff matrices is
Both reconstructed right-hand sides are , as a check on the tableau normalization. Independent transformations , , with , preserve best responses and hence identify the same strategic solution up to positive affine payoff transformations.
Directly,
The supports of and lie entirely among their respective best-response coordinates, confirming the Nash equilibrium found above. Since this representative is a symmetric bimatrix game, swapping the players' strategies preserves the Nash equilibrium conditions. Explicitly, is maximized on the support of , and is maximized on the support of . Therefore
Introduce nonnegative slack variables and start the simplex algorithm at , with slacks . The objective's largest positive entering coefficient belongs to . Its ratio test is , , , so leaves and enters.
Solve that pivot row for and substitute into the other rows and the objective :
This is a feasible simplex dictionary at nonbasic variables . All their objective coefficients are negative, so no feasible increase can improve the objective. Thus
The negative reduced coefficients also prove uniqueness of this optimum.
The dual linear program, with nonnegative variables , is
The feasible choice has objective . Weak duality proves that it and the primal point are optimal. Complementary slackness also forces because the first two primal slacks are positive, and then the positive forces .
Introduce integer-valued slack variables and . Write . The initial simplex dictionary is
In the simplex algorithm, let enter. The first constraint is the only limiting one, so leaves at . Substitution gives
Now enters and leaves: its ratio is smaller than the first row's ratio . The resulting simplex dictionary is
All nonbasic objective coefficients are nonpositive, and the basic values are nonnegative. Thus the continuous linear program has optimum
For integer programming, a row with integer variables yields the Gomory fractional cut , where is the fractional part. In the first row, the coefficient of on the left is , whose fractional part is , not . The two possible initial Gomory fractional cuts are therefore
Indeed . Choose the second row: implies , so its cut removes a strictly larger portion of the feasible polygon. This compares both printed alternatives before any further integer rounding.
Use the normalized integer slack variable , rather than an unnecessarily scaled cut slack. At the current basis,
The simplex dictionary is dual feasible but primal infeasible. In the dual simplex algorithm, leaves; the ratios of objective loss to improvement of this negative basic value are for and for , so enters. The pivot gives
The relaxed optimum is now , still nonintegral. The fractional row gives the next Gomory fractional cut
The negative left-hand coefficient of also has fractional part . Normalize the new integer slack variable as . Its dictionary row is . The dual simplex algorithm chooses to enter: its ratio is , compared with for . Substitution gives
Setting the nonbasic to zero gives a feasible integer solution. The final objective row bounds every point in the cut relaxation by , so the integer optimum is
Both cuts are valid for every original integer feasible point, making this also a certificate for the original integer program.