Building and Solving Mathematical Programming Models