# Identifying a Global Optimizer with Filled Function for Nonlinear Integer Programming

Authors: Wei-Xiang Wang; You-Lin Shang; Lian-Sheng Zhang
Journal: Discrete Dynamics in Nature and Society
 (2011)

---

## Abstract

This paper presents a filled function method for finding a global optimizer of integer programming problem. The method contains two phases: the local minimization phase and the filling phase. The goal of the former phase is to identify a local minimizer of the objective function, while the filling phase aims to search for a better initial point for the first phase with the aid of the filled function. A two-parameter filled function is proposed, and its properties are investigated. A corresponding filled function algorithm is established. Numerical experiments on several test problems are performed, and preliminary computational results are reported.


---

## Body

## 1. Introduction

Consider the following general global nonlinear integer programming:(P)min⁡x∈X⁡f(x),
where f:Zn→ℜ,X⊂Zn is a box set and Zn is the set of integer points in Rn. The problem (P) is important since lots of real life applications, such as production planning, supply chains, and finance, are allowed to be formulated into this problem.One of main issues in the global optimization is to avoid being trapped in the basins surrounding local minimizers. Several global optimization solution strategies have been put forward to tackle with the problem (P). These techniques are usually divided into two classes: stochastic method and deterministic method (see [1–7]). The discrete filled function method is one of the more recently developed global optimization tools for discrete global optimization problems. The first filled function was introduced by Ge and Qin in [8] for continuous global optimization. Papers [6, 7, 9–11] extend this continuous filled function method to solve integer programming problem. Like the continuous filled function method, the discrete filled function method also contains two phases: local minimization and filling. The local minimization phase uses any ordinary discrete descent method to search for a discrete local minimizer of the problem (P), while the filling phase utilizes an auxiliary function called filled function to find a better initial point for the first phase by minimizing the constructed filled function. The definitions of the filled function proposed in the papers [9, 10] are as follows.Definition 1.1 (see [9]).
P(x,x*) is called a filled function of f(x) at a discrete local minimizer x* if P(x,x*) meets the following conditions.  (1)
P(x,x*) has no discrete local minimizers in the set S1={x∈X:f(x)≥f(x*)}, except a prefixed point x0∈S1 that is a minimizer of P(x,x*).(2)
Ifx* is not a discrete global minimizer of f(x), then P(x,x*) does have a discrete minimizer in the set S2={x∣f(x)<f(x*),x∈X}.Definition 1.2 (see [10]).
P(x,x*) is called a filled function of f(x) at a discrete local minimizer x* if P(x,x*) meets the following conditions.  (1)
P(x,x*) has no discrete local minimizers in the set S1∖x0, where the prefixed point x0∈S1 is not necessarily a local minimizer of P(x,x*).(2)
Ifx* is not a discrete global minimizer of f(x), then P(x,x*) has a discrete minimizer in the set S2.Although Definitions1.1 and 1.2 and the corresponding filled functions proposed in the papers [9, 10] have their own advantages, they have some defects in some degree, for example, as the prefixed point x0 in Definition 1.2 may be a minimizer of the given filled function, which will result in numerical complexity at the iterations or cause the algorithm to fail. To avoid these defects, in this paper, we give a modification of Definitions 1.1 and 1.2 and propose a new filled function.The rest of this paper is organized as follows. In Section2, we review some basic concepts of discrete optimization. In Section 3, we propose a discrete filled function and investigate its properties. In Section 4, we state our algorithm and report preliminary numerical results. And, at last, we give our conclusion in Section 5.


## 2. Basic Knowledge and Some Assumptions

