Finding all possible combinations of numbers to reach a given sum

How would you go about testing all possible combinations of additions from a given set of numbers so they add up to a given final number? Example: Set of numbers to add: {1,5,22,15,0,...} Desired