Reduce this to exact cover. Each of the sets in the problem instance will become a number, and numbers combine to produce b iff the corresponding sets produce an exact cover for U.
Let e be an element of U and suppose e appears in j different sets. Let k be log2(j), rounded up. Each number reserves k bits for the element e. If the set doesn't contain e, these bits are set to 0. If the set contains e, place a 1 in the least significant bit. If all the numbers are added together, these k bits are filled with the number j. Still, there is no carry operation into the next field. You can see how many sets use e simply by looking at these k bits.
Do this for all e in U, and let b be the number that has a 1 in each field. A sum is equal to b iff each element e is used exactly once, iff the corresponding sets form an exact cover for U.
Notice that the integers in this problem are distinct, as each comes from a different set. Also, the number of sets that create the partition is prescribed, hence the number of integers that will sum to b is prescribed. You know in advance how many integers to select, but that doesn't help.
Choose p = 1 mod b, and look for a proper collection of yi, some of them and not all of them, having a product of 1. This is np complete.
The multiplicative version is similar. When the ith set contains e, let yi = q mod p, where q is primitive. Otherwise yi = 1 mod p. Let b be primitive for every p. Now the product of a subcollection of integers equals b mod n iff U is partitioned, iff the underlying boolean expression is satisfied.
Of course this is a round about way to get to mod n. An easier way is to choose any n larger than t. In fact n can be prime if you like. Now addition mod n is simply addition, and we are looking for a subcollection that sums to b (mod n). Similarly, n can be any prime larger than t+1. Let z be primitive, and let each yi be z raised to the wi. Multiplication adds the exponents, and we are looking for a subcollection whose product is zb.
There is a better transformation that does the trick. Assign a unique prime to each e in U. Start with 2, and proceed through 3, 5, 7, 11, etc. The prime number theorem tells us there are plenty of small primes to choose from. We don't have to jump from 59 to 990013, and then into the trillions. Multiply primes together to get an integer corresponding to each subset of U. Multiply all the primes together to get b. The transformation is polynomial, and the fundamental theorem of arithmetic allows us to map back to the original instance of exact cover. Therefore, writing b as a product of a subset of a given set of integers is np complete.
To give us more wiggle room, choose ε between 1/n2 and 1/n-1/n2. Now the sum lies between b+1/n and b+1-1/n.
Divide each wi, and b, by a large power of 2, or a large power of 10; whatever is convenient for your representation. This is like a change of units, and does not affect the subcollections that sum to something in a given range. The transformation basically puts a decimal point and some zeros in front of each number.
Take the exponential of each number. Remember that when r is small, Er is approximately 1+r, and we can make this approximation as tight as we like, simply by bringing in a few more zeros at the front. Similarly, log(1+r) is approximately r. Multiply exp(wi) and exp(wj) and extract the first block of decimal digits, and you are really adding wi and wj. The noise in these transformations are small numbers that fit within our slop. Start with a collection of real numbers, each within its prescribed range, and ask whether there is a subcollection whose product lies in a certain range. This is np complete.
Recall that the size of the subcollection is predetermined. Multiply each wi by a large number j, and multiply b by an appropriate power of j. The product in range problem remains the same, but now each wi can be chosen from a large span of integers. With a little help from analytic number theory, there are plenty of primes to choose from. So we have a new np complete problem: given a collection of distinct primes, and a range of integers [b1,b2], find a subcollection of these primes whose product lies in the given range.