In OML solution it assumes that every task is a delivery. So if the capacity of the bag is 5 after 5 deliveries or pickups it's done. Which is clearly ineffecient
One thing we can do is that when the pickups are called we can change the bag capacity according to that. But then the algo may assign more than possible deliveries