第 1 級 · 餐後的一大批辣豆醬
晚餐時段結束了。一鍋 24 kg 的濃稠辣豆醬剛從爐上端下,溫度 70 °C,必須冷卻好留到明天。慣常的做法是把鍋推進冷藏庫就回家。要在《食品法典》(Food Code)限值內把它冷卻下來,縮短它處於危險溫度區的時間,而且不要把它丟掉。
- 結束時沒有不合規的食物
- 沒有丟棄任何東西
- 這批食物在危險區(5–57 °C)停留 ≤ 100 分鐘
- 庫存產品始終不高於 5 °C
你經營一家繁忙餐廳的廚房:一間冷藏庫、一個冰水浴水槽、一臺小型急速冷卻機、一個保溫檯和一排廚師。熱食必須迅速透過危險溫度帶,冷食必須保持低溫,而訂單還在不斷進來。這是一個運營模擬器,不是 HACCP 計劃,也不是法律建議。
把所有仍在冷卻的批次分到 5 cm 深的餐盤裡(每公斤約佔廚師 1 分鐘)。
把整批食物放在冰水中攪拌(最多 25 kg)。攪拌和換冰要佔用半個廚師的人手。
−5 °C 強制冷風,一次最多 40 kg;它的熱量排到室外,而不是排進冷藏庫。
每位廚師一次做一張單(每張 12 分鐘)。
按計劃成批取備料,並保持塑膠門簾關閉:開門次數更少、開口更小。
冷卻空氣必須低於 5 °C,否則放在冷藏庫中冷卻的食物永遠降不到這個溫度。
保溫槽裡的食物溫度會低於設定值,高峰期蓋子頻繁開啟時更明顯。
扔掉所有超出冷卻限值的批次;如果沒有,就扔掉處於危險溫度帶時間最長的那一批。
| 批次中心溫度 | 3.0 °C |
|---|---|
| 冷藏庫空氣 | 3.0 °C |
| 不合規的食物 | 0 kg |
| 已丟棄的食物 | 0 kg |
| 處於危險溫度帶的時間 | 0 min |
| 產氣莢膜梭菌增殖潛力 | 0.0 log |
| 溫度高於 5 °C 的庫存產品 | 0 min |
| 廚房裡的訂單 | 0 |
| 當班廚師 | 6 |
| 冷藏庫壓縮機負載 | 0.00 kW |
| 開門滲入熱負載 | 0.00 kW |
| 熱批次釋放的熱量 | 0.00 kW |
晚餐時段結束了。一鍋 24 kg 的濃稠辣豆醬剛從爐上端下,溫度 70 °C,必須冷卻好留到明天。慣常的做法是把鍋推進冷藏庫就回家。要在《食品法典》(Food Code)限值內把它冷卻下來,縮短它處於危險溫度區的時間,而且不要把它丟掉。
這是個忙碌的晚上,冷藏庫壓縮機開始出故障:在大約五個半小時後技師到來之前,只剩十分之一的製冷能力。一小時後,一鍋 15 kg 的濃稠醬汁下了灶,必須冷卻。要讓庫存食物保持在 5 °C 或以下,並按時冷卻醬汁。
四位廚師應付傍晚早些時候毫無壓力。然後高峰來了:訂單量在三個半小時內增加到兩倍多。要把出單時間控制得短,讓保溫檯的食物保持熱度,同時不要人手過剩,也不要把保溫的食物煮過頭。
模擬器使用的每一個關係式及其來源。標示為假設的常數是示意校準值。
τ = ρc · L_c / U, 1/U = 1/h + L_c/(3k); L_c: pot 6 cm, 5-cm pans 2.5 cm; h: walk-in 20, ice bath 100, blast 50 W/m²K[6][3][4][5]假設:深度、傳熱係數、冷藏庫大小、開門和壓縮機負載以及烹飪時間均為中型餐廳的示意值。畢奧數修正只是一階近似,對深鍋而言比較粗略。57 °C → 21 °C within 120 min; 57 °C → 5 °C within 360 min; else out of compliance → discard[1][2]cold holding ≤ 5 °C; hot holding ≥ 57 °C; abuse = Σ Δt while 5 °C < T < 57 °C[1]Food Code profile ≈ log10(T − 2.8 °C) falling 0.2312 per h ⇔ τ ≈ 1.9 h[3]μ(T) = μopt·(T−Tmax)(T−Tmin)² / {(Topt−Tmin)[(Topt−Tmin)(T−Topt) − (Topt−Tmax)(Topt+Tmin−2T)]}; growth = Σ μ/ln10 · Δt [log10][8][7]僅作指示:引數按熟雞肉擬合,忽略了遲滯期,因此會高估增殖。它不是安全結論。n_door ~ Poisson(rate·Δt); C_air·dT/dt = UA·(T_kitchen − T) + n_door·E_door·(T_kitchen − T)/Δt + Q_batches + UA_p·(T_product − T) − Q_comp[9][6]假設:深度、傳熱係數、冷藏庫大小、開門和壓縮機負載以及烹飪時間均為中型餐廳的示意值。畢奧數修正只是一階近似,對深鍋而言比較粗略。tickets ~ Poisson(λΔt); each station: one ticket, 12 cook-min (M/D/c); W = L / X, L = waiting + on stations, X = cook-min delivered in the last 30 min ÷ 12 per h (≥ 1/h; warm-up: opening steady state)[11][10]T_hot → (setpoint − 0.2 °C × tickets served per h), τ = 30 min[1]假設:深度、傳熱係數、冷藏庫大小、開門和壓縮機負載以及烹飪時間均為中型餐廳的示意值。畢奧數修正只是一階近似,對深鍋而言比較粗略。ρc = 3.9 MJ/m³K, c = 3.9 kJ/kgK · k: stock 1.2, thick sauce 0.5 W/mK, ×2 when stirred in ice · ice bath 0 °C, ≤25 kg · blast chiller −5 °C air, ≤40 kg · walk-in: air node 0.4 MJ/K, 300 kg stored product (3.6 kJ/kgK, 60 W/K to air), walls 10 W/K, compressor 3 kW · door openings 10/h + 0.8 per ticket/h, 2.7 kJ/K each; discipline: 40 % of openings, half the exchange (strip curtain) · ticket 12 cook-min · portioning 1 cook-min/kg · ice-bath stirring 0.5 cook per batch · throughput window 30 min (a station counts only when fully staffed) · kitchen 30 °C假設:深度、傳熱係數、冷藏庫大小、開門和壓縮機負載以及烹飪時間均為中型餐廳的示意值。畢奧數修正只是一階近似,對深鍋而言比較粗略。隨機性:帶種子的 mulberry32 產生器;使用的分布包括均勻分布、指數分布(反 CDF)、常態分布(Box–Muller)與卜瓦松分布(Knuth)。種子會顯示出來,並且可以分享。
教育模型,不可用於實際營運決策。真實場域會依自己的設備與資料校準每一個常數。