利用lingo程序求最小费用最大流.docx

利用lingo程序求最小费用最大流.docx

ID:52687474

大小:46.11 KB

页数:3页

时间:2020-03-29

利用lingo程序求最小费用最大流.docx_第1页
利用lingo程序求最小费用最大流.docx_第2页
利用lingo程序求最小费用最大流.docx_第3页
资源描述:

《利用lingo程序求最小费用最大流.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、利用lingo程序求最小费用最大流通常求最小费用最大流问题是分两个阶段:1,先求最大流。2,再在最大流的基础上求最小费用流。以下图为例。其中如(5,8)=(容量,费用)。求从S到T的最小费用最大流。1,先求最大流,lingo程序为:MODEL:sets:nodes/s,1,2,3,t/;arcs(nodes,nodes)/s,1s,21,t,1,32,12,33,t/:c,f;endsetsdata:c=58432108;enddatamax=flow;@for(nodes(i)

2、i#ne#1#and#i#ne#@size(nodes):@sum(ar

3、cs(i,j):f(i,j))-@sum(arcs(j,i):f(j,i))=0);@sum(arcs(i,j)

4、i#eq#1:f(i,j))=flow;@for(arcs:@bnd(0,f,c));END结果是,最大流为12,2,再在最大流的基础上求最小费用流。程序为:MODEL:sets:nodes/s,1,2,3,t/:;arcs(nodes,nodes)/s,1s,21,t,1,32,12,33,t/:b,c,f;endsetsdata:flow=12;b=8792594;c=58432108;enddatamin=@sum(arcs:b*f)

5、;@for(nodes(i)

6、i#ne#1#and#i#ne#@size(nodes):@sum(arcs(i,j):f(i,j))-@sum(arcs(j,i):f(j,i))=0);@sum(arcs(i,j)

7、i#eq#1:f(i,j))=flow;@for(arcs:@bnd(0,f,c));END结果是:Globaloptimalsolutionfound.Objectivevalue:218.0000Infeasibilities:0.000000Totalsolveriterations:0VariableValueReducedCost

8、F(S,1)5.000000-6.000000F(S,2)7.0000000.000000F(1,T)4.0000000.000000F(1,3)3.0000000.000000F(2,1)2.000000-2.000000F(2,3)5.0000000.000000F(3,T)8.000000-3.000000现利用lingo的子模型功能,将2个程序合二为一,可直接算出最小费用流。model:!最小费用最大流问题的子模型形式;sets:nodes/s,1,2,3,t/:;!定义端点代号;arcs(nodes,nodes)/s,1s,21,t,1,32

9、,12,33,t/:b,c,f;!定义弧代号;Endsetsdata:b=8792594;!定义各弧的费用值;c=58432108;!定义各弧的容量;enddataSUBMODELmaxflow:!最大流的目标函数子模型;max=flow;!求最大流;endsubmodelsubmodelminfy:!最小费用流的目标函数子模型;min=@sum(arcs:b*f);!求最小费用流;endsubmodelsubmodelcon:!约束条件;@for(nodes(i)

10、i#ne#1#and#i#ne#@size(nodes):@sum(arcs(i,j)

11、:f(i,j))-@sum(arcs(j,i):f(j,i))=0);!中间点是进出相等;@sum(arcs(i,j)

12、i#eq#1:f(i,j))=flow;!发点是流量;@for(arcs:@bnd(0,f,c));!流量应小于容量;endsubmodelCALC:!程序段,顺序执行;@SOLVE(maxflow,con);!先求最大流,注意加约束条件;flow=flow;!保留flow值,便于第2个程序使用;@solve(minfy,con);!再求最大流下的最小费用流;endcalcEND结果同上,最小费用为218Globaloptimalso

13、lutionfound.Objectivevalue:218.0000Infeasibilities:0.000000Totalsolveriterations:0VariableValueReducedCostF(S,1)5.000000-6.000000F(S,2)7.0000000.000000F(1,T)4.0000000.000000F(1,3)3.0000000.000000F(2,1)2.000000-2.000000F(2,3)5.0000000.000000F(3,T)8.000000-3.000000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。