Introduction to linear programming, Interior point methods