I am looking for an efficient method to compute $$\sum_{i=1}^\left|B\right|\left|Ax_i-b_i\right|^2\rightarrow min$$ under the condition $$\forall i, x_i\ge 0,$$ where $A$ is an n-by-m matrix and $B$ is a set of n-dimensional vectors. Only $B$, $n$ and $m$ are given. In other words the goal is to find $A$ so that the sum of squares of the orthogonal distance of the subspace defined by the columns of $A$ (under the non-negativity constraint) to every point in $B$ is minimal. $B$ is a finite set with approximately 10 to 1000 elements and $n$ is in the range of 50 to 1000 and $m$ will be rather small, i.e. $\le 10$.
|
EDIT: Rewritten after clearing up some notational confusion in the comments. Let $X = \left[x_1, x_2, \ldots x_r\right]$ and $B = \left[b_1, b_2, \ldots b_r\right]$ where $r$ is the numbers of vectors. Your problem can then be written as $$ \text{minimize}_{A,X\geq 0} ||AX-B||$$ This looks very much like a version of the non-negative matrix factorization problem, and is called semi-nonnegative matrix factorization. See here for an example. |
|||||||||||
|
|
You can transform this into a standard form quadratic program by expanding the square term, then distributing the sum (assuming your set B is finite). You can then use one of the standard solvers (see the links at the bottom of the wikipedia page for several options). If you are looking for more specific advice, I'd suggest adding more detail about your specific problem, including the size of your problem (how big n and m are), and if there is any structure to your matrix A. |
|||||||
|