# An Improved Filter Method for Nonlinear Complementarity Problem

Authors: Ke Su; Xiaoli Lu; Wei Liu
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

The nonlinear complementarity problem can be reformulated as a nonlinear programming whose objective function may be nonsmooth. For this case, we use decomposition strategy to decompose the nonsmooth function into a smooth one and a nonsmooth one. Together with filter method, we present an improved filter algorithm with decomposition strategy for solving nonlinear complementarity problem, which has better numerical results compared to the method that without the filter technique. Under mild conditions, the global convergent property is shown. In the end, the numerical example is reported.


---

## Body

## 1. Introduction

The nonlinear complementarity problem (NCP) is to find a pointx∈Rn, such that
(1)x≥0,F(x)≥0,xTF(x)=0,
where x∈Rn,  F:Rn→Rn is an LC1 function and ∇F is local Lipschitzian. n is the dimension of the variables.The nonlinear complementarity problem has been utilized as a general framework for quadratic programming, linear complementarity, and other mathematical programming. A variety of methods have been proposed for solving it. One of the powerful approaches is reformulating the nonlinear complementarity problem as an equivalent unconstrained optimization problem [1, 2] or as an equivalent system of nonlinear equation [3, 4]. For this case, a merit function for NCP is needed, whose global minima are coincide with the solutions of the NCP.To construct a merit function, many kinds of NCP functions appear to lead to a system of equations. A functionϕ:Rn→Rn is called an NCP function if it satisfies
(2)ϕ(a,b)=0⟺a≥0,b≥0,ab=0.Then we get that the NCP function with the form(3)ϕ(xi,Fi(x))=0,i=1,2,…,n
is equivalent to (1) to a certain degree. Many algorithms based on (3) have been proposed, for example, Newton’s method and generalized Newton’s approaches [5, 6].In this paper, we use Fischer-Burmeister as NCP function, which is called F-B NCP function and given by(4)ϕFB(a,b)=a2+b2-a-b.It is easy to check thatϕFB(a,b)=0⇔a≥0,  b≥0,  and  ab=0. Hence we can reformulate problem (1) as a nonlinear system of equation
(5)Φ(x)=0,
where the nonsmooth mapping Φ:Rn→Rn is defined by
(6)Φ(x)=(ϕFB(x1,F1(x)),ϕFB(x2,F2(x)),…,ϕFB(xn,Fn(x)))T,
where ϕFB(xi,Fi(x))=xi2+Fi2(x)-xi-Fi(x). For convenience, we write ϕFB(xi,Fi(x)) as ϕi, and Φ(x)=(ϕ1,ϕ2,…,ϕn)T. We can now associate this system with its natural merit function; that is,
(7)f(x)=12ΦT(x)Φ(x)=12∥Φ(x)∥2
so that solving (1) is equivalent to find a global solution of the problem
(8)minf(x).We remark that, in order to find a solution of (1), one has to seek global solutions of (8), while usual unconstrained minimization algorithm will compute the derivatives of Φ(x), such as Newton’s method or quasi-Newton’s approach. But in many cases, the derivatives of Φ(x) are not available for the nonsmooth function Φ(x). For this case, there are some so-called derivative-free methods [3, 4] appeared to avoid computing the derivatives of Φ(x). But they always demand that F(x) is a monotone function. In this paper, we use decomposition technique to decompose the function ϕ into a smooth part and a nonsmooth part; moreover, we have no demand on the monotonicity assumption on F. Also, integer with the trust region filter technique, we present a new algorithm to solve (8) and find that any accumulation point of the sequence generated by the algorithm is a solution of (1).This paper is organized as follows. In Section2, we review some definitions and preliminary results that will be used in the latter sections. The algorithm is presented in Section 3. In Section 4, the global convergence theory is proved. The numerical results are reported in the last section.


## 2. Preliminaries

In this section, we recall some definitions and preliminary results about decomposition of NCP function and the filter algorithm, which will be used in the sequential analysis.


