由8.2节的讨论可知,带时间限制的最小费用运输问题的约束条件非常特殊,因而可以通过巧妙的转化,构造一个网络图,根据运输时间的限制,求出各条路线上的运量上限,从而将问题转化为网络上的最小费用最大流问题,进一步借助于最小费用最大流问题的算法求出原问题的最优解,或证明原问题无可行解。
给定一个带时间限制的产销平衡最小费用运输问题,假设有m个产地A1,A2,…,Am,各个产地的产量分别为a1,a2,…,am;n个需求地B1,B2,…,Bn,各个需求地需求量分别为b1,b2,…,bn。已知各个产地Ai到各个需求地Bj的距离为dij、单位运费为cij、从各个产地到各个需求地的运输时间限制为T,则可以按照下列步骤将其转化为最小费用最大流问题。
1)根据给定的问题构造网络图。
网络图中包括m+n+2个点(见图8-1),其中A1,A2,…,Am对应原问题中的m个产地,B1,B2,…,Bn对应原问题中的n个需求地,S为虚拟的货物总发点,T为虚拟的货物总收点。
(www.daowen.com)
图8-1 带时间限制的最小费用运输问题对应的网络图
弧SAi上的容量为ai,单位运费为0;弧BjT的容量为bj,单位运费为0;弧AiBj上的单位运费为cij,容量为bij,bij的取值需要根据各条弧的实际情况确定。
2)计算各条弧AiBj上的容量bij。首先,利用公式t0ij=ai/ui+dij/vij求出从产地Ai到需求地Bj运输过程中与运量无关的时间项t0ij。然后,令tsij=max{0,T-t0ij},根据f(xij)≤tsij算出在时间T内可以从弧AiBj上运输的最大货物量,即弧AiBj上的容量bij。显然,对于t0ij≥T的弧AiBj,tsij=max{0,T-t0ij}=0,因此,其容量为0。
3)利用最小费用最大流算法[59]求出网络的最大流,若最大流的流量等于,则其恰好对应带时间限制的运输问题总费用最低的调运方案;若最大流的流量小于,则说明原运输问题无可行解,即在规定的时间限制内无法完成调运任务。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。