A guy named Agner Erlang solved most of this already, and we can thank the telephone. He took his work on how to figure out the optimal number of trunk lines for a town and used that to model cash register lines. Erlang worked out that one line into many registers is the fastest and most efficient, so if one line backs up but another one moves quickly, people don't bunch up at the register that was slow. You can see this system at work at Walmart of all places, their express checkout section where they tell you what register to go to is based on this model. If there's a bottleneck beyond the register, say the ice truck, then have a second queue where individuals are provided with something like a receipt for them to obtain the ice directly from the truck. This also has the benefit of individuals being able to buy more than one bag of ice and can come back and enter the ice truck queue to fill the remainder of the order later rather than requeue in the register line. Obviously there are risks to that but ultimately the risk would be the consumers. Both of these methods are in use today and even at the same time in some cases, I saw it just last summer at a beer festival. We went through one queue to get beer tokens, and then there were multiple vendors who accepted those tokens for you to redeem it. Then the vendors redeemed their tokens from the festival operators.