Linear programming allows for the optimization of linear functions with several variables. Linear optimization proves to be useful in a linear setting. Unfortunately, we do not live in a linear world. In order to accurately represent certain applications, nonlinear objective functions and constraints may need to be introduced. As in linear programming, there are many methods to solve non-linear and quadratic programming problems. These programming problems and the solution methods allow for non-linear mathematical relationships to be studied in various fields. We will take an in depth look at non-linear programming and applications to both finance and medicine.