Interesting real life problem similar to subsetsum /bin packing problem
Your problem is at least as hard as bin-packing.  In particular, optimizing objective (a) basically is the bin-packing problem (in particular, bin packing is the special case where all drums have equal length, so your problem is at least as hard as bin packing), which is known to be NP-complete.  Consequently, your problem is NP-hard, too.  All the usual hardness results about bin packing apply to your problem as well: there is no polynomial-time approximation scheme (unless P=NP); and bin packing is known to be strongly NP-complete, so there is no hope for a pseudo-polynomial time solution, either.

If you want a pragmatic approach to solve this in practice, or at least get as good a solution as possible, I would recommend formulating it as an instance of integer linear programming (ILP) and applying an off-the-shelf ILP solver.  In particular, you can formulate the problem of minimizing objective (a) as an ILP instance, in the same way as for bin-packing.  Then, off-the-shelf ILP solvers might be effective: even if they don't find the optimal solution, they typically have a way to output the best solution found after a certain amount of computation time, and that might be pretty close to optimal.  Of course, it is not a silver bullet; in the worst case it might take exponential time.  There's no way to know in advance whether it will work well enough.  The only way to tell is to try it and see.

Objective (b) amounts to maximizing a sum-of-squares objective function (per your comment).  This can't be expressed using integer linear programming, but it can be expressed as an instance of quadratic integer linear programming.  You could try formulating it as an instance of mixed-integer quadratic programming (MIQP) and then applying an off-the-shelf MIQP solver.  However, MIQP is substantially harder than ILP, so I don't know whether it will work well on problem instances of the size you have.