Excel求解器/ opensolver找到城市之间的最短距离

时间:2018-06-09 00:21:00

标签: excel solver

我有一张包含城市的桌子以及它们之间的距离,我希望使用Excel的Solver(或OpenSolver)插件找到从城市C1到任何其他城市的所有可能距离。限制是我只能在每个城市(节点)之间使用最多2跳(弧)。因此,例如我不能使用路径C1-C2-C3-C4来找到从C1到C4的距离,因为它有3个弧。

这是表格:

    C1  C2  C3  C4  C5
C1  -   12  20  25    
C2  12  -   8       4
C3  20  8   -       10
C4  25          -   7
C5      4   10  7   -

所以使用蛮力,我会这样:

从C1到C2的选项:

a)C1-C2:12英里

b)C1-C3-C2:20 + 8 = 28英里

c)C1-C3-C5-C2:20 + 10 + 4 = 34英里但无效(3跳)

因此在求解器中我必须能够找到这两个有效选项,然后选择距离最短的选项(选项a)。

必须对路线C1-> C3,C1-> C4和C1-> C5

进行相同的操作。

有关如何制作此内容的任何线索?我正在考虑使用SUMPRODUCT,但是这个数组没有所有值,我无法弄清楚如何枚举从C1到Cn的所有可能路径。非常感谢。

1 个答案:

答案 0 :(得分:0)

好吧,还没有解决你的问题,但已经告诉你如何使用sumproduct()与决策单元B5:F9来控制一个城市到一个城市。

希望您可以编辑/扩展您的案例......

city planner with solver

对于不存在的案例,我已经放了999,好像你在寻找最小值的时候把零点放在一个好的选择,