本文主要是介绍有向图最短路径(LINGO实现),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
model:
sets:
cities/A,B1,B2,C1,C2,C3,D/;
roads(cities,cities) /A B1,A B2,B1 C1,B1 C2,B1 C3,B2 C1,
B2 C2,B2 C3,C1 D,C2 D,C3 D/:w,x;
endsets
data:
w=2 4 3 3 1 2 3 1 1 3 4;
enddata
n=@size(cities); !终点,可修改
min=@sum(roads:w*x);
@for(cities(i)|i #ne#1 #and# i #ne#n:@sum(roads(i,j):x(i,j))=@sum(roads(j,i):x(j,i)));
!除了起点和重点,出入度相同;
@sum(roads(i,j)|i #eq#1:x(i,j))=1;!启动只有1个出度;
@sum(roads(i,j)|j #eq#n:x(i,j))=1;!终点只有1个入度;
end
这篇关于有向图最短路径(LINGO实现)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!