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

4. Algorithm & Example-1 (using `Z_j-C_j` method)
(Previous example)
6. Algorithm & Example-1 (using `C_j-Z_j`method)
(Next example)

5. Example-2 (using `Z_j-C_j` method)





Find solution using integer simplex method (Gomory's cutting plane method)
MAX Z = -3x1 + x2 + 3x3
subject to
-x1 + 2x2 + x3 <= 4
2x2 - 3/2x3 <= 1
x1 - 3x2 + 2x3 <= 3
and x1,x2 >= 0; x3 non-negative integers


Solution:
Problem is
Max `Z``=`` - ``3``x_1`` + ````x_2`` + ``3``x_3`
subject to
` - ````x_1`` + ``2``x_2`` + ````x_3``4`
```2``x_2`` - ``1.5``x_3``1`
`````x_1`` - ``3``x_2`` + ``2``x_3``3`
and `x_1,x_2,x_3 >= 0; ``x_3` 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`

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

After introducing slack variables
Max `Z``=`` - ``3``x_1`` + ````x_2`` + ``3``x_3`` + ``0``S_1`` + ``0``S_2`` + ``0``S_3`
subject to
` - ````x_1`` + ``2``x_2`` + ````x_3`` + ````S_1`=`4`
```2``x_2`` - ``1.5``x_3`` + ````S_2`=`1`
`````x_1`` - ``3``x_2`` + ``2``x_3`` + ````S_3`=`3`
and `x_1,x_2,x_3,S_1,S_2,S_3 >= 0`


Tableau-1`C_j``-3``1``3``0``0``0`
`C_B``"Basis"``x_1``x_2``x_3``S_1``S_2``S_3``RHS``"Ratio"=(RHS)/(x_3)`
`R_1` `0``S_1``-1``2``1``1``0``0``4``(4)/(1)=4`
`R_2` `0``S_2``0``2``-1.5``0``1``0``1``(1)/(-1.5)` (ignore, denominator is -ve)
`R_3` `0``S_3``1``-3``(2)``0``0``1``3``(3)/(2)=1.5``->`
`Z_j``0``0``0``0``0``0``Z=0`
`Z_j-C_j``3``-1``-3``uarr``0``0``0`


Most Negative `Z_j-C_j` is `-3`. So, the entering variable is `x_3`.

Minimum ratio is `1.5`. So, the leaving basis variable is `S_3`.

`:.` The pivot element is `2`.

Entering `=x_3`, Departing `=S_3`, Key Element `=2`
`R_3`(new)`= R_3`(old) `-: 2`
`x_1``x_2``x_3``S_1``S_2``S_3``RHS`
`R_3`(old) = `1``-3``2``0``0``1``3`
`R_3`(new)`= R_3`(old) `-: 2``0.5``-1.5``1``0``0``0.5``1.5`
`R_1`(new)`= R_1`(old) - `R_3`(new)
`x_1``x_2``x_3``S_1``S_2``S_3``RHS`
`R_1`(old) = `-1``2``1``1``0``0``4`
`R_3`(new) = `0.5``-1.5``1``0``0``0.5``1.5`
`R_1`(new)`= R_1`(old) - `R_3`(new)`-1.5``3.5``0``1``0``-0.5``2.5`
`R_2`(new)`= R_2`(old) + `1.5 R_3`(new)
`x_1``x_2``x_3``S_1``S_2``S_3``RHS`
`R_2`(old) = `0``2``-1.5``0``1``0``1`
`R_3`(new) = `0.5``-1.5``1``0``0``0.5``1.5`
`1.5 xx R_3`(new) = `0.75``-2.25``1.5``0``0``0.75``2.25`
`R_2`(new)`= R_2`(old) + `1.5 R_3`(new)`0.75``-0.25``0``0``1``0.75``3.25`


Tableau-2`C_j``-3``1``3``0``0``0`
`C_B``"Basis"``x_1``x_2``x_3``S_1``S_2``S_3``RHS``"Ratio"=(RHS)/(x_2)`
`R_1` `0``S_1``-1.5``(3.5)``0``1``0``-0.5``2.5``(2.5)/(3.5)=0.7143``->`
`R_2` `0``S_2``0.75``-0.25``0``0``1``0.75``3.25``(3.25)/(-0.25)` (ignore, denominator is -ve)
`R_3` `3``x_3``0.5``-1.5``1``0``0``0.5``1.5``(1.5)/(-1.5)` (ignore, denominator is -ve)
`Z_j``1.5``-4.5``3``0``0``1.5``Z=4.5`
`Z_j-C_j``4.5``-5.5``uarr``0``0``0``1.5`


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

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

`:.` The pivot element is `3.5`.

Entering `=x_2`, Departing `=S_1`, Key Element `=3.5`
`R_1`(new)`= R_1`(old) `-: 3.5`
`x_1``x_2``x_3``S_1``S_2``S_3``RHS`
`R_1`(old) = `-1.5``3.5``0``1``0``-0.5``2.5`
`R_1`(new)`= R_1`(old) `-: 3.5``-0.4286``1``0``0.2857``0``-0.1429``0.7143`
`R_2`(new)`= R_2`(old) + `0.25 R_1`(new)
`x_1``x_2``x_3``S_1``S_2``S_3``RHS`
`R_2`(old) = `0.75``-0.25``0``0``1``0.75``3.25`
`R_1`(new) = `-0.4286``1``0``0.2857``0``-0.1429``0.7143`
`0.25 xx R_1`(new) = `-0.1071``0.25``0``0.0714``0``-0.0357``0.1786`
`R_2`(new)`= R_2`(old) + `0.25 R_1`(new)`0.6429``0``0``0.0714``1``0.7143``3.4286`
`R_3`(new)`= R_3`(old) + `1.5 R_1`(new)
`x_1``x_2``x_3``S_1``S_2``S_3``RHS`
`R_3`(old) = `0.5``-1.5``1``0``0``0.5``1.5`
`R_1`(new) = `-0.4286``1``0``0.2857``0``-0.1429``0.7143`
`1.5 xx R_1`(new) = `-0.6429``1.5``0``0.4286``0``-0.2143``1.0714`
`R_3`(new)`= R_3`(old) + `1.5 R_1`(new)`-0.1429``0``1``0.4286``0``0.2857``2.5714`


Tableau-3`C_j``-3``1``3``0``0``0`
`C_B``"Basis"``x_1``x_2``x_3``S_1``S_2``S_3``RHS``"Ratio"`
`R_1` `1``x_2``-0.4286``1``0``0.2857``0``-0.1429``0.7143`
`R_2` `0``S_2``0.6429``0``0``0.0714``1``0.7143``3.4286`
`R_3` `3``x_3``-0.1429``0``1``0.4286``0``0.2857``2.5714`
`Z_j``-0.8571``1``3``1.5714``0``0.7143``Z=8.4286`
`Z_j-C_j``2.1429``0``0``1.5714``0``0.7143`


Since all `Z_j-C_j >= 0`

Hence, non-integer optimal solution is arrived with value of variables as :
`x_1=0,x_2=0.7143,x_3=2.5714`

Max `Z=8.4286`

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

`2.5714= -0.1429 x_1+1 x_3+0.4286 S_1+0.2857 S_3`

`(2+0.5714)=(-1+0.8571) x_1+(1+0) x_3+(0+0.4286) S_1+(0+0.2857) S_3`

The fractional cut will become
`-0.5714 = Sg1 -0.8571 x_1 -0.4286 S_1 -0.2857 S_3 ->` (Cut-1)

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

Tableau-1`C_j``-3``1``3``0``0``0``0`
`C_B``"Basis"``x_1``x_2``x_3``S_1``S_2``S_3``Sg1``RHS`
`R_1` `1``x_2``-0.4286``1``0``0.2857``0``-0.1429``0``0.7143`
`R_2` `0``S_2``0.6429``0``0``0.0714``1``0.7143``0``3.4286`
`R_3` `3``x_3``-0.1429``0``1``0.4286``0``0.2857``0``2.5714`
`R_4` `0``Sg1``-0.8571``0``0``-0.4286``0``(-0.2857)``1``-0.5714``->`
`Z_j``-0.8571``1``3``1.5714``0``0.7143``0``Z=8.4286`
`Z_j-C_j``2.1429``0``0``1.5714``0``0.7143``0`
`"Ratio"=(Z_j-C_j)/(Sg1,j)`
and `Sg1,j<0`
`(2.1429)/(-0.8571)`
`=-2.5`
`(0)/(0)`
`=`---
`(0)/(0)`
`=`---
`(1.5714)/(-0.4286)`
`=-3.6667`
`(0)/(0)`
`=`---
`(0.7143)/(-0.2857)`
`=-2.5``uarr`
`(0)/(1)`
`=`---


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

Least negative ratio is `-2.5` and its column index is `6`. So, the entering variable is `S_3`.

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

Entering `=S_3`, Departing `=Sg1`, Key Element `=-0.2857`
`R_4`(new)`= R_4`(old) `-: -0.2857`
`x_1``x_2``x_3``S_1``S_2``S_3``Sg1``RHS`
`R_4`(old) = `-0.8571``0``0``-0.4286``0``-0.2857``1``-0.5714`
`R_4`(new)`= R_4`(old) `-: -0.2857``3``0``0``1.5``0``1``-3.5``2`
`R_1`(new)`= R_1`(old) + `0.1429 R_4`(new)
`x_1``x_2``x_3``S_1``S_2``S_3``Sg1``RHS`
`R_1`(old) = `-0.4286``1``0``0.2857``0``-0.1429``0``0.7143`
`R_4`(new) = `3``0``0``1.5``0``1``-3.5``2`
`0.1429 xx R_4`(new) = `0.4286``0``0``0.2143``0``0.1429``-0.5``0.2857`
`R_1`(new)`= R_1`(old) + `0.1429 R_4`(new)`0``1``0``0.5``0``0``-0.5``1`
`R_2`(new)`= R_2`(old) - `0.7143 R_4`(new)
`x_1``x_2``x_3``S_1``S_2``S_3``Sg1``RHS`
`R_2`(old) = `0.6429``0``0``0.0714``1``0.7143``0``3.4286`
`R_4`(new) = `3``0``0``1.5``0``1``-3.5``2`
`0.7143 xx R_4`(new) = `2.1429``0``0``1.0714``0``0.7143``-2.5``1.4286`
`R_2`(new)`= R_2`(old) - `0.7143 R_4`(new)`-1.5``0``0``-1``1``0``2.5``2`
`R_3`(new)`= R_3`(old) - `0.2857 R_4`(new)
`x_1``x_2``x_3``S_1``S_2``S_3``Sg1``RHS`
`R_3`(old) = `-0.1429``0``1``0.4286``0``0.2857``0``2.5714`
`R_4`(new) = `3``0``0``1.5``0``1``-3.5``2`
`0.2857 xx R_4`(new) = `0.8571``0``0``0.4286``0``0.2857``-1``0.5714`
`R_3`(new)`= R_3`(old) - `0.2857 R_4`(new)`-1``0``1``0``0``0``1``2`


Tableau-2`C_j``-3``1``3``0``0``0``0`
`C_B``"Basis"``x_1``x_2``x_3``S_1``S_2``S_3``Sg1``RHS`
`R_1` `1``x_2``0``1``0``0.5``0``0``-0.5``1`
`R_2` `0``S_2``-1.5``0``0``-1``1``0``2.5``2`
`R_3` `3``x_3``-1``0``1``0``0``0``1``2`
`R_4` `0``S_3``3``0``0``1.5``0``1``-3.5``2`
`Z_j``-3``1``3``0.5``0``0``2.5``Z=7`
`Z_j-C_j``0``0``0``0.5``0``0``2.5`
Ratio


Since all `Z_j-C_j >= 0`

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

Max `Z=7`

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



4. Algorithm & Example-1 (using `Z_j-C_j` method)
(Previous example)
6. Algorithm & Example-1 (using `C_j-Z_j`method)
(Next example)





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

.