Multi-dimensional Knapsack with added one-per-group constraint
One reasonable starting point is to try formulating it as an instance of integer linear programming, and apply an ILP solver.  This might not be the best possible algorithm, but it is simple and easy to try.

Let $A_{i,j}$ be the $j$th vector in the $i$th set.  Define zero-or-one variables $x_{i,j}$, with the intended meaning that $x_{i,j}=1$ means you have picked the $j$th vector from the $i$th set.  Then you have constraints of the form

$$\sum_{i,j} A_{i,j} x_{i,j} = t$$

where $t$ is the target vector.  (Notice that this is a sum of vectors, so it actually turns into 30 different equations, one per dimension.)  Also to ensure that you pick exactly one element from each set, we have

$$\sum_j x_{i,j} = 1$$

for every $i$.  Then send that to an ILP solver.