【网络流】:调查设计、航线调度、项目选择

1)调查设计

问题描述:

一堆产品和一堆顾客,每个产品只能由 [ c, c' ] 个顾客做feedback,每个顾客只能做 [ p, p' ]个产品的feedback;问,能不能设计一个调查方案,使上面的条件能够满足?(这里的主要限制是,边上最小流 c、p 的要求)



方法:


(s, i)边上的流表示顾客 i 可以调查的产品数,因此具有[c, c']的限制;

(j, t)边上的流与被问到产品 j 的顾客数相对应,因此具有[p, p']的限制;

每个顾客 i 到他买过的产品 j 之间有一条容量为 1 的边 (i, j),但无下界要求(下界为0),因为对产品 j ,顾客 i 不一定非要做出feedback(只要在[c, c']之间即可);

(t, s)边上的流表示所问问题的总数,因此是 [ sigma(c), sigma(c') ];

所有节点的需求为0。

最后判断新图是否有可行流通。


正确性:

P276,定理7.53,前面构造的图G‘有一个可行流通,当且仅当存在一个可行方式来设计这个调查。


2)航线调度

问题描述:

一堆航线四元组(startID, startTime, endID, endTime);一个飞机除了可以正常的飞行一个航班 i 之外,还可以飞行满足下面条件之一的航班 j :

1) i 的终点和 j 的起点一样,且 i 和 j 之间有足够的时间维护飞机;

2)  i 和 j 之间有足够的时间从 i 的终点飞到 j 的起点,同时还有维护飞机的时间(相当于另加航班);

问:给定 k 个飞机,能把这堆航班搞定吗?


方法:



注意增加 s 到 t 的边!!!

最后判断新图是否有可行流通。


正确性:

P279,定理7.54,存在一个至多使用 k 架飞机执行所有航班的方式,当且仅当前面构造的图G‘有一个可行流通。



3)项目选择

问题描述:

一堆项目,每个项目P有利润pi(pi可正可负,表示某些基础项目是耗钱的,某些项目是暴利的),同样规定某些项目集A是另一些项目集B的基础(A必须先完成才可以开始B);我们称项目集合A是可行的,当且仅当A中的任何一个项目的基础项目(集)仍然在A集合中。

问:能不能找到一个获利最大的项目集合A,且保证A是可行的?


方法:


最后计算新图中的最小割(A', B'),并且声明A’ - {s}就是最优的项目集合。


正确性:

P286,定理7.58,如果(A', B')是G‘的一个最小割,那么集合A' - {s}是对于项目选择问题的一个最优解。








  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值