summary.json

← Back to submission · View raw on GitHub

{
  "generated_with": "container_sim 1.0.0",
  "scenarios": {
    "baseline": {
      "scenario_id": "baseline",
      "description": "Baseline Asia-to-Europe container service over a 180-day planning horizon",
      "horizon_days": 180,
      "warmup_days": 14,
      "replications": 30,
      "base_random_seed": 20260603,
      "fleet_size": 12,
      "route_type": "suez",
      "deliver_to": "NLRTM",
      "metrics": {
        "total_teu": {
          "mean": 315333.3333333333,
          "std": 7760.791522613608,
          "sem": 1416.9201936767793,
          "ci95_low": 312435.40615268913,
          "ci95_high": 318231.2605139775,
          "n": 30
        },
        "teu_per_day": {
          "mean": 1899.598393574298,
          "std": 46.751756160322955,
          "sem": 8.535663817329997,
          "ci95_low": 1882.141000919815,
          "ci95_high": 1917.0557862287808,
          "n": 30
        },
        "teu_per_day_second_half": {
          "mean": 1970.3703703703707,
          "std": 91.9646651994075,
          "sem": 16.790373874375277,
          "ci95_low": 1936.030200020008,
          "ci95_high": 2004.7105407207334,
          "n": 30
        },
        "teu_per_vessel": {
          "mean": 26277.777777777785,
          "std": 646.732626884468,
          "sem": 118.07668280639838,
          "ci95_low": 26036.28384605744,
          "ci95_high": 26519.27170949813,
          "n": 30
        },
        "deliveries": {
          "mean": 31.533333333333335,
          "std": 0.7760791522613609,
          "sem": 0.14169201936767795,
          "ci95_low": 31.24354061526892,
          "ci95_high": 31.82312605139775,
          "n": 30
        },
        "mean_cycle_time_days": {
          "mean": 65.9826647397281,
          "std": 0.8975439628003085,
          "sem": 0.16386835825943555,
          "ci95_low": 65.64751631600828,
          "ci95_high": 66.31781316344791,
          "n": 30
        },
        "mean_anchorage_wait_h": {
          "mean": 156.62680057971366,
          "std": 16.25021133872024,
          "sem": 2.966869104814433,
          "ci95_low": 150.55887194221947,
          "ci95_high": 162.69472921720785,
          "n": 30
        },
        "mean_origin_wait_h": {
          "mean": 28.623009039186694,
          "std": 1.102220847869221,
          "sem": 0.20123707391014745,
          "ci95_low": 28.21143301052961,
          "ci95_high": 29.03458506784378,
          "n": 30
        },
        "rtm_berth_util": {
          "mean": 0.6517307139273953,
          "std": 0.015832199315176605,
          "sem": 0.00289055089994669,
          "ci95_low": 0.645818873544731,
          "ci95_high": 0.6576425543100597,
          "n": 30
        },
        "util_L06_CANAL_NB": {
          "mean": 0.03275735099147663,
          "std": 0.0012375225456011947,
          "sem": 0.0002259396712156633,
          "ci95_low": 0.032295252478572636,
          "ci95_high": 0.03321944950438062,
          "n": 30
        },
        "util_L06_CANAL_SB": {
          "mean": 0.028482004615628394,
          "std": 0.0007907411651539784,
          "sem": 0.00014436892443425066,
          "ci95_low": 0.02818673701197265,
          "ci95_high": 0.02877727221928414,
          "n": 30
        }
      },
      "status": "ok"
    },
    "canal_closed": {
      "scenario_id": "canal_closed",
      "description": "Suez Canal unavailable; the service must use an alternative route if one exists, or fail clearly if none does",
      "horizon_days": 180,
      "warmup_days": 14,
      "replications": 30,
      "base_random_seed": 20260603,
      "fleet_size": 12,
      "route_type": "cape",
      "deliver_to": "NLRTM",
      "metrics": {
        "total_teu": {
          "mean": 270333.3333333333,
          "std": 3198.4191497474603,
          "sem": 583.9487722243927,
          "ci95_low": 269139.023994893,
          "ci95_high": 271527.6426717736,
          "n": 30
        },
        "teu_per_day": {
          "mean": 1628.5140562248998,
          "std": 19.26758523944256,
          "sem": 3.5177636880987557,
          "ci95_low": 1621.3194216559823,
          "ci95_high": 1635.7086907938174,
          "n": 30
        },
        "teu_per_day_second_half": {
          "mean": 1670.3703703703698,
          "std": 35.53799055274954,
          "sem": 6.488319691382137,
          "ci95_low": 1657.1002666099216,
          "ci95_high": 1683.640474130818,
          "n": 30
        },
        "teu_per_vessel": {
          "mean": 22527.777777777774,
          "std": 266.5349291456213,
          "sem": 48.662397685365974,
          "ci95_low": 22428.251999574415,
          "ci95_high": 22627.303555981132,
          "n": 30
        },
        "deliveries": {
          "mean": 27.033333333333335,
          "std": 0.319841914974746,
          "sem": 0.05839487722243926,
          "ci95_low": 26.913902399489302,
          "ci95_high": 27.152764267177368,
          "n": 30
        },
        "mean_cycle_time_days": {
          "mean": 77.88906005723031,
          "std": 1.0251732756480134,
          "sem": 0.18717017614129283,
          "ci95_low": 77.50625406486294,
          "ci95_high": 78.27186604959768,
          "n": 30
        },
        "mean_anchorage_wait_h": {
          "mean": 162.5183959192491,
          "std": 20.816707390732244,
          "sem": 3.8005934036295193,
          "ci95_low": 154.74530963245198,
          "ci95_high": 170.2914822060462,
          "n": 30
        },
        "mean_origin_wait_h": {
          "mean": 32.16477067609217,
          "std": 1.4635085997929875,
          "sem": 0.2671988910698066,
          "ci95_low": 31.618287583731213,
          "ci95_high": 32.711253768453126,
          "n": 30
        },
        "rtm_berth_util": {
          "mean": 0.5593314064084514,
          "std": 0.012672874865790006,
          "sem": 0.002313739810811147,
          "ci95_low": 0.5545992771631979,
          "ci95_high": 0.5640635356537048,
          "n": 30
        },
        "util_L06_CANAL_NB": {
          "mean": 0.0,
          "std": 0.0,
          "sem": 0.0,
          "ci95_low": 0.0,
          "ci95_high": 0.0,
          "n": 30
        },
        "util_L06_CANAL_SB": {
          "mean": 0.0,
          "std": 0.0,
          "sem": 0.0,
          "ci95_low": 0.0,
          "ci95_high": 0.0,
          "n": 30
        }
      },
      "status": "ok"
    },
    "canal_upgrade": {
      "scenario_id": "canal_upgrade",
      "description": "Expanded Suez Canal - more convoy slots and faster transit",
      "horizon_days": 180,
      "warmup_days": 14,
      "replications": 30,
      "base_random_seed": 20260603,
      "fleet_size": 12,
      "route_type": "suez",
      "deliver_to": "NLRTM",
      "metrics": {
        "total_teu": {
          "mean": 317000.0,
          "std": 7022.132498578064,
          "sem": 1282.060123753773,
          "ci95_low": 314377.8926319025,
          "ci95_high": 319622.1073680975,
          "n": 30
        },
        "teu_per_day": {
          "mean": 1909.638554216868,
          "std": 42.30200300348232,
          "sem": 7.723253757552851,
          "ci95_low": 1893.842726698208,
          "ci95_high": 1925.434381735528,
          "n": 30
        },
        "teu_per_day_second_half": {
          "mean": 1977.777777777778,
          "std": 89.46175554143312,
          "sem": 16.333407181351905,
          "ci95_low": 1944.372209253454,
          "ci95_high": 2011.183346302102,
          "n": 30
        },
        "teu_per_vessel": {
          "mean": 26416.66666666667,
          "std": 585.1777082148394,
          "sem": 106.8383436461479,
          "ci95_low": 26198.15771932521,
          "ci95_high": 26635.175614008134,
          "n": 30
        },
        "deliveries": {
          "mean": 31.7,
          "std": 0.7022132498578063,
          "sem": 0.1282060123753773,
          "ci95_low": 31.437789263190247,
          "ci95_high": 31.96221073680975,
          "n": 30
        },
        "mean_cycle_time_days": {
          "mean": 65.49850716003894,
          "std": 0.9238507497002211,
          "sem": 0.1686712984596234,
          "ci95_low": 65.1535356206523,
          "ci95_high": 65.84347869942557,
          "n": 30
        },
        "mean_anchorage_wait_h": {
          "mean": 156.75952880122716,
          "std": 15.796661682922576,
          "sem": 2.884062645671405,
          "ci95_low": 150.86095838853234,
          "ci95_high": 162.658099213922,
          "n": 30
        },
        "mean_origin_wait_h": {
          "mean": 28.551261635469867,
          "std": 1.1162366787628262,
          "sem": 0.20379600282434923,
          "ci95_low": 28.13445200954535,
          "ci95_high": 28.968071261394385,
          "n": 30
        },
        "rtm_berth_util": {
          "mean": 0.6552877394808205,
          "std": 0.014591630791111086,
          "sem": 0.0026640551116928314,
          "ci95_low": 0.6498391349981112,
          "ci95_high": 0.6607363439635299,
          "n": 30
        },
        "util_L06_CANAL_NB": {
          "mean": 0.004743036084747688,
          "std": 0.0001780976656402125,
          "sem": 3.251603630338571e-05,
          "ci95_low": 0.004676533323455341,
          "ci95_high": 0.004809538846040035,
          "n": 30
        },
        "util_L06_CANAL_SB": {
          "mean": 0.004115950891835339,
          "std": 0.00011753534436552139,
          "sem": 2.145891980437793e-05,
          "ci95_low": 0.004072062472963277,
          "ci95_high": 0.004159839310707402,
          "n": 30
        }
      },
      "status": "ok"
    },
    "fleet_large": {
      "scenario_id": "fleet_large",
      "description": "Larger fleet sensitivity",
      "horizon_days": 180,
      "warmup_days": 14,
      "replications": 30,
      "base_random_seed": 20260603,
      "fleet_size": 20,
      "route_type": "suez",
      "deliver_to": "NLRTM",
      "metrics": {
        "total_teu": {
          "mean": 403333.3333333333,
          "std": 7580.9804357890325,
          "sem": 1384.0913308956658,
          "ci95_low": 400502.5487159666,
          "ci95_high": 406164.11795070005,
          "n": 30
        },
        "teu_per_day": {
          "mean": 2429.7188755020084,
          "std": 45.668556842102596,
          "sem": 8.337899583708829,
          "ci95_low": 2412.665956120281,
          "ci95_high": 2446.7717948837358,
          "n": 30
        },
        "teu_per_day_second_half": {
          "mean": 2677.7777777777787,
          "std": 67.49170202688747,
          "sem": 12.322242548181135,
          "ci95_low": 2652.57596206069,
          "ci95_high": 2702.9795934948675,
          "n": 30
        },
        "teu_per_vessel": {
          "mean": 20166.666666666668,
          "std": 379.0490217894517,
          "sem": 69.2045665447833,
          "ci95_low": 20025.12743579833,
          "ci95_high": 20308.205897535005,
          "n": 30
        },
        "deliveries": {
          "mean": 40.333333333333336,
          "std": 0.7580980435789035,
          "sem": 0.13840913308956665,
          "ci95_low": 40.050254871596664,
          "ci95_high": 40.61641179507001,
          "n": 30
        },
        "mean_cycle_time_days": {
          "mean": 83.21740594776061,
          "std": 1.2329733701567263,
          "sem": 0.22510910921266866,
          "ci95_low": 82.75700612488477,
          "ci95_high": 83.67780577063645,
          "n": 30
        },
        "mean_anchorage_wait_h": {
          "mean": 481.5483017875019,
          "std": 21.66664159823781,
          "sem": 3.9557694495782108,
          "ci95_low": 473.45784485178154,
          "ci95_high": 489.6387587232222,
          "n": 30
        },
        "mean_origin_wait_h": {
          "mean": 80.83950703295282,
          "std": 2.65989196614295,
          "sem": 0.4856276101277538,
          "ci95_low": 79.84628704968148,
          "ci95_high": 81.83272701622417,
          "n": 30
        },
        "rtm_berth_util": {
          "mean": 0.8350154085907788,
          "std": 0.008437113972608249,
          "sem": 0.0015403992143465206,
          "ci95_low": 0.8318649384568794,
          "ci95_high": 0.8381658787246783,
          "n": 30
        },
        "util_L06_CANAL_NB": {
          "mean": 0.04651644461666397,
          "std": 0.0010300398150345422,
          "sem": 0.00018805868060762257,
          "ci95_low": 0.04613182142862489,
          "ci95_high": 0.046901067804703045,
          "n": 30
        },
        "util_L06_CANAL_SB": {
          "mean": 0.03685941309622345,
          "std": 0.0007830331788241176,
          "sem": 0.00014296164510564858,
          "ci95_low": 0.03656702370196532,
          "ci95_high": 0.037151802490481584,
          "n": 30
        }
      },
      "status": "ok"
    },
    "fleet_small": {
      "scenario_id": "fleet_small",
      "description": "Smaller fleet sensitivity",
      "horizon_days": 180,
      "warmup_days": 14,
      "replications": 30,
      "base_random_seed": 20260603,
      "fleet_size": 8,
      "route_type": "suez",
      "deliver_to": "NLRTM",
      "metrics": {
        "total_teu": {
          "mean": 228666.66666666666,
          "std": 6288.102248298566,
          "sem": 1148.0451484306918,
          "ci95_low": 226318.65069858957,
          "ci95_high": 231014.68263474375,
          "n": 30
        },
        "teu_per_day": {
          "mean": 1377.5100401606428,
          "std": 37.880134025894975,
          "sem": 6.915934629100553,
          "ci95_low": 1363.3653656541544,
          "ci95_high": 1391.6547146671312,
          "n": 30
        },
        "teu_per_day_second_half": {
          "mean": 1451.851851851852,
          "std": 64.81025344285278,
          "sem": 11.83267925609244,
          "ci95_low": 1427.651305491443,
          "ci95_high": 1476.0523982122609,
          "n": 30
        },
        "teu_per_vessel": {
          "mean": 28583.333333333332,
          "std": 786.0127810373208,
          "sem": 143.50564355383648,
          "ci95_low": 28289.831337323696,
          "ci95_high": 28876.835329342968,
          "n": 30
        },
        "deliveries": {
          "mean": 22.866666666666667,
          "std": 0.6288102248298564,
          "sem": 0.11480451484306915,
          "ci95_low": 22.631865069858957,
          "ci95_high": 23.101468263474377,
          "n": 30
        },
        "mean_cycle_time_days": {
          "mean": 61.59947384883159,
          "std": 0.7161536960352446,
          "sem": 0.1307511779864005,
          "ci95_low": 61.33205766387004,
          "ci95_high": 61.86689003379315,
          "n": 30
        },
        "mean_anchorage_wait_h": {
          "mean": 84.11543152638505,
          "std": 12.367136200592814,
          "sem": 2.257919822934473,
          "ci95_low": 79.49746697496045,
          "ci95_high": 88.73339607780966,
          "n": 30
        },
        "mean_origin_wait_h": {
          "mean": 12.680629358388927,
          "std": 0.7620670171287867,
          "sem": 0.13913376520403742,
          "ci95_low": 12.396068857572098,
          "ci95_high": 12.965189859205756,
          "n": 30
        },
        "rtm_berth_util": {
          "mean": 0.47475062275144003,
          "std": 0.012988590111411458,
          "sem": 0.002371381264736198,
          "ci95_low": 0.46990060349600343,
          "ci95_high": 0.47960064200687663,
          "n": 30
        },
        "util_L06_CANAL_NB": {
          "mean": 0.02365608520761473,
          "std": 0.000722484287675892,
          "sem": 0.00013190698060104591,
          "ci95_low": 0.023386305140885248,
          "ci95_high": 0.023925865274344215,
          "n": 30
        },
        "util_L06_CANAL_SB": {
          "mean": 0.020453968971267677,
          "std": 0.0007524426689887953,
          "sem": 0.00013737660767818537,
          "ci95_low": 0.020173002261108616,
          "ci95_high": 0.020734935681426737,
          "n": 30
        }
      },
      "status": "ok"
    },
    "port_slowdown": {
      "scenario_id": "port_slowdown",
      "description": "Reduced crane productivity at the Rotterdam discharge berth",
      "horizon_days": 180,
      "warmup_days": 14,
      "replications": 30,
      "base_random_seed": 20260603,
      "fleet_size": 12,
      "route_type": "suez",
      "deliver_to": "NLRTM",
      "metrics": {
        "total_teu": {
          "mean": 229000.0,
          "std": 5477.2255750516615,
          "sem": 1000.0000000000001,
          "ci95_low": 226954.7703578673,
          "ci95_high": 231045.2296421327,
          "n": 30
        },
        "teu_per_day": {
          "mean": 1379.5180722891566,
          "std": 32.995334789467854,
          "sem": 6.024096385542172,
          "ci95_low": 1367.1974117943812,
          "ci95_high": 1391.838732783932,
          "n": 30
        },
        "teu_per_day_second_half": {
          "mean": 1540.7407407407406,
          "std": 56.3795848227695,
          "sem": 10.293456796735587,
          "ci95_low": 1519.6882577800448,
          "ci95_high": 1561.7932237014365,
          "n": 30
        },
        "teu_per_vessel": {
          "mean": 19083.333333333332,
          "std": 456.435464587639,
          "sem": 83.33333333333343,
          "ci95_low": 18912.897529822272,
          "ci95_high": 19253.769136844392,
          "n": 30
        },
        "deliveries": {
          "mean": 22.9,
          "std": 0.5477225575051662,
          "sem": 0.1,
          "ci95_low": 22.695477035786727,
          "ci95_high": 23.10452296421327,
          "n": 30
        },
        "mean_cycle_time_days": {
          "mean": 87.1613729520036,
          "std": 1.543509325391776,
          "sem": 0.28180495841221903,
          "ci95_low": 86.58501709775896,
          "ci95_high": 87.73772880624824,
          "n": 30
        },
        "mean_anchorage_wait_h": {
          "mean": 568.2623233371139,
          "std": 26.85208788745044,
          "sem": 4.902498084022616,
          "ci95_low": 558.235588935172,
          "ci95_high": 578.2890577390558,
          "n": 30
        },
        "mean_origin_wait_h": {
          "mean": 35.788804930897825,
          "std": 1.6228913012952182,
          "sem": 0.296298058032768,
          "ci95_low": 35.18280735970285,
          "ci95_high": 36.3948025020928,
          "n": 30
        },
        "rtm_berth_util": {
          "mean": 0.8280233905492973,
          "std": 0.011234369232771432,
          "sem": 0.00205110581604364,
          "ci95_low": 0.8238284081351741,
          "ci95_high": 0.8322183729634205,
          "n": 30
        },
        "util_L06_CANAL_NB": {
          "mean": 0.026298139535922926,
          "std": 0.0009198616138460592,
          "sem": 0.00016794298522886434,
          "ci95_low": 0.025954657564344598,
          "ci95_high": 0.026641621507501254,
          "n": 30
        },
        "util_L06_CANAL_SB": {
          "mean": 0.02095549206795706,
          "std": 0.0006678689092717049,
          "sem": 0.00012193562235482798,
          "ci95_low": 0.020706105718685065,
          "ci95_high": 0.021204878417229053,
          "n": 30
        }
      },
      "status": "ok"
    },
    "rotterdam_upgrade": {
      "scenario_id": "rotterdam_upgrade",
      "description": "Own scenario. Relieve the binding constraint identified by the model: add a second crane-equipped deep-sea discharge berth at Rotterdam (berths 1->2, cranes 4->8), doubling aggregate discharge capacity to ~224 TEU/h while keeping per-vessel discharge speed unchanged (4 cranes per berthed vessel). Fleet held at the baseline 12 vessels so the throughput change is attributable purely to the discharge-capacity intervention, not to more ships.",
      "horizon_days": 180,
      "warmup_days": 14,
      "replications": 30,
      "base_random_seed": 20260603,
      "fleet_size": 12,
      "route_type": "suez",
      "deliver_to": "NLRTM",
      "metrics": {
        "total_teu": {
          "mean": 360000.0,
          "std": 0.0,
          "sem": 0.0,
          "ci95_low": 360000.0,
          "ci95_high": 360000.0,
          "n": 30
        },
        "teu_per_day": {
          "mean": 2168.6746987951797,
          "std": 9.250427460130737e-13,
          "sem": 1.6888892621596084e-13,
          "ci95_low": 2168.674698795179,
          "ci95_high": 2168.67469879518,
          "n": 30
        },
        "teu_per_day_second_half": {
          "mean": 2348.148148148148,
          "std": 38.416211515751066,
          "sem": 7.013808540355529,
          "ci95_low": 2333.803299017169,
          "ci95_high": 2362.4929972791265,
          "n": 30
        },
        "teu_per_vessel": {
          "mean": 30000.0,
          "std": 0.0,
          "sem": 0.0,
          "ci95_low": 30000.0,
          "ci95_high": 30000.0,
          "n": 30
        },
        "deliveries": {
          "mean": 36.0,
          "std": 0.0,
          "sem": 0.0,
          "ci95_low": 36.0,
          "ci95_high": 36.0,
          "n": 30
        },
        "mean_cycle_time_days": {
          "mean": 59.66964068326687,
          "std": 0.4814471443515825,
          "sem": 0.08789982040260255,
          "ci95_low": 59.489865365041325,
          "ci95_high": 59.849416001492415,
          "n": 30
        },
        "mean_anchorage_wait_h": {
          "mean": 29.542421826031124,
          "std": 6.237859977473359,
          "sem": 1.1388722067402755,
          "ci95_low": 27.213166630204828,
          "ci95_high": 31.87167702185742,
          "n": 30
        },
        "mean_origin_wait_h": {
          "mean": 27.675352856459106,
          "std": 1.2235282462568717,
          "sem": 0.2233846734065415,
          "ci95_low": 27.218479900809914,
          "ci95_high": 28.1322258121083,
          "n": 30
        },
        "rtm_berth_util": {
          "mean": 0.37247012357221565,
          "std": 0.0052593267092413964,
          "sem": 0.0009602172919803089,
          "ci95_low": 0.37050625870376913,
          "ci95_high": 0.37443398844066217,
          "n": 30
        },
        "util_L06_CANAL_NB": {
          "mean": 0.03566238214726978,
          "std": 0.0009667283353944787,
          "sem": 0.0001764996387583253,
          "ci95_low": 0.03530139985425554,
          "ci95_high": 0.03602336444028402,
          "n": 30
        },
        "util_L06_CANAL_SB": {
          "mean": 0.032473677117328216,
          "std": 0.0008541408357953168,
          "sem": 0.0001559440676838037,
          "ci95_low": 0.032154735687586554,
          "ci95_high": 0.03279261854706988,
          "n": 30
        }
      },
      "status": "ok"
    }
  },
  "analysis": {
    "throughput_ratio_vs_baseline": {
      "baseline": 1.0,
      "canal_closed": 0.8573,
      "canal_upgrade": 1.0053,
      "fleet_large": 1.2791,
      "fleet_small": 0.7252,
      "port_slowdown": 0.7262,
      "rotterdam_upgrade": 1.1416
    },
    "fleet_marginal_teu_per_vessel": [
      {
        "from": "fleet_small",
        "to": "baseline",
        "delta_vessels": 4,
        "delta_teu": 86666.7,
        "marginal_teu_per_added_vessel": 21666.7
      },
      {
        "from": "baseline",
        "to": "fleet_large",
        "delta_vessels": 8,
        "delta_teu": 88000.0,
        "marginal_teu_per_added_vessel": 11000.0
      }
    ],
    "teu_per_vessel_by_fleet": {
      "fleet_small": 28583.3,
      "baseline": 26277.8,
      "fleet_large": 20166.7
    },
    "anchorage_wait_h_by_fleet": {
      "fleet_small": 84.1,
      "baseline": 156.6,
      "fleet_large": 481.5
    },
    "baseline_utilisation": {
      "rtm_berth_util": 0.6517,
      "util_L06_CANAL_NB": 0.0328,
      "util_L06_CANAL_SB": 0.0285
    }
  }
}