Consider the problem (P). Throughout this paper, we make the following assumptions.Assumption 2.1.
There exists a constantD>0 satisfying 1≤D=maxx1,x2∈X,x1≠x2∥x1-x2∥<∞.Assumption 2.2.
There exists a constantL>0, such that
(2.1)|f(x)-f(y)|≤L‖x-y‖
holds, for any x, y∈⋃x∈XN(x), where N(x) is a neighborhood of the point x as defined in Definition 2.4.Most of the existing discrete filled function methods are used for solving a box constrained problem. To an unconstrained global optimization problem(UP):minx∈Rnf(x), if f(x) satisfies lim∥x∥→+∞f(x)=+∞, then there exists a box set which contains all discrete global minimizers of f(x). Therefore, (UP) can be turned into an equivalent formulation in (P) and solved by any discrete filled function method.For convenience, in the following, we recall some preliminaries which will be used throughout this paper.Definition 2.3 (see [10]).
The set of all feasible directions atx∈X is defined by Dx={d∈D:x+d∈X},where D={±ei:i=1,2,…,n},  ei is the ith unit vector (the n-dimensional vector with the ith component equal to one and all other components equal to zero).Definition 2.4 (see [10]).
For anyx∈Zn, the discrete neighborhood of x is defined by N(x)={x,x±ei,i=1,2,…,n}.Definition 2.5 (see [10]).
A pointx*∈X is called a discrete local minimizer of f(x) over X if f(x*)≤f(x), for all x∈X∩N(x*). Furthermore, if f(x*)≤f(x),for all x∈X, then x* is called a strict discrete local minimizer of f(x) over X. If, in addition, f(x*)<f(x),for all (x∈X∖{x*}),then x* is called a strict discrete local (global) minimizer of f(x) over X.Algorithm 2.6 (discrete local minimization method).
(1)
Start from an initial pointx∈X.(2)
Ifx is a local minimizer of f over X, then stop. Otherwise, let
(2.2)d*:=argmin⁡di∈Dx⁡{f(x+di):f(x+di)<f(x)}.(3)
Letx∶=x+d*, and go to Step (2).
Letx* be a local minimizer of the problem (P). The new definition of the filled function of f at x* is given as follows.Definition 2.7.
P(x,x*) is called a discrete filled function of f(x) at a discrete local minimizer x* if P(x,x*) has the following properties.  (1)
x* is a strict discrete local maximizer of P(x,x*) over X.(2)
P(x,x*) has no discrete local minimizers in the region
(2.3)S1={x∣f(x)≥f(x*),x∈X∖{x*}}.(3)
Ifx* is not a discrete global minimizer of f(x), then P(x,x*) does have a discrete minimizer in the region
(2.4)S2={x∣f(x)<f(x*),x∈X}.


## 3. Properties of the Proposed Discrete Filled FunctionT(x,x*,q,r)

