Linear programming is a special class of mathematical programming models in which the objective function and the constraints can be expressed as linear functions of the decision variables. A combination of practical insight and technical skill is required in order to recognize which problems can be appropriately modeled in a linear programming format, and then to formulate those problems accurately. There are many problems that appear to fall into the framework of linear programming problem formulations. In some problems, the decision variable values are meaningful only if they are integer values. The Simplex method is an iterative algorithm that begins with an initial feasible solution, repeatedly moves to a better solution, and stops when an optimal solution has been found and, therefore, no improvement can be made. An understanding of duality properties and the relation between primal and dual problems gives an analyst some flexibility in formulating, solving, and interpreting a solution to a linear programming problem.