如何解决单源多目的地问题的不连续性?

问题描述

我正在尝试将以下链接 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 in subedges if j==dd)>= 1,ctname='last_arc')

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

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

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

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

O-C

C-E

A-B

B-A

解决方案错过了 E-B 的边缘。解决这个问题的约束应该是什么。感谢您在这方面的任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)