Abstract

An auxiliary function method is proposed for finding the global minimizer of integer programming problem. Firstly, we propose a method to transform the original problem into an integer programming with box constraint, which does not change the properties of the original problem. For the transformed problem, we propose an auxiliary function to escape from the current local minimizer and to get a better one. Then, based on the proposed auxiliary function, a new algorithm to find the global minimizer of integer programming is proposed. At last, numerical results are given to demonstrate the effectiveness and efficiency of the proposed method.

1. Introduction

Consider the following integer programming problem: where is the -dimensional integer set, and the set is bounded.

Many real-life applications can be modeled as problem (), such as production planning, scheduling, and operations research problem. The objective functions of most of the problems are nonlinear and have more than one local optimal solutions over feasible region . This requires the global optimization techniques to find the best solution amongst multiple local optima.

Since integer programming problems are generally NP-hard, there are no efficient algorithms with polynomial-time complexity for solving them. Thus, many approximate algorithms have been rapidly developed in recent years, such as greedy search (see [14]), simulated annealing (see [5, 6]), genetic algorithm (see [79]), tabu search (see [10, 11]), and discrete filled function techniques (see [1217]). The discrete filled function method is one of the more recently developed global optimization methods to solve integer programming problems. Once a local minimizer has been found by a local search method, the discrete filled function method introduces an auxiliary function to escape from the current local minimizer and to get a better one.

At present, the discrete filled function methods mainly focus on the unconstrained integer programming problems, and most of the existing filled functions contain parameters which are needed to adjust. Thus, solving general integer programming problems is difficult, and solving the unconstrained integer programming problems needs much computation. In this paper, we propose an auxiliary function method to solve problem (). The proposed auxiliary function has no parameters, and the computation of the proposed method is relatively small.

The remainder of this paper is organized as follows: Section 2 gives some useful notations and definitions. In Section 3, we propose a method to transform the original problem into an integer programming with box constraint. Based on the transformed problem, an auxiliary function is proposed in Section 4, and its properties are also analyzed. An algorithm for solving problem () is proposed in Section 5 with several numerical experiments. Some concluding remarks are given in Section 6.

2. Preliminaries

In this section, some useful notations and definitions are listed firstly. By estimating the bound of , we can find a box region with . In most practical problems, can be easily estimated or is usually given.

Let be a constant which satisfies and let be a direction set, where is an -dimensional unit vector in which the component is 1, and the others are 0.

Definition 2.1. is said to be a vertex of , if and only if, for all , and , or and hold.
The set of vertices of is denoted as .

Definition 2.2 (see [18]). For all , the neighborhood of is denoted as .

Definition 2.3 (see [18]). A point is called a local minimizer (maximizer) of over if for all , holds; a point is called a global minimizer (maximizer) of over if for all , holds. In addition, if equality does not hold, is called a strictly local (global) minimizer (maximizer) of .

For finding a local minimizer of integer programming, the following local search algorithm is taken in most cases.

Local Search Algorithm (see [12])
Step 1. Choose an initial point .Step 2. If is a local minimizer of , then stop; otherwise, find another point which minimizes over .Step 3. Set , and go to Step 2.

3. Transformation of the Original Problem

The local search algorithm usually requires that the search region should be a connected one. However, the feasible region of the original problem may not be connected, so we need to transform the original problem into a simple problem with a connected search region. In order to transform the original problem, we need to define three unary functions firstly: where is the number of constraints.

Consider the following function: and the problem where is taken to satisfy (2.1). The following theorem will show that problem () does not change the local minimizers of problem ().

Theorem 3.1. If is a local minimizer of problem (), then is a local minimizer of problem (); in turn, if is a local minimizer of the problem (), then is a local minimizer of the problem (), or .

Proof. If is a local minimizer of the problem (), then for all , one has ; for and by the definition of , one has . So for all , namely, is a local minimizer of the problem ().
If is a local minimizer of the problem (), then for all , one has . If , namely, , then one has for all . So is a local minimizer of the problem ().

Theorem 3.1 shows that problem () and problem () have the same minimizers except the infeasible points. If we can find a global minimizer of problem (), then problem () is solved.

In most cases, using the local search algorithm to solve problem () will trap in a local minimizer of problem (). We hope to find a method to escape from a local minimizer and to get a better one. Section 4 will give an auxiliary function for solving this problem.

4. Auxiliary Function and Its Properties Proof

Let be the current best local minimizer of problem (), and define the following two integer sets:

To begin with, a unary function is given as follows:

Consider the following auxiliary function: and its properties are analyzed as follows.

Theorem 4.1. has no local minimizer in set .

By definition of , for all , one has , then

In order to prove that is not a local minimizer of , we only need to find a point in such that .

If there exists satisfies , then For all with , since , there exists such that , then Therefore, has no minimizer in the set .

Theorem 4.2. If there exists another local minimizer of such that , then is also a local minimizer of .

Proof. By , one has

Since is a local minimizer of , one has for all .

When , and by (4.3), one has

When , and by (4.3), one has

Namely, for all . So, is a local minimizer of .

Theorem 4.3. Any local minimizer of is in set or a vertex of . If , then is not only a local minimizer of which is better than , but also a local minimizer of over .

