Constraint Consensus Methods for Finding Interior Feasible Points in Second-Order Cones

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’sOriginal constraint consensus method andDBmax 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.


Introduction
We consider a system of second-order cone inequalities as follows: where x ∈ R n , A i is an m i × n matrix, b i is a vector in R m i , c i is a vector in R n , and d i is a scalar.The norm is the standard Euclidean norm.We assume the interior of the feasible region S {x ∈ R n | c T i x d i − A i x b i ≥ 0, i 1, . . ., q} 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.

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 x 0 .The method associates each constraint f i x ≥ 0 with a feasibility vector fv i i 1, 2, . . ., q .In the case of our SOCs, f i c T i x d i − A i x b i .The feasibility vector is defined by fv i v∇f i x 0 / ∇f i x 0 2 , where v max{0, −f i x 0 } is the constraint violation at x 0 and ∇f i x 0 is the gradient of f i x ≥ 0 at point x 0 .We assume that ∇f i x exists.Note that if f i x is linear, x 0 fv i extends from x 0 to its orthogonal projection on the constraint f i x ≥ 0. The length of the feasibility vector fv i v/ ∇f i x 0 is called the feasibility distance.We define x 0 to be near feasible with respect to f i x ≥ 0 if fv i < α, where α is a preassigned feasibility tolerance.We say that x 0 is feasible with respect to f i x ≥ 0 if f i x 0 ≥ 0 and is an interior feasible point if f i x 0 > 0.
INPUTS: set of q constraints 1.1 , an initial point x, a feasibility distance tolerance α, a movement tolerance β, maximum number of iterations μ. while steps < μ do NINF 0, for all j : n j 0, s j 0 for every constraint i do if constraint i is violated then Calculate feasibility vector fv i and feasibility distance fv i if fv i > α then NINF NINF 1 for every variable x j do n j ← n j 1, s j ← s j fv ij If NINF 0 then exit successfully for every variable x j : do if n j / 0 then t j s j /n j else t j 0 if t ≤ β then exit unsuccessfully x x t, steps steps 1 Algorithm 1: Original constraint consensus algorithm.
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, t, is created by averaging the nonzero components of the feasibility vectors.Each component of t is given by t j s j /n j the average of the jth components of the violated feasibility vectors with s j being the sum of the jth components of the feasibility vectors for each constraint that is violated at the point x 0 , and n j being the number of constraints that are violated not near feasible at point x 0 .The consensus vector is then added to x 0 to get a new iterate x 1 , 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 jth component of every valid feasibility vector and takes the maximum value for the sign with the most votes, which then becomes the jth entry of the consensus vector.If there are equal number of positive and negative jth components, t j becomes the average of the most positive and most negative jth component of the valid feasibility vectors.Let s j be the value of the most positive jth component of the feasibility vectors, s − j be the value of the most negative jth component of the feasibility vectors, n j be the number of violated constraints that vote for a positive movement for the variable x j , and n − j be the number of violated constraints that vote for a negative movement for the variable x j .
INPUTS: set of q constraints 1.1 , an initial point x, a feasibility distance tolerance α, a movement tolerance β, maximum number of iterations μ. while steps < μ do NINF 0, for all j : n j 0, n − j 0, s j 0, s − j 0 for every constraint i do if constraint i is violated then Calculate feasibility vector fv i and feasibility distance fv i if fv i > α then NINF NINF 1 for every variable For a more specific example, we consider a system of 3 SOCs in R 2 , pictured in Figure 1.We will refer to this system when demonstrating concepts throughout this paper.
Example 2.1.A system of q 3 second-order cones SOCs with n 2 variables: We define the function Note that f x 0 gives the boundary of the cone, f x 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 f x for Cone 1 of Example 2.1.
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.
Proof.For convenience, we will consider two separate functions, f 1 x c T x d and f 2 x − Ax b .The sum of two concave functions is also concave, so it suffices to show that f 1 x and f 2 x are both concave.f 1 x is linear, so it is concave.In order to show

2.3
This means that f 2 tx The sum of two concave functions is also concave, so f 1 x f 2 x is concave.Therefore f x is also concave.Projection algorithms such as the Original and DBmax constraint consensus methods have been proven to converge, when the functions f i x are concave 3, 10, 11 .So, Theorem 2.2 guarantees convergence in the case of SOCs.Theorem 2.2 shows that the feasible region S of our system 1.1 is convex.
The main task in adapting the consensus methods to SOCs is computing the gradient When calculating the gradient, there exist two potential problems.First of all, there are times when the gradient may fail to exist.When Ax b 0 the gradient is undefined.For example, in our first cone, the solution to Ax b 0 is x 0.4375, −0.625 .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 Ax b 0 within our algorithm is very slim.Another potential problem is when the gradient is zero, the feasibility vector will be undefined.If ∇f x 0 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

