an approximate algorithm for nonlinear integer programming

9
170 European Journal of Operational Research 74 (1994) 170-178 North-Holland Theory and Methodology An approximate algorithm for nonlinear integer programming Vassil Vassilev and Krassimira Genova Institute of Informatics, 'Acad. G. Bonchev' str., bl. 29A, 1113 Sofia, Bulgaria Received September 1991; Revised May 1992 Abstract: This paper suggests an approximate algorithm, designed to solve nonlinear integer problems. This algorithm belongs to the class of component algorithms of feasible integer directions. The search for a feasible integer direction is done on the basis of a linear approximation of the objective function and the constraints at the integer points under consideration. Theoretical analysis is presented, as well as experimental investigation, using the algorithm for test examples taken from the literature. Keywords: Optimization; Nonlinear integer programming; Approximate algorithm; Heuristics; Computa- tional analysis I. Introduction The problems of linear integer programming belong to the class of NP-hard problems. All the exact algorithms for their solution have an expo- nential computing complexity [6]. Because of this reason, parallel with them, approximate algo- rithms [12] have also been rapidly developed in recent years. The problems of convex integer programming [4] are also NP-hard problems. Still more complex is the status with nonconvex inte- ger programming. As is proved in [1,4,9,10], these problems are algorithmically unsolvable, which means that no exact algorithms can be created to solve them. Because of these reasons, the devel- opment of approximate algorithms for solving different classes of nonlinear integer program- ming is a particularly important problem. The present paper discusses an approximate Correspondence to: Vassil Vassilev, Institute of Informatics, 'Acad. G. Bonchev' str., bl. 29A, 1113 Sofia, Bulgaria. algorithm, called the internal feasible directions algorithm (IFIDN), designed to solve the follow- ing class of nonlinear integer programming prob- lems: max s.t. f(x) (1) gi(x)<_O, i~I, (2) O<~xj<~dj, jEJ, (3) xj integers, j ~J, (4) where I = {1, 2..... m}, J = {1, 2..... n}, and f(x) and gi(x), i ~ I, are polynomial functions. The suggested algorithm IFIDN is a general- ization of the algorithm of internal feasible inte- ger directions, IFID, described in [10], that is designed to solve linear integer problems. The search for feasible integer directions in the IFIDN algorithm is done on the basis of linear approxi- mations of the objective function and the inequal- ities of the integer points currently under consid- eration. 0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-221 7(92)00053-H

Upload: vassil-vassilev

Post on 21-Jun-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: An approximate algorithm for nonlinear integer programming

170 European Journal of Operational Research 74 (1994) 170-178 North-Holland

Theory and Methodology

An approximate algorithm for nonlinear integer programming

Vassil Vassilev and Krassimira Genova Institute of Informatics, 'Acad. G. Bonchev' str., bl. 29A, 1113 Sofia, Bulgaria

Received September 1991; Revised May 1992

Abstract: This paper suggests an approximate algorithm, designed to solve nonlinear integer problems. This algorithm belongs to the class of component algorithms of feasible integer directions. The search for a feasible integer direction is done on the basis of a linear approximation of the objective function and the constraints at the integer points under consideration. Theoretical analysis is presented, as well as experimental investigation, using the algorithm for test examples taken from the literature.

Keywords: Optimization; Nonlinear integer programming; Approximate algorithm; Heuristics; Computa- tional analysis

I. Introduction

The problems of linear integer programming belong to the class of NP-hard problems. All the exact algorithms for their solution have an expo- nential computing complexity [6]. Because of this reason, parallel with them, approximate algo- rithms [12] have also been rapidly developed in recent years. The problems of convex integer programming [4] are also NP-hard problems. Still more complex is the status with nonconvex inte- ger programming. As is proved in [1,4,9,10], these problems are algorithmically unsolvable, which means that no exact algorithms can be created to solve them. Because of these reasons, the devel- opment of approximate algorithms for solving different classes of nonlinear integer program- ming is a particularly important problem.

The present paper discusses an approximate

Correspondence to: Vassil Vassilev, Institute of Informatics, 'Acad. G. Bonchev' str., bl. 29A, 1113 Sofia, Bulgaria.

algorithm, called the internal feasible directions algorithm (IFIDN), designed to solve the follow- ing class of nonlinear integer programming prob- lems:

max

s.t.

f ( x ) (1)

gi(x)<_O, i ~ I , (2)

