Understand the basic concepts of optimization and associated algorithms. Learn how to describe practical decisional problems with matematical models. Implement optimization problems in the appropriate programming language. Use commercial and open source solvers to obtain the optimal solution. Analyse the results and evaluate their implications on the decision problem.