{
"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
}
}
}summary.json
← Back to submission · View raw on GitHub