My initial approach is sthg like this: Let say B1, B2 are box sizes.
Min: (#of B1 * Rateof B1) + (#of B2 * Rateof B2) + ... (#of Bn * Rateof Bn)
subject to:
VolumeCapacityB1 <= whatever is the number
VolumeCapacityB2 <= whatever is the number
WeightCapacityB1 <= whatever is the number
WeightCapacityB2 <= whatever is the number
Defining Variables:
Arcs (Orig-dest combo)
Boxnames
Availability of box sizes, a binary variable indexed over arcs.