Letx* denote the current discrete local minimizer of (P). Based on Definition 2.7, a novel filled function is proposed as follows:(3.1)T(x,x*,q,r)=1q+‖x-x*‖φq(max⁡{f(x)-f(x*)+r,0}),
where(3.2)φq(t)={π2-arctanqtift≠0,0ift=0,
where r>0 and q>0 are two parameters and r satisfies 0<r<minf(x1)≠f(x2),x1,x2∈X|f(x1)-f(x2)|.The following theorems ensure thatT(x,x*,q,r) is a filled function under some conditions.Theorem 3.1.
If0<q<min(r,π/4), then x* is a strict local maximizer of T(x,x*,q,r).Proof.
Sincex* is a local minimizer of (P), there exists a neighborhood N(x*) of x* such that f(x)≥f(x*) and ∥x-x*∥=1 hold, for any x∈N(x*)∩X. It follows that
(3.3)T(x,x*,q,r)=1q+1(π2-arctanqf(x)-f(x*)+r),T(x*,x*,q,r)=1q(π2-arctanqr).
By the condition0<q<min(r,π/4) and the fact that the inequality
(3.4)arctan⁡a-arctan⁡b≤a-b
holds for any real number a≥b, we have
(3.5)Δ=T(x,x*,q,r)-T(x*,x*,q,r)=1q(q+1)(arctanqr-π2)+1q+1(arctan⁡qr-arctan⁡qf(x)-f(x*)+r)≤1q(q+1)(arctan⁡1-π2)+qq+1(1r-1f(x)-f(x*)+r)=-π41q(q+1)+1q+1qrf(x)-f(x*)f(x)-f(x*)+r≤-π41q(q+1)+1q+1=1q(q+1)(q-π4)<0.
Hence,T(x,x*,q,r)<T(x*,x*,q,r), which implies that x* is a strict local maximizer of T(x,x*,q,r).Lemma 3.2.
For everyx′∈X, there exists d∈D such that ∥x′+d-x*∥>∥x′-x*∥.For the proof of this lemma, see, for example, [6] or [7].Theorem 3.3.
Suppose that0<q<min(1,r,((π-2)/4(1+D))r). If f(x)≥f(x*) and x≠x*, then x is not a local minimizer of T(x,x*,q,r).Proof.
For anyx≠x* with f(x)≥f(x*), by Lemma 3.2, there exists a direction d∈D with x+d∈⋃x∈XN(x) such that ∥x+d-x*∥>∥x-x*∥. For this d, we consider the following three cases. Case 1 (f(x+d)≥f(x*)).
In this case, by using the given condition and the fact that the inequality(3.6)arctan⁡a≤a
holds for any real number a≥0, we have
(3.7)Δ1=T(x+d,x*,q,r)-T(x,x*,q,r)=1q+‖x+d-x*‖(π2-arctan⁡qf(x+d)-f(x*)+r)-1q+‖x-x*‖(π2-arctan⁡qf(x)-f(x*)+r)=(arctan⁡qf(x+d)-f(x*)+r-π2)‖x+d-x*‖-‖x-x*‖(q+‖x+d-x*‖)(q+‖x-x*‖)+1q+‖x-x*‖(arctan⁡qf(x)-f(x*)+r-arctan⁡qf(x+d)-f(x*)+r)≤(arctan⁡qr-π2)‖x+d-x*‖-‖x-x*‖(q+‖x+d-x*‖)(q+‖x-x*‖)+1q+‖x-x*‖(arctan⁡qf(x)-f(x*)+r+arctan⁡qf(x+d)-f(x*)+r)≤(qr-π2)‖x+d-x*‖-‖x-x*‖(q+‖x+d-x*‖)(q+‖x-x*‖)+1q+‖x-x*‖(qr+qr)≤(1-π2)‖x+d-x*‖-‖x-x*‖(q+‖x+d-x*‖)(q+‖x-x*‖)+1q+‖x-x*‖2qr≤‖x+d-x*‖-‖x-x*‖(q+‖x+d-x*‖)(q+‖x-x*‖)(1-π2+2qrq+‖x+d-x*‖‖x+d-x*‖-‖x-x*‖).
Since q+∥x+d-x*∥≤1+D and ∥x+d-x*∥-∥x-x*∥≥1, we have
(3.8)Δ1≤‖x+d-x*‖-‖x-x*‖(q+‖x+d-x*‖)(q+‖x-x*‖)(1-π2+2qr(1+D))<0.
Hence, in this case, x is not a local minimizer of T(x,x*,q,r).Case 2 (f(x+d)<f(x*) and f(x+d)-f(x*)+r≤0).
In this case, we have(3.9)Δ2=T(x+d,x*,q,r)-T(x,x*,q,r)=-T(x,x*,q,r)<0,
which means the conclusion is true in this case.Case 3 (f(x+d)<f(x*) and f(x+d)-f(x*)+r>0).
In this case, we have(3.10)T(x+d,x*,q,r)=1q+‖x+d-x*‖(π2-arctan⁡qf(x+d)-f(x*)+r)<1q+‖x+d-x*‖(π2-arctan⁡qr)<1q+‖x-x*‖(π2-arctan⁡qf(x)-f(x*)+r)=T(x,x*,q,r).
Hence, in this case, x is not a local minimizer of T(x,x*,q,r).
The above discussion implies thatx is not a discrete local minimizer of T(x,x*,q,r).Theorem 3.4.
Assume thatx* is not a global minimizer of f(x), then there exists a minimizer x1* of T(x,x*,q,r) in S2.Proof.
Sincex* is not a global minimizer of f(x), there exists x1*∈S2 such that f(x1*)<f(x*)-r; it follows that T(x1*,x*,q,r)=0. On the other hand, by the structure of T(x,x*,q,r), we have T(x,x*,q,r)≥0 for any x∈X. This shows x1* is a minimizer of T(x,x*,q,r).


## 4. Filled Function Algorithm and Numerical Experiments

Based on the theoretical results in the previous section, the filled function method for (P) is described now as follows.Algorithm 4.1 (discrete filled function method).
(1)
Input the lower bound ofr, namely, rL=1e-8. Input an initial point x0(0)∈X. Let D={±ei,i=1,2,…,n}.(2)
Starting from an initial pointx0(0)∈X, minimize f(x) and obtain the first local minimizer x0* of f(x). Set k=0,  r=1, and q=1.(3)
Setxk(0)i=xk*+di, di∈D,  i=1,2,…,2n,  J=[1,2,…,2n], and j=1.(4)
Seti=Jj and x=xk(0)i.(5)
Iff(x)<f(xk*), then use x as initial point for discrete local minimization method to find another local minimizer xk+1* such that f(xk+1*)<f(xk*). Set k=k+1, and go to (3).(6)
LetD0={d∈D:x+d∈X}. If there exists d∈D0 such that f(x+d)<f(xk*), then use x+d*, where d*=argmind∈D0{f(x+d)}, as an initial point for a discrete local minimization method to find another local minimizer xk+1* such that f(xk+1*)<f(xk*). Set k=k+1, and go to (3).(7)
LetD1={d∈D0:∥x+d-x*∥>∥x-x*∥}. If D1=∅, then go to (10).(8)
If there existsd∈D1 such that T(x+d,xk*,q,r)≥T(x,xk*,q,r), then set q=0.1q,  J=[Jj,…,J2n,J1,…,Jj-1],  j=1, and go to (4).(9)
LetD2:={d∈D1:f(x+d)<f(x),T(x+d,xk*,q,r)<T(x,xk*,q,r)}. If D2≠∅, then set d*=argmind∈D2{f(x+d)+T(x+d,xk*,q,r)}. Otherwise set d*=argmind∈D1{T(x+d,xk*,q,r)},x=x+d*, and go to (6).(10)
Ifi<2n, then set i=i+1, and go to (4).(11)
Setr=0.1r. If r≥rL, go to (3). Otherwise, the algorithm is incapable of finding a better minimizer starting from the initial points, {xk(0)i:i=1,2,…,2n}. The algorithm stops, and xk* is taken as a global minimizer.The motivation and mechanism behind the algorithm are explained below.A set of2n initial points is chosen in Step (3) to minimize the discrete filled function.Step(5) represents the situation where the current computer-generated initial point for the discrete filled function method satisfies f(x)<f(xk*). Therefore, we can further minimize the primal objective function f(x) by any discrete local minimization method starting from x.Step(7) aims at selecting a better successor point. If D2 is not empty, then we get a feasible direction which reduce both the objective function value and filled function value. Otherwise, we can get a descent feasible direction which reduce only filled function value.In the following, we perform the numerical experiments for five test problems using the above proposed filled function algorithm. All the numerical experiments are programmed in MATLAB 7.0.4. The proposed filled function algorithm succeeds in identifying the global minimizers of the test problems. The computational results are summarized in Table1, and the symbols used are given as follows:PN: the Nth problem.DN: the dimension of objective function of a problem.IN: the number of iteration cycles.TI: the CPU time in seconds for the algorithm to stop.TN: the number of filled function evaluations for the algorithm to stop.FN: the number of objective function evaluations for the algorithm to stop.Table 1PNDNINTITNFN1432.41361808736171432.32171762235231432.425219556379822535.14353123426246822536.29843267636535222536.687933083566167325204.99161558825311765325206.72421617823323564325205.6871159356131871244533598.389333991625679832544533612.567134043270680865444533574.32483393379067867585252148.8163115867124419655021084.723992341931924634510028891.19846896565911531675862511164.21651521146306731650241297.77891120580324678646100509045.239682891746017328966Problem 1.
One has(4.1)min⁡⁡f(x)=100(x2-x12)2+(1-x1)2+90(x4-x32)2+(1-x3)2+10.1[(x2-1)2+(x4-1)2]+19.8(x2-1)(x4-1),s.t.-10≤xi≤10,xiisinteger,i=1,2,3,4.
This problem has 214≈1.94×105 feasible points where 41 of them are discrete local minimizers but only one of those discrete local minimizers is the discrete global minimum solution: xglobal*=(1,1,1,1) with f(xglobal*)=0. We used three initial points in our experiment:(9,6,5,6), (10,10,10,10), (-10,-10,-10,-10).Problem 2.
One has(4.2)min⁡f(x)=g(x)h(x),s.t.xi=0.001yi,-2000≤yi≤2000,yiisinteger,i=1,2,
where
(4.3)g(x)=1+(x1+x2+1)2(19-14x1+3x12-14x2+6x1x2+3x2),h(x)=30+(2x1-3x2)2(18-32x1+12x12+48x2-36x1x2+27x22).
This problem has 40012≈1.60×107 feasible points. More precisely, it has 207 and 2 discrete local minimizers in the interior and the boundary of box -2.00≤xi≤2.00,i=1,2, respectively. Nevertheless, it has only one discrete global minimum solution: xglobal*=(0.000,-1.000) with f(xglobal*)=3. We used three initial points in our experiment: (2000,2000), (-2000,-2000), (1196,1156).Problem 3.
One has(4.4)min⁡f(x)=[1.5-x1(1-x2)]2+[2.25-x1(1-x22)]2+[2.625-x1(1-x23)]2,s.t.xi=0.001yi,-104≤yi≤104,yiisinteger,i=1,2.
This problem has 200012≈4.00×108 feasible points and many discrete local minimizers, but it has only one discrete global minimum solution: xglobal*=(3,0.5) with f(xglobal*)=0. We used three initial points in our experiment:(9997,6867), (10000,10000), (-10000,-10000).Problem 4.
One has(4.5)min⁡f(x)=(x1+10x2)2+5(x3-x4)2+(x2-2x3)4+10(x1-x4)4,s.t.xi=0.001yi,-104≤yi≤104,yiisinteger,i=1,2,3,4.
This problem has 200014≈1.60×1017 feasible points and many local minimizers, but it has only one global minimum solution: xglobal*=(0,0,0,0) with f(xglobal*)=0. We used three initial points in our experiment:(1000,-1000,-1000,1000), (10000,-10000,-10000,10000), (-10000,…,-10000).Problem 5.
One has(4.6)min⁡f(x)=(x1-1)2+(xn-1)2+n∑i=1n-1(n-i)(xi2-xi+1)2,s.t.-5≤xi≤5,xiisinteger,i=1,2,…,n.
This problem has many local minimizers, but it has only one global minimum solution: xglobal*=(1,…,1) with f(xglobal*)=0.
In this problem, we used initial point(5,…,5) in our experiment for n=25,50,100, respectively.Problem 6.
One has(4.7)min⁡f(x)=∑i=1nxi4+(∑i=1nxi)2,s.t.-5≤xi≤5,xiisinteger,i=1,2,…,n.
This problem has many local minimizers, but it has only one global minimum solution: xglobal*=(1,1,…,1) with f(xglobal*)=0.
In this problem, we used initial point(5,…,5) in our experiment for n=25,50,100, respectively.


## 5. Conclusions

We have proposed a new two-parameter filled function and presented a corresponding filled function algorithm for the solution of the box constrained global nonlinear integer programming problem. Numerical experiments are also implemented, and preliminary computational results are reported. Our future work is to generalize the discrete filled function techniques to mixed nonlinear integer global optimization problem.



---

*Source: 171697-2011-09-14.xml*