[[0.0, "cmd", "sed -n 469,503p haizen_sim.py"], [0.009, "out", "def run_once(params, seed):\r\n    store = STORES[params[\"store\"]]\r\n    p = {**COMMON, **store, **params}\r\n    env = simpy.Environment()\r\n    s = Store(env, random.Random(seed), p)\r\n    env.process(s.arrivals())\r\n    if p[\"sustain\"]:\r\n        return _sustain_result(env, s, p)\r\n    env.run()\r\n    end = env.now\r\n    w = s.dish_waits\r\n    return {\r\n        \"dish_wait_mean\": statistics.mean(w),\r\n        \"dish_wait_p90\": sorted(w)[int(0.9 * (len(w) - 1))],\r\n        \"cold_share\": sum(x > p[\"cold_min\"] for x in w) / len(w),\r\n        \"seat_wait_mean\": statistics.mean(s.seat_waits),\r\n        \"turn_mean\": statistics.mean(s.turns) if s.turns else 0.0,\r\n        \"walk_km_per_staff\": s.staff_walk_m / p[\"staff\"] / 1000,\r\n        \"staff_util\": s.staff_busy_s / (p[\"staff\"] * end),\r\n        \"robot_util\": (s.robot_busy_s / (p[\"robots\"] * end)) if p[\"robots\"] else 0.0,\r\n        \"robot_share\": s.robot_trips / max(s.robot_trips + s.staff_trips, 1),\r\n        \"robot_bus_share\": s.robot_bus / max(s.robot_bus + s.staff_bus, 1),\r\n"], [0.009, "out", "        \"collects\": s.collects,\r\n        \"rescues\": s.rescues,\r\n        \"pauses\": s.pauses,\r\n        \"fragile_robot\": s.fragile_robot,\r\n        \"groups\": s.done,\r\n        # 入店待ちの内訳（v2.2）\r\n        \"entry_wait_mean\": statistics.mean(s.entry_waits),            # 来てから案内されて席に着くまで\r\n        \"blocked_wait_mean\": statistics.mean(s.blocked_waits),        # 席はあるのに片付けが終わらず待った\r\n        \"guide_wait_mean\": statistics.mean(s.guide_waits),            # 卓は決まったが案内の手が空かず待った\r\n        \"staff_wait_mean\": statistics.mean(b + g for b, g in zip(s.blocked_waits, s.guide_waits)),  # 席はあるのに待った（合計）\r\n        \"full_wait_mean\": statistics.mean(w - b for w, b in zip(s.seat_waits, s.blocked_waits)),    # 席が埋まっていて待った\r\n    }\r\n\r\n"], [0.009, "cmd", "python3 haizen_sim.py --one"], [0.844, "out", "serve 1 any {'dish_wait_mean': 0.61, 'dish_wait_p90': 1.05, 'cold_share': 0.0, 'seat_wait_mean': 2.59, 'turn_mean': 9.49, 'walk_km_per_staff': 2.7, 'staff_util': 0.75, 'robot_util': 0.49, 'robot_share': 0.76, 'robot_bus_share': 0.0, 'rescues': 1.07, 'pauses': 38.77, 'fragile_robot': 26.88, 'groups': 68.15, 'entry_wait_mean': 4.26, 'blocked_wait_mean': 2.32, 'guide_wait_mean': 0.45, 'staff_wait_mean': 2.77, 'full_wait_mean': 0.28}\r\n"], [1.571, "out", "serve 1 staff {'dish_wait_mean': 0.64, 'dish_wait_p90': 1.15, 'cold_share': 0.0, 'seat_wait_mean': 4.23, 'turn_mean': 11.29, 'walk_km_per_staff': 2.95, 'staff_util': 0.77, 'robot_util': 0.42, 'robot_share': 0.65, 'robot_bus_share': 0.0, 'rescues': 1.12, 'pauses': 35.08, 'groups': 69.9, 'entry_wait_mean': 5.93, 'blocked_wait_mean': 3.7, 'guide_wait_mean': 0.48, 'staff_wait_mean': 4.17, 'full_wait_mean': 0.54}\r\n"], [2.356, "out", "serve 3 any {'dish_wait_mean': 0.64, 'dish_wait_p90': 1.15, 'cold_share': 0.0, 'seat_wait_mean': 3.43, 'turn_mean': 9.29, 'walk_km_per_staff': 2.74, 'staff_util': 0.76, 'robot_util': 0.51, 'robot_share': 0.8, 'robot_bus_share': 0.0, 'rescues': 1.02, 'pauses': 37.98, 'fragile_robot': 30.23, 'groups': 70.5, 'entry_wait_mean': 5.11, 'blocked_wait_mean': 2.75, 'guide_wait_mean': 0.46, 'staff_wait_mean': 3.21, 'full_wait_mean': 0.68}\r\n"], [3.096, "out", "serve 3 staff {'dish_wait_mean': 0.64, 'dish_wait_p90': 1.18, 'cold_share': 0.0, 'seat_wait_mean': 4.37, 'turn_mean': 10.56, 'walk_km_per_staff': 2.86, 'staff_util': 0.76, 'robot_util': 0.42, 'robot_share': 0.66, 'robot_bus_share': 0.0, 'rescues': 0.93, 'pauses': 32.77, 'groups': 68.72, 'entry_wait_mean': 6.03, 'blocked_wait_mean': 3.79, 'guide_wait_mean': 0.45, 'staff_wait_mean': 4.24, 'full_wait_mean': 0.58}\r\n"], [3.901, "out", "bus 1 any {'dish_wait_mean': 0.66, 'dish_wait_p90': 1.19, 'cold_share': 0.0, 'seat_wait_mean': 4.27, 'turn_mean': 10.11, 'walk_km_per_staff': 2.54, 'staff_util': 0.75, 'robot_util': 0.6, 'robot_share': 0.72, 'robot_bus_share': 0.48, 'rescues': 1.5, 'fragile_robot': 26.2, 'groups': 70.5, 'entry_wait_mean': 5.95, 'blocked_wait_mean': 3.63, 'guide_wait_mean': 0.46, 'staff_wait_mean': 4.09, 'full_wait_mean': 0.65}\r\n"], [4.654, "out", "bus 1 staff {'dish_wait_mean': 0.67, 'dish_wait_p90': 1.23, 'cold_share': 0.0, 'seat_wait_mean': 3.75, 'turn_mean': 11.42, 'walk_km_per_staff': 2.6, 'staff_util': 0.75, 'robot_util': 0.55, 'robot_share': 0.61, 'robot_bus_share': 0.57, 'rescues': 1.43, 'pauses': 44.1, 'groups': 68.7, 'entry_wait_mean': 5.44, 'blocked_wait_mean': 3.56, 'guide_wait_mean': 0.47, 'staff_wait_mean': 4.04, 'full_wait_mean': 0.18}\r\n"], [5.42, "out", "bus 3 any {'dish_wait_mean': 0.66, 'dish_wait_p90': 1.22, 'cold_share': 0.0, 'seat_wait_mean': 3.39, 'turn_mean': 8.82, 'walk_km_per_staff': 2.41, 'staff_util': 0.73, 'robot_util': 0.6, 'robot_share': 0.76, 'robot_bus_share': 0.49, 'rescues': 1.48, 'pauses': 44.25, 'fragile_robot': 26.48, 'groups': 68.5, 'entry_wait_mean': 5.05, 'blocked_wait_mean': 2.98, 'guide_wait_mean': 0.44, 'staff_wait_mean': 3.41, 'full_wait_mean': 0.41}\r\n"], [6.184, "out", "bus 3 staff {'dish_wait_mean': 0.68, 'dish_wait_p90': 1.31, 'cold_share': 0.0, 'seat_wait_mean': 4.28, 'turn_mean': 10.72, 'walk_km_per_staff': 2.6, 'staff_util': 0.76, 'robot_util': 0.55, 'robot_share': 0.63, 'robot_bus_share': 0.58, 'rescues': 1.6, 'pauses': 41.88, 'groups': 69.75, 'entry_wait_mean': 5.97, 'blocked_wait_mean': 3.87, 'guide_wait_mean': 0.47, 'staff_wait_mean': 4.33, 'full_wait_mean': 0.41}\r\n"], [7.166, "out", "patrol 1 any {'dish_wait_mean': 0.62, 'dish_wait_p90': 1.11, 'cold_share': 0.0, 'seat_wait_mean': 2.19, 'turn_mean': 6.24, 'walk_km_per_staff': 2.56, 'staff_util': 0.7, 'robot_util': 0.76, 'robot_share': 0.47, 'robot_bus_share': 0.0, 'collects': 122.17, 'rescues': 2.05, 'pauses': 61.85, 'fragile_robot': 15.82, 'groups': 69.83, 'entry_wait_mean': 3.73, 'blocked_wait_mean': 1.83, 'guide_wait_mean': 0.33, 'staff_wait_mean': 2.16, 'full_wait_mean': 0.36}\r\n"], [8.139, "out", "patrol 1 staff "], [8.139, "out", "{'dish_wait_mean': 0.66, 'dish_wait_p90': 1.2, 'cold_share': 0.0, 'seat_wait_mean': 2.46, 'turn_mean': 7.11, 'walk_km_per_staff': 2.71, 'staff_util': 0.72, 'robot_util': 0.74, 'robot_share': 0.41, 'robot_bus_share': 0.0, 'collects': 128.12, 'rescues': 2.17, 'pauses': 60.58, 'groups': 70.53, 'entry_wait_mean': 4.07, 'blocked_wait_mean': 2.24, 'guide_wait_mean': 0.39, 'staff_wait_mean': 2.63, 'full_wait_mean': 0.22}\r\n"], [9.055, "out", "patrol 3 any {'dish_wait_mean': 0.64, 'dish_wait_p90': 1.23, 'cold_share': 0.0, 'seat_wait_mean': 0.95, 'turn_mean': 4.61, 'walk_km_per_staff': 2.38, 'staff_util': 0.68, 'robot_util': 0.75, 'robot_share': 0.51, 'robot_bus_share': 0.0, 'collects': 120.65, 'rescues': 1.98, 'pauses': 56.58, 'fragile_robot': 15.85, 'groups': 66.92, 'entry_wait_mean': 2.47, 'blocked_wait_mean': 0.8, 'guide_wait_mean': 0.3, 'staff_wait_mean': 1.11, 'full_wait_mean': 0.15}\r\n"], [10.124, "out", "patrol 3 staff {'dish_wait_mean': 0.66, 'dish_wait_p90': 1.24, 'cold_share': 0.0, 'seat_wait_mean': 2.1, 'turn_mean': 6.42, 'walk_km_per_staff': 2.61, 'staff_util': 0.7, 'robot_util': 0.74, 'robot_share': 0.44, 'robot_bus_share': 0.0, 'collects': 128.82, 'rescues': 1.98, 'pauses': 57.58, 'entry_wait_mean': 3.66, 'blocked_wait_mean': 1.7, 'guide_wait_mean': 0.34, 'staff_wait_mean': 2.04, 'full_wait_mean': 0.4}\r\n"], [10.157, "cmd", "python3 haizen_sim.py --main"], [10.319, "out", "1665 conditions, 0 reused, 1665 to run\r\n"], [34.511, "out", "  100/1665\r\n"], [57.975, "out", "  200/1665"], [57.979, "out", "\r\n"]]
