Anda di halaman 1dari 43

# PRESENTATION ON

INTEGER PROGRAMMING

## WHY INTEGER PROGRAMMING ?

In LP problems ,decision variables are non negative values, i.e. they are restricted to be zero or more than zero. It demonstrates one of the properties of LP namely, continuity, which means that fractional values of the decision variables are possible in the solution of a LP model. For some problems like: product mix , balanced diet (nutrition) etc. the assumption of continuity may be valid . But some items cannot be produced in fractions. Say ship,cranes,tables,chairs etc. If we round off the production volume of such products Corresponding solution may be different from the optimal solution. There would be a significant difference in the total profit, if the profit per unit of each of the products is very high. There are problems where it is also necessary to assign people , machines, vehicles to activities in integer quantities. That means these variables should take integer values.

## Methods to solve Integer Programming Problem

Method
Cut and Bound Method Branch and Bound Method Binary Zero one Method R.E. Gomory

Developed by

E.Balas

## Widely used method for solving pure as well as mixed

integer problem. Most commercial computer use B & B method.

## Branch and Bound

Steps
1. Solve problem with simplex method, Ignoring integrity restriction. 2. If optimal soln is some variable , Xj not integer X*j < Xj < X*j + 1 X*j + 1 & X*j are integer These two conditions applied separately to the continues L.P Problem. Problem is branched into two sub Problem 3. Use simplex method to solve above stated Sub problem 4. Repeat step 2 till we get Optimal solution.

Maximize 2x1+3x2

## Branch and Bound

The problem is solved as a LPP ignoring the integrality condition. The non-integer optimal solution is X1=25/13, X2=35/13 and Zmax=155/13 Solution involve non-integer. B & B method discussed below to obtain integer optimal Solution.

x2
5

x1
1 2 3 4 5

## Branch and Bound

x
5 4

Sub Problem 1
2

x
5 4

Sub Problem 2
2

6x1+5x2=25
Optimum soln X1=2.5, x2=2; Zmax=11

6x1+5x2=25
Optimum soln X1=1, x2=3, Zmax=11

x1+3x2 10

x1+3x2 10

x2 2 x1
1 2 3 4 5

x2 3 x1
1 2 3 4 5

1 1

## Branch and Bound

Thus we add a new constraint either x2 2 or x2 3 to the original ILP, yielding two sub-problems: Sub-problem 1 max Z= 2x1+3x2 Subject to 6x1+5x2 25 x1+3x2 10 x2 2 x1, x2 non-negative integers. Sub-problem 2 max Z= 2x1+3x2 Subject to 6x1+5x225 x1+3x2 10 x 2 3 x1, x2non-negative integers

## Branch and Bound

These sub-problems are again solved by ignoring the integrality condition. Solution of sub-problem1 Solution of sub-problem 2 x1=2.5, x2=2 , Zmax=11 x1=1, x2=3 , Zmax=11 Note that Zmax=11 is a This is a feasible solution lower bound on the to the given problem. maximum value of Z for Since variables x1& x2 future solution. are integers, there is no Thus ZL=11 need to branch Sub-problem 2 further.

## Branch and Bound

Sub-problem 1 is now the candidate for branching. So, it can be branched into further two sub-problems x1=2.5 gives 2<x1< 3 Thus the max Z= 2x1+3x2 Subject to 6x1+5x2 25 Subject to 6x1+5x2 25 sub-problems emanating from it are Sub-problem 3 Sub-problem 4 max Z= 2x1+3x2 x1+3x2 10 x1+3x2 10 x2 2 x2 3 x1 2 x1 3 x1, x2 non-negative x1, x2 non-negative integers. integers.

## Branch and Bound

Solution of sub-problem 3 x1=2, x2=2 , Zmax=10 This is integer feasible sol. but inferior to the best available solution already obtained. So, sub-problem 3 is also fathomed. Solution of sub-problem4 x1=3, x2=1.4 , Zmax=10.4 This is non-integer sol. it can be further branched with x2 as branching variable but the value of its objective function is inferior to the best available solution already obtained. So sub-problem4 is also fathomed.

## Branch and Bound

Now there is no sub-problem which can be further branched and the best available solution corresponding to sub-problem 2 is the integer optimal solution of the problem. x1=1 , x2=3 , Zmax = 11.

## Branch and Bound

