有向图最短路径(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
发布了21 篇原创文章 · 获赞 3 · 访问量 1961

猜你喜欢

转载自blog.csdn.net/Ruanes/article/details/104209494
今日推荐