0% found this document useful (0 votes)
60 views9 pages

Interger Programming

The document discusses integer programming and its solution methods. Integer programming is needed when model variables must take on integer values rather than continuous values. The two main solution methods are: 1. The rounding approach, which rounds the solution of the linear programming relaxation to integers. However, this may produce infeasible or non-optimal solutions. 2. The branch-and-bound method, which systematically searches the solution space by branching on integer variables and bounding regions of the search space. It involves solving relaxed linear programs and pruning infeasible or suboptimal regions.

Uploaded by

Stephen Sogah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views9 pages

Interger Programming

The document discusses integer programming and its solution methods. Integer programming is needed when model variables must take on integer values rather than continuous values. The two main solution methods are: 1. The rounding approach, which rounds the solution of the linear programming relaxation to integers. However, this may produce infeasible or non-optimal solutions. 2. The branch-and-bound method, which systematically searches the solution space by branching on integer variables and bounding regions of the search space. It involves solving relaxed linear programs and pruning infeasible or suboptimal regions.

Uploaded by

Stephen Sogah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Operations Research Integer Programming

INTERGER PROGRAMMING

Linear programming generally requires that the model variables are divisible. This implies
that each model variable can take on any non-negative, continuous solution value.

In certain decision problems, however, the divisibility assumption is unrealistic and


unacceptable. For instance, a solution requiring 1.34 bridges on a river system has no
practical meaning. In this case either 1 or 2 bridges must be assigned. Also in an
assignment problem, it is impossible to assign 1.22 people to 0.68 machines. These types
of problems require integer variables for the model variables. There are other types of
problems that require integer variables to take on values either one or zero. Integer
programming technique is applicable to such types of problems.

An integer programming model requires the following characteristics:


 a linear objective function
 a set of constraints
 non-negativity constraints for variables
 integer value constraints for certain variables

When the model requires all integer values, it is referred to as all-integer or pure integer
problem. When the model requires only certain variables to be integers, it is called a
mixed-integer programming problem. When the model requires only values of zero or one
for the decision variables, it is called a zero-one integer problem.

Integer Programming Solution Methods

There are several approaches to solving integer programming problems. We will briefly
discuss the rounding approach and present the branch-and-bound technique - the most
widely used.

Rounding Approach

This is a simple and sometimes practical approach to solving an integer programming (IP)
problem. This approach may be a very effective technique for large integer programming
problems where computational costs are extremely high or for problems where the
solution values of decision variables are large. For example, rounding off a solution value
of 120500.2 to 120500 would probably be acceptable. However, the major disadvantage
of this approach is that the solution may not be the true optimal integer solution or it may
be an infeasible solution.

The following example problems will be used to illustrate the rounding approach:

Problem 1:
Max. Z = 100x1 + 90x2
subject to:
10x1 + 7x2  70
5x1 + 10x2  50
x 1, x 2  0

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 1


Operations Research Integer Programming

Problem 2:

Min. Z = 200x1 + 400x2


subject to:
10x1 + 25x2  100
3x1 + 2x2  12
x 1, x 2  0

Problem 3:

Max. Z = 80x1 + 100x2


subject to:
4x1 + 2x2  12
x1 + 5x2  15
x 1, x 2  0

The standard relaxed LP solution, the rounded integer solution and the optimal integer
solution of each of the three problems are presented in Table 6.1.

Table 6.1
Standard LP Rounded Integer Optimal Integer
Problem Relaxed Solution Solution Solution
1 x1 = 5.38 x1 = 5 x1 = 7
x2 = 2.31 x2 = 2 x2 = 0
Z= 746.15 Z= 680 Z= 700

2 x1 = 1.82 x1 = 2 x1 = 3, x2 =3
x2 = 3.27 x2 = 3 x1 = 5, x2 = 2
Z= 1672.73 Infeasible Z= 1800

3 x1 = 1.67 x1 = 2 x1 = 2
x2 = 2.67 x2 = 3 x2 = 2
Z= 400 Infeasible Z= 360

The comparison of the three problems in Table 6.1 demonstrates the shortcomings of the
rounding approach. In order to contain the potential problem of infeasibility, the rounding
approach involves rounding up only for a minimisation problem and rounding down only
for a maximisation problem. This is due to the fact that for a relaxed LP the optimum
solution is at the extreme (corner) of the boundary of the feasible region. Therefore, the
relaxed LP optimum solution values are the minimum possible for a minimisation
problem and the maximum possible for a maximisation problem. By rounding up in a
minimisation problem (and rounding down in a maximisation problem) it is ensured that
the solution stays in the feasible region.