O<~xj<~dj, j E J , (3)

xj integers, j ~ J , (4)

where I = {1, 2 . . . . . m}, J = {1, 2 . . . . . n}, and f (x ) and gi(x), i ~ I, are polynomial functions.

The suggested algorithm IFIDN is a general- ization of the algorithm of internal feasible inte- ger directions, IFID, described in [10], that is designed to solve linear integer problems. The search for feasible integer directions in the IFIDN algorithm is done on the basis of linear approxi- mations of the objective function and the inequal- ities of the integer points currently under consid- eration.

0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-221 7(92)00053-H

Page 2: An approximate algorithm for nonlinear integer programming

V. Vassilet,. K. Genoca / An approximate algorithm for nonlinear IP 171

2. General description of the algorithm

The solution of problem (1)-(4) with the help of IFIDN is reduced to solving a sequence of subproblems, which are formulated in such a way that the integer point from which a feasible inte- ger direction is searched for is a feasible solution of the subproblem which is currently being solved.

Let F~ denote the set of constraints (2), for each integer point x k, that are not satisfied at this point, and F}" the set of satisfied constraints:

F~ = {i ~ I, g i (x k ) > 0}, (5)

F~ = {i ~ l, gi( x k) _<0}. (6)

Let / k denote the number of the k-th iteration for which the following subproblem is formu- lated:

max

s.t.

g,,+l( x) = -gi,a( x) (7)

g4 ) <_ o, (8)

g , ( x ) < 0 , i ~ F ~ k, (9)

O<xj<_d i, j ~ J , (10)

x i integers, j E J , (11)

where

ilk = argmax gi(xlk). (12)

