Abstract
Optimization problems with second-order cone constraints (SOCs) can be solved efficiently by interior point methods. In order for some of these methods to get started or to converge faster, it is important to have an initial feasible point or near-feasible point. In this paper, we study and apply Chinneck's Original constraint consensus method and DBmax constraint consensus method to find near-feasible points for systems of SOCs. We also develop and implement a new backtracking-like line search technique on these methods that attempts to increase the length of the consensus vector, at each iteration, with the goal of finding interior feasible points. Our numerical results indicate that the new methods are effective in finding interior feasible points for SOCs.
1. Introduction
We consider a system of second-order cone inequalities as follows: where is an matrix, is a vector in , is a vector in , and is a scalar. The norm is the standard Euclidean norm. We assume the interior of the feasible region is nonempty.
Second-order cones (SOCs) are important to study because there exist many optimization problems where the constraints can be written in this form. For instance, SOCs can be used to easily represent problems dealing with norms, hyperbolic constraints, and robust linear programming. There are also a huge number of real world applications in areas such as antenna array weight design, grasping force optimization, and portfolio optimization (see [1] for more information on these and other applications). Furthermore, there exist efficient interior point methods for solving optimization problems with SOC constraints, such as the primal-dual interior-point method. Because of these applications and the success of interior point methods when applied to SOCs, there exists a need to be able to efficiently find a near-feasible or feasible point for a system of SOCs [1–4]. One approach to feasibility is given in [5].
In this paper, we will describe two of Chinneck's constraint consensus algorithms and apply them to SOCs to find near-feasible points. These are the Original constraint consensus method and DBmax constraint consensus method. One could of course add a small value to the final consensus vector of these methods to make it enter the interior of the feasible region [6]. However, this would not work if the final consensus vector is far away from the boundary. We propose a different approach, one which increases the step size of the consensus vector at each iteration using a backtracking technique. The goal is to find interior feasible points and to reduce the number of iterations and amount of time. The technique works by extending the consensus vector by a given value and then backtracking until it is as close as possible to the feasible region at a point where the number of satisfied constraints does not decrease. Finally, we investigate the effectiveness of the modification on applied to Original and DBmax methods by testing them upon randomly generated problems. The results show that the backtracking technique is effective at finding interior feasible points. It also greatly reduces the number of necessary iterations and time of the methods.
We also study how our work for SOCs apply to the special case of convex quadratic constraints (CQCs). More information on the importance of CQCs in the field of optimization can be found in [7, 8]. Our results for CQCs show that backtracking also significantly reduces the number of necessary iterations and time of the Original method. It also was able to find interior feasible points on many of the test problems. However, backtracking does not work well with the DBmax method in the case of CQCs. We note that in both constraint types (SOCS or CQCs), DBmax method outperforms the Original method, as expected.
2. The Constraint Consensus Methods Applied to Second-Order Cones
In this section, we study and apply Chinneck's Original constraint consensus and DBmax constraint consensus methods to SOCs in order to find near-feasible points of the system (1.1).
The first constraint consensus method, hereby, called Original was developed by Chinneck in [3] (see Algorithm 1). The method starts from an infeasible point . The method associates each constraint with a feasibility vector . In the case of our SOCs, . The feasibility vector is defined by , where is the constraint violation at and is the gradient of at point . We assume that exists. Note that if is linear, extends from to its orthogonal projection on the constraint . The length of the feasibility vector is called the feasibility distance. We define to be near feasible with respect to if , where is a preassigned feasibility tolerance. We say that is feasible with respect to if and is an interior feasible point if .
|
The feasibility vectors are then combined to create a single consensus vector which reflects the movements suggested by all the feasibility vectors. The consensus vector, , is created by averaging the nonzero components of the feasibility vectors. Each component of is given by (the average of the components of the violated feasibility vectors) with being the sum of the components of the feasibility vectors for each constraint that is violated at the point , and being the number of constraints that are violated (not near feasible) at point . The consensus vector is then added to to get a new iterate , and the algorithm is repeated until the number of violated constraints (NINF) at the current iterate is zero. The algorithm will also stop looping if the consensus vector becomes too short and not enough progress towards the feasible region is being made quickly enough—if the movement tolerance is reached.
Ibrahim et al. gave several modifications of the Original method in [9]. While the Original method treats all eligible feasibility vectors equally, the variations they develop place emphasis on feasibility vectors that have a stronger influence on the consensus vector. They generate two different types of improved constraint consensus algorithms. They generally found a direction-based algorithm, called DBmax, to be the most successful among all the variations, see Algorithm 2.
|
DBmax looks at the component of every valid feasibility vector and takes the maximum value for the sign with the most votes, which then becomes the entry of the consensus vector. If there are equal number of positive and negative components, becomes the average of the most positive and most negative component of the valid feasibility vectors. Let be the value of the most positive component of the feasibility vectors, be the value of the most negative component of the feasibility vectors, be the number of violated constraints that vote for a positive movement for the variable , and be the number of violated constraints that vote for a negative movement for the variable .
For a more specific example, we consider a system of 3 SOCs in , pictured in Figure 1. We will refer to this system when demonstrating concepts throughout this paper.
Example 2.1. A system of second-order cones (SOCs) with variables:
(1) ,
(2) ,
(3) ,
where
We define the function
Note that gives the boundary of the cone, is nonnegative inside the feasible region of the cone and negative outside of the cone. We can see in Figure 2, an example of the contours of for Cone (1) of Example 2.1.
(a)
(b)
The following theorem is well known. An elementary proof can be given using the triangle inequality as shown. It will be used to discuss the convergence of the Original and DBmax methods.
Theorem 2.2. is concave over .
Proof. For convenience, we will consider two separate functions, and . The sum of two concave functions is also concave, so it suffices to show that and are both concave. is linear, so it is concave. In order to show is concave in , it suffices to prove that for and .
By the triangle inequality, we have that
This means that , so is concave. The sum of two concave functions is also concave, so is concave. Therefore is also concave.
Projection algorithms such as the Original and DBmax constraint consensus methods have been proven to converge, when the functions are concave [3, 10, 11]. So, Theorem 2.2 guarantees convergence in the case of SOCs. Theorem 2.2 shows that the feasible region of our system (1.1) is convex.
The main task in adapting the consensus methods to SOCs is computing the gradient of . It is given by
When calculating the gradient, there exist two potential problems. First of all, there are times when the gradient may fail to exist. When the gradient is undefined. For example, in our first cone, the solution to is . As shown in Figure 3, this point happens to be within the feasible region of our cone. This will not always be the case, but the probability of picking a solution to within our algorithm is very slim. Another potential problem is when the gradient is zero, the feasibility vector will be undefined. If or undefined at an iteration, the algorithm fails and one should pick a different starting point. For cone (1) our example there does not exist a point where the gradient is zero, as shown below The only possible solution to this system happens to be and , which is where the gradient is undefined. This means that there is no solution to for this particular example.
We know from Theorem 2.2 that is concave. A nice result is that if is strictly concave, then the only potential place for the gradient to be zero occurs inside of the feasible region, as shown in Theorem 2.3.
Theorem 2.3. Suppose is strictly concave. If , then is inside of the feasible region of .
Proof. If the gradient is zero, must be at a critical point. Since is strictly concave, the only potential critical point will be the maximum of . Since outside the feasible region and inside the feasible region, it follows that the maximum of must also be nonnegative. Therefore the gradient can only be zero inside of the feasible region.
As a consequence of this result, for strictly concave constraints, the gradient will only be zero inside of the feasible region, and so the feasibility vector exists at all iterates of our algorithms.
Let , where is the feasibility vector at . Figure 4 is an example of . The graph of is a slice of the graph of . It follows from Theorem 2.2 that is concave in over .
The following results show that in each iteration of the algorithm, we move closer to the boundary of the feasible region.
Theorem 2.4. Suppose the line intersects the boundary of at . Then is nondecreasing over .
Proof. is negative over and is zero at . Since is concave over , then is increasing over .
For concave , approximations of the feasibility vector will most often fall short of reaching the boundary of . As such the consensus vector will also fall short of the boundary. It may be desirable to increase the length of the consensus vector as much as possible towards the boundary. From Figure 5, we can see that for all points that lie outside of the feasible region of the cone, the direction of the gradient points is the direction of the boundary. However, this is not the case for all SOCs. As seen in Figure 6, some iterates may not have a gradient that points directly at the feasible region. Hence, there is a limit to how much to increase the length of the consensus vector in general. This point is noted when we discuss the backtracking technique later.
3. The Case of Convex Quadratic Constraints
In this section, we study how the discussions in the previous section apply to the special case of convex quadratic constraints (CQCs). This study will be limited to results that are different and relevant to CQCs.
We consider a system of CQCs: where , is an matrix, is a vector in , is a vector in , and is a scalar.
For ease of presentation, consider the single CQC It is nice to note that a CQC is also SOC. To see this, note that where For simplicity and without a loss of generalization, we assume that is positive definite. So, exists and is invertible. Then, the CQC (3.2) is equivalent to This is equivalent to the SOC The above result implies that all our results on concavity and convergence on SOCs also extend to the CQC system (3.1). It suffices to compute the gradient and Hessian of . They are given by The feasibility vector does not exist when the gradient is zero. Note that the gradient is given by the solution to the linear system To use as an illustration, consider the following example.
Example 3.1. A convex quadratic constraint (CQC) with variables.
, where
For Example 3.1, the linear system (3.8) is
with the solution and , which is in the feasible region. See Figure 7.
Since the Hessian , is strictly convex if is positive definite. So, similar to Theorem 2.3, if is positive definite, then the gradient can only be zero at a point inside the feasible region. This means, in this case, the feasibility vector exists at all iterates of the consensus algorithms.
4. New Variation of the Constraint Consensus Methods
In this section, we propose a modification to the Original and DBmax constraint consensus methods. It extends the length of the consensus vector at each iteration of the methods with the goal of finding a point in the interior of the feasible region of our system (1.1).
The Backtracking Line Search Technique (Algorithm 3) is a step in the constraint consensus methods (Algorithms 1 and 2) that attempts to extend the length the consensus vector to a closer near-feasible point. It goes to a point where the number of satisfied constraints does not decrease. The backtracking technique seeks to provide rapid convergence by inexpensively testing to see if we can increase the size of the consensus vector. Starting by computing the consensus vector in the usual way (either using the Original method or DBmax), it tests to see if it can successfully increase the size of the consensus vector, in the hope of getting closer to the feasible region in less iterations and time. The technique has the added benefit that it is possible for the final point to be actually in the interior instead of being a near-feasible point.
The Backtracking Line Search Technique uses the concept of a binary word.
Definition 4.1. Define to be the binary word for the set of constraints (1.1) or (3.1), given by
If , then is a feasible point. We can easily check the feasibility of by taking the sum of the components of the binary word. When the sum is 0, we know that is feasible and we can allow the algorithm to exit. We can define an equivalence relation on , where is related to if the binary word of is the same as the binary word of . The equivalence classes form a partition of .
We start by computing the consensus vector . Then we scale the consensus vector by an initial scalar factor. We add this consensus vector to . Using this new point, we count the number of constraints that are violated with the binary word. We consider the new consensus vector to be successful if the resulting point violates the same number or fewer constraints than the previous point did. If this is not the case, the algorithm backtracks and tries a smaller increase in the consensus vector. If the point still has not found an improvement in the number of satisfied constraints after backtracking three times, then it returns to the starting consensus vector. In our tests, we scale the consensus vector by 2, 1.5, 1.25, and if none of those are satisfactory then we return to a step size of 1. Algorithm 3 could easily be varied to use other step sizes, based on the type of constraint or problem.
In Figure 8, we can see a comparison of the Original method and Original method with backtracking applied to Example 2.1. Given the same initial starting point of (−8,6), the Original method with backtracking reached feasibility in fewer iterations and less time. Furthermore, the final point obtained by using the Original method with backtracking was actually feasible for all three constraints, as opposed to being near feasible. The final point obtained by the Original method was only feasible for the second constraint, and within a feasibility distance tolerance 0.01 for the other two constraints.
(a)
(b)
5. Numerical Experiments
In this section, we use numerical experiments to test the Original method and DBmax method with and without the backtracking line search technique on random test problems.
For each SOC test problem, we first generate integer values , , and uniformly in the intervals , , and , respectively. Then, a random point is chosen with the values of each entry being in uniform in . After this, SOCs are generated using and , where each entry of , , , and is uniform in the interval . We check to ensure that all the SOCs are satisfied at the random point. Table 1 lists the SOC test problems. The CQC test problems are generated like the SOC test problems. However, the CQCs are generated so that each is satisfied at the origin and the entries of are uniform in . The CQC test problems are given in Table 1.
For each test problem and method, we chose a random infeasible point as our starting point with entries uniform in . We set our feasibility distance tolerance to be and our movement tolerance to be . We chose our maximum number of iterations to be . All codes were written in MATLAB© 7.9.0 and ran on Dell OptiPlex GX280.
5.1. Second-Order Cones
Tables 3 and 4 give the results for the SOC test problems. If the number (Iter) of iterations is 500, it means the method did not converge. The last column shows whether or not the method converged to an interior feasible point. Table 2 gives the success rate over all the 25 problems in finding an interior feasible point and average time per problem (where converged). Both the Original method and DBmax method failed in Problem 6 and Problem 13.
As expected, on average the DBmax method took fewer iterations and less time than the Original method. Also, note that DBmax found an interior feasible point in Problem 24. It is interesting to note that the backtracking technique showed general improvement in iterations and processing time in the methods over all the test problems, where there was convergence.
On average the Original method with backtracking took less time than the Original method. Similarly, the DBmax method with backtracking took less time than the DBmax method. The Original method with backtracking has a strict feasibility success rate of 64% while the DBmax with backtracking has a success of 84%.
5.2. Convex Quadratic Constraints
Tables 6 and 7 give the results for the CQC test problems. Table 5 gives the success rate over all the 25 problems in finding an interior feasible point and average time per problem (where converged). Again, as expected, on average the DBmax method took less number of iterations and less time than the Original method.
As can be seen from the tables, applying the backtracking technique to the Original method dramatically reduces the number of iterations and time. In addition, the Original method with backtracking has a strict feasibility success rate of 44%. With DBmax, the backtracking technique did not work well. There is significant increase in both iterations and time to reach feasibility and 11 out of the 25 problems diverged. This is most likely due to the fact that the consensus vector in DBmax is already long. This means that an extension of the consensus vector might move it too far and bring it right over the feasible region. We suspect that this is due to the nature of the CQC constraints, which tend to form bounded feasible regions.
6. Conclusion
We study the Chinneck's Original constraint consensus and DBmax methods as they apply to second-order cones (SOCs) and the special case of convex quadratic constraints (CQCs) to find near-feasible points. We also present a new backtracking line search technique that increases the size of the consensus vector with the goal of finding interior feasible points.
Given a set of SOCs, we adapt the Original and DBmax constraint consensus methods to find near-feasible points. These methods alone rarely can find an interior feasible point with SOCs. We develop a backtracking line search technique to find interior feasible points. We test the methods both with and without the backtracking technique over a variety of test problems and compare them with the time and number of iterations it takes to converge.
Before applying backtracking, the method known to reach feasibility in the least amount of time, with the fewest number of iterations was consistently DBmax. The Original with backtracking method is still not as fast as DBmax. However, the Original with backtracking reaches feasibility in fewer number of iterations than DBmax and is able to find interior feasible points in most of the test problems. The Original with backtracking method works well with SOCs and with CQCs. But, while DBmax with backtracking method works very well with SOCs, it does not work well with CQCs. It might be that with CQCs, the consensus vector in the backtracking step is increased too far.
Overall and considering both SOCs and CQCs, we find the backtracking line search to be most successful in reducing time and iterations needed to reach the feasible region when applied to the Original consensus method. As mentioned before, DBmax with backtracking method is not successful with CQCs. In the future it would be interesting to try more variations of the backtracking line search technique. We could compare the effectiveness of different initial step sizes and reductions in the backtracking technique, especially with DBmax when applied to CQCs. It would also be nice to investigate the effect of the backtracking technique on the other variants of the Original method given in [9].
Acknowledgment
The work of A. Weigandt and K. Tuthill was supported by the Department of Mathematics and Statistics at Northern Arizona University under the REU program of the National Science Foundation in Summer 2010.