How to determine simplex time complexity (ie Max flow)

后端 未结 2 1522

Simplex algorithm is said to have exponential worst case time complexity. Yet it is still often used in practice. How can you determine the average time complexity for a certain

相关标签:
2条回答
  • 2021-02-14 09:49

    The average case complexity is rather difficult to analyze and it depends on the distribution of your linear program. I believe that it was worked out to be polynomial time under some common distributions. I currently cannot find the paper though.

    EDIT: Yes, here are the sources:

    Nocedal, J. and Wright, S. J. Numerical Optimization. New York: Springer-Verlag, 1999.

    Forsgren, A.; Gill, P. E.; and Wright, M. H. "Interior Methods for Nonlinear Optimization." SIAM Rev. 44, 525-597, 2002.

    I read it in the first book and apparently it was proven in a separate paper (Forsgren). You could find either in a university library.

    0 讨论(0)
  • 2021-02-14 09:51

    If it is still interesting. Time complexity of simplex is O((n+m)*n).

    n - number of variables.

    m - inequality constraints.

    Why? Because the number of iterations could be no more than n + m in case of n which is an upper bound on the numbers of vertices .

    But this upper bound is exponential in n.

    0 讨论(0)
提交回复
热议问题