How can you estimate the value of a component part where you only know the value of a whole?
Clearly this problem doesn't always have a unique solution, but if you are interested in finding one possible solution you could try a simple genetic algorithm simulation:


Each individual gene represents an item from the list of all possible items. 
Each gene/item is assigned a price randomly at first (gene expression)
When a mutation is applied to a gene/item, its price is slightly modified randomly.
A crossover causes a "child gene" to take as value the mean of its two "parents genes".


This setting means that every individual in a population consists of all the items being assigned a particular price. At each generation each individual/assignment is evaluated by applying the prices assignment to the actual data and then measuring the error compared to the actual prices. Finally the top N individuals/assignments which perform the best are selected as parents for the next generation. Eventually the population should converge to realistic prices assignments.

I think this is a perfect case for a genetic algorithm because the evaluation of a potential price assignment is a very simple calculation, so there is no major efficiency issue repeating the process over many generations (as opposed to many problems where evaluation is prohibitively expensive).