This post just states what I believe I know about the topic. I am interested in LCPs because the choice of the technique can be formulated as an LCP. Most of the references are beyond me.
2.0 Pivoting Algorithms and Interior Point AlgorithmsTwo types of algorithms exist for both LCPs and LPs:
- Pivoting methods: These methods start out with a feasible solution, more or less. This solution is improved by improving the basis, until an optimal feasible solution is found, if one exists.
- Interior point methods: These methods work outward, iteratively imposing constraints, until an optimal feasible solution is found.
George Dantzig's simplex algorithm is a pivoting method for LPs. The Lemke algorithm, originally formulated for bimatrix games, is a pivoting method for LCPs. The AI overview, from a Goole search, tells me:
"The Lemke algorithm is a general complementary pivoting method for solving linear complementarity problems (LCPs), whereas the Lemke–Howson algorithm is a specialized combinatorial variant specifically designed to find a Nash equilibrium in two-player (bimatrix) games."
For my purposes, then, I want to focus on the Lemke algorithm, not the Lemke-Howson algorithm.
While not the first, the Karmarkar algorithm is an interior point method for LPs.
3.0 Complexity ClassesA general LCP is NP-complete (Chung 1989). The general LP falls into the complexity class P.
A problem is in the complexity class NP if a non-deterministic algorithm exists that can solve it in polynomial time. If so, a deterministic algorithm also exists that can check a solution in polynomial time. Deterministic algorithms exist for solving problems in the complexity class P in polynomial time. Whether P is equal to NP, or merely a proper subset, is the great unsolved problem in computer science. If an algorithm can be found to solve any one of a number of problems in polynomial time, the equality of P and NP follows. Such problems, like the LCP, are said to be NP-complete (Cook 1983).
Some problems in algorithmic game theory are in complexity classes that lie between P and NP, if these complexity classes are indeed unequal (Roughgarden 2010). The class Polynomial Parity Arguments on Directed graphs (PPAD) is one of these intermediate classes.
4.0 Complexity of Algorithms for Solving LPsThe worst case of some interior point methods for solving LPs is polynomial time. The worst case for the simplex method is exponential, which is worse than polynomial time. The simplex method mostly performs in practice in polynomial time and better than interior point methods. For a long time, why this is so was a mystery.
Daniel Spielman and Shang-Hua Teng solved this mystery in 2004. They were awarded the Gödel prize a couple of year later for this work.
5.0 Special Cases of the LCPAlgorithms for solving the LCP in polynomial time have been found in special cases. These algorithms take advantage of special structures or properties of the square matrix that arises in the specification of a LCP. For example, Cottle, Pang, & Stone (2009) note the existence of a polynomial-time, interior-point algorithm for a LCP with a positive semi-definite matrix.
The solution to the LCP for specifying a long period position can be solved in polynomial time if the given rates of growth and profits are equal.
References- Chung, S.-J. (1989). NP-completeness of the linear complementarity problem, Journal of Optimization Theory and Applications 60(3), pp. 393-399
- Cook, Stephen A. (1983) An overview of computational complexity, Communications of the ACM 26(6): 401-408.
- Cottle, Richard W., Jong-Shi Pang, & Richard E. Stone (1992, 2009) The Linear Complementary Problem, Society for Industrial and Applied Mathematics
- Karmarkar, N. (1984) A new polynomial-time algorithm for linear programming, Combinatorica 4: 373-395.
- Lemke, Carlton (1965) Bimatrix equilibrium points and mathematical programming, Management Science 11(7): 681-689.
- Lemke, C. E. & Howson, J. T. (1964). Equilibrium points of bimatrix games, SIAM Journal on Applied Mathematics 12 (2): 413–423
- Murty, Katta G. (1997) Linear Complementarity, Linear and Nonlinear Programming, Lemgo, Germany: Heldermann Verlag.
- Roughgarden, Tim. (2010) Algorithmic game theory, Communications of the ACM 53(7): 78-86.
- Spielman, Daniel A. & Shang-Hua Teng (2004) Smoothed analysis of algorithms: Why the simplex algorithm usually takes polynomial time, Journal of the ACM 51(3): 385–463.