Proof. Let be a local minimizer of , and suppose that is not a vertex of , then there exists an integer ( is the dimension of problem ()), such that . It can be proved that .
In fact, suppose that holds.
If satisfies , then
Otherwise, satisfies , then which contradicts with the fact that is a local minimizer of , so .
If , we have . In fact, suppose that , then which contradicts with .
Suppose that is not a local minimizer of , then such that holds. By the definition of , one has , which contradicts with the fact that is a local minimizer of .
By the definition of , we know that , then is a feasible point. By Theorem 3.1, we know that is a local minimizer of . The proof is completed.

From Theorems 4.2 and 4.3, it can be seen that contains a minimizer of , and when the minimizer of satisfies , it is also a local minimizer of and better than the current local minimizer. It can also be seen that even if is an infeasible local minimizer, a feasible local minimizer of will be found by an iteration, and there will be no infeasible local minimizer in the subsequent iterations.

5. Global Optimization Algorithm Based on New Auxiliary Function

5.1. Global Optimization Algorithm

Based on the theoretical analysis in Section 4, a global optimization algorithm to solve problem () is given as follows.

Algorithm 5.1. Step 0. Take an initial point , a sufficiently large number .Step 1. Use the local search algorithm in Section 2 to at , obtain a local minimizer of , and set .Step 2. Let , where , , .Step 3. Construct the auxiliary function Let , set , and .Step 4. Use the local search algorithm in Section 2 to with the initial point and obtain a local minimizer of over . If , set . Go to Step 5.Step 5. If , go to Step 6; otherwise, ; go to Step 4.Step 6. If , go to Step 7; otherwise, find a point in with the smallest function value of and denote it as . Set , and go back to Step 3.Step 7. Output .

Remarks on the Algorithm
(1)In Step 4, if a local minimizer of is found, then is a local minimizer of the problem (). It is different from the discrete filled function method in which the local search algorithm should be employed to and repeatedly. Therefore, the proposed algorithm can reduce the computational cost.(2)From the above theorems, we can see that although may be an infeasible point, are all feasible local minimizers of over .(3)Generally, must be a sufficiently large number. In the implementation of the proposed algorithm, we first estimate an upper bound of over , then take or directly the upper bound if it is big enough.

5.2. Numerical Experiment

We apply the proposed algorithm to solve the following test problems.

Problem 1. The box has 10201 points. The global minimizer is with .

Problem 2. The box has 104060401 points. The global minimizer is with .

Problem 3. The box has 320166 points. The global minimizer is with .

Problem 4 (Colville’s function).
This box-constrained problem has feasible points. The global minimizer is with .

Problem 5 (Goldstein and Price’s function). where and .
This box constrained problem has feasible points. The global minimizer is with .

Problem 6 (Beale’s function). This box-constrained problem has feasible points. The global minimizer is with .

Problem 7 (Rosenbrock’s function).
This box-constrained problem has feasible points. The global minimizer is with .

We apply the proposed algorithm to solve the above problems, and numerical results are shown in Tables 1 to 5. In these tables, denotes the initial point; denotes the last local minimizer of the original objective function; denotes the total number evaluations of original function and auxiliary (filled) function.

Table 1 gives the results obtained by the proposed algorithm for Problems 13.

Problems 13 are with nonlinear objective function and nonlinear constraint functions. It is hard for an algorithm to solve. However, it can be seen from Table 1 that for Problems 13, the proposed algorithm can find the global optimal solutions for all these three problems using relatively small number of function evaluations.

In order to demonstrate the efficiency of the proposed algorithm, we compare the proposed algorithm with other two discrete filled function methods and ([14, 19]) for Problems 47. The results are summarized in Tables 25, where and denote the discrete filled function methods proposed in [14, 19], respectively, and denotes the proposed auxiliary function algorithm. In implementation of the algorithm, for Problems 47.

For Problem 4, it can be seen from Table 2 that all three algorithms can find global optimal solution, but the number of the function evaluations used by proposed algorithm is only about 1/3 of that used by and only about half of that used by . For Problems 5 and 6, we can see from Tables 3-4 that all three algorithms can also find global optimal solutions, but the number of function evaluations used by is more than twice of that used by , and the number of function evaluations used by is more than 1.5 times of that used by . For Problem 7, it can be seen from Table 5 that the number of function evaluations used by is also much smaller than those used by and . These results demonstrate that the proposed algorithm is effective and more efficient than the compared algorithms.

6. Concluding Remarks

In this paper, we propose an auxiliary function method for finding the global minimizer of integer programming problems. The auxiliary function can help to escape from a local minimizer and to get a better one. The minimizer of the auxiliary function also is a feasible minimizer of the original problem and better than the current best one obtained. The numerical results show that the proposed algorithm is more effective and efficient than the compared ones.

Acknowledgments

This work was supported by National Natural Science Foundation of China (no. 60873099), the Ph.D. Programs Foundation of Education Ministry of China (no. 20090203110005), National Program on Key Basic Research Project of China (973 Program) Grant no. 2010CB328102, and the Fundamental Research Funds for the Central Universities (no. k50510030014).