Introduction to Optimization Theory