Integer and mixed-integer programs arise in a wealth of applications ranging from logistics to very large scaled integration design. Recent cutting plane techniques have proven remarkably successful in the solution of integer programs. Unfortunately, cutting plane techniques have not been applied with the same frequency or success to mixed-integer programs. The goal of this research is to develop the theory surrounding this technique as it relates to mixed-integer programming and to implement algorithms that generate cutting planes for mixed-integer programs. Ultimately, the goal is to solve large mixed-integer programs using these algorithms. Applications of mixed-integer programming are so extensive that advances in techniques for their solution will have far reaching consequences extending across many disciplines. Additional objectives include establishing a public domain library of mixed-integer programs and providing developed algorithms to researchers.