Practical Optimization: Algorithms and Engineering Applications