Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 仓库选址问题(无向图上的最优选址)_Graph_Graph Algorithm - Fatal编程技术网

Graph 仓库选址问题(无向图上的最优选址)

Graph 仓库选址问题(无向图上的最优选址),graph,graph-algorithm,Graph,Graph Algorithm,问题描述:将多个仓库分配到网格中的特定位置,并找到将运输总成本降至最低的解决方案。 已知:两个仓库之间每公里的运输成本,一张网格状地图,其中每个边缘都有一个单位重量(1公里) 示例:查找五个仓库{A、B、C、D、E}的位置,两个仓库之间每公里的运输成本如下表所示,网格状地图如下图所示,此无向图的每条边的长度为1公里。找到使运输总成本最小化的解决方案 例如,非最优解决方案:例如:A->0,B->1,C->2,D->3,E->7,那么总成本= 成本(A,B)+成本(A,D)+成本(A,E)+成本

问题描述:将多个仓库分配到网格中的特定位置,并找到将运输总成本降至最低的解决方案。 已知:两个仓库之间每公里的运输成本,一张网格状地图,其中每个边缘都有一个单位重量(1公里)

示例:查找五个仓库{A、B、C、D、E}的位置,两个仓库之间每公里的运输成本如下表所示,网格状地图如下图所示,此无向图的每条边的长度为1公里。找到使运输总成本最小化的解决方案

例如,非最优解决方案:例如:
A->0,B->1,C->2,D->3,E->7
,那么总成本=
成本(A,B)+成本(A,D)+成本(A,E)+成本(B,C)+成本(C,D)+成本(C,E)+成本(D,E)
=
10*1+30*3+35*4+40*1+60*3+80*1+90*2+70*1

问题:如何设计多项式时间算法以找到最优解或近似最优解


非常感谢

“-”在表中表示两个仓库之间没有运输关系。请分享您迄今为止的尝试以及您遇到的问题。也请阅读。我目前的算法就是这样设计的。首先,考虑将传输关系定义为邻接矩阵的表。基于此邻接矩阵,得到相应的图。以BFS方式遍历此图并记录此BFS队列。然后每次从BFS队列中检索一个元素,并以贪婪的方式(使成本最小)将其分配到映射上的某个位置,直到BFS队列为空。这个算法速度很快,但是我们得到的解远远不是最优解。我需要一些关于这个问题的算法模型的建议。@jojo你能把这些信息包括进去吗?谢谢