第一步,求出最大流

a=zeros(7);
a(1,[2 4 3])=[3 3 6];
a(2,[4 5])=[1 3];
a(3,[4 6])=[4 2];
a(4,[5 6])=[2 7];
a(5,7)=6;
a(6,7)=7;
a=sparse(a);
[b,c]=graphmaxflow(a,1,7);

 得出结果为12

model:
sets:
nodes/s,1,2,3,4,5,t/:d;
arcs(nodes,nodes)/s 1,s 2,s 3,1 4,4 t,1 3,2 3,2 5,3 4,3 5,5 t/:b,c,f;
endsets
data:
d=12 0 0 0 0 0 -12;
b=2 1 4 3 4 3 3 4 3 1 2;
c=3 6 3 3 6 1 4 2 2 7 7;
enddata
min=@sum(arcs:b*f);
@for(nodes(i):@sum(arcs(i,j):f(i,j))-@sum(arcs(j,i):f(j,i))=d(i));
@for(arcs:@bnd(0,f,c));

第二步,求最小费用最大流 (有用到第一步得出的最大流12)

最小费用为98

详细参见 《数学建模算法与应用》,以及B站up主【【MATLAB】最小费用最大流问题求解,两步走秒杀法】https://www.bilibili.com/video/BV1sf4y157ZG?vd_source=5b1ad18fb52e8fa7539eb6c11a21850e

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