Solving Linear Optimization Problems