12-IntegerProgramming (Repaired)
12-IntegerProgramming (Repaired)
INTEGER PROGRAMMING
1. Integer Programming
In Integer programming, the values of some variables must be integer numbers. For example, if the
variable represents for an action such as opening or non-opening a facility, it can take only value of 0 or
1.
The integer programming problem cannot be solved by rounding the solution of the linear problem to
the nearest integer values. There are 2 shortages of this approach. Firstly, the rounding solution does
not ensure that the solution is a feasible solution. Secondly, even the rounding solution is feasible, it
does not ensure that, it is the optimal solution.
x
23 Z= 3x1 +
2 Optimal
2x2 (2.5, 1.5)
1
1 2 3x
1
If the optimal solution for the LP problem is: x1 = 2.5, x2 = 1.5. The objective value function is Z=
10.5
Integer Programming 1
INTERNATIONAL UNIVERSITY (IU) Deterministic Models in Operation Research
ISE Department Lecturer: Phan Nguyễn Kỳ Phúc
x
23 Z= 3x1 +
2 2xInfeasible
2 solution (3, 2)
Optimal (2.5, 1.5)
1 Not optimal solution (2, 1)
1 2 3x
1
For the IP problem the optimal solution is at x1 = 3, x2 = 0 and Z=9. Round up or round down the
solution of the LP problem cannot lead to the optimal solution.
Theorem 1
Subject to Subject to
By adding some integer constraint on the variable xi the optimal objective function value of IP is
always equal or worse than the LP
Theorem 2
By adding one or more constraints to the a LP problem, the optimal objective function value of the
revision LP problem is always equal or worse than the original LP problem
Integer Programming 2
INTERNATIONAL UNIVERSITY (IU) Deterministic Models in Operation Research
ISE Department Lecturer: Phan Nguyễn Kỳ Phúc
The idea of Branch & Bound Algorithm is try to find a solution that satisfies all constrains, including
integer constraints. The objective function value corresponding to this solution is set as the BOUND of
the problem.
When the feasible solution has not found, the bound is set as Infinity (-∞ for the maximizing problem)
(+∞ for the minimizing problem)
if the sub problem GIVES a feasible solution with better objective function value, the BOUND
will be UPDATED. (Scenario 1)
if the sub problem CAN GIVE a better objective function value, it will be continued exploring,
i.e., dividing into 2 sub problems. (Scenario 2)
If the sub problem CANNOT GIVE a better objective function value, the sub problem will be
discarded. (Scenario 3)
Example 1
Subject to:
Integer Programming 3
INTERNATIONAL UNIVERSITY (IU) Deterministic Models in Operation Research
ISE Department Lecturer: Phan Nguyễn Kỳ Phúc
Integer Programming 4
INTERNATIONAL UNIVERSITY (IU) Deterministic Models in Operation Research
ISE Department Lecturer: Phan Nguyễn Kỳ Phúc
Example 2
Subject to:
x1 + 5x3 ≤ 10 (1)
x1 + x2 - x3 ≤ 1 (2)
Sometimes preprocessing the constraints can make the problem become easier for solving. For the
above example:
So after simplifying
Subject to:
x3 ≤ 2
2x3 – 2x4 ≤ 3
x1 = x2 = 0
At initial, no feasible solution is known the Bound, i.e. Z*, is set as -∞, the optimal solution X* is
empty.The process of branch and bound for the above example is given in the following tree:
Integer Programming 5
INTERNATIONAL UNIVERSITY (IU) Deterministic Models in Operation Research
ISE Department Lecturer: Phan Nguyễn Kỳ Phúc
Integer Programming 6
INTERNATIONAL UNIVERSITY (IU) Deterministic Models in Operation Research
ISE Department Lecturer: Phan Nguyễn Kỳ Phúc
Assignment
Question 1: Suppose that a mathematical model fits linear programming except for the restrictions that
x1 + x2 + x3 + x4 ≤ 4
3x1 - x2 - x3 + x4 ≤ 3.
At least two of the following four inequalities holds:
Question 2: Use the BIP branch-and-bound algorithm presented in Sec. 12.6 to solve the following
problem interactively.
subject to
3x1 - x2 + x3 + x4 - 2x5 ≥ 2
x1 + 3x2 - x3 - 2x4 + x5 ≥ 0
-x1 - x2 + 3x3 + x4 + x5 ≥ 1
Question 3: Use the IP branch-and-bound algorithm solve the following problem interactively.
subject to
5x1 + 2x2 ≤ 16
2x1 - x2 ≤ 4
Integer Programming 7
INTERNATIONAL UNIVERSITY (IU) Deterministic Models in Operation Research
ISE Department Lecturer: Phan Nguyễn Kỳ Phúc
Question 4: Use the MIP branch-and-bound algorithm to solve the following MIP problem
interactively.
subject to
x1 + 3x2 + 2x3 + x4 ≤ 10
x1 + x2 + x3 + x4 ≤ 6
Question 5: Use the MIP branch-and-bound algorithm to solve the following MIP problem
interactively.
subject to
2x1 + x2 + x3 + x4 + x5 ≤ 3
2x1 + x2 - x3 + x4 + 3x5 ≤ 1
Question 6: Use the MIP branch-and-bound algorithm to solve the following MIP problem
interactively.
subject to
x2 - 5x3 + x4 + 2x5 ≥ -2
5x1 - x2 + x5 ≥ 7
x1 + x2 + 6x3 + x4 ≥ 4
Integer Programming 8
INTERNATIONAL UNIVERSITY (IU) Deterministic Models in Operation Research
ISE Department Lecturer: Phan Nguyễn Kỳ Phúc
Integer Programming 9