Microcity Web介绍:该网站由大连海事大学物流系的孙卓教授自主研发, Microcity Web采用的语言是lua,由于其语法简单,数据结构强大,自由度高,另外,lua也是最快的语言脚本之一,对于优化问题的求解,速度也是十分关键的。Microcity Web可以实现相关运筹问题的求解,在物流交通领域具有较强的适用性,而且具有强大的仿真功能,是新手尝试撰写仿真代码不二选择。
1、运用迪杰斯特拉算法计算各港口之间的距离矩阵
在学习求解最短路的算法中,有迪杰斯特拉算法与数学模型法,面对复杂的航线图及港口关系,数学模型存在较大误差,相比之下面对权重都是正数的线段关系,迪杰斯特拉算法更加简单快捷,且具有较强的可验证性。故对原先的GeoJson图的港口进行补充,且对原先的迪杰斯特拉算法进行补充,使之能输出各个港口之间的距离矩阵。
(1)补充代码如下:
当P>=1时,求解出来的供给站点为2,即为新加坡港,总成本为65594045;当P>=2时,求解出来的供给站点为2、8,即为新加坡港与COLONFREEZONE港,总成本为70941703;当P>=3时,求解出来的供给站点为2、5、7,总成本为81778257;当P>=4时,求解出来的供给站点为2、5、6、7,总成本为96029040。综上应建立一个供给站点,为新加坡港,最小总成本为65594045。
5、最终新加坡港对各点的供给量结果如下:
SHANGHAI | COLOMBO | SANTOS | YOKOHAMA | ||||
供给量 | 3987 | 552 | 440 | ... | ... | ... | ... |
节点 | SYDNEY | OAKLAND | CALLAO | SINES | GDANSK | MELBOURNE | DURBAN |
供给量 | ... | ... | ... | ... | ... | 265 | 207 |