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.
1. Introduction
Consider the following general global nonlinear integer programming: minx∈Xf(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.
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*).
If x* 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.
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*).
If x* is not a discrete global minimizer of f(x), then P(x,x*) has a discrete minimizer in the set S2.
Although Definitions 1.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 Section 2, 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 constant D>0 satisfying 1≤D=maxx1,x2∈X,x1≠x2∥x1-x2∥<∞.
Assumption 2.2.
There exists a constant L>0, such that
|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 at x∈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 any x∈Zn, the discrete neighborhood of x is defined by N(x)={x,x±ei,i=1,2,…,n}.
Definition 2.5 (see [10]).
A point x*∈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).
Start from an initial point x∈X.
If x is a local minimizer of f over X, then stop. Otherwise, let
d*:=argmindi∈Dx{f(x+di):f(x+di)<f(x)}.
Let x∶=x+d*, and go to Step (2).
Let x* 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.
x* is a strict discrete local maximizer of P(x,x*) over X.
P(x,x*) has no discrete local minimizers in the region
S1={x∣f(x)≥f(x*),x∈X∖{x*}}.
If x* is not a discrete global minimizer of f(x), then P(x,x*) does have a discrete minimizer in the region
S2={x∣f(x)<f(x*),x∈X}.
3. Properties of the Proposed Discrete Filled Function T(x,x*,q,r)
Let x* denote the current discrete local minimizer of (P). Based on Definition 2.7, a novel filled function is proposed as follows:T(x,x*,q,r)=1q+‖x-x*‖φq(max{f(x)-f(x*)+r,0}),
whereφ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 that T(x,x*,q,r) is a filled function under some conditions.
Theorem 3.1.
If 0<q<min(r,π/4), then x* is a strict local maximizer of T(x,x*,q,r).
Proof.
Since x* 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
T(x,x*,q,r)=1q+1(π2-arctanqf(x)-f(x*)+r),T(x*,x*,q,r)=1q(π2-arctanqr).
By the condition 0<q<min(r,π/4) and the fact that the inequality
arctana-arctanb≤a-b
holds for any real number a≥b, we have
Δ=T(x,x*,q,r)-T(x*,x*,q,r)=1q(q+1)(arctanqr-π2)+1q+1(arctanqr-arctanqf(x)-f(x*)+r)≤1q(q+1)(arctan1-π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 every x′∈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 that 0<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 any x≠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 arctana≤a
holds for any real number a≥0, we have
Δ1=T(x+d,x*,q,r)-T(x,x*,q,r)=1q+‖x+d-x*‖(π2-arctanqf(x+d)-f(x*)+r)-1q+‖x-x*‖(π2-arctanqf(x)-f(x*)+r)=(arctanqf(x+d)-f(x*)+r-π2)‖x+d-x*‖-‖x-x*‖(q+‖x+d-x*‖)(q+‖x-x*‖)+1q+‖x-x*‖(arctanqf(x)-f(x*)+r-arctanqf(x+d)-f(x*)+r)≤(arctanqr-π2)‖x+d-x*‖-‖x-x*‖(q+‖x+d-x*‖)(q+‖x-x*‖)+1q+‖x-x*‖(arctanqf(x)-f(x*)+r+arctanqf(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
Δ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
Δ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
T(x+d,x*,q,r)=1q+‖x+d-x*‖(π2-arctanqf(x+d)-f(x*)+r)<1q+‖x+d-x*‖(π2-arctanqr)<1q+‖x-x*‖(π2-arctanqf(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 that x is not a discrete local minimizer of T(x,x*,q,r).
Theorem 3.4.
Assume that x* is not a global minimizer of f(x), then there exists a minimizer x1* of T(x,x*,q,r) in S2.
Proof.
Since x* 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).
Input the lower bound of r, namely, rL=1e-8. Input an initial point x0(0)∈X. Let D={±ei,i=1,2,…,n}.
Starting from an initial point x0(0)∈X, minimize f(x) and obtain the first local minimizer x0* of f(x). Set k=0, r=1, and q=1.
Set xk(0)i=xk*+di, di∈D, i=1,2,…,2n, J=[1,2,…,2n], and j=1.
Set i=Jj and x=xk(0)i.
If f(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).
Let D0={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).
Let D1={d∈D0:∥x+d-x*∥>∥x-x*∥}. If D1=∅, then go to (10).
If there exists d∈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).
Let D2:={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).
If i<2n, then set i=i+1, and go to (4).
Set r=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 of 2n 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 Table 1, 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.
PN
DN
IN
TI
TN
FN
1
4
3
2.4136
18087
3617
1
4
3
2.3217
17622
3523
1
4
3
2.4252
19556
3798
2
2
5
35.1435
312342
62468
2
2
5
36.2984
326763
65352
2
2
5
36.6879
330835
66167
3
2
5
204.9916
1558825
311765
3
2
5
206.7242
1617823
323564
3
2
5
205.6871
1593561
318712
4
4
53
3598.3893
33991625
6798325
4
4
53
3612.5671
34043270
6808654
4
4
53
3574.3248
33933790
6786758
5
25
2
148.8163
1158671
244196
5
50
2
1084.7239
9234193
1924634
5
100
2
8891.1984
689656591
15316758
6
25
11
164.2165
1521146
306731
6
50
24
1297.7789
11205803
2467864
6
100
50
9045.2396
828917460
17328966
Problem 1.
One has
minf(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
minf(x)=g(x)h(x),s.t.xi=0.001yi,-2000≤yi≤2000,yiisinteger,i=1,2,
where
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
minf(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
minf(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
minf(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
minf(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.
Acknowledgment
This paper was partially supported by the NNSF of China under Grant No. 10571137 and 10971053.
MohanC.NguyenH. T.A controlled random search technique incorporating the simulated annealing concept for solving integer and mixed integer global optimization problems199914110313210.1023/A:10087611134911704949ZBL0970.90053GuptaO. K.RavindranA.Branch and bound experiments in convex nonlinear integer programming1985311215331546878885ZBL0591.90065KörnerF.A new branching rule for the branch and bound algorithm for solving nonlinear integer programming problems198828370170810.1007/BF01941144963311LiD.WhiteD. J.pth power Lagrangian method for integer programming20009815117010.1023/A:10192523065121839879ZBL0990.90075CooperM. W.FarhangianK.Nonlinear integer programming for various forms of constraints198229458559210.1002/nav.3800290406707401ZBL0538.90066NgC.-K.ZhangL.-S.LiD.TianW.-W.Discrete filled function method for discrete global optimization20053118711510.1007/s10589-005-0985-72143506ZBL1114.90125NgC.-K.LiD.ZhangL.-S.Discrete global descent method for discrete global optimization and nonlinear integer programming200737335737910.1007/s10898-006-9053-92293661ZBL1156.90006GeR. P.QinY. F.A class of filled functions for finding global minimizers of a function of several variables198754224125210.1007/BF00939433895737ZBL0595.65072ZhuW. X.A filled function method for integer programming20002344814871814390ZBL0968.90051ShangY.-L.ZhangL.-S.A filled function method for finding a global minimizer on global integer optimization2005181120021010.1016/j.cam.2004.11.0302146420ZBL1078.65054LiM.-M.ShangY.-L.ZhangL.-S.A new filled function method for integer programming200624125322196866ZBL1101.65062