2.5
The only possible solution to this system happens to be x 1 0.4375 and x 2 −0.625, which is where the gradient is undefined.This means that there is no solution to ∇f x 0 for this particular example.
We know from Theorem 2.2 that f x is concave.A nice result is that if f x 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 f x is strictly concave.If ∇f x 0, then x is inside of the feasible region of f x ≥ 0.
Proof.If the gradient is zero, f x must be at a critical point.Since f x is strictly concave, the only potential critical point will be the maximum of f x .Since f x < 0 outside the feasible region and f x ≥ 0 inside the feasible region, it follows that the maximum of f x 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 g γ f x k γs k , where s k is the feasibility vector at x k .Figure 4 is an example of g γ .The graph of g γ is a slice of the graph of f x .It follows from Theorem 2.2 that g γ is concave in γ over R.
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 {x
Proof.g γ is negative over 0, γ * and is zero at γ * .Since g γ is concave over R, then g γ is increasing over 0, γ * .
For concave f x , approximations of the feasibility vector will most often fall short of reaching the boundary of f x ≥ 0. 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.

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: and d i is a scalar.

Journal of Applied Mathematics
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

3.4
For simplicity and without a loss of generalization, we assume that P is positive definite.So, P 1/2 exists and is invertible.Then, the CQC 3.2 is equivalent to This is equivalent to the SOC − P 1/2 x P −1/2 q ≥ 0.

3.6
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 ∇f x and Hessian H f x of f x c T x d − Ax b T Ax b .They are given by

3.7
The feasibility vector does not exist when the gradient is zero.Note that the gradient ∇f x 0 is given by the solution to the linear system To use as an illustration, consider the following example.
Since the Hessian H f x −2A T A, f x is strictly convex if A T A is positive definite.So, similar to Theorem 2.3, if A T A 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.

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 S 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 t 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 δ x δ 1 x , . . ., δ q x to be the binary word for the set of constraints 1.1 or 3.1 , given by x is a feasible point.We can easily check the feasibility of x by taking the sum of the components of the binary word.When the sum is 0, we know that x is feasible and we can allow the algorithm to exit.We can define an equivalence relation on R n , where x 1 is related to x 2 if the binary word of x 1 is the same as the binary word of x 2 .The equivalence classes form a partition of R n .
INPUTS: set of q constraints 1.1 or 3.1 , a point x, the consensus vector t Compute the binary word b at x count 0 while count < 3 do α 1 0.  We start by computing the consensus vector t.Then we scale the consensus vector by an initial scalar factor.We add this consensus vector to x.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.

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 q, m i m, and n uniformly in the intervals 1, 50 , 1, 10 , and 2, 10 , respectively.Then, a random point is chosen with the values of each entry being in uniform in −10, 10 .After this, q SOCs are generated using m and n, where each entry of A, b, c, and d is uniform in the interval −10, 10 .We check to ensure that all the q 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 q CQCs are generated so that each is satisfied at the origin and the entries of b are uniform in −0.5, 0.5 .The CQC test problems are given in Table 1.For each test problem and method, we chose a random infeasible point x 0 as our starting point with entries uniform in −100, 100 .We set our feasibility distance tolerance to be α 0.01 and our movement tolerance to be β 0.001.We chose our maximum number of iterations to be μ 500.All codes were written in MATLAB c 7.9.0 and ran on Dell OptiPlex GX280.

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%.

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.

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 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 .

Figure 1 :
Figure 1: The feasible region S for Example 2.1.

Figure 2 :
Figure 2: The contours and graph of f x for cone 1 of Example 2.1.

Figure 3 :
Figure 3: The gradient for cone 1 of Example 2.1 is undefined at the indicated point.

10 Figure 5 :Figure 6 :
Figure 5: The gradient vector field of f x for cone 1 of Example 2.1.

Figure 7 :
Figure 7: The solution for the system 3.10 over f 1 x ≥ 0 of Example 3.1 is given by the intersection of the two lines at x −27/176, −47/176 .

Figure 8 :
Figure 8: Comparison of Original method and Original method with backtracking applied to Example 2.1.

Table 2 :
Success rates and average times on SOCs.

Table 3 :
SOCs: comparison of Original method and Original method with backtracking.

Table 4 :
SOCs: comparison of DBmax method and DBmax method with backtracking.

Table 5 :
Success rates and average times on CQCs.

Table 6 :
CQCs: comparison of the Original method and Original method with backtracking.

Table 7 :
CQCs: comparison of DBmax method and DBmax method with backtracking.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. very