Integer Programming extends linear programming by requiring some or all decision variables to take integer values. This is essential for problems involving discrete decisions such as: number of facilities to open, assignment of tasks, selection of projects, or routing decisions. IP problems are NP-hard and significantly more difficult to solve than LP. Types include: pure integer programming (all variables integer), mixed-integer programming (MIP - some variables integer), and binary integer programming (variables restricted to 0 or 1).