Integer Linear Programming - Anwar Murad Anwar
Integer Linear Programming - Anwar Murad Anwar
By:
March-2023
Certification of the Supervisors
I certify that this report was prepared under my supervision at the Department of
Mathematics / College of Education / Salahaddin University-Erbil in partial fulfillment of the
requirements for the degree of Bachelor of philosophy of Science in Mathematics.
Signature:
Data: / 3/ 2023
In view of the available recommendations, I forward this report for debate by the
examining committee.
Signature:
I
Dedication To:
-My father and mother.
-My brothers
2023
II
Acknowledgement
I express my deep sense of gratitude and thanks to ALLAH the Almighty for
providing me with strength, health, faith, patience, willing and self-confidence to
accomplish this study.
My sincere thanks and appreciation are extended to the presidency of Salahaddin
University, especially the deanery of the College of Education for their facilities to
carry out my research work.
I would like to give special thanks to my supervisor “L. Maher A. Nawkhass”
for his constant and valuable guidance and encouragement during my research work.
His attention, support and timely suggestions were useful.
My deepest thanks go to Assist. professor “Dr. Rashad Rashed Haji” the head of
Mathematic Department of the College of Education, especially the library staff of the
College of Education.
Finally, I would like to state my heartily tanks to my family especially my father
and my mother as they brought me up to the stage. Also, thanks to all of those who
taught me even one word that helped me in my study.
III
Abstract
Understand the limitations of simplex method in deriving integer solution
to linear programming problems. Apply cutting plane methods to obtain optimal
integer solution value of variables in an LP problem. Apply branch and bound method
to solve integer LP problems. Appreciate application of integer LP problem in several
areas of managerial decision-making.
IV
Contents
page no.
Contents
Introduction…………………………………………………………………….……..1
Chapter One…………………………………………………………………….…….2
1 Background………………………………………………………………………....2
Chapter Two…………………………………………………………………….….…7
2 Some Applications of Integer Programming ……………………………….……....7
2.1 Cutting Plane Solution Concept………………….………………………….…7
V
Introduction
In linear programming, each decision variable, slack and/or surplus variable is
allowed to take any discrete or fractional value. However, there are certain real-life
problems in which the fractional value of the decision variables has no significance.
For example, it does not make sense to say that 1.5 men will be working on a project
or 1.6 machines will be used in a workshop. The integer solution to a problem can,
however, be obtained by rounding off the optimum value of the variables to the nearest
integer value.
This approach can be easy in terms of economy of effort, time, and the cost that
might be required to derive an integer solution. This solution, however, may not satisfy
all the given constraints. Secondly, the value of the objective function so obtained may
not be the optimal value. All such difficulties can be avoided if the given problem,
where an integer solution is required, is solved by integer program-
ming techniques.
Integer LP problems are those in which some or all of the variables are restricted
to integer (or discrete) values. An integer LP problem has important applications.
Capital budgeting, construction scheduling, plant location and size, routing and
shipping schedule, batch size, capacity expansion, fixed charge, are few problems that
demonstrate the areas of application of integer programming.
1
Chapter One
1 Background
Definition 1.1. Optimization Problem (OP) (Yang, 2008)
Subject to 𝑥 ∈ Ω. (1.2)
2
The following diagram indicates the branch of optimization problems (Vankova,
2004)
Subject to:
𝐴𝑥 ≤ 𝑏 (1.4)
𝑥≥0 (1.5)
3
Definition 1.3 (Chong and Zak, 2004)
Subject to
𝐴𝑥 = b (1.7)
𝑥≥0 (1.8)
5
other words all m basic variables are positive, and remaining n variables
will be zero
b) Degenerate. A basic feasible solution is degenerate, if one or more basic
variable zero. If an LPP in standard from has m constraints are n variables, then
maximal number of basic solution is.
𝑛 𝑛!
( ) = (𝑛−𝑚)!𝑚!
𝑚
he objective function.
6
Chapter Two
2 Some Applications of Integer Programming
2.1.1 Illustration Consider the following linear integer programming (LIP) problem
Relaxing the integer requirement, the problem is solved graphically as shown in Fig
The optimal solution to this LP problem is x1=1.71, x2=1.71 and Max Z = 51.42. This
solution does not satisfy the integer requirement of variables x1 and x2. Rounding off
this solution to x1= 2, x 2= 2 does not satisfy both the constraints and therefore, the
solution is infeasible. The dots in Fig 2.1, also referred to as lattice points, represent all
of the integer solutions that lie within the feasible solution space of the LP problem.
However, it is difficult to evaluate every such point in order to determine the value of
the objective function.
7
Fig. 2.1
In Fig. 2.1, it may be noted that the optimal lattice point C, lies at the corner of the
solution space OABC, obtained by cutting away the small portion above the dotted
line. This suggests a solution procedure that successively reduces the feasible solution
space until an integer-valued corner is found. The optimal integer solution is:
x1=0,x2=3 Max Z= 48. The lattice point, C is not even adjacent to the most desirable
LP problem solution corner, B.
2.1.2 Illustration Consider the following linear integer programming (LIP) problem
Relaxing the integer requirement, the problem is solved graphically as shown in Fig
The optimal solution to this LP problem is x1=13/4=3.25, x2=5/2=2.5 and Max Z =
59/4=14.750.
8
This solution does not satisfy the integer requirement of variables x1 and x2.Rounding
off this solution to x1= 3, x 2= 3 does not satisfy both the constraints and therefore, the
solution is infeasible. The dots in Fig 2.2 a and , also referred to as lattice points,
represent all of the integer solutions that lie within the feasible solution space of the LP
problem. However, it is difficult to evaluate every such point in order to determine the
value of the objective function.
Fig. 2.2
In Fig. 2.2, it may be noted that the optimal lattice red point, lies at the corner of the
solution space of highlighted, obtained by cutting away the small portion above the
dotted line. This suggests a solution procedure that successively reduces the feasible
solution space until an integer-valued corner is found. The optimal integer solution is:
x1=1,x2=4 Max Z= 14.
9
2.2 Branch and Bound Method (Sharma, 2009)
The Branch and Bound method developed first by A H Land and A G Doig is used to
solve all-integer, mixed-integer and zero-one linear programming problems. The
concept behind this method is to divide the feasible solution space of an LP problem
into smaller parts called subproblems and then evaluate corner (extreme) points of each
subproblem for an optimal solution. The branch and bound method starts by imposing
bounds on the value of objective function that help to determine the subproblem to be
eliminated from consideration when the optimal solution has been found. If the solution
to a subproblem does not yield an optimal integer solution, a new subproblem is
selected for branching. At a point where no more subproblem can be created, an
optimal solution is arrived at. The branch and bound method for the profit-
maximization integer LP problem can be summarized in the
following steps:
Obtain the optimal solution of the given LP problem ignoring integer restriction on the
variables.
(i) If the solution to this LP problem (say LP-A) is infeasible or unbounded, the solution
to the given all-integer programming problem is also infeasible or unbounded, as the
case may be.
10
(ii) If the solution satisfies the integer restrictions, the optimal integer solution has been
obtained. If one or more basic variables do not satisfy integer requirement, then go to
Step 2. Let the optimal value of objective function of LP-A be z1
(iii) Find a feasible solution by rounding off each variable value. The value of
objective function so obtained is used as a lower bound and is denoted by zL
(i) Let xk be one basic variable which does not have an integer value and also has the
largest fractional value.
(ii) Branch (or partition) the LP-A into two new LP subproblems (also called nodes)
based on integer values of xk that are immediately above and below its non-integer
value. That is, it is partitioned by adding two mutually exclusive constraints: x k ≤ [x]
and xk≥[xk]+1 to the original LP problem. Here [xk] is the integer portion of the current
non-integer value of the variable xk. This is obviously is done to exclude the non-
integer value of the variable xk.
Step 3: Bound step Obtain the optimal solution of subproblems B and C. Let the
optimal value of the objective function of LP-B be Z2 and that of LP-C be Z3. The best
integer solution value becomes the lower bound on the integer LP problem objective
function value (Initially this is the rounded off value). Let the lower bound be denoted
by ZL.
11
Step 4: Fathoming step Examine the solution of both LP-B and LP-C
(i) If a subproblem yields an infeasible solution, then terminate the branch.
(ii) If a subproblem yields a feasible solution but not an integer solution, then return to
Step 2. (iii) If a subproblem yields a feasible integer solution, examine the value of the
objective function. If this value is equal to the upper bound, an optimal solution has
been reached. But if it is not equal to the upper bound but exceeds the lower bound,
this value is considered as new upper bound and return to Step 2. Finally, if it is less
than the lower bound, terminate this branch.
Example Solve the following all integer programming problem using the branch and
bound method.
Maximize Z=2x1+3x2
Subject to
(i) 6x1+5x2≤25 (ii)x1+3x2≤10
x1,x2≥0 and integers.
12
Solution: Relaxing the integer conditions, the optimal non-integer solution to the
given integer LP problem obtained by graphical method as shown in Fig. 7.4 is: x1 =
1.92, x2 = 2.69 and max Z1 = 11.91. The value of Z1 represents initial upper bound as:
ZL = 11.91.
Since value of variable x2 is non-integer, therefore selecting it to decompose
(branching) the given problem into two sub-problems by adding two new
13
constraints x2 ≤2 and x2≤3 to the constraints of original LP problem as
follows:
The value of decision variables at one of the extreme point of feasible region
(solution space) of LP sub-problem C, are: x1 = 1 and x2= 3. Since these are integer
values, so there is no need to further decompose (branching) this sub-problem. The
value of objective function, Max ZL = 11 becomes lower bound on the maximum
value of objective function, Z for future solutions
Sub-problems D and E are solved graphically as shown in Fig. The feasible solutions
are:
Sub-problem D : x1 = 2, x2 = 2 and max Z4 = 10
Sub-problem E : x1 = 3, x2 = 1.4 and max Z5 = 10.2
14
The solution of LP sub-problem D is satisfying integer value requirement of variables
but is inferior to the solution of LP sub-problem E in terms of value of objective
function, Z5 = 10.2. Hence the value of lower bound ZL = 11 remains unchanged and
sub-problem D is not considered for further decomposition. Since the solution of sub-
problem E is non-integer, it can be further decomposed into two sub-problems by
considering variable, x2. But the value of objective function (Z5 = 10.2) is inferior to
the lower bound and hence this does not give a solution better than the one already
obtained. The sub-problem E is also not considered for further branching. Hence, the
best available solution corresponding to sub-problem C is the integer optimal
solution: x1 = 1, x2 = 3 and Max Z = 11 of the given integer LP problem. The entire
branch and bound procedure for the given Integer LP problem.
15
2.3 Gomory’s All Integer Cutting Plane Method (Sharma, 2009)
(i) Additional linear constraints never cutoff that portion of the original feasible
solution space that contains a feasible integer solution to the original problem.
(ii) Each new additional constraint (or hyperplane) cuts off the current non-integer
optimal solution to the linear programming problem
2.3.2 Procedure
In the optimal solution simplex table, select a row called source row for which basic
variable is non-integer. Then to develop a ‘cut’, consider only fractional part of the
coefficients in source row. Such a cut is also referred to as fractional cut.
Suppose the basic variable xr has the largest fractional value among all basic
16
variables required to assume integer value. Then the rth constraint equation (row)
from the simplex table can be rewritten as:
where [xBr] and [arj] denote the largest integer value obtained by truncating the
fractional part from xBr and arj respectively. Rearranging Eq. (2) so that all the integer
coefficients appear on the left-hand side, we get
where fr is strictly a positive fraction (0 < fr < 1) while frj is a non-negative fraction
(0≤frj≤1).
Since all the variables (including slacks) are required to assume integer values, the
terms in the bracket on the left-hand side as well as on the right-hand side must be
non-negative numbers. Since the left-hand side in Eq. (3) is fr plus a non-negative
number, we may write it in the form of the following inequalities:
fr≤∑𝑗≠𝑟 𝑓 rj xj (4)
where sg is a non-negative slack variable and is also called Gomory slack variable.
Equation (5) represents Gomory’s cutting plane constraint. When this new constraint
is added to the bottom of optimal solution simplex table, it would create an additional
row in the table, along with a column for the new variable sg.
17
2.3.3 Steps of Gomory’s All Integer Programming Algorithm
(a) Examine the optimal solution. If all basic variables (i.e. xBi = bi ≥0) have integer
values, then the integer optimal solution has been obtained and the procedure is
terminated.
(b) If one or more basic variables with integer value requirement have non-integer
solution values, then go to Step 3.
f there are more than one variable with the same largest fraction, then choose the one
that has the smallest profit/unit coefficient in the objective function of maximization
LP problem or the largest cost/unit coefficient in the objective function of
minimization LP problem.
Step 4: Obtain the new solution Add this additional constraint (cut) generated in
Step 3 to the bottom of the optimal simplex table. Find a new optimal solution by
using the dual simplex method, i.e. choose a variable that is to be entered into the new
solution having the smallest ratio: {(cj – zj)/yij ; yij < 0} and return to Step 2. The
process is repeated until all basic variables with integer value
requirement assume non-negative integer values.
18
2.3.4. Flow Chat for Solving Integer LP Problem
Fig:2.2 Flow-chart
19
Example : Solve the following Integer LP problem using Gomory’s cutting
plane method
Maximize 𝑧 = 𝑥1 + 𝑥2
Subject to
Solution Step 1: Obtain the optimal solution to the LP problem ignoring the integer
value restriction by the simplex method.
all basic variables in the basis (xB-column) did not assume integer value. Thus
solution is not desirable. To obtain an optimal solution satisfying integer value
requirement, go to step 3
. Step 3: Since x1 is the only basic variable whose value is a non-negative fractional
value, therefore consider first row (x1-row) as source row in Table 7.1 to generate
Gomory cut as follows:
1/3=x1+0.x2+1/3s1- 2/3s2
The factoring of numbers (integer plus fractional) in the x1-source row gives
1/3+(s2-x1)=1/3s1+1/3s2
1/3 ≤1/3s1+1/3s2
1/3+sg1=1/3s1+1/3s2
Step 4: Since the solution shown in Table is infeasible, apply the dual simplex
method to find a feasible as well as an optimal solution. The key row and key column
are marked in Table . The new solution is obtained by applying the following row
operations.
22
References
CHONG, E. K. & ZAK, S. H. 2004. An introduction to optimization, John Wiley & Sons.
23
بوختە
لە سنوورەکانی شێوازی سیمپلێکس تێبگە لە وەرگرتنی چارەسەری ژمارە تەواو بۆ کێشەکانی
بەرنامەسازی هێڵی .شێوازەکانی تەختەی بڕین بەکاربهێنە بۆ بەدەستهێنانی بەهای چارەسەری ژمارە تەواوە
گونجاوەکانی گۆڕاوەکان لە کێشەی .LPشێوازی لق و بەستراو بەکاربهێنە بۆ چارەسەرکردنی کێشەکانی ژمارە
تەواوەکانی .LPبەکارهێنانی کێشەی ژمارە تەواوەکانی LPلە چەند بوارێکی بڕیاردانی بەڕێوەبەرایەتیدا بەرز
دەنرخێنە.
24
پرۆگرامسازی هێڵی ژمارە تەواو
پرۆژەی دەرچوونە
پێشكەش بە بەشی (ماتماتیک) كراوە ،وهك بەشێك لەپێداویستەكانی بەدهستهێنانی
بڕوانامەی بەكالۆریۆس لە زانستی (ماتماتیک)
ئامادەكراوە لەالیەن:
انور مراد انور
بەسەرپەرشتی:
ماهر علی ناوخاص
ئايار– ٢٠٢٣