Classical Optimization: Foundations and Extensions