matlab中acker,Busacker-Gowan算法的Matlab实现.doc

楚雄师范学院

2012届本科毕业生毕业论文

? 题 目 Busacker-Gowan算法的Matlab实现

姓 名 角有

系(院) 数学系09级 (3)班

专 业 信息与计算科学

指导老师 张坤

摘要:最小费用最大流问题作为网络流问题的组成部分,主要研究的是网络最优化问题,它在工程丶经济及科学等领域有着重要意义。其主要涉及最短路丶最大流及最小费用流等方面的问题,随着物流运输的发展,尤其是计算机技术的广泛应用人们对其的研究越来越升入,提出了一系列相应的算法,建立了较为完善的理论,为人类社会的发展做出了巨大的贡献。

本文研究的重点是物资运输的网络模型,对最小费用最大流的Busacker-Gowan算法进行研究,分析。并对最小费用最大流问题进行延伸进一步讨论他的实际应用问题,从而不断的完善最小费用最大流问题的理论知识体系。

关键词:最小费用最大流;Busacker-Gowan算法;物资运输。

引 言

最小费用流问题也叫最小费用最大流问题,是最为基本的网络流模型,传统的最小费用流问题它是指在一个给定的网络中求一个从发点到收点的流值为某一给定常数的流,使其费用最小。在这个网络中,每条弧的容量是固定不变的,流不能在中间点停留。最小费用流模型有着极为广泛的应用,例如将货物从加工工厂发送到仓库,或从仓库发送给零售商:在生产线上把原材料或中间产品制造出最终产品;电话系统中的电话线路的安排问题;以及一些看起来并不那么“直接”的应用等。

最小费用流问题是图论领域中的一个重要问题,是网络优化中的核心问题,在

实际生活中,许多问题,诸如最短路问题、最大流问题、运输问题、指派问题等,

都是最小费用流问题的特例,或者说都可以转化为最小费用流问题。迄今为止,最

小费用流问题在许多生产实际中都有极强的应用背景,尤其与近年的物流管理、供

应链研究等领域有比较密切的关系,并在通讯等其它许多领域有着十分广泛的应用。

因次,最小费用流问题具有很大的研究价值。

1 预备知识

(1) 前向弧和后向弧:在网络 中,如果是连接源点和汇点的一条链,定义链的方向为从到,则当链中弧的方向与规定的方向一致时,称弧为前向弧,否则称为后向弧。

(2) 增广链:设是一可行流,如果存在从源点到汇点的链,在链上,若同时满足“对于上的前向弧有”或“对于上的后向弧有”两条件,则称为增广链。

(3) 可行流:同时满足下列条件的流称为可行流。

1、容量限制条件:对每一弧

平衡条件:对于中间点有

对于源点记

对于汇点记

(4) 增广链的费用:设对于可行流存在增广链,当以调整而得到可行流时,两流的费用之差为:

称为增广链的费用,其中和分别表示上的前向弧集和后向弧集。

2.最小费用最大流问题的描述

在网络中,对应每一条弧,除了已给弧的容量外,还给了一个单位流量通过弧的费用。是的一条可行流,则其总费用为:

则求使得为最小且流量最大的问题称为最小费用最大流问题。

最小费用最大流问题是一个特殊的线性规划问题,即:在一可行流上求最大流,使得取值最小。

3.最小费用最大流理论的算法思想

若是流量为的可行流中费用最小者,而是关于的所有增广链中费用最小的增广链,那么沿着以去调整,得到的可行流就是流量为的所有可行流中的最小费用流。这样,当为最大流时,它也就是我们所要求的最小费用最大流了。

取,,是零流中费用最小的流;

(二) 构造赋权有向图,使其顶点与的顶点相同,且将中每条弧均变成两个方向相反的弧和。中各弧的权值定义为:

采用最短路算法,在赋权有向图中找出到的最短路,此时分以下两种情况:

若不存在最短路,则就是最小费用最大流,算法终止。

若存在最短路,记为,则是原网络中的一个增广链,在增广链上对进行调整

4.Busacker-Gowan算法

本文所介绍的求最小费用最大流的方法叫做迭代法,它是由Busacker-Gowan在1961年提出的,其主要步骤如下:

设网络G=(V,E,C),取初始可行流为零流。

当=0时,=

当=时,,=-

当0<

求出有向赋权图=(,, )中发点到收点的最短路,若最短路存在则不是所求的最小费用最大流,否则时所求的最小费用最大流,停止。

5. 物资运输模型的建立

物资运输要求在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值