0

我正在尝试通过以下链接扩展程序https://github.com/shellei503/Linear-Programming-Examples/blob/master/9.3%20(The%20Shortest%20Path%20Problem)/prob_1/9.3-1。 ipynb用于单源和多目标。

对现有网络的一些修改包括网络中的每条边都是双向的。我在现有代码中添加了以下约束以实现目标:

m.add_constraint(m.sum(x[(i,j)] for i,j in last_arc if j == final_END_NODE)== 1, ctname='last_arc')

for dd in remDst:
   m.add_constraint(m.sum(x[(i,j)] for i,j in subEdges if j==dd)>= 1, ctname='last_arc')

m.add_constraint(m.sum(x[(i,j)] for i,j in subEdges if i==src)== 1, ctname='start_arc_F')

m.add_constraint(m.sum(x[(i,j)] for i,j in subEdges if j==src)== 0, ctname='start_arc_B')

其中final_END_NODE是根据从源节点到最远目的地的距离计算的,remDst包括剩余的目的地,subEdges包括网络中双向可访问的边。

输出显示不连续的边,同时计算从源到所有目的地的单一最短路径。例如,O 是源节点,A、C 和 E 是目标节点。输出显示边缘:

超频

行政长官

AB

文学学士

该解决方案错过了 EB 的优势。解决这个问题的约束应该是什么。感谢您在这方面的任何帮助。

4

0 回答 0