Practical Methods of Optimization