NNLS as Quadratic Program

401 Views Asked by At

This is most likely a silly question but I have been struggling with it for a few days and my searches haven't turned up an answer.

According to Wikipedia (and various other sources) Non-Negative Least Squares (NNLS) can be formulated as a Quadratic Program (QP) by minimizing the cost function $xQx^{T} + c^{T}x$ s.t. $x>=0$, where $Q = A^{T}A$ and $c^{T} = -A^{T}y$, with $A$ and $y$ from the NNLS equation $||Ax - y||_{2}^{2}$. However, it seems like this formulation is missing something because setting $x=0$ will always minimize the cost function above regardless of the inputs (this bore itself out when I tried to actually solve this type of QP with a solver). I imagine there are additional constraints required, but none of the references I've seen mention them explicitly (some seem to allude to them).

What additional information is necessary for this QP to actually solve the NNLS problem?