### 2.1. Decomposition of NCP Function

IfΦ:Rn→Rn is continuous and local Lipschitzian, then the  B-subdifferential of Φ at x is
(9)∂BΦ(x)={H∣H=limxk→x∇Φ(xk),xk∈DΦ},
where DΦ denotes the set of points x at which Φ is differential.The Clarke’s generalized Jacobian ofΦ at x is defined by
(10)∂Φ(x)=conv∂BΦ(x).Definition 1.
LetΦ:Rn→Rn be a local Lipschitzian function. If for all  h∈Rn, it holds limV∈∂Φ(x+th′),h′→h,t↓0{Vh′}, then function Φ is called semismooth at x.Lemma 2.
Supposef:Rn→Rn, and ∇f is semismooth at x. Then for all V∈∂(∇f(x+d)), there hold(i)
Vd-(∇f)′(x;d)=o(∥d∥);(ii)
∇f(x+d)=∇f(x)+(∇f)′(x;d)+o(∥d∥),
where(∇f)′(x;d)=limt↓0((∇f(x+td)-∇f(x))/t) is called directional derivative of ∇f at x in the direction d.Lemma 3 (see [7]).
Ifϕ is an LC1 mapping, then
(11)∥ϕ(x+d)-ϕ(x)-∇ϕ(x)Td∥=O(∥d∥2)ford⟶0.Lemma 4.
There exist constantsc1,c2>0, such that
(12)c1∑i=1n‍min2{xi,Fi(x)}≤f(x)≤c2∑i=1n‍min2{xi,Fi(x)}.Proof.
This follows immediately from Lemma 3.1 of Tseng [8].
In smooth case, for solving the nonlinear equation (5), the Levenberg-Marquardt method can be viewed as a method for generating a sequence {xk} of iterates where the step dk between iterates is a solution to the problem
(13)min∥Φ(xk)+∇Φ(xk)Td∥2s.t.∥d∥≤Δk
for some bound Δk>0. The norm ∥·∥2 denotes the l2-norm.
But in the nonsmooth case,∇Φ(xk) may not exist at some special points. However, in many cases, one may decompose the nonsmooth function Φ(x) into Φ(x)=p(x)+q(x), where p:Rn→Rn is smooth and q:Rn→Rn is nonsmooth, while q(x) is relatively small compared to function p(x). We call such a decomposition a smooth plus nonsmooth (SPN) decomposition. In a certain sense, q can be regarded as the perturbation to the system. We now use
(14)minQk(d)=12∥Φ(xk)+∇p(xk)Td∥2s.t.∥d∥≤Δk
to replace (13).Definition 5.
We say thatΦ=p+q is a regular SPN decomposition of Φ if and only if p:Rn→Rn is smooth, and for any x∈Rn, it holds
(15)∇p(x)Φ(x)≠0
as long as Φ(x)≠0.Remark 6.
In fact, for some givenϵ>0, define function ϕϵ by
(16)ϕϵ(a,b)={ϕ(a,b),a2+b2≥ϵ,ϕ(a,b)+(a2+b2-ϵ)22ϵ,otherwise.
Let
(17)Φϵ(x)=(ϕ1ϵ,ϕ2ϵ,…,ϕnϵ)T.
So, we can see
(18)p(x)=Φϵ(x),q(x)=Φ(x)-Φϵ(x).
Then it is easy to see that p(x) obtained by the previous decomposition is continuously differential, while q(x) is nondifferential, and it holds
(19)∥q(x)∥≤12nϵ∀x∈Rn.


### 2.2. Filter Algorithm

Filter algorithms are efficient algorithms for nonlinear programming without a penalty function [9, 10]. Recently, filter technique has been extended to solve nonlinear equations and nonlinear least square [11]. In this paper, it will be used to find a solution to nonlinear complementarity problem.As traditional filter technique, we define the objective function and violation constrained function as follows:(20)h(x)=∥max{0,-x,-F(x)}∥∞,f(x)=12∥Φ(x)∥2.The trial step should either reduce the value of the constraint violation functionh or the objective value of the function f. To ensure sufficient decrease of at least one of two criteria, we say that a point xi dominates a point xj whenever
(21)hi≤hj,fi≤fj
for i≠j, where hi=h(xi),  fi=f(xi). We thus aim to accept a new iterate xi only if it is not dominated by any other iterate in the filter.A filter setℱ is a set of points in Rn, such that no point dominates any other.In practical computation, a trial pointxk is acceptable to the filter if and only if
(22)f(xk)≤f(xl)-γδ(ψk,ψl)orh(xk)≤h(xl)-γδ(ψk,ψl)
for all  xl∈ℱ, where 0<γ<1 is a small positive constant and ψk=(hk,fk),  δ(ψk,ψl)=min{∥ψk∥,∥ψl∥}.As the algorithm progresses, we may want to addxk to the filter. If an iteration xk is acceptable for filter ℱ, we do this by adding the point xk to the filter and removing those xj satisfying
(23)fj≥fk,hj≥hk.
We also refer to this operation as “adding xk to the filter.”


## 2.1. Decomposition of NCP Function

IfΦ:Rn→Rn is continuous and local Lipschitzian, then the  B-subdifferential of Φ at x is
(9)∂BΦ(x)={H∣H=limxk→x∇Φ(xk),xk∈DΦ},
where DΦ denotes the set of points x at which Φ is differential.The Clarke’s generalized Jacobian ofΦ at x is defined by
(10)∂Φ(x)=conv∂BΦ(x).Definition 1.
LetΦ:Rn→Rn be a local Lipschitzian function. If for all  h∈Rn, it holds limV∈∂Φ(x+th′),h′→h,t↓0{Vh′}, then function Φ is called semismooth at x.Lemma 2.
Supposef:Rn→Rn, and ∇f is semismooth at x. Then for all V∈∂(∇f(x+d)), there hold(i)
Vd-(∇f)′(x;d)=o(∥d∥);(ii)
∇f(x+d)=∇f(x)+(∇f)′(x;d)+o(∥d∥),
where(∇f)′(x;d)=limt↓0((∇f(x+td)-∇f(x))/t) is called directional derivative of ∇f at x in the direction d.Lemma 3 (see [7]).
Ifϕ is an LC1 mapping, then
(11)∥ϕ(x+d)-ϕ(x)-∇ϕ(x)Td∥=O(∥d∥2)ford⟶0.Lemma 4.
There exist constantsc1,c2>0, such that
(12)c1∑i=1n‍min2{xi,Fi(x)}≤f(x)≤c2∑i=1n‍min2{xi,Fi(x)}.Proof.
This follows immediately from Lemma 3.1 of Tseng [8].
In smooth case, for solving the nonlinear equation (5), the Levenberg-Marquardt method can be viewed as a method for generating a sequence {xk} of iterates where the step dk between iterates is a solution to the problem
(13)min∥Φ(xk)+∇Φ(xk)Td∥2s.t.∥d∥≤Δk
for some bound Δk>0. The norm ∥·∥2 denotes the l2-norm.
But in the nonsmooth case,∇Φ(xk) may not exist at some special points. However, in many cases, one may decompose the nonsmooth function Φ(x) into Φ(x)=p(x)+q(x), where p:Rn→Rn is smooth and q:Rn→Rn is nonsmooth, while q(x) is relatively small compared to function p(x). We call such a decomposition a smooth plus nonsmooth (SPN) decomposition. In a certain sense, q can be regarded as the perturbation to the system. We now use
(14)minQk(d)=12∥Φ(xk)+∇p(xk)Td∥2s.t.∥d∥≤Δk
to replace (13).Definition 5.
We say thatΦ=p+q is a regular SPN decomposition of Φ if and only if p:Rn→Rn is smooth, and for any x∈Rn, it holds
(15)∇p(x)Φ(x)≠0
as long as Φ(x)≠0.Remark 6.
In fact, for some givenϵ>0, define function ϕϵ by
(16)ϕϵ(a,b)={ϕ(a,b),a2+b2≥ϵ,ϕ(a,b)+(a2+b2-ϵ)22ϵ,otherwise.
Let
(17)Φϵ(x)=(ϕ1ϵ,ϕ2ϵ,…,ϕnϵ)T.
So, we can see
(18)p(x)=Φϵ(x),q(x)=Φ(x)-Φϵ(x).
Then it is easy to see that p(x) obtained by the previous decomposition is continuously differential, while q(x) is nondifferential, and it holds
(19)∥q(x)∥≤12nϵ∀x∈Rn.


## 2.2. Filter Algorithm

Filter algorithms are efficient algorithms for nonlinear programming without a penalty function [9, 10]. Recently, filter technique has been extended to solve nonlinear equations and nonlinear least square [11]. In this paper, it will be used to find a solution to nonlinear complementarity problem.As traditional filter technique, we define the objective function and violation constrained function as follows:(20)h(x)=∥max{0,-x,-F(x)}∥∞,f(x)=12∥Φ(x)∥2.The trial step should either reduce the value of the constraint violation functionh or the objective value of the function f. To ensure sufficient decrease of at least one of two criteria, we say that a point xi dominates a point xj whenever
(21)hi≤hj,fi≤fj
for i≠j, where hi=h(xi),  fi=f(xi). We thus aim to accept a new iterate xi only if it is not dominated by any other iterate in the filter.A filter setℱ is a set of points in Rn, such that no point dominates any other.In practical computation, a trial pointxk is acceptable to the filter if and only if
(22)f(xk)≤f(xl)-γδ(ψk,ψl)orh(xk)≤h(xl)-γδ(ψk,ψl)
for all  xl∈ℱ, where 0<γ<1 is a small positive constant and ψk=(hk,fk),  δ(ψk,ψl)=min{∥ψk∥,∥ψl∥}.As the algorithm progresses, we may want to addxk to the filter. If an iteration xk is acceptable for filter ℱ, we do this by adding the point xk to the filter and removing those xj satisfying
(23)fj≥fk,hj≥hk.
We also refer to this operation as “adding xk to the filter.”


## 3. An Improved Filter Algorithm for NCPs

In this section, we will present a decomposition filter method for the nonlinear complementarity problem and prove that it is well defined.Algorithm AStep 1.
Choosex0∈Rn, the initial decomposition parameter ϵ0>0,  ϵ>0,  0<η,  γ<1,  Δ0>0,  and  ℱ=[h0,f0];  set k=0.Step 2.
DecomposeΦ(xk) into Φ(xk)=p(xk)+q(xk). If ∥Φ(xk)∥≤ϵ, then stop.Step 3.
Solve (14) to get dk. Compute rk=aredk/predk=(f(xk)-f(xk+dk))/(f(xk)-Qk(dk)).Step 4.
Ifrk≥η, go to Step 6. Or else, go to Step 5.Step 5.
Ifxk+dk is acceptable for the filter ℱ, add xk to the filter, and go to Step 6. Otherwise, xk+1=xk,  Δk+1=Δk/2,  ϵk+1=∥dk∥2,  k=k+1, and go to Step 3 (inner loop).Step 6.
x
k
+
1
=
x
k
+
d
k,  Δk+1=2Δk,  ϵk+1=∥dk∥2,  k=k+1, and go to Step 2 (outer loop).Remark 7.
Algorithm A is a trust-region-type filter method combined with a decomposition technique for the nonlinear complementarity problem.
Throughout this paper, we always assume that following conditions hold.
Assumptions
(A1)
F(x) is an LC1 function, and ∇F(x) is local Lipschitzian.
(A2)
The sequences{xk} and {xk+dk} remain in a closed, bounded convex subset Ω⊂Rn.Lemma 8.
The inner loop can terminate in finite times.Proof.
Suppose by contradiction that it cannot terminate finitely, then it holdsΔk→0, consequently, dk→0ask→∞.
By the definition ofaredk and predk, we have
(24)aredk-predk=f(xk+dk)-Qk(dk)=12∥Φ(xk+dk)∥2-12∥Φ(xk)+∇p(xk)Tdk∥2=12∥Φ(xk+dk)-Φ(xk)∥2+Φ(xk)T×(p(xk+dk)-p(xk)-∇p(xk)Tdk)+Φ(xk)T(q(xk+dk)-q(xk))-12dkT∇p(xk)∇P(xk)Tdk=O(∥dk∥2),(25)predk=f(xk)-Qk(dk)≥f(xk)-Qk(-αΔk∇p(xk)Φ(xk)∥∇p(xk)Φ(xk)∥)=12∥Φ(xk)∥2-12∥∇p(xk)Φ(xk)∥∇p(xk)Φ(xk)∥Φ(xk)+∇p(xk)T×(-αΔk∇p(xk)Φ(xk)∥∇p(xk)Φ(xk)∥)∥2=αΔk∥∇p(xk)Φ(xk)∥-α2Δk22∥∇p(xk)Φ(xk)∥2×∥∇p(xk)T∇p(xk)Φ(xk)∥2≥αΔk∥∇p(xk)Φ(xk)∥-α2Δk22∥∇p(xk)T∥2≥max0≤α≤1[α2Δk22αΔk∥∇p(xk)Φ(xk)∥-α2Δk22∥∇p(xk)∥2]≥12∥∇p(xk)Φ(xk)∥×min{Δk,∥∇p(xk)Φ(xk)∥∥∇p(xk)∥2}.
ByΔk→0 and Assumption (A2), we have Δk<∥∇p(xk)Φ(xk)∥/∥∇p(xk)∥2 for k sufficiently large. Then, it holds
(26)predk≥12∥∇p(xk)Φ(xk)∥Δk≥12∥∇p(xk)Φ(xk)∥dk=O(∥dk∥).
Hence
(27)|rk-1|=|aredkpredk-1|≤O(∥dk∥2)O(∥dk∥)⟶0asdk⟶0,
which is implied that there exists a constant η>0, such that rk≥η for k sufficiently large. The result follows.


## 4. Global Convergence Property

In this section, we will give the global property of Algorithm A.Lemma 9.
Suppose that there are infinite many points entered into the filterℱ, then limk→∞∥ψ(xk)∥=0; that is, any accumulation point of {xk} is a solution to the nonlinear complementarity problem.Proof.
Supposeki index the subsequence of iteration at which xki is added to the filter ℱ. Now suppose by contradiction that there exist a constant ϵ1>0 and a subsequence {kj}⊂{ki}, such that
(28)∥ψ(xkj)∥>ϵ1.
From Assumption (A2), we have(29)limj→∞ψ(xkj)=ψ∞<∞with∥ψ∞∥≥ϵ1.
By the definition of{kj}, xkj is acceptable for the filter, which implies that
(30)f(xkj)≤f(xkj-1)-γδ(xkj,xkj-1)orh(xkj)≤h(xkj-1)-γδ(xkj,xkj-1).
Together with (29) and the definition of δ(·), we deduce that there exists a constant ϵ2>0, such that δ(xkj,xkj-1)>ϵ2.
Then by (30), it holds
(31)f(xkj-1)-f(xkj)≥γϵ2orh(xkj-1)-h(xkj)≥γϵ2.
Letj→∞, and it is easy to see that
(32)0≥γϵ2>0,
which is a contradiction. Hence
(33)limi→∞∥ψ(xki)∥=0.
Consider now anyl∉{ki}, and let ki(l) be the last iteration before l, such that xki(l) was added to the filter. By the construction of Algorithm A, if xl is not included in the filter, it must result in the decrease of the objective function f(x). Hence for all l∉{ki}, it holds
(34)fl≤fki(l)≤∥ψ(xki(l))∥,
which follows limk→∞f(xk)=0. Moreover by Lemma 4, we have
(35)limk→∞∑i=1n‍min2{(xk)i,Fi(xk)}=0.
Therefore limk→∞∥ψ(xk)∥=0.Lemma 10.
Suppose that there are finite many points entered into the filterℱ. Then any accumulation point of {xk} is a solution of the NCP.Proof.
By Assumption (A2), we know that{xk} has at least one accumulation point x*. Suppose by contradiction that x* is not the solution to the nonlinear complementarity problem, then there exist ϵ>0 and k1>0 such that ∥Φ(xk)∥>ϵ for k>k1. Then by Definition 5, we have liminf∥∇p(xk)Φ(xk)∥>ϵ for k>k1. If there are finite many points entered into ℱ, then by Lemma 8, it must exist a constant k2, such that rk≥η for k>k2. Moreover, by the construction of Algorithm A, there also exists a constant Δ->0, such that
(36)Δk≥Δ-fork>k2.
Together with (25), we have
(37)aredk=f(xk)-f(xk+dk)≥ηpredk≥η2∥∇p(xk)Φ(xk)∥min{Δk,∥∇p(xk)Φ(xk)∥∥∇p(xk)∥2}.
So there existsk3=max{k1,k2}, such that the sequence f(xk) is decreasing monotonically for k>k3. In other hand, it is below bounded by Assumption (A2). Hence, we have f(xk)-f(xk+dk)→0 for k>k3. Consequently, it follows
(38)Δk⟶0fork>k3,
which contradicts to (36). The desired conclusion holds.Theorem 11.
Suppose that Assumptions  (A1)-(A2) hold. Let{xk} be the iterate sequence generated by Algorithm A, then any accumulation point of {xk} is a solution to the nonlinear complementarity problem.Proof.
It is natural by the previous results.


## 5. A Numerical Example

In this section, we give a numerical example to test Algorithm A. We use the example as following.Example 12.
One has(39)F1(x)=3x12+2x1x2+2x22+x3+3x4-6,F2(x)=2x12+x1+x22+10x3+2x4-2,F3(x)=3x12+x1x2+2x22+2x3+9x4-9,F4(x)=x12+3x22+2x3+3x4-3.This problem has one nondegenerate solutionx*=(1,0,3,0)T and one degenerate solution x**=(6/2,0,0,1/2)T.We choose initial pointx0=a(1,1,1,1), where a is a random number. Also, we choose Δ0=1,  η=0.25,  ϵ0=0.01,  and  γ=0.25. With different a, Figure 1 shows the change of objective function f(x) corresponding to the change of iteration k in Algorithm A presented in this paper.In order to show the good numerical results of Algorithm A, we compare Algorithm A with the traditional method that without filter technique (see Table1).Table 1
Algorithm A
Algorithm A
Traditional algorithm
Traditional algorithm
k
CPU
k
CPU
a
=
0
16**
1.8440
41**
28.6090
a
=
1
41*
30.4840
169*
140.2960
a
=
1.5
41*
31.7340
89*
63.5940
a
=
30
18**
14.3440
33**
29.7030
a
=
50
29**
21.2340
40**
28.3680
a
=
100
21**
17.1870
53**
37.5000
k denotes the iteration number, and CPU denotes the cpu's time in computing.In Table1, k denotes the iteration number, and CPU denotes the cpu’s time in computing.From Figure1 and Table 1, we can see that Algorithm A is better than traditional algorithm that without filter technique whether from the iteration times or CPU time. Since we use filter technique in Algorithm A, the objective function f(x) fluctuates to a certain degree, but there exists k1, such that f(x) is also monotone for k>k1. Just by the filter technique, we have less iteration times and shorter CPU time compared to traditional method without filter technique. Hence, the decomposition filter method is effective.



---

*Source: 450829-2013-03-31.xml*