This document discusses integer programming and binary integer programming. Integer programming involves decision variables that must take on integer values. Binary integer programming uses binary variables that can only be 0 or 1. Examples show how to formulate integer programming models using binary variables to represent yes/no decisions and constraints. The key aspects of integer programming are ensuring decision variables are integers and that the optimal solution is also integer.