Methods and Models in Mathematical Programming