1 X2 3 2
X1 =1, X2 =3,Zmax= 11 X1 =25/13, X2 =35/13, Zmax= 12

X2 2 3 X13 4
X1 =2.5, X2 =2,Zmax= 11

X12 5
X1 =2, X2 =2,Zmax= 10 Fathomed

## CUTTING PLANE METHOD

STEPS:1. Integrate the constraints:-transform all constraints so that all coefficients are whole numbers 2. Solve using simplex method, ignoring integarity restriction. 3.Develop a cutting plane:- if the solution is integer stop. Otherwise , construct a cut derived from the row that has a non integer variable with the largest fractional value and add to the current final tableau. If there is a tie select any row arbitrarily. construct the Gomory constraint. Si= j=1 FiYi-Fi 4. Solve using simplex method further with gomory constraints. 5. Repeat Step no. 3 till we get optimum solution.

## CUTTING PLANE METHOD

EXAMPLE: Maximize Z = 5X1+7X2 Subject to -2X1+3X2 6 6X1+X2 30 X1,X2 0 and integers. The problem is solved considering it as a normal LPP ignoring the integrality condition.

Max Z = 5X1+7X2 + 0.S1 +0.S2, Subject to -2X1+3X2+S1 = 6 6X1+X2 +S2= 30 X1, X2, S1, S2 0

## CUTTING PLANE METHOD

Cj Cb 0 0 Zj S1 S2 Basic 6 30 b
i

5 X1 -2 6 0 5

7 X2 3 1 0 7

0 S1 1 0 0 0

0 S2 0 1 0 0

6/3=2
30/1=30

Cj -Zj

## CUTTING PLANE METHOD

Cj 5 7 X2 1 0 7 0 0 S1 3/10 - 1/20 37/20 0 S2 1/10 3/20 29/20

C
5 7 Zj

Basic
X2 X1

X1
i

24/5 21/5

0 1

273/ 5 5
j j

C -Z

-37/20 -29/20

## CUTTING PLANE METHOD

Thus optimal solution X1=21/5, X2=24/5,and Zmax=273/5, Which is non-integer solution. Select X2-row which has the larger fractional part. This row can Be written as X2+3/10S1+1/10S2=24/5 Break all fractions into an integer & a positive fraction (1+0)X2+ (0+3/10)S1+ (0+1/10)S2=4+4/5 The Gomorys constraint to be added is Sg1= 3/10S1 +1/10S2 -4/5 (fractional cut) Or -3/10S1 -1/10S2 +Sg1 = -4/5

5 X1 5 7 0 C -Z
j

7 X2 1 0 0

0 sg1 0 0 1

X2 X1
Sg1

b 24/5
i

0 1 0

-4/5

21/5

0 -37/20

-29/20

## Non-integer optimum solution

The modified simplex table after inserting the fractional cut equation and solved, becomes Cj Cb Basic bi. 7 X2 4 0 1 0 0 1 5 X1 7 X2 0 S1 0 S2 0 Sg1

5
0 Zj

X1
S1

13/3
8/3

1
0

0
0 7 0

0
1 0 0

1/6
1/3 5/6 -5/6

-1/6
-10/3 37/6 -37/6

149/3 5 0
j

C -Z
j

Since X1 has non-integer value=13/3 so solution is infeasible. Second Gomorys constraint is now constructed, X1 equation is
X1+1/6S2 -1/6S=13/3, (1+0)X1+ (0+1/6)S2+ (-1+5/6)S=4+1/3

or

The Gomorys constraint to be added is Sg2= 1/6S2 +5/6S -1/3 (fractional cut) or -1/6S2 -5/6S +Sg2 = -1/3

The modified simplex table after inserting the fractional cut equation and solved becomes

## Cj Basic sol. 7 5 0 0 Zj Cj- Zj X2 X1 S1 S2 4 4 2 2 48

5 X1 0 1 0 0 5 0

7 X2 1 0 0 0 7 0

0 Sg1 1 -1 -5 5 2 -2

0 Sg2 0 1 2 -6 5 -5

S1 S2 0 0 1 0 0 0 0 0 0 1 0 0

Above table yields optimal integer solution X1=4, X2=4 and Zmax=48

Zero-One Programming
An analytical method consisting of what amounts to a series of "yes" (1) and "no" (0) answers to arrive at a solution.

