最大流模型、最小费用最大流模型、最小生成树(lingo)
发布时间
阅读量:
阅读量
最小生成树
model:
sets:
city/1..7/:u;
links(city,city):dist,x;
endsets
data:
!dist是距离矩阵;
dist=0 3 4 7 100 100 100
3 0 3 2 4 100 100
4 3 0 100 5 7 100
7 2 100 0 2 100 6
100 4 5 2 0 1 4
100 100 7 100 1 0 2
100 100 100 6 4 2 0;
enddata
!目标函数最小生成树;
min=@sum(links:dist*x);
@for(links:@bin(x));
n=@size(city);
@for(links(i,j)|i#eq#j:x(i,j)=0);
!生成树的必要条件;
@sum(links(i,j):x(i,j))=n-1;
!必有一条路径从根结点引出;
@sum(city(i):x(1,i))>=1;
!所有的路径只能用一次(不可能在一条路上来回走);
@for(links(i,j):x(i,j)+x(j,i)<=1);
全部评论 (0)
还没有任何评论哟~
