The worst case complexity of the simplex algorithm is exponential. Specifically, in the worst case the simplex algorithm visits all 2n vertices, where n is the number of variables, and this takes exponential time. However, in practice simplex algorithms usually perform much better than the worst case. The specific pivot rule used can also affect the performance and complexity - some rules tend to work faster than others on average. Linear programming and the simplex algorithm are used in areas like resource allocation, production scheduling, transportation/logistics, and finance to optimize objectives subject to constraints.