Introduction to mathematical programming