找到你要的答案

Q:Program branch and bound for covering points with axis parallel lines in Linear programming using matlab/octave

Q:覆盖在使用MATLAB /倍频程线性规划轴线平行线分程序分支定界

I am trying to implement branch and bound technique for covering points with axis parallel lines. for each sub problem I am considering my LP solution as the LB and iterative rounding solution as the UB. At first I am considering a fractional valued variable (after applying LP) and for 0 and 1 value I am considering SP1 and SP2 as my sub-problems. for each SP1 I have UB1 and LB1 and for each SP2 I have UB2 and LB2 as mentioned earlier. Then I am checking

i) if (LB1=UB1 or LB2=UB2) then stop

ii) if (UB1 >= LB2) then solving SP2

iii) if (UB2 >= LB1) then solving SP1

I am not sure that, I am considering the right approach. Because in most of the nodes both cases ii) and iii) are happening(though at a time just one 'if' is executing). Am I using the right approach?? any help will be appreciated.

Thanks.

我尝试实现分支定界技术,用轴平行线覆盖点。对每个子问题我考虑我的LP溶液为LB和迭代舍入溶液作为UB。首先我考虑分数值变量(申请后的LP)以及0和1的价值,我考虑SP1和SP2作为我的子问题。每个SP1我UB1和LB1和每个SP2我ub2和LB2如上所述。然后我检查

我)如果(LB1 = UB1或LB2 = ub2)然后停止

ii)如果(UB1 >;= LB2)然后解决SP2

iii)如果(ub2 >;= LB1)然后解决SP1

我不确定,我正在考虑正确的方法。因为在大多数节点的情况下,II和III)正在发生(虽然只是一个'如果'正在执行)。我使用正确的方法吗?任何帮助将不胜感激。

谢谢.

answer1: 回答1:

I am not familiar with your "iterative rounding" procedure, but I will assume it is correct.

If you compare upper and lower bound you will probably have conditions ii) and iii) satisfied, specially in the beginning of the solution procedure, since your solution GAP might be big. A more common approach is to solve the sub-problem with the most promising lower bound from all available sup-problems.

Does the answer you are getting seems reasonable?

我不熟悉你的“迭代舍入”过程,但我认为它是正确的。

如果你比较上限和下限,你可能会有条件II)和III满意,特别是在开始的解决方案的过程中,因为你的解决方案差距可能大。更常见的方法是最有发展前途的下限从所有可用的支持问题解决的子问题。

你得到的答案是否合理?

matlab  octave  linear-programming  branch-and-bound