 ```INTEGER PROGRAMMING
The proportionality, additivity and deterministic properties of the LP are also valid in integer
programming (IP). The only difference is that the divisibility property of the LP is not valid in
IP; in the IP there is at least one decision variable which is restricted to take only integer
values. In a mathematical programming problem if we need to determine an amount (e.g.
production amount, transportation amount) of discrete, countable item (e.g. car, television,
refrigerator) we should use integer decision variables. Sometime, even we have a discrete,
countable item we may use real decision variables for their amounts, and after finding the
optimal solution we may round the fractional values. This approach may be applied for small
items (e.g. pen, screw) and does not cause big mistakes.
If there are real and integer decision variables together in an integer programming model it is
called Mixed Integer Programming (MIP) model.
The decision variables which are restricted to take only values 0 and 1 are called “binary
decision variables”. In a mathematical programming problem if we need to select one of two
options (e.g. making something or not making, buying or not buying, selecting or not
selecting, using or not using) we should use binary decision variables.
In an IP model a constraint may have the “≤”, “≥” or “=” form. “<” and “>” forms are not
allowed.
Example:
Max z = 9x1 + 5x2 + 4x3
s.t.
2x1 + 5x2 <= 27
x1 + 3x2 >= 2
3x1 + 4x3 <= 11
x1, x2, x3 >= 0 and integer
IMPORTANT: Simplex Algorithm cannot be used to solve the (Mixed) Integer
Programming Models. But, it can be used in another algorithm, Branch and Bound
Algorithm, which is developed for solving (Mixed) Integer Programming Models
Branch And Bound Algorithm for Solving the MIP Models
a) Minimization type problem
Let D be the set of decision variables and UB be an upper bound on the optimal objective
value of our MIP under consideration. Let Vm be the LP problem at node m in the search tree
and L be the set of Vs. Let Z(Vm) be the optimal objective function value of Vm. Let m=0 for
the root node of the search tree. For a minimization type MIP a framework of the BnB
algorithm is given below.
BnP Algorithm
Step 1: Initialization
L=V0, UB=∞.
Step 2: Termination
If L=Ø then STOP:
If UB=∞, then there is no feasible solution for the MIP.
If UB=-∞, then there is unbounded solution for the MIP.
If -∞<UB<∞, then the solution that Z(Vm)=UB is the optimal solution for the
MIP.
Step 3: Node selection from the search tree and solving the relaxed model in it
Select a Vm  L by any selection method and let L=L\Vm.
Solve Vm and find Z(Vm). Let the solution be Xm. {Z(Vm)=∞ if Vm has no feasible
solution, Z(Vm)=-∞ if Vm has unbounded solution}
Step 4: Pruning
If Z(Vm)= -∞, then UB=-∞, L=Ø, and go to Step 2.
If Z(Vm)≥UB, then go to Step 2.
If -∞<Z(Vm)< UB and Xm satisfies integrality constraints in the MIP, then UB=Z(Vm),
L=L\{Vi: Z(Vi) ≥UB}, and go to Step 2.
Step 5: Branching
By branching generate new nodes from not-pruned ones and L=L  {the new
generated nodes}. Go to Step 2.
b) Maximization type problem
Let D be the set of decision variables and LB be a lower bound on the optimal objective value
of our MIP under consideration. Let Vm be the LP problem at node m in the search tree and L
be the set of Vs. Let Z(Vm) be the optimal objective function value of Vm. Let m=0 for the root
node of the search tree. For a maximization type MIP a framework of the BnB algorithm is
given below.
BnP Algorithm
Step 1: Initialization
L=V0, LB=-∞.
Step 2: Termination
If L=Ø then STOP:
If LB=-∞, then there is no feasible solution for the MIP.
If LB=∞, then there is unbounded solution for the MIP.
If -∞<LB<∞, then the solution that Z(Vm)=LB is the optimal solution for the
MIP.
Step 3: Node selection from the search tree and solving the relaxed model in it
Select a Vm  L by any selection method and let L=L\Vm.
Solve Vm and find Z(Vm). Let the solution be Xm. {Z(Vm)=-∞ if Vm has no feasible
solution, Z(Vm)=∞ if Vm has unbounded solution}
Step 4: Pruning
If Z(Vm)= ∞, then LB=∞, L=Ø, and go to Step 2.
If Z(Vm)≤LB, then go to Step 2.
If LB<Z(Vm)<∞ and Xm satisfies integrality constraints in the MIP, then LB=Z(Vm),
L=L\{Vi: Z(Vi) ≤LB}, and go to Step 2.
Step 5: Branching
By branching generate new nodes from not-pruned ones and L=L  {the new
generated nodes}. Go to Step 2.
```