Linear Programming: Theory and Applications