Joern的华为软挑之路(一):多源多汇策略

首先非常感谢同样参赛的大佬的指导:http://blog.csdn.net/mmy1996/article/details/64443159

 

对于我们题目,1-M相当于确定的服务器组合,M+1 - M+N+1是消费节点,S和T是虚拟的超级源点和汇点

 

2.链路的权重

链路的权重就是图中的cost(即单位费用),这个替换了SPFA求最短路径的算法(即最短路径在该图就等于最小单位费用)

 

3.消费节点的需求

各个消费节点的需求转化为T的需求,也即要求的最大流量(各个消费节点需求相加)

 

4.算法流程

①确定当前服务器组合1-M。

 

②利用SPFA算法求得到T的最小单位费用,然后用深度搜索找到该条路径,取路径边能容纳的最小流量流过,更新边和T的需求,并计算此条链路费用。(我们之前是求得大部分路,然后用最小单位费用排序,而这个步骤先用SPFA确定了最小单位费用,然后去找路线,个人感觉这部分省的时间较多。)

 

③循环②的步骤,直到T的需求全部满足或者所有可能路径全部搜完结束,求出此次服务器组合的最小费用。(搜索终止条件可以优化,不然搜索的太多)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值