Constraint Consensus Methods for Finding Strictly Feasible Points of Linear Matrix Inequalities

We give algorithms for solving the strict feasibility problem for linear matrix inequalities. These algorithms are based on John Chinneck’s constraint consensus methods, in particular, the method of his original paper and the modified DBmax constraint consensus method from his paper with Ibrahim. Our algorithms start with one of these methods as “Phase 1.” Constraint consensus methods work for any differentiable constraints, but we take advantage of the structure of linear matrix inequalities. In particular, for linear matrix inequalities, the crossing points of each constraint boundary with the consensus ray can be calculated. In this way we check for strictly feasible points in “Phase 2” of our algorithms. We present four different algorithms, depending on whether the original (basic) or DBmax constraint consensus vector is used in Phase 1 and, independently, in Phase 2. We present results of numerical experiments that compare the four algorithms. The evidence suggests that one of our algorithms is the best, although none of them are guaranteed to find a strictly feasible point after a given number of iterations. We also give results of numerical experiments indicating that our best method compares favorably to a new variant of the method of alternating projections.


Introduction
We consider the strict feasibility problem for linear matrix inequality (LMI) constraints.In particular, we seek a point  ∈ R  in the interior of the region defined by  LMI constraints of the form ⪰ 0,  ∈  := {1, 2, . . ., } , (1) where  ()  are   ×   symmetric matrices.The partial ordering  ⪰  means  −  is positive semidefinite.In semidefinite programming problems, a function is optimized over a system of LMI constraints.For more information on semidefinite programming including applications, refer to [1,2].Consider the feasible region R = { ∈ R  |  () () ⪰ 0,  ∈ } . ( We assume that R has a nonempty interior.In this paper, we are interested in finding strictly feasible points, those in the interior of R. Finding strictly feasible points is an important problem in interior point methods [3,4].Some methods need a starting point in the interior to proceed to optimality. A projective method for solving the strict feasibility problem in the case of linear matrix inequalities (LMI's) was proposed in [5].Their method is based on the Dikin ellipsoids and successive projections onto a linear subspace.The cost per iteration in this approach is high because each iteration solves a least-squares problem.A different approach based on the method of alternating projections was given in [6].The iterations in this method are also costly as they require eigenvalue-eigenvector decompositions.The approach described in [7] solves the LMI feasibility problem by computing a minimum-volume ellipsoid at each iteration.The convergence rate is slow, so this method is also expensive.In [8], several iterative methods were given for the convex feasibility problem.These techniques use an orthogonal or a subgradient projection at each iteration.
We study the original (basic) constraint consensus method and the DBmax constraint consensus method developed by Chinneck [3] and Ibrahim and Chinneck [9] for general nonlinear constraints to find near-feasible points.These methods also use gradient projection at each iteration to find a consensus vector that moves a point iteratively towards the feasible region starting from an infeasible point.The main cost in these methods is computing gradients, so they are relatively cheaper than the methods described in [5][6][7].While the goal in [3,9] is finding near-feasible points, ours is finding interior (strictly) feasible points.We apply and combine these methods to handle LMI constraints and find interior feasible points of R in two phases.Phase 1 is simply the original constraint consensus method or the DBmax constraint consensus method to find a near-feasible point.
In Phase 2, starting with the near-feasible point found in Phase 1, the algorithms use the concepts of crossing points and binary words to obtain a point in a most-satisfied interval along the ray of the consensus vector at each iteration.LMI constraints have the advantage that their crossing points are computable, whereas this is not possible for general nonlinear constraints.The goal in Phase 2 is to find an interior point of R. We give four variations of the new algorithms: Original-DBmax (OD) constraint consensus method, DBmax-DBmax (DD) constraint consensus method, Original-Original (OO) constraint consensus method, and DBmax-Original (DO) constraint consensus method.The OD constraint consensus method uses the original constraint consensus method in Phase 1 and the DBmax search directions in Phase 2. The description of the other three methods is similar.
The paper is organized as follows.Section 2 gives a review of two of the constraint consensus methods introduced in [3,9] and the computation of crossing points for LMIs.In Section 3 we apply the constraint consensus methods to a single LMI and present some theoretical results.For example, we provide necessary and sufficient conditions for the feasibility vector of a constraint to move the point to the boundary of that constraint.In Section 4 we give our four algorithms.Section 5 tests our algorithms on known benchmark problems.We also compare the four methods on a variety of randomly generated test problems.The results show that DO constraint consensus method outperforms our three other algorithms; it takes fewer total iterations and less computing time and has the most success in finding strictly feasible points.We compared DO with the method of alternating projections and found DO to outperform it on average, especially on problems with large number of LMI constraints relative to the number of variables.The concluding section has comments on how our algorithms could be improved and extended.While we focus on LMI constraints, our methods are applicable to other constraints, including nonconvex types, provided the gradients and the crossing points are computable.

Background Material
This section discusses background material that will be needed in the next section.It will include discussions on constraint consensus methods, binary words, and crossing points for nonlinear constraints.We consider the system of inequality constraints of the form   () ≥ 0,  ∈  = {1, 2, . . ., }.For each ,   is a nonlinear or linear function mapping R  to R.

The Original Constraint Consensus and DBmax Constraint
Consensus Methods.In this subsection, we describe the original constraint consensus and DBmax constraint consensus methods for general nonlinear constraints.
The original (basic) constraint consensus method was developed by Chinneck in [3] to find a near-feasible point for the given system.The method starts from an infeasible point  0 .The method associates each constraint   () ≥ 0 with a feasibility vector   , defined by where V( 0 ) = max{0, −  ( 0 )} ≥ 0 is the constraint violation at  0 and ∇  ( 0 ) is the gradient of   () at point  0 .We assume that ∇  () exists and that ∇  ( 0 ) ̸ = 0 if  0 is infeasible.If ∇( 0 ) = 0 and   ( 0 ) ≥ 0, then we define   ( 0 ) = 0 to resolve the ambiguity in (3).We will show in Section 3 that if   is linear, then  0 +   is the point on the boundary of   () ≥ 0 that is closest to  0 .The length of the feasibility vector, ‖  ( 0 )‖ = V( 0 )/‖∇  ( 0 )‖, is called the feasibility distance, and it is an estimate of the distance to the boundary.We define  0 to be near-feasible with respect to   () ≥ 0 if ‖  ( 0 )‖ < , where  is a preassigned feasibility tolerance.We say that  0 is strictly feasible with respect to   () ≥ 0 if   ( 0 ) > 0. In summary, with respect to the constraint   () ≥ 0, we say that The feasibility vectors at the initial point  0 for all the  constraints are combined to give a single consensus vector  0 .In the original constraint consensus method, this consensus vector is the average of all the feasibility vectors with length ‖  ‖ ≥ .However, the th component of the consensus vector is averaged over only the subset of feasibility constraints that actually include the th variable.The first iterate is given by  1 =  0 +  0 and the process is repeated with  +1 =   +   .The algorithm terminates if the number (NINF) of constraints that violates the nearfeasibility condition ‖  ‖ <  at   is zero.It also stops if the length of the consensus vector ‖  ‖ < , where  is a given tolerance.Note that   might be shorter than  even when  0 is far from R if two feasibility vectors point in nearly opposite directions.Of course, the algorithm will also terminate if some maximum number of iterations is reached.
In [9], Ibrahim and Chinneck gave several variations of the original constraint consensus method.The best algorithm variant for finding near-feasible points appears to be the maximum direction-based (DBmax) constraint consensus method.Their numerical experiments show that DBmax has the best success rate for finding near-feasible points.It also takes fewer iterations than most of the other methods.The DBmax constraint consensus method looks at the number of positive and negative values of each of the components of the feasibility vectors   ().For the th component, DBmax finds the number of constraints   () ≥ 0 with positive th entry in their feasibility vector   .It also looks for the number of constraints   () ≥ 0 with negative th entry in their feasibility vector   .The sign with largest number (votes) of constraints is considered the winner.
After determining the winning sign, DBmax creates the consensus vector   by choosing each th component of   to be the largest proposed movement in the winning direction.If a component has the same number of positive and negative votes then DBmax takes the average of the largest proposed movements in the positive and negative direction.If (  )  = 0 for all , then (  )  is set at 0. As in the case of the original consensus method, when finding the th component of the consensus vector in DBmax, only the subset of feasibility constraints that actually includes the th variable is considered.An example of the two methods for computing the consensus vector is as follows: In this example, constraint 4 does not depend on  1 ; that is,  (4) 1 = 0. Thus, the first component of the original   is obtained by averaging −2, 2, and −3.In the DBmax calculation, the winning sign is negative for the first component; in the second component positive is the winning sign.There is a tie in the third component, so we take the average of 2 and −5.The fourth component also has no winning sign and shows a rare example where the component of the original consensus vector is larger (in absolute value) than the same component of the DBmax consensus vector.
Usually, ‖  ‖ is larger for the DBmax method than for the original method.For this reason, the DBmax method algorithm makes rapid progress toward the feasible region and significantly reduces the number of iterations needed to reach near feasibility as compared to the original method [9].On the other hand, when the functions   () are concave, the feasible region R is convex and component-averaging gradient-projection schemes (including the original constraint consensus method) have been proved to converge [3].

Binary Words and Crossing
Points.For simplicity of presentation, we assume that the functions   (),  ∈  := {1, 2, . . ., } are concave over R  .This will insure that the feasible region is convex.
For each  ∈ , define the characteristic function   : R  → {0, 1} by Define the binary word function  : R  → {0, 1}  by For each  ∈ R  , () is a binary word.If () = (0, 0, . . ., 0), then  is a feasible point of R. Furthermore, ∑  =1   () = 1  () is the number of violated constraints at .Consider the equivalence relation defined by  ∼  if () = ().The equivalence classes form a partition of R  (or a subset of R  ). Figure 1 shows an example with  = 3 constraints.The curves   () = 0 are labeled with ().The interior of this boundary is the convex region where   () > 0. In this example there are 8 equivalence classes.In general there are at most 2  equivalence classes.
Suppose   is a point in R  , and   is a direction vector (not necessarily the consensus vector).The crossing points of the constraint   () ≥ 0 on the ray {  +   |  ≥ 0} are   +  1   and   +  2   , where  1 = min{ |   (  +   ) ≥ 0} and  2 = max{ |   (  +   ) ≥ 0} are positive.There are at most 2 crossing points since  is concave.For general concave constraints these optimization problems are difficult, but, in the case of linear matrix inequalities,  1 and  2 are solutions to | () (  +   )| = 0; hence they are generalized eigenvalues that satisfy | () Algorithms for finding the crossing points of an LMI can be found in [11,12].These algorithms depend on the sign of (  ).When (  ) < 0, the ray has 0, 1, or 2 crossing points; see Figure 2. If (  ) > 0, the ray has at most 1 crossing point.methods described in Section 2.1 to LMI constraints.We give some theoretical results and show how to compute the gradient.

The Original Constraint Consensus and DBmax Constraint Consensus Methods for Linear Matrix Inequalities
A symmetric matrix  is positive semidefinite if and only if its smallest eigenvalue,  min (), is nonnegative.Thus the LMI system (1) can be written as For simplicity of presentation, in this section we consider a single LMI constraint () : Proof.Theorem 3.5 in [13] states that  max (()) is convex over R  .Therefore  min (()) = − max (−()) is concave.
In the remainder of this section, we will assume that the hypotheses of Lemma 2 hold.Thus, the feasibility vector is Let ℎ() = ( 0 + ), for  ∈ R be the value of  min along a line in R  , and let () = ℎ(0) + ℎ  (0) be the linearization of ℎ at 0.
Proof.The restriction of a concave function on R  to a line is concave, so Lemma 1 implies that ℎ is concave.Since ℎ is concave, ℎ() ≤ ().Note that ℎ(0) = ( 0 ).By Lemma 2, ‖ ( 0 )‖ ̸ = 0.Then, by the chain rule, the slope of  is An interpretation of (1) = 0 is that the normalization of  was chosen so that  0 +  is the linear approximation of the boundary of .Typical graphs of ℎ and  are shown in Figure 3.
Remark 5.Even when () ⪰ 0 is nonlinear, it is possible that  0 +  lies on the boundary.Consider the following LMI: The eigenvalues of ).Thus,  0 +  is on the boundary of the feasible region, as shown in Figure 4. Theorem 3 says that  0 +  cannot be in the interior of the feasible region.Usually  0 +  is infeasible for nonlinear constraints.In the present example  0 +  is feasible because ℎ() is linear on [0, 1].This motivates the following theorem.
Figure 3: Typical graphs of ℎ() = ( 0 + ) and () = ( 0 ) ⋅ (1 − ), its linearization at 0. In the left case, the ray { 0 +  ∈ R  |  > 0} intersects with the boundary of the feasible region at  0 + 1.5, since ℎ(1.5)= 0.In the second case, this ray does not intersect with the feasible region, since ℎ is never 0. To apply the constraint consensus methods to linear matrix inequalities, we need to be able to compute the gradient () = ∇  ().This is given in the following results.We assume that the matrices   are each of dimension  × .

New Constraint Consensus Algorithms
In this section, we modify and combine the original (basic) and DBmax constraint consensus methods described in [3,9] to find strictly feasible points for our system of LMI constraints (1).
We note that strictly feasible points satisfy  () ( 0 ) ≻ 0 (i.e.,  () ( 0 ) is positive definite) for all  ∈ , and lie in the interior of the feasible region R. We give four variations of the new algorithms: Original-DBmax (OD) constraint consensus method, DBmax-DBmax (DD) constraint consensus method, Original-Original (OO) constraint consensus method and DBmax-Original (DO) constraint consensus method.Algorithm 1 is OD, Algorithm 2 is DD, Algorithm 3 is OO and Algorithm 4 is DO.Each method has two phases: Phase 1 and Phase 2. For example, the OD method uses the original constraint consensus vector in Phase 1 and the DBmax constraint consensus vector in Phase 2.
Phase 1 is the classical constraint consensus method given in [3,9].The starting point in Phase 1 is a random point.Phase 1 stops when a near-feasible point is found (i.e., ‖  (  )‖ ≤  for all  ∈ ), when the consensus vector is shorter than INPUT: An initial point , a feasibility distance tolerance , a movement tolerance , maximum number of iterations  and  Phase 1: Do the original basic constraint consensus method, Algorithm 1 in [9], using the parameters ,  and  and starting from  to get a near-feasible point.Let  0 be the last iterate of Phase 1. (Remark:  0 is the starting point of Phase 2.) Phase 2: (uses DBmax consensus method directions given in [9]) Set  =  0 Set  = 0 While  <  and  is infeasible do Set  = 0,  +  = 0,  −  = 0,  +  = 0, Algorithm 1: Original-DBmax (OD) constraint consensus algorithm.
INPUT: an initial point , a feasibility distance tolerance , a movement tolerance , maximum number of iterations  and  Phase 1: Do the DBmax constraint consensus method, Algorithm 4 described in [9], using the parameters ,  and  and starting from  to get a near-feasible point.Let  0 be the last iterate of Phase   = 0 Determine the LMI crossing points  +  ℓ , with 0 <  1 < ⋅ ⋅ ⋅ <  ℓ + , on the consensus ray { +  ∈ R  |  > 0}, and let  ℓ denote the constraint of the crossing point  ℓ .If there are no crossing points (i.e.ℓ + = 0), set  0 = 0. the movement tolerance (‖  ‖ ≤ ), or when the maximum number  of iterations is reached ( = ).
After exiting Phase 1, the algorithm goes to Phase 2 to try to find a strictly feasible (not just near-feasible) point.The first iterate  0 in Phase 2 is last iterate of Phase 1. Phase 2 now generates a consensus vector  0 determined by all the unsatisfied constraints.In other words, the feasibility distance tolerance  is set to 0 in Phase 2.Then, all the crossing points of the constraints on the consensus ray { 0 +  0 ∈ R  |  ∈ [0, ∞)} are computed (see Figure 5), using the method described in [12].
The corresponding binary words () on each line segment in the consensus ray are determined efficiently by starting with ( 0 ) and flipping the th bit when constraint  is crossed.This assumes that the consensus ray actually crosses a boundary curve whenever it touches the curve.The next iterate  1 is the midpoint of the most-satisfied segment, that is, the segment with the most zeros in its binary word.Thus, ( 1 ) = δ in our Algorithms 1 and 3.If the mostsatisfied segment is a ray going to infinity, then the next iterate  1 is the last crossing point plus (1/2) 0 .If there are no crossing points on the consensus ray, then  1 =  0 + (1/2) 0 .Algorithms 1 and 3 do this by defining  ℓ , with { ∈ 1, 2, . . ., ℓ + } to be the crossing points, and then adding one point  1+ℓ + = 1 +  ℓ + .If more than one segment has the maximum number of zeros in its binary word, then  1 is in  (14).The feasible region for any LMI is determined by polynomial inequalities of degree at most   , which is 2 for these constraints.
the line segment closest to  0 .The process is repeated with  1 and so on, until a feasible point of R is found or the maximum number  of iterations is reached.

Numerical Experiments I: Comparing OD, DD, OO, and DO Methods
In this section, we check the effectiveness of the four modified constraint consensus algorithms on benchmark problems, as well as many new randomly generated problems.In addition to measuring the success in finding strictly feasible points, we also compare their performances on the number of iterations and time to find a feasible point.
All numerical experiments were done using a Dell Opti-Plex 980 computer with codes written in MATLAB©.The list of the test problems is given in Table 1.The columns give the number of LMI constraints , the dimension , and the sizes   of the matrices.We randomly generated problems 1 through 13, whereas the others are taken from the SDPLIBRARY [10] as listed in the last column.For each random problem, , , and   are chosen not at random.However, for each problem, LMI ⪰ 0 was generated randomly as follows:  () 0 is an   ×   diagonal matrix with each diagonal entry chosen from (0, 1).Each  ()  (1 ≤  ≤ ) is a random   ×   symmetric and sparse matrix with approximately 0.8 *  2   nonzero entries generated using the Matlab command (  , 0.8).This ensures that, for each of the 13 random problems, the origin is an interior point.The LMIs of problem 1 are given in (14).The boundaries of the four LMI constraints are shown in Figure 6  (1) We ran each of the test problems from Table 1 with 100 random initial conditions.Each component of the initial point was chosen from a normal distribution with mean 0 and variance 10 8 .We used the four algorithms with  = 0.01 and  = 0.01.We will later discuss the effect of the choices of  and  on the performance of the algorithms.We used a maximum of  = 500 iterations in Phase 1 and up to  = 10 iterations in Phase 2. Tables 2, 3, 4, and 5 give the results of these experiments.The "Exit" column gives the percentage of the 100 trials that completed Phase 1 successfully (i.e., Phase 1 converged in fewer than  iterations).The "Feas Pt Found?" column shows the percentage of the trials that found a strictly feasible point in Phase 2. The average iterations and times for the successful trials in Phase 1 and Phase 2 are also given for this set of test problems.Note that when Phase 1 finds a strictly feasible point, then 0 iterations of Phase 2 are performed.This is the reason that the average iterations in Phase 2 are sometimes less than 1.Phase 2 rarely converged in more than  for all the 25 problems, even though results for problems 19-25 are not included in Tables 3-5.
Figure 7 compares OO, OD, DO, and DD for the 18 test problems that have more than one constraint.The results show that method O usually has a higher success rate in Phase 2, regardless of which method is used in phase 1.The success rate plotted is the fraction of random initial guesses that yield a feasible point.In the left figure, method D is used in phase 1, and on the right method O is used in phase 1.The circles connected by solid lines (indicating method O in Phase 2) have a higher success rate than the squares connected by a dotted line (indicating method D in Phase 2) in almost all of   original method is better in Phase 2. Note that DO finds a strictly feasible point with average success rate of 79% for the 25 problems and 75.7% for the 12 benchmark problems.However, the number of problems used is too small to make a definitive comparison.To compare these methods better, we generated and used a set of 500 random problems.For each problem,  is an integer uniform in the interval [2,30] and  is an integer uniform in the interval [1,40].For 1 ≤  ≤ ,   is an integer uniform in the interval [1,5].
In all of the 500 problems, each LMI ⪰ 0 was generated as follows:  () 0 is an   ×   diagonal matrix with each diagonal entry chosen from (0, 1).Each  ()  (1 ≤  ≤ ) is a random   ×   symmetric and sparse matrix with approximately 0.8 *  2   nonzero entries generated using the Matlab command (  , 0.8).This ensures that each of our test problems is random and that the origin is an interior point for each problem.
For each of the 500 random problems, one starting point was chosen at random and used for each of our four algorithms.Each component of the initial point was chosen from a normal distribution with mean 0 and variance 10 8 .The results are given in Table 6.They confirm that the DO algorithm is the most successful in finding strictly feasible points.Another interesting result of this experiment, not shown in Table 6, is that the DBmax method in Phase 1 found a strictly feasible point in 5 out of the 500 problems, whereas the original method in Phase 1 never found a strictly feasible point in any of these 500 problems.
The results show that DO is the best method (in percentage of successes), followed by OO, followed by DD, and followed by OD.In other words, D is better in Phase 1 and O is better in Phase 2. This suggests that the original consensus directions are better than DBmax search directions for iterates close to the feasible region while the reverse is the case for iterates far away from the feasible region.The fastest is DO, followed by DD, followed by OD, and followed by OO.
To obtain some geometrical understanding of how Phase 2 can fail, we include detailed figures of problem 1.This problem also allows a visual comparison of the original and DBmax methods.Figure 9 shows how the consensus vector is computed at the initial point  0 and shows the first few steps of Phase 1. Constraint 2 is satisfied at this point.The original consensus vector is the average of the three feasibility vectors  1 ,  3 , and  4 , whereas the DBmax consensus vector has the  1 coordinate of  4 and the  2 coordinate of  1 .The middle figure shows the first 8 iterations of the original constraint consensus method and the right figure shows the first 4 iterations of the DBmax method.Note how the original method converges more slowly, whereas the DBmax method follows a more erratic path.The erratic path of the DBmax method suggests that the original method gives a consensus ray (used in Phase 2) that is more likely to intersect the feasible region.
It is notable that Phase 2 does not always converge in one iteration when Phase 1 stops at a near-feasible point.For problem 1 this is seen in Figure 10, which shows the end of Phase (1) x 15 , x 0  14 =  1 ( 14 ), the feasibility vector for constraint 1.As a result,  15 is almost on the boundary of constraint 1, and Phase 1 ends with all constraints satisfied (2 and 3) or approximately satisfied (1 and 4).The final point ( 15 ) of Phase 1 is the initial point ( 0 ) of Phase 2, as indicated by the circle.In Figure 10, the consensus vector calculated at  0 of Phase 2 is the average of  1 ( 0 ) and  4 ( 0 ), but it is dominated by  4 ( 0 ), and the consensus ray does not intersect the feasible region.For this problem, Phase 2 finds a feasible point in two steps as seen in the figure on the left, but for other problems one step of Phase 2 can move the point very far from the feasible region.In practice we find that Phase 2 either converges in 3 or fewer steps or it does not converge at all.In this example, the consensus rays from  8 to  13 all intersect the feasible region.If  were 0.02, then Phase 1 would have stopped at  12 , and Phase 2 would have found a strictly feasible point in one iteration.The figure shows how the consensus ray can miss the feasible region because the initial point of Phase 2 is too close to the feasible region.The consensus ray based on the DBmax consensus vector misses the feasible region more often than the consensus ray based on the original consensus vector, which is why the original method is preferred in Phase 2.
The example shown in Figures 9 and 10 suggests that  <  is preferred.To further investigate the interplay between the parameters  and , we ran the DO algorithm on problems 14 and 18 with 100 randomly chosen initial conditions, for several choices of  and .The results are shown in Tables To see the effect of the size of  relative to  on our comparison of the three methods, we generated another set B of 500 randomly generated problems.Set B has fewer variables (smaller ) and more constraints (larger ) than set A. The results are given in Table 11.For each problem,  is an integer uniform in the interval [2,5] and  is an integer uniform in the interval [50, 100].For 1 ≤  ≤ ,   is an integer uniform in the interval [1,5].DO found a feasible point in 467 problems, MAP in 206 problems, and MAPCON in 244 and both methods were successful in 125 problems.The averages for the iterations and times were calculated over the 125 problems where DO, MAP, and MAPCON found a strictly feasible point.
The results in Tables 9, 10, and 11 show that DO has a higher success rate than MAP and MAPCON.The DO method also took less number of iterations and time to find a strictly feasible point.It indicates that DO outperforms both MAP and MAPCON as a LMI feasibility method on our test problems.The results in Tables 10 and 11 also suggest that the performance of DO over MAP and MAPCON gets better when the number of variables is small relative to the number of LMI constraints.An unexpected consequence from our results is that MAPCON may not be a better method than MAP in practice.

Conclusion
We apply, modify, and combine the constraint consensus methods of Chinneck and Ibrahim [3,9] to find strictly feasible points of linear matrix inequality constraints.Phase 1 of our algorithm is the standard constraint consensus method, using either the original (O) or DBmax (D) consensus vector.At each step in Phase 2, we search the ray defined by the original or DBmax consensus vector for crossing points of the LMI constraints and move to the line segment on that ray where the most constraints are satisfied.We tested the four resulting algorithms, namely, Original-DBmax (OD) constraint consensus method, DBmax-DBmax (DD) constraint consensus method, Original-Original (OO) constraint consensus method, and DBmax-Original (DO) constraint consensus method.Our numerical experiments indicate that DO is the best method.It works well for the benchmark problems, finding a strictly feasible point with a success rate of 75.7% on average.
Further modifications could improve our algorithms.For example, if Phase 2 does not converge in 5 iterations it will most likely not converge.In this case, the algorithm could give up and restart Phase 1 with a new, randomly chosen starting point.Heuristics for a good choice of  and  could improve success.Another possible modification is an algorithm that gradually makes a transition from Phase 1 to Phase 2. We compared DO with the method of alternating projections and found DO to outperform it on average, especially on problems with large number of constraints relative to the number of variables.We plan in the future to study DO performance as the sizes of the variables vary and to compare it with other methods such as SEDUMI and SDPT3.
Our four algorithms can be used with any differentiable constraints, provided the crossing points of each constraint boundary with a ray can be computed.The algorithms do not require the feasible region to be convex.We have implemented the algorithms for linear matrix inequalities, where the computation of crossing points is relatively straight forward.

Figure 4 :Theorem 6 .
Figure 4: For the LMI(11), the feasible region is the disk, and  0 +  is on the boundary.

Algorithm 3 :
Original-original (OO) constraint consensus algorithm.INPUT: an initial point , a feasibility distance tolerance , a movement tolerance , maximum number of iterations  and  Phase 1: as in the DD Constraint Consensus Algorithm Phase 2: as in the OO Constraint Consensus Algorithm Algorithm 4: DBmax-original (DO) constraint consensus algorithm.

Figure 5 :Figure 6 :
Figure5: In Phase 2, the crossing points and binary words are computed along the consensus ray.In this example a feasible point, with binary word  = (0, 0, 0), is found.

Figure 7 :
Figure 7: Comparison of the four composite methods (OO, OD, DO, and DD) for the 18 test problems that have more than one constraint.Observe that method O has a higher success rate in Phase 2.

Figure 8 :
Figure 8: Comparison of the two methods that use O in Phase 2, for the same 18 test problems considered in Figure 7.We conclude that DO is the best method.

Table 2 :
Results of the OD method on the test problems.

Table 3 :
Results of the DD method on the test problems with more than one constraint.

Table 4 :
Results of the OO method on the test problems with more than one constraint.

Table 5 :
Results of the DO method on the test problems with more than one constraint.So, we see from the results in Tables 2-5 and Figures7 and 8that DO is the most successful and OD is the least successful.On the whole, the DBmax method works better in Phase 1, and the the cases.Comparison of the two methods that use O in Phase 2 is given in Figure8.In the figure, the circles use method O in phase 1, and the squares use method D in Phase 1.The success rate is slightly better with DO, and the total time is much better with DO.Since Figure7shows that O is clearly better in Phase 2, we conclude that DO is the best of the four methods (OO, OD, DO, and DD) we tested.

Table 6 :
Success rate percentages and average times for the 500 random problems.

Table 9 :
Results of the DO, MAP, and MAPCON methods on the 25 test problems.

Table 10 :
Results of DO, MAP, and MAPCON methods for the set A of 500 random problems.

Table 11 :
Results of DO, MAP, and MAPCON methods for the set B of 500 random problems.
iterations and times were calculated over the 143 problems where DO, MAP, and MAPCON found a strictly feasible point.