12

The linear programming problem: find a strongly-polynomial time algorithm which for given matrix A ∈ Rm×n and b ∈ Rm decides whether there exists x ∈ Rn with Ax ≥ b.

I know that Steve Smale's lists some of the unsolved problems in mathematics. But such a linear programming problem is it until now not-solvable ?

Krebto
  • 234
  • 3
  • 13
  • Linear Programming problems seem to get solved in polynomial time using the Simplex algorithm, it's just the proof that is missing. Plus the problem that there might be counter examples, but they seem very hard to find. – gnasher729 Dec 02 '16 at 13:48
  • 2
    @gnasher729 There are known counterexamples, e.g. the Klee-Minty cube. On the other hand, there are interior point algorithms known to run in (weakly) polynomial time. – Tavian Barnes Dec 02 '16 at 16:54
  • This paper is related: https://www.cc.gatech.edu/~vempala/papers/affine.pdf – Erel Segal-Halevi Jul 19 '19 at 04:29

2 Answers2

12

This problem is still open. See for example Wikipedia, which while not a dependable source in general, will probably be updated if a strongly polynomial time algorithm is ever found.

Yuval Filmus
  • 276,994
  • 27
  • 311
  • 503
-2

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:

  1. Construct the initial feasible solution (the initial basic solution) by solving the inequality Ax ≥ b.

  2. Choose a direction vector that will increase or decrease the objective function value.

  3. Calculate the new basic solution by improving the current basic solution along the chosen direction vector.

  4. 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.

  • 1
    Are you generating answers with ChatGPT? That is unlikely to be welcome or appropriate here (see, e.g., https://stackoverflow.com/help/gpt-policy). In particular, if you do use ChatGPT, you must provide attribution for the source: https://meta.stackexchange.com/a/384648/160917. This answer fails to provide attribution, which violates our rules regarding referencing your sources: https://cs.stackexchange.com/help/referencing. If a user flags this answer in its current form, it is likely to be deleted. – D.W. Jan 24 '23 at 05:00
  • This answer contains claims that are wrong. No, the simplex method is not known to run in strongly polynomial time. No, its running time is not $O(mn^2)$. The worst-case running time of the simplex algorithm is exponential -- and, in any case, not polynomial. See, e.g., https://en.wikipedia.org/wiki/Simplex_algorithm#Efficiency_in_the_worst_case. Moreover, the size of intermediate values computed during the algorithm might grow to exponential size; strongly polynomial time requires that they remain of polynomially bounded size. – D.W. Jan 24 '23 at 05:03
  • ChatGPT has been called Dunning-Kruger on steroids. Yes, this looks like it. Or maybe it’s not artificial intelligence but natural stupidity. Downvoted because utterly wrong. – gnasher729 Jan 24 '23 at 07:11
  • First, consider the case when the matrix A is of full rank. In this case, the simplex algorithm will converge to the optimal solution in at most O(mn2) iterations. Each iteration takes O(mn) time, resulting in an overall time complexity of O(mn2). Second, consider the case when the matrix A has linearly dependent columns. In this case, the simplex algorithm can be used to identify a feasible solution in O(mn) time as it can determine if an inequality is satisfied in O(mn) time. This shows that the simplex algorithm can solve the linear programming problem in strongly polynomial time. – archimede Jan 24 '23 at 12:43
  • That's not correct. There is no such guarantee on the number of iterations. Where are you getting that from? What is your justification or source for those claims? Did you read the Wikipedia link I provided? Where is this answer coming from? Did you use ChatGPT or some external resource to help you write this answer? – D.W. Jan 24 '23 at 19:54