算法设计
存在的难点:
1. 如何部署初始的服务器
2. 如何对服务器进行有效的迭代
3. 路径如何选择?局部最优和整体最优的权衡
部署初始的服务器
算法来源于模拟退火算法,选择一定的节点部署服务器,然后进行迭代。
模拟退火算法对初始值要求高,初始值的设计来自上一篇文章的总结,选择消费节点的1/4(取整)为初始数量,同时将消费节点布置在边数最多的节点上。
如何对服务器进行有效的迭代
对初始服务器有三种迭代方案:增加,减少,更替。
增加:如果一个服务器流出带宽产生的费用远大于服务器自身的价格,选择增加一个服务器。
减少:如果一个服务器流出带宽产生的费用远小于服务器自身的价格,选择减少一个服务器。
更替:流出带宽产生的费用和自身价格差不多
问题——如何给定一个有效的界限?是设定一个阈值还是在不同的服务器中比较产生?
路径选择
局部最优和整体最优的问题?
参考用例中的8,9消费节点。考虑两点:
从同一节点(8)出发,如何进行不断的选择和迭代;
当两个节点冲突时(8,9),如何对一条路径上的带宽进行分配。