Branch & Bound: Avoiding equivalent solutions
You could impose a canonical ordering on the bags.

For instance, in each bag find the lowest-numbered item in that bag, and  imagine labelling the bag with that number.  Now add the additional constraint that to be a valid solution, the bags must be in sorted order according to their label.  In other words, the label on the $i$th bag must be less than the label on the $i+1$st bag.

If you can express this constraint within your system, it ensures that each equivalent solution will be generated only once.