Linear Programming and Optimization