Integer Programming (IP)
1. Definition
Integer Programming (IP) is a type of optimization where some or all of the decision
variables must take integer values. It is commonly used in resource allocation, scheduling,
logistics, and operations research.
General Formulation:
T
Minimize or Maximize f ( x )=c x
Subject to:
A x ≤ b xi ∈ Z ∀ i
Where:
x is the vector of decision variables (integers)
c is the coefficient vector
A is the constraint matrix
b is the constraint limits
x i ∈ Z means x i must be an integer
2. Types of Integer Programming
1. Pure Integer Programming (PIP)
All variables are restricted to be integers.
Example: Assigning tasks to workers (0 or 1 values only).
2. Mixed Integer Programming (MIP)
Some variables are integer, while others can be continuous.
Example: Production levels (some items may be fractional, while workers are whole
numbers).
3. Binary Integer Programming (BIP)
Variables take only 0 or 1 values (yes/no, on/off decisions).
Example: Facility location selection (1 = build, 0 = do not build).
3. Procedure to Solve an Integer Programming
Problem
Step 1: Define the Objective Function
Write the function to minimize or maximize:
T
f ( x )=c x
Step 2: Define Constraints
Specify linear equality or inequality constraints:
A x ≤ b xi ∈ Z
Step 3: Solve Using Integer Programming Methods
Branch and Bound (B&B)
Branch and Cut
Gomory Cutting Plane Method
Dynamic Programming
Heuristics & Metaheuristics (Genetic Algorithm, Simulated Annealing, etc.)
Step 4: Verify Solution Feasibility
Check that the solution satisfies all integer constraints.
Step 5: Interpret Results
Optimal values of variables determine the best decision.
4. Mathematical Formulation
Example 1: Pure Integer Programming
A company wants to maximize profit by producing tables (x1) and chairs (x2).
Objective Function:
Maximize f ( x )=50 x 1+ 30 x 2
Constraints:
2 x1 + x 2 ≤10 ( Material constraint ) x 1+ x2 ≤ 6 ( Labor constraint ) x 1 , x 2 ≥ 0 , x 1 , x 2 ∈ Z
Solution:
Using Branch and Bound, we get:
x 1=4 , x 2=2
Maximum Profit = 260
Example 2: Binary Integer Programming (Facility Location Problem)
A company wants to decide whether to build warehouses at three locations (X1, X2, X3).
Objective Function:
Minimize f ( x ) =100 X 1+ 120 X 2+ 150 X 3
(cost of building warehouses)
Constraints:
X 1 + X 2 ≥ 1 ( At least one warehouse needed ) X 1 , X 2 , X 3 ∈ { 0 , 1 )
Solution:
Using Binary Integer Programming, the optimal solution is:
X 1 =1, X 2=0 , X 3=0
(Build only warehouse at Location 1 to minimize cost).
5. Solution Methods for Integer Programming
1. Branch and Bound (B&B)
Most common method for solving integer programming problems.
Steps:
o Solve the relaxed LP (ignore integer constraints).
o If solution is not integer, branch into subproblems.
o Use bounding techniques to eliminate non-promising branches.
2. Gomory Cutting Plane Method
Iteratively adds constraints (cutting planes) to force integer solutions.
3. Branch and Cut
Combines Branch and Bound with Cutting Plane Method for better efficiency.
4. Heuristic & Metaheuristic Approaches
Genetic Algorithms (GA)
Simulated Annealing
Tabu Search
Used for large, complex problems where exact methods are slow.
6. Applications of Integer Programming
✔ Supply Chain & Logistics (Optimal warehouse location, vehicle routing).
✔ Finance (Portfolio optimization with integer constraints).
✔ Scheduling (Employee shift scheduling, airline crew scheduling).
✔ Manufacturing (Optimal production planning).
✔ Energy Systems (Power generation unit commitment).
7. Conclusion
✅ Integer Programming (IP) is useful when only whole numbers are allowed.
✅ Solving IP problems is harder than Linear Programming due to integer constraints.
✅ Methods like Branch and Bound, Cutting Planes, and Heuristics are commonly used.
✅ Widely applied in business, engineering, and artificial intelligence. 🚀