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.

Articles by others on the same topic (0)

There are currently no matching articles.