The algorithm used to solve this problem is the simplex algorithm. This is an efficient algorithm which can solve linear programs in polynomial time. The algorithm starts with an initial feasible solution to the problem and then iteratively improves it until a maximum or minimum is found. This can be done by using the following steps:
Construct the initial feasible solution (the initial basic solution) by solving the inequality Ax ≥ b.
Choose a direction vector that will increase or decrease the objective function value.
Calculate the new basic solution by improving the current basic solution along the chosen direction vector.
Repeat steps 2 and 3 until an optimal solution is found.
The complexity of the simplex algorithm is O(mn2) in time and O(mn) in space, where m and n are the dimensions of the matrix A. Therefore, it can be seen that the simplex algorithm provides an efficient, strongly-polynomial time solution to the linear programming problem.