  Complementarity problems often permit distinct solutions, a fact of major
significance in optimization, game theory and other fields. In this paper, we
develop a numerical technique for computing multiple isolated solutions of
complementarity problems, starting from the same initial guess. This technique,
called deflation, is applied in conjunction with existing algorithms that
reformulate the complementarity problem as the rootfinding problem of a
semismooth residual. After one solution is found, the idea of deflation is to
apply operators to the arguments of the corresponding semismooth reformulation
to ensure that solvers will not converge to that same solution again. This
ensures that if the semismooth solver is restarted from the same initial guess
and it converges, it will converge to a different solution. We prove
theoretical results on the effectiveness of the method, and apply it to several
difficult finite-dimensional complementarity problems from the literature.
While deflation is not guaranteed to find all solutions, for every problem
considered with a finite number of solutions, we identify initial guesses from
which all known solutions are computed with deflation.
