There are some obvious problems. While we can argue about whether Dijkstra is efficient, the real problem is it's unnecessary. The queue can, and should, be fully defined, not dynamic. There is no reason to let each individual actor search for the best location to go. If we are looking for an optimal solution, then there is no need for individual decision making.<p>Consider: Imagine every parallel queue, but with a "gap" every 3 people to allow others to pass by. In real life, humans wouldn't walk all the way around the queue, they'd find someone who would step momentarily aside to let them pass. Representing this by forcing the individual queues to not be fully solid would allow that behavior to be represented.<p>Anyway, this work doesn't even get to some of the more interesting aspects of buffet design, like handling multiple tables, popular items, correlated items, etc.