{
  "seed": 110274,
  "units": "wooden toy train kits; parallel branch tokens represent one kit BOM",
  "plant": "Hawthorn Toyworks",
  "layout": "U-shape",
  "hall_size_m": [
    120,
    80,
    14
  ],
  "shift_pattern": {
    "shifts_per_day": 2,
    "hours_per_shift": 8,
    "simulation_hours": 16
  },
  "arrival_rate_per_hour": 36,
  "product_bom": {
    "wheel": 4,
    "axle": 2,
    "chassis": 1,
    "cab": 1,
    "chimney": 1,
    "carton": 1
  },
  "routing": "AND-join: fork produces separate unit-equivalent tokens, downstream waits for all branch completions of same kit",
  "nodes": [
    {
      "id": "M01",
      "name": "Timber reception roller bed",
      "cycle_time_s": 35,
      "capacity_per_hour": 102.86,
      "servers": 1,
      "mtbf_hours": 175,
      "mttr_minutes": 25,
      "buffer_size": 36,
      "batch_size": 1,
      "motor_power_kw": 12.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M02",
      "name": "Lumber weight and barcode gantry",
      "cycle_time_s": 24,
      "capacity_per_hour": 150.0,
      "servers": 1,
      "mtbf_hours": 190,
      "mttr_minutes": 30,
      "buffer_size": 44,
      "batch_size": 1,
      "motor_power_kw": 5.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M03",
      "name": "Timber moisture scanning tunnel",
      "cycle_time_s": 27,
      "capacity_per_hour": 133.33,
      "servers": 1,
      "mtbf_hours": 205,
      "mttr_minutes": 35,
      "buffer_size": 52,
      "batch_size": 1,
      "motor_power_kw": 6.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M04",
      "name": "Low-temperature conditioning kiln",
      "cycle_time_s": 65,
      "capacity_per_hour": 55.38,
      "servers": 1,
      "mtbf_hours": 220,
      "mttr_minutes": 40,
      "buffer_size": 60,
      "batch_size": 1,
      "motor_power_kw": 32.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M05",
      "name": "Multi-rip timber saw",
      "cycle_time_s": 44,
      "capacity_per_hour": 81.82,
      "servers": 1,
      "mtbf_hours": 235,
      "mttr_minutes": 45,
      "buffer_size": 68,
      "batch_size": 1,
      "motor_power_kw": 28.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M06",
      "name": "Four-side wood planer",
      "cycle_time_s": 38,
      "capacity_per_hour": 94.74,
      "servers": 1,
      "mtbf_hours": 250,
      "mttr_minutes": 50,
      "buffer_size": 76,
      "batch_size": 1,
      "motor_power_kw": 22.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M07",
      "name": "Optimised crosscut saw",
      "cycle_time_s": 31,
      "capacity_per_hour": 116.13,
      "servers": 1,
      "mtbf_hours": 265,
      "mttr_minutes": 20,
      "buffer_size": 28,
      "batch_size": 1,
      "motor_power_kw": 19.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M08",
      "name": "Wheel blank CNC router",
      "cycle_time_s": 51,
      "capacity_per_hour": 70.59,
      "servers": 1,
      "mtbf_hours": 280,
      "mttr_minutes": 25,
      "buffer_size": 36,
      "batch_size": 4,
      "motor_power_kw": 21.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M09",
      "name": "Wheel profile turning lathe",
      "cycle_time_s": 47,
      "capacity_per_hour": 153.19,
      "servers": 2,
      "mtbf_hours": 160,
      "mttr_minutes": 30,
      "buffer_size": 44,
      "batch_size": 4,
      "motor_power_kw": 15.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M10",
      "name": "Axle dowel cutting cell",
      "cycle_time_s": 43,
      "capacity_per_hour": 83.72,
      "servers": 1,
      "mtbf_hours": 175,
      "mttr_minutes": 35,
      "buffer_size": 52,
      "batch_size": 2,
      "motor_power_kw": 10.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M11",
      "name": "Train chassis 5-axis router",
      "cycle_time_s": 59,
      "capacity_per_hour": 61.02,
      "servers": 1,
      "mtbf_hours": 190,
      "mttr_minutes": 40,
      "buffer_size": 60,
      "batch_size": 1,
      "motor_power_kw": 26.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M12",
      "name": "Cab and chimney bandsaw",
      "cycle_time_s": 42,
      "capacity_per_hour": 85.71,
      "servers": 1,
      "mtbf_hours": 205,
      "mttr_minutes": 45,
      "buffer_size": 68,
      "batch_size": 1,
      "motor_power_kw": 14.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M13",
      "name": "Axle metal insert sorter",
      "cycle_time_s": 28,
      "capacity_per_hour": 128.57,
      "servers": 1,
      "mtbf_hours": 220,
      "mttr_minutes": 50,
      "buffer_size": 76,
      "batch_size": 2,
      "motor_power_kw": 5.5,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M14",
      "name": "Wheel edge-radius milling station",
      "cycle_time_s": 38,
      "capacity_per_hour": 94.74,
      "servers": 1,
      "mtbf_hours": 235,
      "mttr_minutes": 20,
      "buffer_size": 28,
      "batch_size": 4,
      "motor_power_kw": 12.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M15",
      "name": "Fine drum sanding cell",
      "cycle_time_s": 49,
      "capacity_per_hour": 146.94,
      "servers": 2,
      "mtbf_hours": 250,
      "mttr_minutes": 25,
      "buffer_size": 36,
      "batch_size": 4,
      "motor_power_kw": 14.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M16",
      "name": "Cab edge softening tumbler",
      "cycle_time_s": 46,
      "capacity_per_hour": 78.26,
      "servers": 1,
      "mtbf_hours": 265,
      "mttr_minutes": 30,
      "buffer_size": 44,
      "batch_size": 1,
      "motor_power_kw": 11.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M17",
      "name": "Multi-part filtered air cleaning",
      "cycle_time_s": 39,
      "capacity_per_hour": 92.31,
      "servers": 1,
      "mtbf_hours": 280,
      "mttr_minutes": 35,
      "buffer_size": 52,
      "batch_size": 1,
      "motor_power_kw": 18.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M18",
      "name": "Water-based colour mixing skid",
      "cycle_time_s": 52,
      "capacity_per_hour": 69.23,
      "servers": 1,
      "mtbf_hours": 160,
      "mttr_minutes": 40,
      "buffer_size": 60,
      "batch_size": 1,
      "motor_power_kw": 17.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M19",
      "name": "Automated low-VOC spray booth",
      "cycle_time_s": 69,
      "capacity_per_hour": 104.35,
      "servers": 2,
      "mtbf_hours": 175,
      "mttr_minutes": 45,
      "buffer_size": 68,
      "batch_size": 1,
      "motor_power_kw": 38.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M20",
      "name": "Warm-air coating cure tunnel",
      "cycle_time_s": 86,
      "capacity_per_hour": 83.72,
      "servers": 2,
      "mtbf_hours": 190,
      "mttr_minutes": 50,
      "buffer_size": 76,
      "batch_size": 1,
      "motor_power_kw": 41.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M21",
      "name": "Coating thickness optical gauge",
      "cycle_time_s": 32,
      "capacity_per_hour": 112.5,
      "servers": 1,
      "mtbf_hours": 205,
      "mttr_minutes": 20,
      "buffer_size": 28,
      "batch_size": 1,
      "motor_power_kw": 5.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M22",
      "name": "Six-axis axle insertion robot",
      "cycle_time_s": 47,
      "capacity_per_hour": 76.6,
      "servers": 1,
      "mtbf_hours": 220,
      "mttr_minutes": 25,
      "buffer_size": 36,
      "batch_size": 1,
      "motor_power_kw": 16.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M23",
      "name": "Servo wheel-fit press",
      "cycle_time_s": 51,
      "capacity_per_hour": 70.59,
      "servers": 1,
      "mtbf_hours": 235,
      "mttr_minutes": 30,
      "buffer_size": 44,
      "batch_size": 1,
      "motor_power_kw": 21.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M24",
      "name": "Precision cab adhesive dosing",
      "cycle_time_s": 41,
      "capacity_per_hour": 87.8,
      "servers": 1,
      "mtbf_hours": 250,
      "mttr_minutes": 35,
      "buffer_size": 52,
      "batch_size": 1,
      "motor_power_kw": 9.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M25",
      "name": "Six-axis cab placement cell",
      "cycle_time_s": 48,
      "capacity_per_hour": 75.0,
      "servers": 1,
      "mtbf_hours": 265,
      "mttr_minutes": 40,
      "buffer_size": 60,
      "batch_size": 1,
      "motor_power_kw": 18.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M26",
      "name": "Axle rolling force tester",
      "cycle_time_s": 45,
      "capacity_per_hour": 80.0,
      "servers": 1,
      "mtbf_hours": 280,
      "mttr_minutes": 45,
      "buffer_size": 68,
      "batch_size": 1,
      "motor_power_kw": 9.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M27",
      "name": "Vision and safety quality booth",
      "cycle_time_s": 37,
      "capacity_per_hour": 97.3,
      "servers": 1,
      "mtbf_hours": 160,
      "mttr_minutes": 50,
      "buffer_size": 76,
      "batch_size": 1,
      "motor_power_kw": 7.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M28",
      "name": "Folding carton erector and labeler",
      "cycle_time_s": 38,
      "capacity_per_hour": 94.74,
      "servers": 1,
      "mtbf_hours": 175,
      "mttr_minutes": 20,
      "buffer_size": 28,
      "batch_size": 1,
      "motor_power_kw": 12.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M29",
      "name": "Train-to-carton robotic loader",
      "cycle_time_s": 46,
      "capacity_per_hour": 78.26,
      "servers": 1,
      "mtbf_hours": 190,
      "mttr_minutes": 25,
      "buffer_size": 36,
      "batch_size": 1,
      "motor_power_kw": 18.0,
      "product_basis": "one wooden toy train kit"
    },
    {
      "id": "M30",
      "name": "Palletiser and dispatch conveyor",
      "cycle_time_s": 58,
      "capacity_per_hour": 62.07,
      "servers": 1,
      "mtbf_hours": 205,
      "mttr_minutes": 30,
      "buffer_size": 44,
      "batch_size": 1,
      "motor_power_kw": 24.0,
      "product_basis": "one wooden toy train kit"
    }
  ],
  "edges": [
    {
      "from": "M01",
      "to": "M02",
      "transport_time_s": 14.92
    },
    {
      "from": "M02",
      "to": "M03",
      "transport_time_s": 14.92
    },
    {
      "from": "M03",
      "to": "M04",
      "transport_time_s": 14.92
    },
    {
      "from": "M04",
      "to": "M05",
      "transport_time_s": 14.92
    },
    {
      "from": "M05",
      "to": "M06",
      "transport_time_s": 14.92
    },
    {
      "from": "M06",
      "to": "M07",
      "transport_time_s": 14.92
    },
    {
      "from": "M07",
      "to": "M08",
      "transport_time_s": 14.92
    },
    {
      "from": "M07",
      "to": "M10",
      "transport_time_s": 28.76
    },
    {
      "from": "M07",
      "to": "M11",
      "transport_time_s": 35.68
    },
    {
      "from": "M07",
      "to": "M12",
      "transport_time_s": 42.6
    },
    {
      "from": "M07",
      "to": "M18",
      "transport_time_s": 58.23
    },
    {
      "from": "M08",
      "to": "M09",
      "transport_time_s": 14.92
    },
    {
      "from": "M09",
      "to": "M14",
      "transport_time_s": 35.17
    },
    {
      "from": "M14",
      "to": "M15",
      "transport_time_s": 13.6
    },
    {
      "from": "M15",
      "to": "M17",
      "transport_time_s": 19.2
    },
    {
      "from": "M10",
      "to": "M13",
      "transport_time_s": 27.13
    },
    {
      "from": "M13",
      "to": "M22",
      "transport_time_s": 48.82
    },
    {
      "from": "M11",
      "to": "M17",
      "transport_time_s": 35.91
    },
    {
      "from": "M12",
      "to": "M16",
      "transport_time_s": 28.25
    },
    {
      "from": "M16",
      "to": "M17",
      "transport_time_s": 13.6
    },
    {
      "from": "M17",
      "to": "M19",
      "transport_time_s": 18.51
    },
    {
      "from": "M18",
      "to": "M19",
      "transport_time_s": 14.23
    },
    {
      "from": "M19",
      "to": "M20",
      "transport_time_s": 14.92
    },
    {
      "from": "M20",
      "to": "M21",
      "transport_time_s": 14.92
    },
    {
      "from": "M21",
      "to": "M22",
      "transport_time_s": 14.92
    },
    {
      "from": "M22",
      "to": "M23",
      "transport_time_s": 14.92
    },
    {
      "from": "M23",
      "to": "M24",
      "transport_time_s": 14.92
    },
    {
      "from": "M24",
      "to": "M25",
      "transport_time_s": 14.92
    },
    {
      "from": "M25",
      "to": "M26",
      "transport_time_s": 14.92
    },
    {
      "from": "M26",
      "to": "M27",
      "transport_time_s": 14.92
    },
    {
      "from": "M27",
      "to": "M28",
      "transport_time_s": 14.92
    },
    {
      "from": "M28",
      "to": "M29",
      "transport_time_s": 14.92
    },
    {
      "from": "M29",
      "to": "M30",
      "transport_time_s": 14.92
    }
  ]
}