最优比例生成树问题

1.问题定义

   我们设一个顶点数为n,边数为m的无环连通图G,其中ci表示是花费的代价,bi表示表示获取的利润,计算

最优比例生成树问题_第1张图片

,T为G的一个生成树。这个问题就是解决最优比例生成树的问题。在实际问题当中,我们会经常遇到如修建道路要考虑收益和开销,使得代价比最小的问题。


2.理论基础

    原问题本质是一个分数规划问题,设矩阵X在集合{0,1}中取值,当边i在生成树中时xi=1,于是我们可以转化为求下式的最小值

在解决该问题前我们按照分数规划的思想提出一个子问题,设

[转载]最优比率生成树-分数规划的应用

 我们定义z(l)可以表示为(c-l*bi)为边i的权值的图所生成的最小生成树的权值和。我们可以证明z(l)为单调递减函数,同时当z(l)=0时,l值的值最小,即我们可求的r(x)的最小值。


3.二分求解

(1)给出比率的上下限,high和low;

(2)求出mid = (high+low)/2;

(3)通过求最小生成树的算法求出z(mid),如果z(mid)=0,则mid为最后的结果;如果z(mid)<0,则(mid,high)区间不存在答案,调整high=mid,转向(2);如果z(mid)>0,则(low,mid)区间不存在答案,调整low=mid,转向(2);

其中上界的确定我们可以设一个无法达到的最大值使high为下式:

[转载]最优比率生成树-分数规划的应用

 

4.实例

最优比例生成树问题_第2张图片

               最优比例生成树问题_第3张图片

                最优比例生成树问题_第4张图片
               最优比例生成树问题_第5张图片
                

最后答案为

最优比例生成树问题_第6张图片


你可能感兴趣的:(算法,BI)