Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa
Rounding does not give any useful result
We first solve the LP-relaxation
Optimize using primal simplex method
The optimal solution is fractional
(1) Generating an objective row cut
(weakening) (1) Generating an objective row cut
(weakening) (1) (2) (for integers) Generating an objective row cut
(weakening) (1) (2) (for integers) (2) - (1) Generating an objective row cut Cutting plane is violated by current optimum solution
(weakening) (1) (2) (for integers) (2) - (1) (substitute for slacks) Generating an objective row cut
The first cutting plane:
A new slack variable is added:
The new cut is added to the dictionary
Re-optimize using dual simplex method
A new fractional solution has been found
(1) Generating a constraint row cut
(1) (weaken) Generating a constraint row cut
(1) (2) Generating a constraint row cut (valid for integers)
(1) (2) (2) – (1) Generating a constraint row cut
(1) (2) (2) – (1) Generating a constraint row cut
The second cutting plane
Add a new slack variable:
The new cut is inserted into the optimum dictionary
Re-optimize using dual simplex method
The new optimum solution is integral