Branch-and Bound Method

The branch-and-bound method is useful for solving integer, mixed-integer and zero-one
integer programming problems. The basic steps of the method are outlined as follows:

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 2


Operations Research Integer Programming

1. Solve the integer programming problem by the standard simplex method with the
integer restrictions relaxed (i.e. just as a normal LP problem).
2. Examine the optimal solution. If the basic variables that have integer restrictions have
integer solution values, the optimal integer solution is obtained. If one or more of the
basic variables do not satisfy integer requirements proceed to step 3.
3. The set of feasible integer solutions is branched into subsets (each subset comprising a
sub-problem). This branching is to eliminate continuous solutions that violate integer
requirements. Branching is achieved by introducing mutually exclusive constraints
that are necessary to satisfy integer requirements while making sure that no feasible
integer solution is excluded.
4. For each subset the optimal relaxed (LP) solution value of the objective function is the
upper bound. The best integer solution becomes the lower bound. Those subsets
having upper bounds that are less than the current lower bound are excluded from
further analysis. A feasible integer solution that is as good as or better than the upper
bound for any subset is sought. If such a solution exists, it is optimal. If such a
solution does not exist a subset with the best upper bound is selected to branch on.
Return to step 3.

In order to illustrate the branch-and-bound solution method the following example will be
used.

Max Z = 5x1 + 8x2


subject to:
x1 + x2  6
5x1 + 9x2  45
x1, x2  0 and integer.

The graphical solution is presented in Figure 6.1.


In Figure 6.1 the feasible region for the relaxed LP is shown by the region enclosed by the
bold lines. The feasible integer solution values are indicated by the small circles at the
integer section of the gridlines. The graphical solution in Figure 6.1 indicates that the
optimal solution for the relaxed LP problem is (point A) x 1 = 2.25, x2 = 3.75 and Z =
41.25.

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 3


Operations Research Integer Programming

X2 7

5 (0,5)
x1+x2=6

