Mathematical Optimization for Engineers