Introduce integer-valued slack variables and . Write . The initial simplex dictionary isIn the simplex algorithm, let enter. The first constraint is the only limiting one, so leaves at . Substitution givesNow enters and leaves: its ratio is smaller than the first row's ratio . The resulting simplex dictionary isAll 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 thereforeIndeed . 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 givesThe relaxed optimum is now , still nonintegral. The fractional row gives the next Gomory fractional cutThe 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 givesSetting 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 isBoth 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
There are currently no matching articles.