Abstract
A simplicial branch and bound duality-bounds algorithm is presented to globally solving the linear multiplicative programming (LMP). We firstly convert the problem (LMP) into an equivalent programming one by introducing auxiliary variables. During the branch and bound search, the required lower bounds are computed by solving ordinary linear programming problems derived by using a Lagrangian duality theory. The proposed algorithm proves that it is convergent to a global minimum through the solutions to a series of linear programming problems. Some examples are given to illustrate the feasibility of the present algorithm.
1. Introduction
1.1. Problem and Applications
In this paper, linear multiplicative programming problems are given by: where , , , , , is an matrix, is a nonempty, compact convex set. We assume also that for each , . Generally, the problem (LMP) is a special case of non-convex programming problem, known to be an NP-hard even at [1].
Problem (LMP) has many important applications. Since it subsumes quadratic programming, bilinear programming and linear zero-one programming as special cases, the applications appear quite numerous. Readers may refer to Benson [2] for the following analysis. Now the quadratic programming problem is given as follows: where is an symmetric matrix of rank and . From Tuy [3], there exist linearly independent sets of -dimensional vectors, and , such that, for all , Thus, problem (LMP) encompasses the general quadratic programming problem as a special case, and the applications of problem (LMP) include all of the applications of general quadratic programming. Among the latter, for example, quadratic assignment problems [4], problems in economies of scale [5], the constrained linear regression problem [6], VLSI chip design problems [7], the linear complementarity problem [5], and portfolio analysis problems [6].
The bilinear programming problem can be converted into the LMP and it may be written by where , , , , is an matrix of rank , and are matrix and matrix, respectively. From Konno and Yajima [8], by using a constructive procedure, it can be written in the form where and . The latter is a special case of the LMP with , , and , , and . Therefore, among the applications problem () are all of the applications of bilinear programming, including, for example, location-allocation problems [9], constrained bimatrix games [10], the three-dimensional assignment problem [11], certain linear max-min problems [12], and many problems in engineering design, economic management and operations research.
A linear zero-one programming problem may be written as where , , is matrix. From Raghavachari [13], for sufficiently large, is an optimal solution to problem (Q) if and only if is an optimal solution to the problem Since problem (QC) is a special case of the LMP, it follows that all of the numerous applications of linear zero-one programming are embodied among the applications of the LMP. For an overview of some of these applications, see Nemhauser and Wolsey [14].
1.2. Purpose and Content
The LMP is a global optimization problem. In the past 20 years, many algorithms have been proposed globally to a multiplicative programming one. The methods can be classified as parameterization based methods [2, 15–17], outer-approximation and branch-and-bound methods [18–25], vertex enumeration methods [26, 27], a method based on image space analysis [28], a primal and dual simplex method [29], an outcome-space cutting plane method [30], heuristic methods [31, 32], and decomposition method [33].
In this paper, a simplicial branch and bound duality-bounds algorithm is presented to the problem (LMP) by solving a sequence of linear programming one over partitioned subsets. The algorithm implements a simplicial branch and bound search, finding a global optimal solution to the problem, equivalent to the problem (LMP). Branching takes place in a space of only dimension in the algorithm, where is the number of terms in the objective function of problem (LMP). During the search, the required lower bounds are computed by solving ordinary linear programming problems. When the algorithm is infinite, any accumulation point of this sequence of feasible solutions is guaranteed to globally solve the problem. The proposed branch and bound algorithm is summarized as follows. Firstly, the branch and bound search takes place in a space of only dimension , where is the number of terms in the objective function of problem (LMP), rather than in the decision space . Secondly, the subproblems that must be solved during the search are all linear programming problems that can be solved very efficiently, for example, by a simplex method. The algorithms in this article are motivated by the seminal works of [34], the sum of linear ratios problem, and Horst and Tuy [35] by using branch and bound for global optimization.
The organization and content of this article can be summarized as follows. In Section 2, some preliminary results and operations are presented to implement the simplicial branch and bound duality-bounds algorithm. The simplicial branch and bound duality-bounds algorithm is given in Section 3. In Section 4, the convergence of the algorithm is established. In Section 5 some examples are solved to demonstrate that the proposed algorithm is effective. Some concluding remarks are given in Section 6.
2. Preliminaries
In this section, we firstly show how to convert the LMP into an equivalent nonconvex programming (LMP()) by introducing a -dimension vector for finding a simplex. Then, for each -dimensional simplex created by the branching process, the lower bound LB() can be found by solving an ordinary linear program by using the Lagrangian weak duality theorem of nonlinear programming.
2.1. Initial Simplex
To globally solve the LMP, the branch and bound algorithm to be developed will be used for searching values of , at optimality. For each , let , and . By introducing additional variable vector , we construct a set as follows: where .
In order to construct simplex , denoting . Let be the convex hull of , where , and, for each , Notice that either or , and for any , where is the th component of . We can easily show the following theorem (see Benson [34]).
Theorem 1. is either a single point or is a -dimensional simplex. In either case, .
Remark 2. From Theorem 1, is either a single point or is a -dimensional simplex. Notice that if is a single one, that is, is a single one, then is a single point set and is a global optimal solution to the LMP, where is any optimal solution to the linear program obtained by setting equal to in problem (LMP()). Therefore, we will assume in the remainder of this article that is a -dimensional simplex.
2.2. Equivalent Problem
For any simplex , define the problem
In order to solve the LMP, the branch and bound algorithm is used to solves problem (LMP()) instead. The validity of solving problem (LMP()), in order to solve the LMP, follows from the next result.
Theorem 3. If is a global optimal solution for problem (LMP()), then is a global optimal solution for problem (LMP). If is a global optimal solution for problem (LMP), then is a global optimal solution for problem (LMP()), where . The global optimal values and of problems (LMP) and (LMP()), respectively, are equal.
Proof. By using the fact that , the proof of this theorem follows easily from the defintions of problem (LMP()).
2.3. Duality Bound
For each -dimensional simplex created by the branching process, the algorithm computes a lower bound LB() for the optimal value of problem (LMP()). The next theorem shows that, by using the Lagrangian weak duality theorem of nonlinear programming, the lower bound LB() can be found by solving an ordinary linear programming.
Theorem 4. Let be a -dimensional simplex with vertices , and let . Then LB, where LB() is the optimal value of the linear programming problem where and ,
Proof. By the definition of () and the weak duality theorem of Lagrangian duality, , where
Since
it follows that,
Since is a compact polyhedron with extreme points , for each and , holds for all if and only if it holds for all . So, for all , we can get , that is,
Notice that for all , the left-hand-side of (15) is the same linear function of and , then (15) is equivalent to , where and .
Therefore,
That is,
For any , is a linear function. Because simplex is a compact polyhedron with extreme points , this implies for any , holds if and only if
The proof is complete.
Proposition 5. Let be a -dimensional subsimplices of formed by the branching process such that . Then(i).(ii)Let be a -dimensional simplex with vertices . Then .
Proof. The proof is similar to [34, Proposition 3], it is omitted here.
Remark 6. From part (ii) of Proposition 5, for any -dimensional simplex created by the algorithm during the branch and bound search, the duality bounds-based lower bound LB() for the optimal value of problem (LMP()) is either finite or equal to +. When LB, problem (LMP()) is infeasible and, as we shall see, will be eliminated from further consideration by the deletion by bounding process of the algorithm. The monotonicity property in part (i) of Proposition 5 will be used to help to show the convergence of the algorithm.
Now, we show how to determine an upper bound of the global optimal value for (LMP()). For each -dimensional simplex generated by the algorithm such that LB() is finite, the algorithm generates a feasible solution to problem (LMP). As the algorithm finds more and more feasible solutions to it an upper bound for the optimal value of it improves iteratively. These feasible solutions are found from dual optimal ones to the lower bounding problems (LP()) that are solved by the algorithm, as given in the following result.
Proposition 7. Let be a -dimensional simplex with vertices , and suppose that LB. Let be optimal dual variables corresponding to the first constraints of linear program LP(). Then is a feasible solution for problem (LMP).
Proof. The dual linear program to problem (LP(S)) is The constraints of problem (DLP(S)) imply that , .
3. Global Optimizing Algorithm
To globally solve problem (LMP()), the algorithm to be presented uses a branch and bound approach. There are three fundamental processes in the algorithm, a branching process, a lower bounding one, and an upper bounding one.
3.1. Branching Rule
The branch and bound approach is based on partitioning the -dimensional simplex into smaller subsimplices that are also of dimension , each concerned with a node of the branch and bound tree, and each node is associated with a linear subproblem on each subsimplicie. These subsimplices are obtained by the branching process, which helps the branch and bound procedure identify a location in the feasible region of problem (LMP()) that contains a global optimal solution to the problem.
During each iteration of the algorithm, the branching process creates a more refined partition of a portion in that cannot yet be excluded from consideration in the search for a global optimal solution for problem (LMP()). The initial partition consists simply of , since at the beginning of the branch and bound procedure, no portion of can as yet be excluded from consideration.
During iteration of the algorithm, , the branching process is used to help create a new partition . First, a screening procedure is used to remove any rectangle from that can, at this point of the search, be excluded from further consideration, and is temporarily set equal to the set of simplices that remain. Later in iteration , a rectangle in is identified for further examination. The branching process is then evoked to subdivide into two subsimplices . This subdivision is accomplished by a process called simplicial bisection.
Definition 8 (see [35]). Let be a -dimensional simplex with vertex set . Let be the midpoint of any of the longest edges of . Then is called a of , where the vertex set of is and the vertex set of is .
3.2. Lower Bound and Upper Bound
The second fundamental process of the algorithm is the lower bounding one. For each simplex created by the branching process, this process gives a lower bound LB() for the optimal value of the following problem LMP(), For each simplex created by the branching process, LB() is found by solving a single linear programming LP() as follows, where denote the vertices of the -dimensional simplex .
During each iteration , the lower bounding process computes a lower bound for the optimal value of problem (LMP). For each , this lower process bound is given by
The upper bounding process is the third fundamental one of the branch and bound algorithm. For each -dimensional simplex created by the branching process, this process finds an upper bound for (LMP()). Let be optimal dual variables corresponding to the first constraints of linear program LP(S), and set . Then, from definition of problem (DLP()), we have that . This implies that is a feasible solution to (LMP()). Therefore, an upper bound UB() of (LMP()) is . In each iteration of the algorithm, this process finds an upper bound for . For each , let be optimal dual variables corresponding to the first constraints of linear program LP(), then this upper bound is given by where is the incumbent feasible solution to the problem.
3.3. Deleting Technique
As the branch and bound search proceeds, certain -dimensional simplices created by the algorithm are eliminated from further consideration. There are two ways occuring, either by deletion by bounding or by deletion by infeasibility.
During any iteration , , let be the smallest objective function value achieved in problem (LMP) by the feasible solutions to problem (LMP(S)) thus far generated by the algorithm. A simplex is deleted by bounding when holds. When (30) holds, searching simplex further will not improve upon the best feasible solution found thus far for problem (LMP).
As soon as each -dimensional simplex is created by simplicial bisection in the algorithm, it is subjected to the deletion by infeasibility test. Let denote the vertices of such a simplex . If for some , either or then simplex is said to pass the deletion by infeasibility test and it is eliminated by the algorithm from further consideration. If for each , both (25) and (26) fail to hold, then simplex fails the deletion by infeasibility test and it is retained for further scrutiny by the algorithm. The validity of the deletion by infeasibility test follows from the fact that if (25) or (26) holds for some , then for each , there is no such that This implies problem (LMP(S)) infeasible.
3.4. Branch and Bound Algorithm
Based on the results and algorithmic process discussed in this section, the branch and bound algorithm for globally solving the LMP can be stated as follows.
Step 1 (Initialization). (0.1) Initialize the iteration counter ; the set of all active nodes ; the upper bound .(0.2) Solve linear program (LP()) for its finite optimal value LB(). Let be optimal dual variables corresponding to the first constraints of linear program LP(). Set . Set , and go to iteration .
Main Step (at iteration )
Step 2 (Termination). If , where is some accuracy tolerance, then stop, and is a global -optimal solution for problem (LMP) and . Otherwise, set , , . Go to Step 3.
Step 3 (Branching). Let satisfy . Use simplicial bisection to divide into and . Let .
Step 4 (Infeasiblity Test). Delete from each simplex that passes the deletion by infeasiblity test. Let represent the subset of thereby obtained.
Step 5 (Fathoming). For each new sub-simplex , compute optimal value LB() of linear program (LP()). If LB(S) is finite, let be optimal dual variables corresponding to the first constraints of linear program (LP(S)).
Step 6 (Updating upper Bound). If , set , .
Step 7 (New Partition). Let .
Step 8 (Deletion). .
Step 9 (Convergence). If , then stop. is an optimal value of the LMP, and is a global -optimal solution for problem (LMP). Otherwise, set and go to Step 2.
4. Convergence of the Algorithm
In this section we give a global convergence of algorithm above. By the construction of the algorithm, when the algorithm is finite, then , so that . Since, by Proposition 5, and since , this implies that and is a global -optimal solution to the LMP. Thus, when the algorithm is finite, it globally solves the LMP as desired.
If the algorithm does not terminate after finitely many iterations, then it is easy to show that it generates at least one infinite nested subsequence of simplices, that is, where for all . In this case, the following result is a key to convergence in the algorithm.
Theorem 9. Suppose that the Branch and Bound Algorithm is infinite, and that is an infinite nested subsequence of simplices generated by the algorithm. Let denote any accumulation point of where, for each denotes any optimal dual variables corresponding to the first constraints of linear program (LP()). Then is a global optimal solution for problem (LMP).
Proof. Suppose that the algorithm is infinite, and let be chosen as in the theorem. Then, from Horst and Tuy [35], for some point .
For each simplex , denote its vertices by , denote as an optimal dual solution to linear program (LP). Set , then is compact and for each , .
By Proposition 7, for each , . Since is bounded, this implies that has at least one convergent subsequence. Let denote any such subsequence, and let . Then, since is closed, . Now, we show that is a global optimal solution for problem (LMP).
Since is bounded, then there exists an infinite subsequence of such that for each . We have , since is close. Notice that since , . Also, since for each . Set , . Then, we have
From Theorems 3–4, Proposition 5, and the algorithm, for each such that , . Therefore, for some infinite subsequence of , exists and satisfies .
Form an objective function of problem (DLP()), we obtain the equation
Taking limits over in this equation yields
where the first equation follows from , , and , the second equation holds because , the third equation follows form , and the inequality holds because .
We will now show that is a feasible solution to problem LMP(). First, notice that since is closed, , and, since and . Let , For each , from constraint of problem (DLP()), . Taking limits over in the above equation, we obtain
where the first equation follows from , and , the last equation is due to the fact that . By the choice of , since and , (31) implies that is a feasible solution for problem LMP(). Therefore, by Theorem 3,
From (30) and Theorem 3, (32) implies that the feasible solution to problem LMP() is a global optimal solution to problem LMP(). Therefore, by Theorem 3, is a global optimal solution to the LMP.
With Theorem 9, we can easily show two fundamental convergence properties of the algorithm as follows.
Corollary 10. Suppose that the Branch and Bound Algorithm is infinite. Then each accumulation point of is a global optimal solution for problem.
Proof. The proof is similar to in [34, Corollary 1], it is omitted here.
Corollary 11. Suppose that the Branch and Bound Algorithm is infinite. Then .
Proof. The proof is similar to [34, Corollary 2], it is omitted here.
5. Numerical Examples
Now we give numerical experiments for the proposed global optimization algorithm to illustrate its efficiency.
Example 12.
Prior to initiating the algorithm, we use Theorem 1 to find a simplex containing . By solving three linear programs, we determine that the vertices are given by . Also, for each , we compute the minimum and the maximum of over for use in the deletion by infeasiblity test (25) and (26). This entails solving four linear programs and get .
Initialization. By solving the following linear programming (LP()), we get LB and the dual variables ,
We set , and . Select the convergence tolerance to be equal to .
Iteration 1. Since , is split by simplicial bisection into and where the vertices of are and the vertices of are . Neither nor is deleted by the deletion by infeasibility test. By solving problem (LP()), we obtain the lower bound LB and the dual variable . Since , where , we do not update and . By solving problem (LP()), we obtain the lower bound LB and the dual variable . With problem (LP()), the dual to problem (LP()) does not lead to an update of and . We have . and neither nor is deleted by Step 8 from . At the end of Iteration 1, .
The algorithm finds a global -optimal value −16.2837 after 7 iterations at the global -optimal solution .
Example 13.
Prior to initiating the algorithm, we use Theorem 1 to find a simplex containing . By solving three linear programs, we determine that the vertices are given by . Also, for each , we compute the minimum and the maximum of over for use in the deletion by infeasiblity test (25) and (26). This entails solving four linear programs and get .
The algorithm terminates at the beginning of Iteration 29 with the global -optimal solution and -optimal value 10.6756 for problem (35).
Example 14. In this example, we solve 10 different random instances for various sizes and objective function structures. These test problems are generated by fixing . And then all elements of , and are randomly generated, whose ranges are . Since the test problems are coded in C++ and the experiments are conducted on a Pentium IV (3.06 GHZ) microcomputer, the computational results of five problems are summarized in Table 1. The following indices characterize the performance in algorithm: Iter: the average number of iterations; Time: the average execution time in seconds.
6. Conclusion
We have presented and validated a new simplicial branch and bound algorithm globally to the linear multiplicative programming. The algorithm implements a simplicial branch and bound search, finding a global optimal solution to the problem that is equivalent to the LMP. We believe that the new algorithm has advantage in several potentially practical and computational cases. Besides, numerical examples show that the proposed algorithm is feasible.
Acknowledgment
Supported by National Natural Science Foundation of China (no. 70771030, no. 70271047 and no. 11261010) and Project Science Foundation of Guangdong University of Finance (no. 2012RCYJ005).