Introduction to Optimization door Pablo Pedregal