A Gentle Introduction to Optimization