Operator splitting for a homogeneous embedding of the linear complementarity problem
About
The linear complementarity problem (LCP) is a general set membership problem that includes quadratic cone programming as a special case. In this work we consider a homogeneous embedding of the LCP, which encodes both the optimality conditions of the original LCP as well as certificates of infeasibility. The resulting problem can be expressed as a monotone inclusion problem involving the sum of two maximal monotone operators, to which we apply Douglas-Rachford splitting. The resulting algorithm has almost identical per-iteration cost as applying the splitting to the LCP directly. Specifically, each iteration requires solving a linear system and projecting onto a convex cone. The resulting algorithm has no explicit hyper-parameters and is able to return a primal-dual solution should one exist or a certificate of infeasibility otherwise. If a sequence of related problems are solved it can easily be warm-started and make use of factorization caching of the linear system. We demonstrate on a range of public and synthetic datasets that for feasible problems our approach tends to be somewhat faster than applying operator splitting directly to the LCP, and in cases of infeasibility our approach can be significantly faster than alternative approaches based on diverging iterates. The algorithm we describe has been implemented in C and is available open-source as SCS-3.0.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Combinatorial Optimization | MIS | Solution Gap (%)199.2 | 15 | |
| Solving Linear SDPs | SDPLIB 1.2 | SCS Performance0.546 | 13 | |
| Inference Time | Max-cut problem 50 × 50 (test) | Inference Time (s)0.042 | 10 | |
| Inference Time | Max-cut problem 100 × 100 (test) | Inference Time (s)0.28 | 10 | |
| Inference Time | Max-cut problem 150 × 150 (test) | Inference Time (s)2.092 | 10 | |
| Max-Cut | CO problems (test) | Time (sec)0.385 | 4 | |
| Combinatorial Optimization | Max-Cut reg (test) | -- | 3 | |
| Combinatorial Optimization | Max. Cut | Relative Objective Gap4.547 | 2 | |
| Combinatorial Optimization | Vertex Cover | Relative Objective Gap44.622 | 2 | |
| Combinatorial Optimization | Max-Clique (test) | Execution Time (s)0.642 | 2 |