4
(2.25,3.75
A

3
5x1+9x2=45
2

0 (6,0)
0 1 2 3 4 5 6 7 8 9 10
X2

Figure 6.1

Obviously both x1 and x2 have non-integer solution values. Hence subsets are developed
by branching, as shown in Figure 6.2 (with branching started on x1).

Z=34 Z=40
x1=2 x1=0
Z=41.11 Z=40.56
x2=3 x2=5
x1=2 x1=1
x2=3.89 x23 4 fathomed x2=4.44 x25 8
Z=41.25 3 fathomed
x12 Z=41 7
x1=2.25
x1=1.8 x11
x2=3.75 Z=37
x24 x2=4 x1=1
1 5 x24 x2=4
Z=39
x1=3 9
x13 x2=3 x12 fathomed
2 fathomed 6 infeasible

Figure 6.2

The optimal integer solution is x1 = 0, x2 = 5 and Z = 40.

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 4


Operations Research Integer Programming

The branching is illustrated graphically from Figure 6.3 to Figure 6.6.

Branch 1-2 and 1-3:

There are two sub-problems that result from the two branches:

Sub-problem 1-2 Sub-problem 1-3


Max Z = 5x1 + 8x2 Max Z = 5x1 + 8x2
subject to: subject to:
x1 + x2  6 x1 + x2  6
5x1 + 9x2  45 5x1 + 9x2  45
x1  3 x1  2
x1, x2  0 and integer. x1, x2  0 and integer.

A graph of the two sub-problems is shown in Figure 6.3.

x2 8 x1=2 x1=3

7
6
5 (2,3.89)
4 B
(3,3)
C
3
BRANCH 1-3
2
1 BRANCH 1-2

0
0 2 4 6 8 10
x1

Figure 6.3

Solution to branch 1-2 is integer (point B on Figure 6.3); x1 = 3, x2 = 3, Z = 39.


Solution to branch 1-3 has (point C on Figure 6.3) x1 = 2, x2 = 3.89, Z = 41.11.
Although branch 1-2 has integer solution it is inferior to the Z value for branch 1-3. Since
branch 1-3 has a non-integer solution value (x2 = 3.89) another sub-problem is created
from node 3. This results in branch 3-4, 3-5.

Branch 3-4, 3-5:

There are two sub-problems that result from the two branches:

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 5


Operations Research Integer Programming

Sub-problem 3-4 Sub-problem 3-5


Max Z = 5x1 + 8x2 Max Z = 5x1 + 8x2
subject to: subject to:
x1 + x2  6 x1 + x2  6
5x1 + 9x2  45 5x1 + 9x2  45
x1  2 x1  2
x2  3 x2  4
x1, x2  0 and integer. x1, x2  0 and integer.

A graph of the two sub-problems is shown in Figure 6.4.

x2 7
x1=2 x1=3 BRANCH 3-5
6
5
x2=4
4 (1.8,4)
E
3
D (2,3) x2=3
2
BRANCH 3-4
1
0
0 2 4 6 8 10
x1

Figure 6.4

Branch 3-4 yields an all integer solution (point D on Figure 6.4): x1 = 2, x2 = 3, Z = 34,
which is inferior to the already existing ones so it is ignored.
Branch 3-5 yields a non-integer solution (point E on Figure 6.4): x1 = 1.8, x2 = 4, Z = 41,
which is still better than the highest solution Z = 39. Therefore, formulate a sub-problem
from node 5. Formulation of the sub-problem results in branch 5-6, 5-7.

Branch 5-6, 5-7:


The two sub-problems from the branches are:

Sub-problem 5-6 Sub-problem 5-7


Max Z = 5x1 + 8x2 Max Z = 5x1 + 8x2
subject to: subject to:
x1 + x2  6 x1 + x2  6
5x1 + 9x2  45 5x1 + 9x2  45
x1  2 x1  2 (redundant)
x2  4 x2  4
x1  2 x1  1
x1, x2  0 and integer. x1, x2  0 and integer.

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 6


Operations Research Integer Programming

Figure 6.5 is a graphical representation of the two sub-problems:

x2 7

x1=1 x1=2 x1=3


6

BRANCH 5-6
5 Infeasible
F (1,4.44)
x2=4
4
BRANCH 5-7
x2=3
3

0
0 2 4 6 8 10
x1
Figure 6.5

Branch 5-6 results in an infeasible solution, therefore no further branching can result from
it.
Branch 5-7 yields a non-integer solution (point F in Figure 6.5): x1 = 1, x2 = 4.44,
Z= 40.56, which is still an upper bound to the highest integer solution (Z = 39, x1 = 3,
x2 = 3). Therefore formulate a sub-problem by branching on x2 (which is non-integer). A
new branch: 7-8, 7-9 results.

Branch 7-8, 7-9:

The two problems that result from the branches are:

Sub-problem 7-8 Sub-problem 7-9


Max Z = 5x1 + 8x2 Max Z = 5x1 + 8x2
subject to: subject to:
x1 + x2  6 x1 + x2  6
5x1 + 9x2  45 5x1 + 9x2  45
x2  4 (redundant) x2  4
x1  1 x1  1
x2  5 x2  4
x1, x2  0 and integer. x1, x2  0 and integer.

A graphical interpretation of the two sub-problems is presented in Figure 6.6.

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 7


Operations Research Integer Programming

x2 7

x1=1 x1=2 x1=3


6
BRANCH 7-8
(0,5) x2=5
5
G BRANCH 7-9
x2=4
4
(1,4) H
x2=3
3

0
0 2 4 6 8 10
x1
Figure 6.6

Branch 7-8 results in an integer solution (point G on Figure 6.6): x1 = 0, x2 = 5, Z = 40.


Branch 7-9 also results in an integer solution (point H in Figure 6.6): x1 = 1, x2 = 4,
Z = 37.

No further branching is necessary since all branches resulted in integer solutions. Since
branch 7-8 yielded an integer solution with the highest objective function value (Z = 40),
the optimal solution is x1 = 0, x2 = 5 and Z = 40.

Integer Programming Applications

Integer programming is applicable to the following types of problems:


 Assignment
 Capital Budgeting
 Project Scheduling
 Fixed Cost
 Facility Location
 Travelling Salesman
 Knapsack, etc.

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 8


Operations Research Integer Programming

Problems

Solve the following integer programming problems graphically using the branch and
bound method.

1. Max Z = 3x1 + 5x2


subject to:
2x1 + 4x2  25
x1  8
x2  10
x1, x2  0 and integer

2. Min Z = 5x1 + 2x2


subject to:
6x1 + 2x2  12
5x1 + 4x2  20
x2  x1
x1, x2  0 and integer

Notes prepared by Assoc. Prof. Victor A. Temeng Course Lecturer: B. O. Afum 9

You might also like