用lua语言+Microcity Web解决空集装箱母港选址与配送问题(一)

       Microcity Web介绍:该网站由大连海事大学物流系的孙卓教授自主研发, Microcity Web采用的语言是lua,由于其语法简单,数据结构强大,自由度高,另外,lua也是最快的语言脚本之一,对于优化问题的求解,速度也是十分关键的。Microcity Web可以实现相关运筹问题的求解,在物流交通领域具有较强的适用性,而且具有强大的仿真功能,是新手尝试撰写仿真代码不二选择。

第一部分:需求调查+预测未来空箱需求

一、问题重述

集装箱生产企业有客户分布在全球,每周需要将生产的空集装箱运输到母港,然后再使用集装箱船(10000TEU)给各个港口运输空集装箱。需解决如下问题:

  1. 需求调研
  2. 母港选址问题建模及求解
  3. 车辆路径问题建模及求解
  4. 配送仿真及可视化(2D或3D)

二、需求调研与数据准备

1、需求调研

       本研究涉及空箱调运的问题,具体考虑了空箱需求的时间序列特性,包括季节性、周期性、趋势性和随机性。因此,不能简单地将每年的集装箱吞吐量与空箱调运需求进行等比例等价。本文以2023年15个港口1-11月的吞吐量数据及去年12月吞吐量为基础,旨在预测这些港口2023年12月的集装箱吞吐量。为实现这一目标,本文假设各港口在12月内每周的空箱需求保持稳定,并根据这一假设计算每周的空箱需求量。进一步地,根据各港口的占比,将母港的10000个TEU的空箱按比例分配。考空箱吞吐量一般占集装箱吞吐量的30%,但本文考虑了按百分比进行分配,故空箱比例会被约掉,不影响最终的分配结果。

(1)数据来源与处理

       为了保证数据的准确与可靠性,本文主要是调查了该15个港口的官方网站2023年的月吞吐量数据,未查找到的数据将参考第三方权威网站数据。网站及数据汇总如下:

表1 数据来源表

港口

数据网站

港口

数据网站

SHANGHAI

https://www.portshanghai.com.cn/

MELBOURNE

https://www.portofmelbourne.com/

SINGAPORE

https://www.mpa.gov.sg/

DURBAN

https://www.transnet.net/

COLOMBO

http://www.slpa.lk/

SYDNEY

https://www.portauthoritynsw.com.au/

MANILA

http://www.ppa.com.ph/

OAKLAND

https://www.portofoakland.com/

SANTOS

https://www.portodesantos.com.br/

CALLAO

https://www.apmterminals.com/en/callao

PORT SAID

https://www.suezcanal.gov.eg/

SINES

https://www.portodesines.pt/

YOKOHAMA

https://www.city.yokohama.lg.jp/yokohamaport/

GDANSK

https://www.portgdansk.pl/

BALBOA

https://www.pancanal.com/eng/op/index.html

All Ports

https://www.gotohui.com/trade/topic-2614

表2 各个港口年集装箱统计表

NAME

COUNTRY

LON

LAT

Annual ThroughputTEU

SHANGHAI

CHINA

121.5

31.2167

47303000

SINGAPORE

SINGAPORE

103.85

1.2833

37289600

COLOMBO

SRI LANKA

79.85

6.95

6860000

MANILA

PHILIPPINES

120.97

14.5833

5474483

......

......

......

.....

......

CALLAO

PERU

-77.15

-12.0385954

2461393

SINES

PORTUGAL

-8.86

37.9575108

1800000

GDANSK

POLAND

18.67

54.35

2072000

2、代码设计思路

考虑季节性的时间序列预测.lua

Step1: 定义12个月的时间序列数据

time_series_data = [数据列表]

Step2: 初始化季节平均值和标准差列表

season_averages = []

season_stds = []

Step3: 对每个季节(共4个季节,每季节3个月)

for 每个季节 in 1 到 4:

    # 计算季节的平均值

    season_average = 计算季节的平均值

Step4:  计算季节的标准差

    season_std = 计算季节的标准差

Step5: 将平均值和标准差添加到列表

    添加 season_average 到 season_averages

    添加 season_std 到 season_stds

Step6:计算调整后的季节性差异

adjusted_seasonal_differences = []

for 每个月份值 in time_series_data:

    # 计算调整后的季节性差异

    adjusted_difference = 计算与季节平均值的差异并进行标准化

    添加 adjusted_difference 到 adjusted_seasonal_differences

Step7: 计算趋势(一阶差分的平均值)

average_trend = 计算趋势

Step8: 使用最后一个月的值,加上平均趋势和12月的季节性差异,预测下一个12月的值

next_december_prediction = 最后一个月的值 + 平均趋势 + 调整后的12月季节性差异

Step9: 输出预测结果

输出 next_december_prediction

3 、上海港与新加坡港预测实例

2023年月份

SHANGHAI Containerised(万TEU)

SINGAPORE Containerised(万TEU)

12月/Dec

406.2

233.76

1月/Jan

380.3

224.27

2月/Feb

365.4

209.61

3月/Mar

401.6

256.03

4月/Apr

401.2

247.52

5月/May

410.2

249.41

6月/Jun

415.0

242.08

7月/Jul

420.1

256.97

8月/Aug

420.5

249.46

9月/Sep

405.2

243.24

10月/Oct

400.1

243.15

11月/Nov

420.7

251.49

Predicted value

413.02

246.06

4、总的预测汇总

表3预测汇总表

NAME

COUNTRY

Annual ThroughputTEU

月平均(万)

周平均(万)

比例

分配箱数

SHANGHAI

CHINA

47303000

413

103

40%

3987

SINGAPORE

SINGAPORE

37289600

246

62

24%

2375

......

......

......

.....

......

......

......

GDANSK

POLAND

2072000

17

4

2%

167

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值