I'd like to preface my question by stating that I have no education in mathematics beyond A levels (UK), which was 7 years ago, so I apologise if I'm asking a silly question or if I misuse any terms.
In short, is there a way to find a multiset, that satisfies a given value constraint, without knowing the multiplicity of each element within the set, and without knowing the cardinality of the multiset? In my scenario, you would know the maximum possible multiplicity of each element, and you would have a maximum and minimum cardinality for the multiset.
I'm not even sure if that question makes sense.
I'm wondering if it is possible to arrive at X with any combination of elements within a set, where each element can be repeated, but the number of times any particular element can be repeated varies from element to element.
To give some context, imagine you have in front of you a list of daily total sales from a restaurant and you want to determine if it is possible for a sum of items on the menu to equal the daily total figure, assuming no discounts or human error. The restaurant provides no additional information.
Let's assume the restaurant declared £500 total sales on Monday, and we know the menu has 10 possible items. We can determine how many of any particular item could have been sold if we divide £500 by the item's cost (and this would assume no sales from any of the other items), and thus give us a maximum possible multiplicity for each element. We can calculate the minimum cardinality (I'm not even sure that's an actual concept) of the multiset by assuming the multiset contains only the most expensive item sold, and thus use its maximum multiplicity; the reverse can be done for the maximum cardinality of the set, by assuming only the cheapest item was sold, and thus use its maximum multiplicity.
With all of that, is it possible to determine if a multiset exists to satisfy the value of £500? Or rather, is it possible to show that no multiset exists to satisfy the value of £500? Because if the target value of £500 can be divided without remainders by any of the items, then of course at least one multiset exists.
Hope that's clear enough to understand.
Edit: Just editing to see if the questions will show in 'Latest'
It is certainly possible: as you have observed, there is a maximum number of sales per item, which leaves only finitely many options. If there are $K$ items, and the cheapest item could have been sold $M$ times, there are at most $(M+1)^K$ possible multisets, and you could just check each of them to see if it works.
So the question remains: is there a fast way to do it? Essentially, your problem is a version of the subset sum problem (can we find a sub(multi)set of the items whose price adds to the total?), and this problem is NP-complete. In general, you should not expect such problems to be efficiently solvable.
However, there are special cases which are solvable quickly (by a computer): in case the total sum is not too large, there is a fairly efficient solution described for example on the Wikipedia page.