SuperMap.Connector.NetworkAnalyst.FindMTSPPath C# (CSharp) Method

FindMTSPPath() public method

多旅行商(物流配送)分析,配送中心以点坐标串表示。

多旅行商分析也称为物流配送,是指在网络数据集中,给定 M 个配送中心点和 N 个配送目的地(M,N 为大于零的整数),查找经济有效的配送路径,并给出相应的行走路线。

物流配送功能就是解决如何合理分配配送次序和送货路线,使配送总花费达到最小或每个配送中心的花费达到最小。

多旅行商分析的结果将给出每个配送中心所负责的配送目的地,和每个配送中心向其负责的配送目的地配送货物时,经过各个配送目的地的顺序和相应的行走路线。 从而使各个配送中心 的配送花费相对平均,或者使所有的配送中心的总花费最小。

例子:现在有50个报刊零售地(配送目的地),和4个报刊供应地(配送中心), 现寻求这4个供应地向报刊零售地发送报纸的最优路线, 属物流配送问题。下面的示意图展示了这个例子的情况以及进行多旅行商分析后的简图。

如下图所示,左图中粉色大圆点代表4个报刊供应地(配送中心),而其他小圆点代表报刊零售地(配送目的地),共有50个;每一类颜色代表一个配送中心的配送方案,包括它所负责的配送目的地、配送次序以及配送线路。

右图为左图中矩形框圈出的第2号配送中心的配送方案:蓝色的标有数字的小圆点是2号配送中心所负责的配送目的地(共有18个),2号配送中心将按照配送目的地上标有数字的顺序依次发送报纸,即先送1号报刊零售地,再送2号报刊零售地,依次类推,并且沿着分析得出的蓝色线路完成配送,回到配送中心。

public FindMTSPPath ( string networkDatasetName, Point2D points, Point2D centerPoints, bool hasLeastTotalCost, TransportationAnalystParameter parameter ) : List>
networkDatasetName string 用于唯一标识一个网络数据集的字符串,必设参数。
points Point2D 配送目标坐标点数组,必设参数。
centerPoints Point2D 配送中心坐标点数组,必设参数。
hasLeastTotalCost bool /// 配送模式是否为总花费最小方案。可选参数,默认值为false, 表示采用局部最优方案;设置为true 表示采用总花费最小方案。 /// 总花费最小方案中,可能会出现某些配送中心点配送的花费较多,而其他的配送中心点的花费较少的情况。 局部最优方案中,会控制每个配送中心点的花费,使各个中心点花费相对平均,此时总花费不一定最小。 ///
parameter TransportationAnalystParameter 交通网络分析通用参数。可选参数,默认返回EdgeIDs、NodeIDs、Routes信息。
return List>
        public List<MTSPPath<Point2D>> FindMTSPPath(string networkDatasetName, Point2D[] points, Point2D[] centerPoints, bool hasLeastTotalCost, TransportationAnalystParameter parameter)
        {
            return _netWorkAnalystProvider.FindMTSPPath(networkDatasetName, points, centerPoints, hasLeastTotalCost, parameter);
        }

Same methods

NetworkAnalyst::FindMTSPPath ( string networkDatasetName, int nodeIDs, int centerIDs, bool hasLeastTotalCost, TransportationAnalystParameter parameter ) : List>