Zero-One Programming
1. Change the sign of objective function if it is maximization type. 2. Convert type constraint to type. 3. Introduce new variable yi such that
xj if Cj o 1-xj if Cj 0

## 4. All objective function coefficients should be non-negative.

Zero-One Programming
Maximize Z = x1 + 2x2 - 3x3, 20x1 + 15x2 - x3 10, 12x1 - 3x2 - 4x3 20, 3x1 + 5x2 + x3 6, x1 , x2 , x3 = 0 or 1

Subjected to

Zero-One Programming
Solution:
Min. Z` = - x1 - 2x2 + 3x3
Now, make following substitution, As x1 = 1- y1, x2 = 1- y2, (for making coefficient of objective & x3 = y3 , function non-negative)

Zero-One Programming
The proper format of problem becomes; Objective Function: Min. Z` = y1 + 2y2 + 3y3 - 3 or Min. Z = Z`+ 3 = y1 + 2y2 + 3y3 Constraints: - 20 y1 - 15y2 - y3 - 25 - 12 y1 + 3y2 - 4y3 5 - 3 y1 - 5y2 + y3 - 2

Zero-One Programming
Now, introducing slack variables - 20 y1 - 15y2 - y3 + s1 = - 25 .(i) - 12 y1 + 3y2 - 4y3 + s2 = 5 .(ii) - 3 y1 - 5y2 + y3 + s3 = - 2 .(iii)

Zero-One Programming
Initial Solution: Set y1 = y2 = y3 = 0, which gives Z = 0 and s1 = -25, s2 = 5, s3 = -2. (NODE 1)
y1 = y2 = y3 = 0, Z* = 0

y1 = 0, y2 = y3 = 1, Z = 5

y1 = 1, y2 = y3 = 0, Z = 1

Fathomed

Zero-One Programming
Select y1 = 1 (y2 and y3 are free). Set y1 = 1, y2 = y3 = 0, which gives Z* = 1 and s1 = -5, s2 = 17, s3 = 1. (NODE 2) This is an infeasible Solution. Select y2 = 1 (y3 is free). Set y1 = y2 = 1, y3 = 0, which gives Z* = 3 and s1 = 10, s2 = 14, s3 = 6. (NODE 4)

y1 = y2 = y3 = 0, Z* = 0

y1 = 1, y2 = y3 = 0, Z* = 1

2
y1 = 0, y2 = y3 = 1, Z* = 5 Fathomed

4
y1 = y2 = 1, y3 = 0, Z* = 3 Fathomed

2
y1 = 1, y2 = 0, y3 = 1, Z* = 4 Fathomed

Zero-One Programming
Backtracking to Node 2: Other solution emanating from Node 2 is y1 =1, y2 = 0 and y3 is free to take 0 or 1. Set y1 = 1, y2 = 0, y3 = 1, which gives Z* = 4 (NODE 5) Since (Zmin = 4) is higher than (Zmin = 3). There is no need of checking the feasibility of this solution. Therefore Node 5 is Fathomed.

Zero-One Programming
Backtracking to Node 1: Other solution emanating from Node 1 is y1 = 0, (y2 and y3 are free to take 0 or 1). Set y1 = 0, y2 = y3 = 1, which gives Z* = 5 . and s1 = -9, s2 = 6, s3 = 2. (NODE 3)

## This is an infeasible Solution. Thus Node 3 is Fathomed.

Zero-One Programming
Optimal Solution: Thus the optimal solution is y1 = y2 = 1, y3 = 0, Z*min = 3. Translating in terms of original variables, we get x1 = 0, x2 = 0, x3 = 0, As x1 = 1- y1, Zmax = 0. x2 = 1- y2, & x3 = y3 ,

Extensions to LPs eg Manufacturing, Distribution, Petroleum, Gas and Chemicals Global Optimisation of non-convex (non-linear) models Power Systems Loading Facilities Location Routing Telecommunications Medical Radiation Statistical Design Molecular Biology Genome Sequencing Archaeological Seriation Optimal Logical Statements Computer Design Aircraft Scheduling Crew Rostering

Applications of IP

REFRENCES
Source
Operation Research 3rd edition

Writer
Gupta Prem Kumar and Hira D.S

Publication
S. Chand & Company Ltd.

Taha Hamdy A

Pearson

Any query ??