Steepest-edge simplex algorithms for linear programming