Outline1. 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
Why Integer ProgrammingProduction 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
IPP ExpressionPROBLEM 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 takeinteger 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
IPP ExampleEXAMPLE 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
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, π§β = 33Optimal 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
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 apolytope 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
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, π§β = 33This 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
Gomoryβs Cutting Plane method for AILPPROBLEM (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
Gomoryβs Cutting Plane method for AILPDERIVATION OF THE GOMORYβS CUT CONSTRAINT
πππ₯ π§ = πππ₯
subject to
π΄π₯ = π,
π₯ β₯ 0 (Eq. 1)
π¨ = π©:πΉ , π = πππ ππ©, ππΉ , π = πππ(ππ© , ππΉ)π΄π₯ = π
π΅: π π₯π΅π₯π = π
π΅π₯π΅ + π π₯π = ππ₯π΅ = π΅
β1π β π΅β1π π₯π
ππ©π = πππ β πβπΉπππππ πππ(π = π,β¦ ,π) (Eq.2)
π§ = πππ₯= ππ΅ππ₯π΅ + ππ
ππ₯π = ππ΅π(π΅β1π β π΅β1π₯π ) + ππ
ππ₯π = ππ΅π π΅β1π β (ππ΅
ππ΅β1π β ππ π)π₯π
Which can be written as
ππ©π = πππ β πβπΉπππππ (Eq. 3)
where
ππ©π = π, πππ = ππ©π» π©βππ & πππ = ππ β ππ
ππ©π = πππ β
πβπΉ
πππππ πππ π = π, π,β¦ ,π (π¬π. π)
Where π = π refers to objective function and π =π,β¦ ,π refers to the m constraints.
πππ β πππππππ πππ. πππππππππππ π = π,β¦ ,π β πππππππ π. π. π.
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 10
Gomoryβs Cutting Plane method for AILPDERIVATION 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
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
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
Gomoryβs Cutting Plane method for AILPIf 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 currentb.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
Stepwise DescriptionStep 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 adeeper 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
TheoremβThe number of Gomoryβs cut constraints needed to solve anyinstance of all integer linear programming (AILP) problem isalways finiteβ
As the no. of cut constraints needed is always finite, we are solvingonly finitely many LPP to get an optimal solution of the given AILP.
But unfortunately, even for a problem of βaverageβ size, the no. ofcut constraints needed may be βtoo manyβ as AILP belongs to theclass of Hard Problem.
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 16
ExampleCONSIDER 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π₯4subject 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
ππ ππ ππ ππ
π 0 -5 -2 0 0
ππ 9 2 2 1 0
ππ 11 3 1 0 1
ππ ππ ππ ππ
π 18.33 0 -0.33 0 1.67
ππ 1.67 0 1.33 1 -0.67
ππ 3.67 1 0.33 0 0.33
ExampleFIRST ITERATION (LP1)
πππ₯ π§ = 5π₯1 + 2π₯2 + 0π₯3 + 0π₯4subject 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 πππ πππ π πππ‘ππππ
ππ ππ ππ ππ
π 18.75 0 0 0.25 1.5
ππ 1.25 0 1 0.75 -0.5
ππ 3.25 1 0 -0.25 0.5
(π§πβππ)
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 18
Finding Gomoryβs Cut ConstraintFINDING GOMORYβS CUT
Gomory cut constraint by choosing value of i for which
ππ0 ππ πππ ππ‘ππ£π πππ π‘. In table we can see
πππ ππ ππππ ππππππππ
πππ β πβπΉπππππ β€ π
π00 β π03π₯3 β π04π₯4 β€ 0
0.75 β 0.25π₯3 β 0.5π₯4 β€ 0
0.75 β 0.25π₯3 β 0.5π₯4 + π 1 = 0
βπ. ππ = ππ β π. ππππ β π. πππ
ππ ππ ππ ππ
π 18.75 0 0 0.25 1.5
ππ 1.25 0 1 0.75 -0.5
ππ 3.25 1 0 -0.25 0.5
New Constrained in πππππ πππππππ₯3 = 9 β 2π₯1 β 2π₯2π₯4 = 11 β 3π₯1 β π₯20.25π₯3 + 0.5π₯4 β₯ 0.75
0.25 9 β 2π₯1 β 2π₯2 + 0.5(11 β 3π₯1 β π₯2) β₯ 0.75πππ + ππ β€ π
(π§πβππ) β₯ 0
π00
π10
π20
π β€ ππ < π
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 21
Second Iteration (LP2)DUAL SIMPLEX METHOD
πππ₯ π§ = 5π₯1 + 2π₯2 + 0π₯3 + 0π₯4 + 0π 1subject to
2π₯1 + 2π₯2 + π₯3 = 9
3π₯1 + π₯2 + π₯4 = 11
β0.25π₯3 β 0.5π₯4 + π 1 = β0.75
π₯1, π₯2, π₯3, π₯4, π 1 β₯ 0
ππ ππ ππ ππ ππ
π 18.75 0 0 0.25 1.5 0
ππ 1.25 0 1 0.75 -0.5 0
ππ 3.25 1 0 -0.25 0.5 0
ππ -0.75 0 0 -0.25 -0.5 1
ππ ππ ππ ππ ππ
π 18 0 0 0 1 1
ππ -1 0 1 0 -2 3
ππ 4 1 0 0 1 -1
ππ 3 0 0 1 2 4
ππ ππ ππ ππ ππ
π 17.5 0 0.5 0 0 2.5
ππ 0.5 0 -0.5 0 1 -1.5
ππ 3.5 1 0.5 0 0 0.5
ππ 2 0 1 1 0 -1
By taking constraint directly in the last Tableau
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 25
Finding Second CutFINDING GOMORYβS CUT
Gomory cut constraint by choosing value of i for which
ππ0 ππ πππ ππ‘ππ£π πππ π‘. In table we can see
πππ = πππ = πππ = π. π ππ ππππ ππππππππ
So w can generate cut through π ππ ππ ππ ππ we chooseπ = π πππ π πππππ ππππππππππ
πππ β πβπΉπππππ β€ π
0.5 β 0.5π₯2 β 0.5π 1 β€ 0
0.5 β 0.5π₯2 β 0.5π 1 + π 2 = 0
β0.5 = π 2 β 0.5π₯2 β 0.5π 1
ππ ππ ππ ππ ππ
π 17.5 0 0.5 0 0 2.5
ππ 0.5 0 -0.5 0 1 -1.5
ππ 3.5 1 0.5 0 0 0.5
ππ 2 0 1 1 0 -1
New Constrained in πππππ πππππππ₯3 = 9 β 2π₯1 β 2π₯2π₯4 = 11 β 3π₯1 β π₯2πππ + ππ β€ πππ = π β πππ β ππ0.5π₯2 + 0.5π 1 β₯ 0.5
0.5π₯2 + 0.5(π β πππ β ππ) β₯ 0.5ππ β€ π
(π§πβππ) β₯ 0
π00
π10
π20
π30
π β€ ππ < π
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 26
Third Iteration (LP)3DUAL SIMPLEX METHOD
πππ₯ π§ = 5π₯1 + 2π₯2 + 0π₯3 + 0π₯4 + 0π 1subject to
2π₯1 + 2π₯2 + π₯3 = 9
3π₯1 + π₯2 + π₯4 = 11
β0.25π₯3 β 0.5π₯4 + π 1 = β0.75
β0.5 = π 2 β 0.5π₯2 β 0.5π 1π₯1, π₯2, π₯3, π₯4, π 1 β₯ 0
Optimal Solution: (ππβ = π, ππ
β = π, πβ = ππ)
ππ ππ ππ ππ ππ ππ
π 17.5 0 0.5 0 0 2.5 0
ππ 0.5 0 -0.5 0 1 -1.5 0
ππ 3.5 1 0.5 0 0 0.5 0
ππ 2 0 1 1 0 -1 0
ππ -0.5 0 -0.5 0 0 -0.5 1
ππ ππ ππ ππ ππ ππ
π 17 0 0 0 0 2 1
ππ 1 0 0 0 1 -1 -1
ππ 3 1 0 0 0 0 1
ππ 1 0 0 1 0 -2 2
ππ 1 0 1 0 0 1 -2
By taking constraint directly in the last Tableau
5/8/2015 HTTPS://SITES.GOOGLE.COM/SITE/PIRYANIRAJESH/ 30