Home > Operation Research > Integer Simplex method (Gomory's cutting plane method) example

6. Integer simplex method (gomory's cutting plane method) example ( Enter your problem )
  1. Introduction
  2. Algorithm & Example-1 (using `Z`-row method)
  3. Example-2 (using `Z`-row method)
  4. Algorithm & Example-1 (using `Z_j-C_j` method)
  5. Example-2 (using `Z_j-C_j` method)
  6. Algorithm & Example-1 (using `C_j-Z_j`method)
  7. Example-2 (using `C_j-Z_j`method)
Other related methods
  1. Formulate linear programming model
  2. Graphical method
  3. Simplex method (BigM method)
  4. Two-Phase method
  5. Primal to dual conversion
  6. Dual simplex method
  7. Integer simplex method
  8. Branch and Bound method
  9. 0-1 Integer programming problem
  10. Revised Simplex method

3. Example-2 (using `Z`-row method)
(Previous example)
5. Example-2 (using `Z_j-C_j` method)
(Next example)

4. Algorithm & Example-1 (using `Z_j-C_j` method)





Integer simplex method (gomory's cutting plane method)
If the optimal solution is integers, then problem is solved. Otherwise, add Gomory's constraint (cut) is added to optimal solution. Now new problem is solved using dual simplex method The method terminates as soon as optimal solution become integers.
Algorithm
Integer simplex method (gomory's cutting plane method) Steps (Rule)
Step-1: a. Formulate the integer LP problem

b. If any constraint contains non-integer coefficient then convert it into integer.

c. Solve the given problem using Simplex (BigM) method, ignore the integer condition
Step-2: a. Examine the optimal solution. if all the basic variables have integer values, then terminate the process.

b. Otherwise, construct a Gomory's fractional cut from the row, which has the largest fractional part, and add it to the original set of constraints.

Gomory's constraint `-f_r = s_g - sum f_r x`
Step-3: a. Now add this constraint to optimal simplex table.

b. Find a new optimal solution using dual simplex method. and then goto step-2.

Example-1
Find solution using integer simplex method (Gomory's cutting plane method)
MAX Z = x1 + x2
subject to
3x1 + 2x2 <= 5
x2 <= 2
x1,x2 non-negative integers


Solution:
Problem is
Max `Z``=``````x_1`` + ````x_2`
subject to
```3``x_1`` + ``2``x_2``5`
`````x_2``2`
and `x_1,x_2 >= 0; ``x_1,x_2` non-negative integers


The problem is converted to canonical form by adding slack, surplus and artificial variables as appropiate

1. As the constraint-1 is of type '`<=`' we should add slack variable `S_1`

2. As the constraint-2 is of type '`<=`' we should add slack variable `S_2`

After introducing slack variables
Max `Z``=``````x_1`` + ````x_2`` + ``0``S_1`` + ``0``S_2`
subject to
```3``x_1`` + ``2``x_2`` + ````S_1`=`5`
`````x_2`` + ````S_2`=`2`
and `x_1,x_2,S_1,S_2 >= 0`


Tableau-1`C_j``1``1``0``0`
`C_B``"Basis"``x_1``x_2``S_1``S_2``RHS``"Ratio"=(RHS)/(x_1)`
`R_1` `0``S_1``(3)``2``1``0``5``(5)/(3)=1.6667``->`
`R_2` `0``S_2``0``1``0``1``2``(2)/(0)` (ignore, denominator is 0)
`Z_j``0``0``0``0``Z=0`
`Z_j-C_j``-1``uarr``-1``0``0`


Most Negative `Z_j-C_j` is `-1`. So, the entering variable is `x_1`.

Minimum ratio is `1.6667`. So, the leaving basis variable is `S_1`.

`:.` The pivot element is `3`.

Entering `=x_1`, Departing `=S_1`, Key Element `=3`
`R_1`(new)`= R_1`(old) `-: 3`
`x_1``x_2``S_1``S_2``RHS`
`R_1`(old) = `3``2``1``0``5`
`R_1`(new)`= R_1`(old) `-: 3``1``0.6667``0.3333``0``1.6667`
`R_2`(new)`= R_2`(old)
`x_1``x_2``S_1``S_2``RHS`
`R_2`(old) = `0``1``0``1``2`
`R_2`(new)`= R_2`(old)`0``1``0``1``2`


Tableau-2`C_j``1``1``0``0`
`C_B``"Basis"``x_1``x_2``S_1``S_2``RHS``"Ratio"=(RHS)/(x_2)`
`R_1` `1``x_1``1``0.6667``0.3333``0``1.6667``(1.6667)/(0.6667)=2.5`
`R_2` `0``S_2``0``(1)``0``1``2``(2)/(1)=2``->`
`Z_j``1``0.6667``0.3333``0``Z=1.6667`
`Z_j-C_j``0``-0.3333``uarr``0.3333``0`


Most Negative `Z_j-C_j` is `-0.3333`. So, the entering variable is `x_2`.

Minimum ratio is `2`. So, the leaving basis variable is `S_2`.

`:.` The pivot element is `1`.

Entering `=x_2`, Departing `=S_2`, Key Element `=1`
`R_2`(new)`= R_2`(old)
`x_1``x_2``S_1``S_2``RHS`
`R_2`(old) = `0``1``0``1``2`
`R_2`(new)`= R_2`(old)`0``1``0``1``2`
`R_1`(new)`= R_1`(old) - `0.6667 R_2`(new)
`x_1``x_2``S_1``S_2``RHS`
`R_1`(old) = `1``0.6667``0.3333``0``1.6667`
`R_2`(new) = `0``1``0``1``2`
`0.6667 xx R_2`(new) = `0``0.6667``0``0.6667``1.3333`
`R_1`(new)`= R_1`(old) - `0.6667 R_2`(new)`1``0``0.3333``-0.6667``0.3333`


Tableau-3`C_j``1``1``0``0`
`C_B``"Basis"``x_1``x_2``S_1``S_2``RHS``"Ratio"`
`R_1` `1``x_1``1``0``0.3333``-0.6667``0.3333`
`R_2` `1``x_2``0``1``0``1``2`
`Z_j``1``1``0.3333``0.3333``Z=2.3333`
`Z_j-C_j``0``0``0.3333``0.3333`


Since all `Z_j-C_j >= 0`

Hence, non-integer optimal solution is arrived with value of variables as :
`x_1=0.3333,x_2=2`

Max `Z=2.3333`

To obtain the integer valued solution, we proceed to construct Gomory's fractional cut, with the help of `x_1`-row as follows:

`0.3333= 1 x_1+0.3333 S_1 -0.6667 S_2`

`(0+0.3333)=(1+0) x_1+(0+0.3333) S_1+(-1+0.3333) S_2`

The fractional cut will become
`-0.3333 = Sg1 -0.3333 S_1 -0.3333 S_2 ->` (Cut-1)

Adding this additional constraint at the bottom of optimal simplex table. The new table so obtained is

Tableau-1`C_j``1``1``0``0``0`
`C_B``"Basis"``x_1``x_2``S_1``S_2``Sg1``RHS`
`R_1` `1``x_1``1``0``0.3333``-0.6667``0``0.3333`
`R_2` `1``x_2``0``1``0``1``0``2`
`R_3` `0``Sg1``0``0``(-0.3333)``-0.3333``1``-0.3333``->`
`Z_j``1``1``0.3333``0.3333``0``Z=2.3333`
`Z_j-C_j``0``0``0.3333``0.3333``0`
`"Ratio"=(Z_j-C_j)/(Sg1,j)`
and `Sg1,j<0`
`(0)/(0)`
`=`---
`(0)/(0)`
`=`---
`(0.3333)/(-0.3333)`
`=-1``uarr`
`(0.3333)/(-0.3333)`
`=-1`
`(0)/(1)`
`=`---


Most negative `RHS` is `-0.3333` and its row index is `3`. So, the leaving basis variable is `Sg1`.

Least negative ratio is `-1` and its column index is `3`. So, the entering variable is `S_1`.

`:.` The pivot element is `-0.3333`.

Entering `=S_1`, Departing `=Sg1`, Key Element `=-0.3333`
`R_3`(new)`= R_3`(old) `-: -0.3333`
`x_1``x_2``S_1``S_2``Sg1``RHS`
`R_3`(old) = `0``0``-0.3333``-0.3333``1``-0.3333`
`R_3`(new)`= R_3`(old) `-: -0.3333``0``0``1``1``-3``1`
`R_1`(new)`= R_1`(old) - `0.3333 R_3`(new)
`x_1``x_2``S_1``S_2``Sg1``RHS`
`R_1`(old) = `1``0``0.3333``-0.6667``0``0.3333`
`R_3`(new) = `0``0``1``1``-3``1`
`0.3333 xx R_3`(new) = `0``0``0.3333``0.3333``-1``0.3333`
`R_1`(new)`= R_1`(old) - `0.3333 R_3`(new)`1``0``0``-1``1``0`
`R_2`(new)`= R_2`(old)
`x_1``x_2``S_1``S_2``Sg1``RHS`
`R_2`(old) = `0``1``0``1``0``2`
`R_2`(new)`= R_2`(old)`0``1``0``1``0``2`


Tableau-2`C_j``1``1``0``0``0`
`C_B``"Basis"``x_1``x_2``S_1``S_2``Sg1``RHS`
`R_1` `1``x_1``1``0``0``-1``1``0`
`R_2` `1``x_2``0``1``0``1``0``2`
`R_3` `0``S_1``0``0``1``1``-3``1`
`Z_j``1``1``0``0``1``Z=2`
`Z_j-C_j``0``0``0``0``1`
Ratio


Since all `Z_j-C_j >= 0`

Hence, integer optimal solution is arrived with value of variables as :
`x_1=0,x_2=2`

Max `Z=2`

The integer optimal solution found after 1-cuts.




This material is intended as a summary. Use your textbook for detail explanation.
Any bug, improvement, feedback then Submit Here



3. Example-2 (using `Z`-row method)
(Previous example)
5. Example-2 (using `Z_j-C_j` method)
(Next example)





Share this solution or page with your friends.
 
 
Copyright © 2026. All rights reserved. Terms, Privacy
 
 

.