Miscellaneous questions

Some miscellaneous questions in 1 post to avoid spam:

  1. Page 12 lines 18-20:

However, it is possible that another cook might start cooking the same dish
in a following tick while this cook is still occupied. Cooks are seen as interchangeable, they do not have ids assigned at the start of the simulation.

If I understand correctly, interchangeability implies that a chef that was already in the middle of cooking a meal can be swapped out for another free chef. Example: Consider the scenario with kitchenStaff = {SOUS=1, PASTRY=1} where SOUP has cooktype ⊆ {SOUS} and CAKE has cooktype ⊆ {SOUS, PASTRY}. Further, assume the SOUS is currently making a CAKE and somehow we just got a free PASTRY chef. If we get an order for a SOUP, then the PASTRY chef can swap with the SOUS on the (ongoing) CAKE cooking job and the SOUS will make the SOUP, correct?

  1. Given this notion of interchangeability in kitchenStaff, what does it imply in some other staff like waitstaff? The waiter has a current load of customers being waited on, does interchangeability imply that if this assigned waiter cannot serve the meals in this tick due to tick load, then another waiter can/will? I assume this is wrong since page 14 lines 16-18:

For both REGULAR and CASUAL groups, the selected waiter is assigned to the group and table and will be responsible for all further actions

  1. Page 14 lines 31-34:

If the assigned waiter does not have enough SERVING capacity to serve the full table even though the meals have been cooked, the waiter will wait for the next tick and then start SERVING the meals to the table one by one.

2 questions here:
3.1] what if the order is partially ready (say 5 out of 10 meals), 2 ticks have passed and the waiter can serve the 5 meals based on his SERVING tick load. Does he serve?
3.2] same situation, but the waiter can serve only 4 meals, the waiter will wait for the next tick now right?

  1. Page 14 lines 29-31:

If not all meals for a table have been cooked in that time window, the assigned waiter will start SERVING the meals to the table one by one as soon as they have been cooked.

consider the case where we served 5 meals out of 10 already in tick T. Does the statement above imply now that we wont wait anymore once the remaining meals are ready? i.e. consider in the T+1 tick only 2 more meals (out of remaining 5 meals) are ready, are they served immediately or does the 2 tick waiting logic apply here as well?

  1. Assume a customerGroup of size 5 places a delivery order. When the waiter serves the delivery order to the delivery driver, does this count as 1 SERVING action or 5 SERVING actions?

  2. If a customer finishes eating before the other customers in the group, does the customer wait until the rest are done or is the customer immediately escorted out? (assuming waiter ESCORTING tick load is fine)

  3. page 17 lines 13-14:

Those customers wanting deliveries decide on a restaurant and make their order early.

Do we need to log for this order at all, say in the dine-in ordering phase?

Thanks in advance, and apologies for the long post!

No. Interchangeability is defined only at the start of the simulation/evening, when the chefs have not yet been assigned IDs. Once a chef is assigned to a dish as part of an order, that chef is solely responsible for cooking it and cannot be replaced by another chef.

Similar to the previous case, interchangeability applies only before IDs are assigned to waiters and before waiters are assigned to customer groups. As stated in the Project Specification:

Page 14, Lines 16 - 18:

For both REGULAR and CASUAL groups, the selected waiter is assigned to the group and table and will be responsible for all further actions.

Yes, that is correct.

Yes, that is also correct.

Yes.

This counts as 1 SERVING action but consumes 5 SERVING tick loads.

The customer waits until the rest of the group has finished.

Yes, you still have to log that the order has been placed. As stated in the Project Specification:

Page 29, Lines 12 - 14:

In case the order is supposed to be delivered, the part about the waitstaff is left out, ending the log after the key-value mapping with a ”.”.

[IMPORTANT] FOH Ordering (R $restaurant:id): Group $group:id placed order $order:id of $dish:NameToAmount with waitstaff $waitstaff:id.

1 Like