I have a vector (er, array) that is the sum of a number of other known vectors. I would like to reverse the process and find the specific known vectors that were summed to make the final vector. The problem appears to be similar to the subset-sum problem. I see some algorithms for the subset sum problem on the internet. However, it's not clear if they would work for my scenario.
Do you have any suggested algorithms for this problem? Can someone help me write the problem in summation notation? Can you see some way of grouping the vectors out of the solution set for a branch and bound algorithm approach?
I've attempted to solve the problem with a matrix multiply; details here: https://math.stackexchange.com/questions/516208/minimize-ax-b-where-x-is-a-binary-vector
I've attempted to solve the problem with genetic algorithms. I'm no longer a believer in evolution. Details here: https://stackoverflow.com/questions/17297313/genetic-algorithms-name-the-piece-that-drives-the-mutation-location
(The known vectors are smaller than the final result, but I can fake a full length through an approach of "known vectors at all possible offsets". My numbers all range between -1 and 1. It seems I could add 1 to make them all positive.)