[Math] Finding a feasible point under quadratic constraints

convex optimization

Lets say we have a Quadratically Constrained Quadratic Program which we would like to optimize. The first step for many methods requires one to first find a point in the feasible region.

How can I answer the question "Is the feasible region non-empty?" If the answer is yes, I would like a witness obviously. I'm assuming this is possible in polynomial time if the problem is convex?

Best Answer

For feasibility, only the constraints matter, not the objective. One way to identify a feasible point (even if there exist no strictly feasible point), is to solve the feasibility problem $$ \min \ 0 \quad \text{subject to your constraints}. $$ Usually, this is not a much better-behaved problem than the original problem. An alternative is to minimize the infeasibility residual $$ \min \ \|\text{constraints}\|^2 $$ (assuming equality constraints). This is typically a nonlinear least-squares problem. Depending on the form of your constraints it can be solved more or less efficiently. If your original problem was feasible, this last one is a zero-residual least-squares problem and Gauss-Newton should converge quadratically.

That being said, note that many modern methods do not require an initial feasible point. I may be able to be more specific if you give more details on your problem.