Fundamentals of Unconstrained Optimization