Geometric Linear Programming