Each feasible solution of this subproblem satis- fies all the constraints in the set F2 tk and at least one constraint in the set F( k with index il~ ..

In case after the finding of a feasible solution for any of the subproblems (7)-(12), it turns out that all the constraints of the primary problem (1)-(4) are satisfied, then a subproblem of the following type is formulated:

max

s.t.

g,,,+,(x) =f(x) (13) - f ( x ) + f ( x k) + s < O, (14)

gi(x) <0, i ~ l , (15)

O<x <di, j E J , (16)

x i integers, j E J, (17)

where x k is the last feasible solution found and s is a sufficiently small positive number.

In case problem (13)-(17) has a feasible solu- tion, this means that a new better solution of the primary problem (1)-(4) has been found. A prob- lem of type (13)-(17) is also formulated and solved.

The main idea of the algorithm discussed above is the following: The finding of an approximate solution of the primary problem (1)-(4) is re- duced to the solving of a series of subproblems of type (7)-(12) and (13)-(17). The sets FI ~ and F2 ° are defined for the selected initial solution x °. A problem of type (7)-(12) is formed. The new sets FI k~ and F2 k' are determined for the first feasible solution found, denoted as x k~. If F~' :~ {~, a new problem of type (7)-(12) is formulated. Such problems are formulated and solved until a feasi- ble solution of the primary problem (1)-(4) is obtained, i.e. until F( k :~ ~. If any of these prob- lems cannot be solved, then this means that the algorithm cannot find a feasible solution of prob- lem (1)-(4). With the help of the problems of type (13)-(17) formed, the obtained feasible solu- tion is improved. In case a subproblem of this type cannot be solved, the algorithm operation is terminated. The last integer solution is the best feasible solution of the primary problem (1)-(4) that is found.

In order to solve each of these subproblems, the algorithm finds a series of integer points according to the scheme

xl, " = X k ~1 + h k p k , (18)

where pk is a feasible integer direction from point x ~-1, and h k is the step length.

3. Finding feasible integer directions

In the suggested algorithm internal feasible integer directions with one or two nonzero com- ponents are searched for. The limiting of the number of nonzero components is caused by the fact that the search for feasible integer directions is reduced to solving systems of linear inequali- ties. From a computational viewpoint, the solu- tion of linear inequalities with more than two variables is as difficult as solving the problem in the general case.

For problems (7)-(12) and (13)-(17) a feasible integer direction pk from point x k is defined as

Page 3: An approximate algorithm for nonlinear integer programming

172 V. Vassilev, K. Genova / An approximate algorithm for nonlinear IP

a vector for which the following conditions are satisfied:

gi,k(x k +hkpk)--gi,k(Xl" ) < 0

Agi(xk +h~p k) <0, i~F~ k, (19)

f ( x ~ + hkp k) - f ( x k) > 0 A gi( x k -'k hkp k) < O,

i ~ I. (20)

Condition (19) means that the infeasibility of the constraint with index ilk reduces, and condi- tion (20) that the objective function is improved.

The finding of feasible integer directions is done on the basis of linear approximation of the nonlinear functions in problems (7)-(12) and (13)-(17), which get the following form:

g i ( x k, pk ) = g i ( x k) + ~7gi(xk)pk ' (21)

f ( x k, pk) = f ( x k) + Vf(xk)pk . (22)

The linearized problem (7)-(12) may be recorded in the form of a standard linear integer programming problem:

max

s.t.

cip i + b o (23) i~J ai,kjpy < bitk, j ~ J, (24)

Y', a i jx . i<bi , j ~ J , (25) i~F~ k

O<x~+pj<dj , j ~ J , (26)

pj integers, j ~ J , (27)

where

cj Ogitk( X k )

Oxj ' b° = --gitk( Xk)'

aij agi (x k)

~Xj ' bi = - -g i (xk)"

In an analogous way the linearization of prob- lem (13)-(17) may be represented using the lin- ear approximation (22) of the objective function of problem (1)-(4).

An approximate algorithm of the internal fea- sible integer directions (IFID) that solves linear problems of integer programming is described in

[10]. At each iteration of this algorithm, feasible integer directions with one or two nonzero vari- ables are found with the help of given procedures that reduce the infeasibility of a selected unsatis- fied linear constraint, not violating the satisfied constraints at that. These procedures may be used to find feasible integer directions of the linearized problem (23)-(27). But not all the fea- sible directions at point x k of the linearized subproblems are feasible integer directions for the corresponding nonlinear subproblems at point x k. Feasible directions p~ are only those that satisfy also the constraints

gilk(X k q_pk)__gilk(X k) <0 , (28)

gi(x l '+pk)<O, i~F~ k, (29)

for problem (7)-(12), and

- f ( x k +pk) + f ( x ~) + e < O, (30)

gi (xk+pk)<O, i ~ I , (31)

for problem (13)-(17). After the vector of the feasible direction is

defined, the feasible step length h k may be deter- mined from the continuation of the straight line x =x +hp k that is limited by the achievement of the optimum for the corresponding objective function or by the violation of any of the con- straints. For this purpose the following values are computed:

h~=([oz+ll:gi tk(Xk+ozpk)=o), (32)

hk2=min([fli]: gi(x k + ~ip k) =0, i=F2~), (33)

h3k = min([Fj] :0 <x k +Fjp k <dj, j ~ J ) . (34)

The step length h k is found as the greatest integer satisfying the constraints

1 _< h ~ -< min(hl k, hk2, h~) . (35)

The feasible step length h k for problem (13)- (17) is defined in an analogous way, the con- straint with index ilk being substituted by the objective function of the primary problem, and the set F~ by the set of all the preset constraints, I.

Page 4: An approximate algorithm for nonlinear integer programming

V. Vassilev, K. Genova / An approximate algorithm for nonlinear IP 173

4. General scheme of the algorithm

The suggested algorithm may be represented in an informal notation in terms of the so-called Simplified Algol [7]: begin s :=0 ; k : = 0 ; an initial integer point x° is chosen;

Step 1. The sets F~ and F2 k are defined ac- cording to (5) and (6); if F~ = 0, then begin s : = l ; goto Step 3; end l k :=k ; il~ is defined according to (12); A problem of type (7)-(11) is formed;

Step 2. for all i ~ F2 k do begin b i : = - - g i ( x k ) ; for all j ~ J do

Ogi(x k ) - - ;

ai'j : = OXj

end; bin+ 1 : = b i : : - g i ( x k ) ;

for all j ~t~J do ,k

am+l; J:=aitk' J:= ~x]

components of a linear problem of type (23)-(27); if pk = 0, then goto Step 7; if s = 0, then begin if x k + p k is not feasible in compliance with (28)-(29), then goto Step 5; end else begin if (x k +pk is not feasible in compliance with (30)-(31), then goto Step 5; end Procedure for computing the values hi, h~, h~ according to (32)-(34); h k is selected in compliance with (35); if (x ~ + h~p k) is feasible in agreement with (19)- (20), then X k + l : X k + hkpg; k : = k + l ; if s = 0, then goto Step 6; if x ~ is a feasible solution of problem (13)-(17), then goto Step 3; else goto Step 4;

Step 6. if x k is a feasible solution of problem (7)-(11), then goto Step 1; else goto Step 2;

Step 7. if s ¢ 0, then exit x k (comment: x k is the best feasible solution found of problem (1)-(4)); else exit (comment: no feasible solution of problem (1)-(4) found); end

goto Step 5; Step 3. l k := k; A problem of type (13)-(17) is

formed; Step 4. for all i ~ I do begin

b i : = - - g i ( x k ) ; for all j ~ J d o

Ogi( x k) ai'j : = ()Xj '

end; bm+ 1 :=f(xk); for all j ~ J d o

Of(x k) am+ l'J := ~)Xj ;

Step 5. A procedure for finding a feasible integer direction pk with one or two nonzero

5. Example

The algorithm described above may be illus- trated with the help of the following example:

m a x

s . t .

f ( x ) = - x ~ + 6x I + x 2 - 11

gl( x) =x 2 + x 2 - 4 x l - 4 x 2 + 4 < 0 ,

g2(x) =x 2 + x ~ - 6x 1 - 6x 2 + 14 < 0,

0 <x I < 10,

0 < x 2 < 10,

x 1, x 2 integers•

It is obvious from the problem's graphic repre- sentation in Figure 1 that the objective function reaches the optimal value f * ( x ) = 1 at the points (3, 3) and (2, 4) within the feasible region.

Page 5: An approximate algorithm for nonlinear integer programming

174 V. Vassilev, K. Genova / An approximate algorithm for nonlinear IP

x2

6

"i 2 3 4

fg2 (x)

Figure 1. Illustrative problem.

×1 IP

The selection of an initial point for starting the algori thm influences significantly its accuracy and speed. Unfor tunate ly no efficient p rocedure for initial solution selection has been found. In the general case one of the two bound points x ° = 0, j ~ J, or x ° = 10, j ~ J, for which the total infeasi- bility of the constraints b ° = g l (x °) + gz(X °) is smaller, can be chosen. For the discussed exam- ple, for x ° = (0, 0) one obtains b ° = 4 + 14 = 18, and for x ° = (10, 10), b ° = 124 + 94 = 218. Hence x ° = ( 0 , 0) is preferred as being closer to the feasible region. The sets F ° = {1, 2} and F2 ° = are de te rmined for this point at i teration k = 0. l k = k is assigned. Since F ° ~ ¢, according to (12), i~ = 2 is selected and a problem of type (7)-(11t is formed:

m a x

s . t .

g 3 ( x ) = - - X f - - X 2 + 6x I + 6x 2 - 14

g 2 ( x ) = x 2 + x ~ - 6x~ - 6x 2 + 14 < O,

0 < x 1 < 10,

0 _~X 2 _~ 10,

x, and x 2 integers.

b 3 = -gi ,~(x O) = - 14

and

a3. j = (2x , - 4 , 2x 2 - 4) = ( - 4 , - 4 )

are computed .

The procedure for finding a feasible integer direction with one nonzero componen t of the linear problem is executed:

max

S.t .

4pl + 4p2 - 14

14 - 4p~ - 4P2 < 0,

0 < P l < 1,

0 _ < p 2 < 1,

Pl , P2 integers.

Direct ion p 0 = (1, 0) is found. A feasibility check of this direction is done for the nonl inear problem g2(x o + p 0 ) = 9. Since gz(X 0 +p0) < g2(x°), the direction chosen is a feasible one.

A procedure for finding a feasible step is exe- cuted, h ° = 3 is obtained, for which gZ(X°+ h°p °) = 5. Since gz(X 0 + h°p °) < gz(X°), h ° is feasible and a new solution x ~ = (3, 0) is achieved.

The algorithm passes to the following iteration k = 1. Since gZ(X 1) > 0, i.e. no feasible solution of the subproblem has been found, new lin- earized functions of the subproblem at point x 1 are computed , b 3 = - 5 and a 3 4 = (2, - 4 ) are determined. The procedure for finding a feasible integer direction with one nonzero componen t of the linear problem is run:

max

s.t.

- 2 p ~ + 4p2 - 5

5 + 2p I - 4P2 _< O,

0 -<Pl -< 1,

0 < P 2 < 1 ,

Pl , P2 integers.

Direct ion Pl = (0, 1) is found, which is checked for feasibility, g2(x 1 + p l ) = 0. Because g2(x 1 + p l ) < gz(xl), pl is a feasible direction.

A procedure for finding a feasible step is exe- cuted, h 1 = 3 is obta ined and feasibility is checked again, g z ( x l + h l p t ) = - 4 is set. Since g 2 ( x l + hip 1) <gz(xl) , h I is a feasible step and a new solution x 2 = (3, 3) is f o u n d .

The following iteration k = 2 is run. The con- straint g2(x) < 0 is satisfied, hence x 2 is a feasi- ble solution of the subproblem. The sets F~ = ¢ and F 2 = {1, 2} are determined. Since F12 = ¢, the last solution found is a feasible one of the initial

Page 6: An approximate algorithm for nonlinear integer programming

V. Vassilev, tC Genova / An approximate algorithm for nonlinear IP 175

example, s = 1 and l k = k are assigned. A prob- lem of type (13)-(17) is formulated:

max g3 = - x 2 + 6x~ + x 2 - 11

s.t. x ~ - 6 x l - x 2 + 1 2 , 0 1 < O ,

x~ + x~ - 4x I - 4 x 2 + 4 < 0 ,

x ( +x22- 6x 1 - 6x 2 + 14 < 0,

0 _<x 1 _< 10,

0 _<x 2 _< 10,

x 1, x 2 integers.

The following values are computed:

b t = - g l ( x 2 ) = 2 , b 2 = - g 2 ( x 2 ) = 4 ,

(22) a ( i , j ) = 0 0 '

as well a s b 3 = 1 and a3j = (0, 1). A procedure for finding a feasible integer solu-

tion with one nonzero component of the linear problem, given below, is performed:

max 0p~ + P 2

s.t. 2p~ + 2p 2 < 2,

0 p I + 0 p 2 G 4,

0 -<Pl < 1,

0_<p2_< 1.

Direction p 2 = (0, 1) is found. A feasibility check is done: f ( x 2 + p 2 ) = 2, f ( x 2) < f ( x 2 +p2) , but g~(x 2 + p 2 ) = 1, i.e. this constraint is not sat- isfied, therefore, this direction is an infeasible one.

A procedure searching for a feasible direction with one nonzero component of the last linear problem is rerun. Such a direction is not found and a transition is made to search for a direction with two nonzero components, p 2 = ( - 3 , 1) is found and checked for feasibility: f ( x 2 + p 2 ) = - - 7 , f ( x 2 + p 2 ) < f ( x 2 ) ; hence this direction is infeasible as well. Since no other feasible solution can be found, i.e. the objective function cannot be improved, x 2 is the best solution that the algorithm has found.

6. IFIDN algorithm: Basic properties

IF IDN is designed to find approximate solu- tions of convex integer programming polynomial

problems. As has been mentioned, it is a general- ization of the IF ID algorithm, designed to solve linear integer programming problems [10]. The number of elementary operations necessary to find an approximate solution with the help of IF ID is a polynomial function of the dimension of the problem to be solved. Because of the fact that linear integer programming problems are NP- problems, no guarantee exists a priori for finding even a feasible solution for an arbitrary problem (otherwise P = NP). The same applies to the IF IDN algorithm. The number of simple opera- tions for finding an approximate solution can be hardly evaluated as a function of the dimension of the problem to be solved. The number of computations of the values of nonlinear (poly- nomial) functions can be more easily estimated in relation to the dimension of the problem that is to be solved. In the same way the conditions for finding a feasible solution of a given nonlinear problem can be evaluated as well.

Lemma. The determination of an integer point x k + ~ from a feasible point x ~ when solving prob- lem (7)-(12) requires not more than Mq = O( ½nZq) computations of nonlinear function vahtes, where q is the number of problem constraints.

Proof. The determination of an integer point x k+ 1, starting from the integer point x k, may be realized in the worst case, when all the integer directions with one or two nonzero coordinates are feasible for the linear system (23)-(27), but only the last of these satisfies conditions (28)-(29).

In order to form the linear system (23)-(27),

MI = 3(q + 1)

computations of nonlinear functions values are necessary.

The number of all the integer directions for 1 2 the linear system (23)-(27) is equal to 5(n - n )

[10]. To check conditions (28)-(29), q + 2 compu- tations of nonlinear functions values are neces- sary. Hence to define a feasible integer direction,

M 2 = ½(n 2 - n ) ( q + 2)

computations of nonlinear functions are neces- sary in the worst case.

To define the step length hk,

M 3 = kq

Page 7: An approximate algorithm for nonlinear integer programming

176 V. Vassilec, K. Genoca / An approximate algorithm for nonlinear IP

computations of nonlinear functions are exe- cuted, where k is a constant•

The total number of nonlinear function com- putations is equal to

1 z (k 1 + 3 ) q - n + 3 . ~n q + n 2 + - ~n

To find a feasible solution of problem (1)-(4), not more than m problems of type (7)-(12) can be solved. The first problem of type (7)-(12) may be without any constraints (9). Let bi denote the

• . l k

infeasibility of the leading constraint, with index irk , that has been obtained in the formation of one problem, and let B be the maximum of these values.

Theorem. I f at each integer point x k, k = 0, 1 , . . . , there exists a feasible integer direction de- fined in compliance with (23)-(29), then starting from an initial point x °, a feasible solution of

problem (1)-(4) is found for not more than M o = B. O(¼n2m 2) nonlinear function computations.

Proof. It follows from (19) and (28) that the infeasibility of the leading constraint with index il~ at point x k+l is smaller than its infeasibility at point x ~.

According to the Lemma, in order to define the integer point x ~+~ from the integer point x k, not more than Mq = O(½nZq) nonlinear function computations are necessary. In order to deter- mine a feasible solution of a problem of type (7)-(12), not more than bi~ k integer points are considered.

Since to define a feasible solution of problem (1)-(4), m problems of type (7)-(12) have to be solved in the worst case, in this case not more than mB integer points will be regarded. There- fore to find a feasible solution of problem (1)-(4),

m not more t h a n B ~ q = l m q nonlinear function computations are considered.

Table 1

Resul ts of the test examples , solutions with a lgor i thm I F I D N

No. of m n Op t ima l C o m p u t e d Co mp u ta t i o n

p rob l e m obj. va lue obj. va lue t ime (sec)

1 2 2 12.470 12.470 10.430

2 6 5 6.949 8.475 4.830

3 2 2 16 16 0.440

4 2 2 0.720 0.720 0.160

5 2 2 1.770 1.770 0.550

6 2 3 4 4 0.820

7 - 10 - 43.134 - 43.134 2.630

8 2 2 - 310.8 - 310.8 0.660

9 3 3 - 431.0 - 431.0 2.030

10 4 4 - 481.2 - 481.2 4.340

11 5 5 - 585.2 - 582.2 12.520

12 6 5 - 30512.45 - 17453.32 3.520

13 1 3 1.0 1.0 0.550

14 - 2 0.703 0.703 0.160

15 7 7 - 1100.4 - 1100.4 46.080

16 6 6 - 778.4 - 778.4 15.710

17 8 8 - 1098.4 - 1088.8 102.550

18 5 4 6.058 11.439 30.040

19 9 9 - 1125.2 - 1062.0 161.750

20 10 10 - 1033.2 - 1027.2 248.320

21 3 5 4.0 4.0 0.390

22 3 10 3.0 3.0 0.940

23 3 20 5.0 5.0 2.740

24 7 5 23.0 23.0 0.880

25 6 10 8.0 12.0 1.540

26 6 10 10.0 10.0 3.190

27 6 10 12.0 16.0 2.850

Page 8: An approximate algorithm for nonlinear integer programming

v. Vassilev, K. Genot~a / An approximate algorithm for nonlinear IP 177

Due to the fact that q is assigned strictly increasing values from 1 to m,

m

E q = ½ m ( m + l ) = ~ + 2m.1 q=l

After simple substitutions and transformations, the value of M 0 is obtained.

Let Z 0 denote the optimal value estimate of objective function (1), and Zo(X r) the value of the objective function for the first feasible integer solution found. The improvement of the objective function is done, searching for a feasible solution of a problem of type (13)-(17). The following consequence is derived from the Theorem:

Consequence. If at each integer point x k, k = r, r + 1 . . . . . there exists a feasible integer direction, then starting from x r, an integer point x t may be found for which zo(x t) > Zo, for not more than Z~ - zo(x r) O(½n2m) nonlinear functions compu- tations.

As is obvious from the Theorem, finding a feasible solution of an arbitrary problem (1)-(4) may be accomplished for not more than B . O ( J n 2 m 2) nonlinear function computations. From a theoretical point of view, the conditions for feasible solution determination are quite hard. This does not hold for each approximate algo- rithm, anyway. It should be noted that if the algorithm terminates its operations and no feasi- ble solution is found, this does not mean that problem (1)-(4) has no solution. The algorithm described in our paper is a basis algorithm. Addi- tional procedures for increasing the probability of finding feasible (approximate) solutions may be included. One of them is the inclusion of a proce- dure for different initial point selection. Another possibility is to apply a procedure that alters the components of the integer point last considered at which the process of a feasible integer direc- tion search is locked, whereafter the integer point obtained is considered as a new initial point. Protection against probable recycling must be taken into consideration in this case.

7. Experimental investigation of the algorithm

The experimental investigation of IFIDN algo- rithm has been done on the basis of its program

realization, written in F O R T R A N 77 language. The investigation has been accomplished on an IBM P C / A T personal computer (16 MHz fre- quency). The test problems used have been sepa- rated into two groups. In the first group (20 examples), the variables accept integer values within certain ranges. These are problems de- signed and used to test a branch-and-bound type [2,3]. These test problems, together with the exact solutions obtained, have been kindly disposed to us by the authors of this algorithm. The second group (7 examples) consists of test problems in which the variables accept binary values. These problems together with the results obtained are described in [8]. The objective function is mini- mized in all the test problems, and the con- straints are of the inquality type. The objective functions and the constraints are nonlinear func- tions of different nonlinearity degree.

The test results are shown in Table 1. The first, the second and the third column of the table give the example numbers and their dimensions. The fourth column shows the values of the objec- tive functions for the separate problems, obtained in compliance with [3] and [8], that we consider as exact solutions. The last two columns indicate the values of the objective functions, achieved with the help of the IFIDN algorithm and the pure time for their solution (not including input-out- put operations).

8. Conclusion

The theoretical and experimental investiga- tions of the IFIDN algorithm discussed in the paper show that it is a satisfactory and appropri- ate tool for obtaining approximate integer solu- tions at the present state of nonlinear integer programming development. For this reason its program realization is intended to be included in an NP-16 commercial software product, designed to solve nonlinear problems of mathematical pro- gramming [11].

References

[1] Britton, J.K., "Integer solution of systems of quadratic equations", Mathematical Proceedings of the Cambridge Philosophical Society 86 (1979) 385-389.

[2] Gupta, O.K., and A. Ravindran, "Nonlinear integer pro-

Page 9: An approximate algorithm for nonlinear integer programming

178 V. Vassilev, K. Genova / An approximate algorithm for nonlinear IP

gramming and discrete optimization", Transactions of the ASME 105 (1983) 160-164.

[3] Gupta, O.K., and Ravindran, A., "Branch and bound experiments in convex nonlinear integer programming", Management Science 31 (1985) 1533-1547.

[4] Hachian, L.G., "Convexity and algorithmic complexity of polinomial programming problems solving", Izvestiya Academy of Sciences USSR. Technical Cybernetics 6 (1982) 45-56 (in Russian).

[5] Jeroslaw, R.G., "There cannot be any algorithm for integer programming with quadratic constraints", Opera- tions Research 21 (1973) 221-224.

[6] Nemhauser, G.L., and Wolsey, L.A., Integer and Combi- natorial Optimization, Wiley, New York, 1988.

[7] Papadimitriou, C.H., Combinatorial Optimization: Algo- rithms and Complexity, Prentice-Hall, Englewood Cliffs, NY, 1982.

[8] Taha, H.A., "A Balasian-based algorithm for zero-one

polynomial programming", Management Science 18 (1972) 328-343.

[9] Tarassov, S.P., and Hachian, L.G., "Solution bounds and algorithmic complexity of convex Diofant's inequalities systems", RAS USSR 255 (1980) 296-300 (in Russian).

[10] Vassilev, V.S., and Genova, K.B., "An algorithm of inte- ger feasible directions for linear integer programming", European Journal of Operational Research 52 (1991) 202- 214.

[11] Vassilev, V., Deyanov, A., Djambov, V., and Kitchovitch, M., "Software tools for nonlinear programming", in: V. Utkin and U. Jaaksoo (eds.), Preprints "Automatic Con- trol in the Service of Mankind" 6, l l th IFAC World Congress, Tallin, 1990, 153-157.

[12] Zanakis, S.H., Evans, J.R., and Vazacopoulos, A.A., "Heuristic methods and applications: A categorized sur- vey", European Journal of Operational Research 43 (1989) 88-110.