DDNSDiscrete Dynamics in Nature and Society1607-887X1026-0226Hindawi Publishing Corporation17169710.1155/2011/171697171697Research ArticleIdentifying a Global Optimizer with Filled Function for Nonlinear Integer ProgrammingWangWei-Xiang1ShangYou-Lin2ZhangLian-Sheng3MedinaRigoberto1Department of MathematicsShanghai Second Polytechnic UniversityShanghai 201209Chinasspu.cn2Department of MathematicsHenan University of Science and TechnologyLuoyang 471003Chinahaust.edu.cn3Department of MathematicsShanghai UniversityShanghai 200444Chinashu.edu.cn2011149201120112703201110072011150720112011Copyright © 2011 Wei-Xiang Wang et al.This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

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: minxXf(x), where f:Zn,XZn 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 ). 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  for continuous global optimization. Papers [6, 7, 911] 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 [<xref ref-type="bibr" rid="B9">9</xref>]).

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={xX:f(x)f(x*)}, except a prefixed point x0S1 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={xf(x)<f(x*),xX}.

Definition 1.2 (see [<xref ref-type="bibr" rid="B10">10</xref>]).

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 S1x0, where the prefixed point x0S1 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 1D=maxx1,x2X,x1x2x1-x2<.

Assumption 2.2.

There exists a constant L>0, such that |f(x)-f(y)|Lx-y holds, for any x, yxXN(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):minxRnf(x), if f(x) satisfies limx+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 [<xref ref-type="bibr" rid="B10">10</xref>]).

The set of all feasible directions at xX is defined by Dx={dD:x+dX}, 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 [<xref ref-type="bibr" rid="B10">10</xref>]).

For any xZn, the discrete neighborhood of x is defined by N(x)={x,x±ei,i=1,2,,n}.

Definition 2.5 (see [<xref ref-type="bibr" rid="B10">10</xref>]).

A point x*X is called a discrete local minimizer of f(x) over X if f(x*)f(x), for all xXN(x*). Furthermore, if f(x*)f(x), for all xX, then x* is called a strict discrete local minimizer of f(x) over X. If, in addition, f(x*)<f(x), for all (xX{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 xX.

If x is a local minimizer of f over X, then stop. Otherwise, let d*:=argmindiDx{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={xf(x)f(x*),xX{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={xf(x)<f(x*),xX}.

3. Properties of the Proposed Discrete Filled Function <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M88"><mml:mi>T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>*</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>

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-arctanqtif  t0,0if  t=0, where r>0 and q>0 are two parameters and r satisfies 0<r<minf(x1)f(x2),x1,x2X|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 xN(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-arctanba-b holds for any real number ab, 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 xX, there exists dD such that x+d-x*>x-x*.

For the proof of this lemma, see, for example,  or .

Theorem 3.3.

Suppose that 0<q<min(1,r,((π-2)/4(1+D))r). If f(x)f(x*) and xx*, then x is not a local minimizer of T(x,x*,q,r).

Proof.

For any xx* with f(x)f(x*), by Lemma 3.2, there exists a direction dD with x+dxXN(x) such that x+d-x*>x-x*. For this d, we consider the following three cases. Case 1 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M128"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>≥</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>*</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>).

In this case, by using the given condition and the fact that the inequality arctanaa holds for any real number a0, 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*2qrx+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 Δ1x+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 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M137"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo><</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>*</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M138"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>-</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>*</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mo>≤</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>).

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 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M140"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo><</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>*</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M141"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>-</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>*</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mo>></mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>).

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 xX. 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, diD,  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={dD:x+dX}. If there exists dD0 such that f(x+d)<f(xk*), then use x+d*, where d*=argmindD0{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={dD0:x+d-x*>x-x*}. If D1=, then go to (10).

If there exists dD1 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:={dD1:f(x+d)<f(x),T(x+d,xk*,q,r)<T(x,xk*,q,r)}. If D2, then set d*=argmindD2{f(x+d)+T(x+d,xk*,q,r)}. Otherwise set d*=argmindD1{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 rrL, 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.

PNDNINTITNFN
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.-10xi10,xi  is  integer,  i=1,2,3,4. This problem has 2141.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,-2000yi2000,yi  is  integer,  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 400121.60×107 feasible points. More precisely, it has 207 and 2 discrete local minimizers in the interior and the boundary of box -2.00xi2.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,-104yi104,yi  is  integer,  i=1,2. This problem has 2000124.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,-104yi104,yi  is  integer,  i=1,2,3,4. This problem has 2000141.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+ni=1n-1(n-i)(xi2-xi+1)2,s.t.-5xi5,xi  is  integer,  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.-5xi5,xi  is  integer,  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 problemsComputational Optimization and Applications199914110313210.1023/A:10087611134911704949ZBL0970.90053GuptaO. K.RavindranA.Branch and bound experiments in convex nonlinear integer programmingManagement Science1985311215331546878885ZBL0591.90065KörnerF.A new branching rule for the branch and bound algorithm for solving nonlinear integer programming problemsBIT Numerical Mathematics198828370170810.1007/BF01941144963311LiD.WhiteD. J.pth power Lagrangian method for integer programmingAnnals of Operations Research20009815117010.1023/A:10192523065121839879ZBL0990.90075CooperM. W.FarhangianK.Nonlinear integer programming for various forms of constraintsNaval Research Logistics Quarterly198229458559210.1002/nav.3800290406707401ZBL0538.90066NgC.-K.ZhangL.-S.LiD.TianW.-W.Discrete filled function method for discrete global optimizationComputational Optimization and Applications20053118711510.1007/s10589-005-0985-72143506ZBL1114.90125NgC.-K.LiD.ZhangL.-S.Discrete global descent method for discrete global optimization and nonlinear integer programmingJournal of Global Optimization200737335737910.1007/s10898-006-9053-92293661ZBL1156.90006GeR. P.QinY. F.A class of filled functions for finding global minimizers of a function of several variablesJournal of Optimization Theory and Applications198754224125210.1007/BF00939433895737ZBL0595.65072ZhuW. X.A filled function method for integer programmingActa Mathematicae Applicatae Sinica20002344814871814390ZBL0968.90051ShangY.-L.ZhangL.-S.A filled function method for finding a global minimizer on global integer optimizationJournal of Computational and Applied Mathematics2005181120021010.1016/j.cam.2004.11.0302146420ZBL1078.65054LiM.-M.ShangY.-L.ZhangL.-S.A new filled function method for integer programmingJournal of Computational Mathematics200624125322196866ZBL1101.65062