2. Outline
1. Why Integer Programming
2. Introduction to All Integer Linear Programming Problem (AILP) and Mixed Integer Linear
Programming Problem (MILP)
3. Common Approach for solving AILP
4. Introduction to Gomory’s Cutting Plane Method
5. Derivation of Gomory’s Cutting Plane Method
6. Gomory’s Cutting Plane Method Algorithms
7. Explaination of Gomory’s Cutting Plane Method Algorithm with Example
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 2
3. Why Integer Programming
Production Problem
◦ Items being produced may be in complete units
◦ E.g. TV Sets of 21” and 29”
◦ Therefore fractional number of item have no meaning
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 3
4. IPP Expression
PROBLEM DEFINITION
𝑀𝑎𝑥 𝑧 = 𝑗=1
𝑛
𝑐𝑗 𝑥𝑗
subject to
𝑗=1
𝑛
𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 (𝑖 = 1, … , 𝑚)
𝑥𝑗 ≥ 0 (j=1,…,n)
and
𝑥𝑗 𝑖𝑛𝑡𝑒𝑔𝑒𝑟 𝑓𝑜𝑟 𝑗1∁ 𝑗
where j={1,2, … ,n}
DEFINITION
All Integer LPP (AILP):- If all variable take
integer values only. (if 𝒋 𝟏 = 𝒋)
(slack & surplus variable take integer value)
Mixed Integer LPP (MILP):- If some but not
all variable of the problem are constrained
Integer values.
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 4
5. IPP Example
EXAMPLE OF AILP
𝑀𝑎𝑥 𝑧 = 4𝑥1 + 3𝑥2
subject to
𝑥1 + 𝑥2 ≤ 8
2𝑥1 + 𝑥2 ≤ 10
𝑥1, 𝑥2 ≥ 0
and
𝑥1 𝑎𝑛𝑑 𝑥2 𝑖𝑛𝑡𝑒𝑔𝑒𝑟
𝑥1 and 𝑥2 are non-negative integer
slack variable
𝑥3 = 8 − 𝑥1 − 𝑥2 &
𝑥4 = 10 − 2𝑥1 − 𝑥2
are also non-negative integer
if we consider 2nd constraints is given as:
2𝑥1 + 𝑥2 ≤ 10;
𝑥4 = 10 − 2𝑥1 − 𝑥2
Then this problem no more AILP. But MILP
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 5
6. Common Approach (Rounding off)
PROBLEM
𝑀𝑎𝑥 𝑧 = 21𝑥1 + 11𝑥2
subject to
7𝑥1 + 4𝑥2 ≤ 13
𝑥1, 𝑥2 ≥ 0
and
𝑥1 𝑎𝑛𝑑 𝑥2 𝑖𝑛𝑡𝑒𝑔𝑒𝑟
The Feasible Set of discrete points
0,0 , 0,1 , 1,0 , 1,1 , 0,2 , 0,3 .
Lies inside feasible region, can be visualize in
figure
Optimal Soln. of ILP 𝑥1
∗
= 0, 𝑥2
∗
= 3, 𝑧∗
= 33
Optimal Soln. of LLP (𝑥1
∗
= 13/7, 𝑥2
∗
= 0, 𝑧∗
= 39)
Rounding LLP Soln. (𝑥1
∗
= 2, 𝑥2
∗
= 0, 𝑧∗
= 42),
two obj. fn are not close in any meaningful sense
Rounding off is not correct approach to solve ILP’s5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 6
7. Common Approach (Convex Hull)
PROBLEM
𝑀𝑎𝑥 𝑧 = 21𝑥1 + 11𝑥2
subject to
7𝑥1 + 4𝑥2 ≤ 13
𝑥1, 𝑥2 ≥ 0
and
𝑥1 𝑎𝑛𝑑 𝑥2 𝑖𝑛𝑡𝑒𝑔𝑒𝑟
The Feasible Set of the given ILP is non convex, its convex hull is a
polytope whose corner points meet the integer requirements.
0,0 , 0,1 , 1,0 , 1,1 , 0,2 , 0,3 .
Lies inside feasible region, can be visualize in figure
Optimal Soln. of ILP 𝑥1
∗
= 0, 𝑥2
∗
= 3, 𝑧∗
= 33
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 7
8. Common Approach (Convex Hull)
PROBLEM (ILP EQUIVALENT TO SOLVING LPP)
𝑀𝑎𝑥 𝑧 = 𝑗=1
𝑛
𝑐𝑗 𝑥𝑗
subject to
(𝑥1, … , 𝑥 𝑛) ∈ 𝑆,
Where S is the polytope
𝑗=1
𝑛
𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖(𝑖 = 1, … , 𝑚)
𝑥𝑗 ≥ 0 (j=1,…,n)
and
𝑥𝑗 𝑖𝑛𝑡𝑒𝑔𝑒𝑟 𝑓𝑜𝑟 𝑗 ∈ 𝐽1∁ 𝐽 = {1, … , 𝑛}.
Optimal Soln. of ILP 𝑥1
∗
= 0, 𝑥2
∗
= 3, 𝑧∗
= 33
This method is perfectly valid except that there are
certain practical difficulties in getting the convex
hull. When Euclidean space is more than two or
three
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 8
9. Gomory’s Cutting Plane method for AILP
PROBLEM (ILP EQUIVALENT TO SOLVING LPP)
𝑀𝑎𝑥 𝑧 = 𝑐 𝑇
𝑥
subject to
𝐴𝑥 = 𝑏,
𝑥 ≥ 0
𝑥 𝑖𝑛𝑡𝑒𝑔𝑒𝑟
𝐴, 𝑏 𝑎𝑛𝑑 𝑐 are integer,
The objective function is automatically constrained to be integer.
Let
(𝑳𝑷) 𝟏→ 𝑨𝒔𝒔𝒐𝒄𝒊𝒂𝒕𝒆𝒅 𝑳𝑷𝑷 𝒇𝒐𝒓 𝑨𝑰𝑳𝑷
𝒙(𝟏)
→ 𝑶𝒑𝒕𝒊𝒎𝒂𝒍 𝑺𝒐𝒍𝒖𝒕𝒊𝒐𝒏
(if all constrained are integer then it is optimal
solution.
Else according to Gomory,
A new constrained 𝒑 𝑻
𝒙 ≤ 𝒅 append to new
(𝑳𝑷) 𝟏 to get a new (𝑳𝑷) 𝟐
The basic purpose of the cut constrained
◦ Delete a part of the feasible region 𝑺 𝟏
◦ Don’t delete the points which have integer
coordinates
Finitely many cut constrained will be needed to
solve the given AILP.
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 9
11. Gomory’s Cutting Plane method for AILP
DERIVATION OF THE GOMORY’S CUT
CONSTRAINT
𝑨𝑰𝑳𝑷 𝑹𝒆𝒑𝒓𝒔𝒆𝒏𝒕𝒂𝒕𝒊𝒐𝒏 𝑀𝑎𝑥 𝑧 = 𝑐 𝑇
𝑥
subject to
𝐴𝑥 = 𝑏,
𝑥 ≥ 0, 𝑥 𝑖𝑛𝑡𝑒𝑔𝑒𝑟 (Eq. 0)
𝑨𝒔𝒔𝒐𝒄𝒊𝒂𝒕𝒆𝒅 𝑳𝑷𝑷
𝑀𝑎𝑥 𝑧 = 𝑐 𝑇
𝑥
subject to
𝐴𝑥 = 𝑏, 𝑥 ≥ 0 (Eq. 1)
𝒙 𝑩 𝒊
= 𝒚𝒊𝟎 −
𝒋∈𝑹
𝒚𝒊𝒋 𝒙𝒋 𝒇𝒐𝒓 𝒊 = 𝟎, 𝟏, … , 𝒎 (𝑬𝒒. 𝟒)
This holds for any feasible solution of LPP (Eq. 1) and (Eq. 0)
If for any real number a
Fractional part 𝒇 𝒂 = 𝒂 − 𝒂
[𝒂] → 𝒈𝒓𝒆𝒂𝒕𝒆𝒔𝒕 𝒊𝒏𝒕𝒆𝒈𝒆𝒓 𝒇𝒖𝒏𝒄𝒕𝒊𝒐𝒏
𝟎 ≤ 𝒇 𝒂 < 𝟏
For 𝒂 = −𝟏 𝒇 𝒂 = 𝟎
But 𝒂 = −𝟏. 𝟔,
𝒇 𝒂 = −𝟏. 𝟔 − −𝟏. 𝟔 = −𝟏. 𝟔 − −𝟐 = 𝟎. 𝟒
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 11
12. Gomory’s Cutting Plane method for AILP
𝒙 𝑩 𝒊
= 𝒚𝒊𝟎 −
𝒋∈𝑹
𝒚𝒊𝒋 𝒙𝒋 𝒇𝒐𝒓 𝒊 = 𝟎, 𝟏, … , 𝒎 (𝑬𝒒. 𝟒)
𝒋∈𝑹
𝒚𝒊𝒋 𝒙𝒋 +
𝒋∈𝑹
𝒚𝒊𝒋 − 𝒚𝒊𝒋 𝒙𝒋 + 𝒙 𝑩 𝒊
= 𝒚𝒊𝟎 + (𝒚𝒊𝟎 − [𝒚𝒊𝟎])
i.e.
𝒋∈𝑹
[𝒚𝒊𝒋] 𝒙𝒋 + 𝒙 𝑩 𝒊
− 𝒚𝒊𝟎 = 𝒚𝒊𝟎 − 𝒚𝒊𝟎 −
𝒋∈𝑹
𝒚𝒊𝒋 − 𝒚𝒊𝒋 𝒙𝒋
i.e.
𝒋∈𝑹
[𝒚𝒊𝒋] 𝒙𝒋 + 𝒙 𝑩 𝒊
− 𝒚𝒊𝟎 = 𝒇𝒊𝟎 −
𝒋∈𝑹
𝒇𝒊𝒋 𝒙𝒋 (𝑬𝒒. 𝟓)
(Eq. 5) holds for all feasible points of points LPP (Eq. 0) and for the given AILP.
Therefore the R.H.S must also be integer.
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 12
13. Gomory’s Cutting Plane method for AILP
𝑓𝑖0 −
𝑗∈𝑅
𝑓𝑖𝑗 𝑥𝑗
𝑖 = 0 included because for the AILP, the objective function is also constrained to be integer.
𝑁𝑜𝑤 𝑓𝑖𝑗 ≥ 0 𝑎𝑛𝑑 𝑥𝑗 ≥ 0 𝑓𝑜𝑟 𝑗 ∈ 𝑅. 𝑇ℎ𝑒𝑟𝑒𝑓𝑜𝑟𝑒
𝑗∈𝑅 𝑓𝑖𝑗 𝑥𝑗 ≥ 0 (Eq. 6)
𝑓𝑖0 < 1 𝑎𝑛𝑑 𝐸𝑞. 6 𝑔𝑖𝑣𝑒𝑠
𝑓𝑖0 − 𝑗∈𝑅 𝑓𝑖𝑗 𝑥𝑗 < 1 is an integer
𝒇𝒊𝟎 − 𝒋∈𝑹 𝒇𝒊𝒋 𝒙𝒋 ≤ 𝟎 (Eq. 7)
The inequality (Eq. 7) is satisfied by every integer feasible point of the given AILP.
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 13
14. Gomory’s Cutting Plane method for AILP
If current b.f.s. 𝒙 𝑩 is not an integer. It doesn’t meet the requirement of AILP.
In that case, inequality is not satisfied.
“ It certainly deletes a part of the feasible region of the associated LLP ( at least the current
b.f.s. 𝒙 𝑩 and may be more points) but does not delete any feasible point with integer co-
ordinates. Hence it is valid cut constraint and it is called Gomory’s cut constraint”
−𝑓𝑖0= 𝑠𝑖 −
𝑗∈𝑅
𝑓𝑖𝑗 𝑥𝑗
Append this to associated LPP, (𝐿𝑃)1 to get the new LPP (𝐿𝑃)2 Therefore we solve
(𝐿𝑃)2 𝑎𝑛𝑑 𝑟𝑒𝑝𝑒𝑎𝑡 𝑡ℎ𝑒 𝑝𝑟𝑜𝑐𝑒𝑑𝑢𝑟𝑒.
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 14
15. Stepwise Description
Step 1: Solve the associated LLP, say (𝑳𝑷) 𝟏,by the simplex method. Set 𝒌 = 𝟏
Step 2:
◦ If the optimal solution obtained at Step 1 is integer
◦ Stop
◦ Otherwise go to Step3
Step 3: For any updated constraint 𝒊 whose 𝒚𝒊𝟎 value is fractional (including 𝒊 = 𝟎, i.e. obj. fun.)
◦ Generate Gomory’s cut constraint as given at (6.13).
◦ Select the value of 𝒊, 𝟎 ≤ 𝒊 ≤ 𝒎 for which 𝒇𝒊𝟎 value is maximum.
◦ Theoretically we can choose any i for which 𝒇𝒊𝟎 > 𝟎 but the maximum of 𝒇𝒊𝟎 is chosen with the hope that it may give a
deeper cut
Step 4: Append the Gomory’s cut constraint derived at Step 3 above the (𝑳𝑷) 𝒌 to get the new LPP
(𝑳𝑷) 𝒌+𝟏 .
◦ Solve by the dual simplex method and return to Step2
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 15
16. Theorem
“The number of Gomory’s cut constraints needed to solve any
instance of all integer linear programming (AILP) problem is
always finite”
As the no. of cut constraints needed is always finite, we are solving
only finitely many LPP to get an optimal solution of the given AILP.
But unfortunately, even for a problem of “average” size, the no. of
cut constraints needed may be ‘too many’ as AILP belongs to the
class of Hard Problem.
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 16
17. Example
CONSIDER THE INTEGER LPP
𝑀𝑎𝑥 𝑧 = 5𝑥1 + 2𝑥2
subject to
2𝑥1 + 2𝑥2 ≤ 9
3𝑥1 + 𝑥2 ≤ 11
𝑥1, 𝑥2 ≥ 0
𝑥1, 𝑥2integer
THE GIVEN ILP IS EQUIVALENT TO
𝑀𝑎𝑥 𝑧 = 5𝑥1 + 2𝑥2 + 0𝑥3 + 0𝑥4
subject to
2𝑥1 + 2𝑥2 + 𝑥3 = 9
3𝑥1 + 𝑥2 + 𝑥4 = 11
𝑥1, 𝑥2, 𝑥3, 𝑥4 ≥ 0
all integer
𝑥3 = 9 − 2𝑥1 − 2𝑥2 and
𝑥4 = 11 − 3𝑥1 − 𝑥2
𝑥1, 𝑥2 𝑎𝑟𝑒 𝑖𝑛𝑡𝑒𝑔𝑒𝑟, 𝑠𝑜 𝑥3, 𝑥4 𝑎𝑟𝑒 𝑎𝑙𝑠𝑜 𝑖𝑛𝑡𝑒𝑔𝑒𝑟
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 17