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.