如何理解constraint-wise?
仅记录自己的想法,如有不对还请多多指正。
比如有3个约束(q为不确定集合中的元素,∑qi≤Q, for q∈Q,Q是不确定集):
q1+q2 <= 1
q1+q3 <= 1
q2+q3 <= 1
q1,q2,q3 = {0,1}
这个约束等价于q1+q2+q3 <= 1,意味着q1,q2,q3中有且仅有一个可以取值为1。
而constraint-wise相当于:(相当于把每个q的约束松弛了,relax了)
q1+q2 <= 1
q1+q3 <= 1
q2+q3 <= 1
q1,q2,q3 = {0,1}
其中每个约束都是独立的,不一定要同时成立。
比如在约束 q1+q2 <= 1 中,令q1=1,q2=0,但在约束q1+q3 <= 1 中,可以令q1=0,q3=1。
也就是说,在constraint-wise中,可以把每个约束中的变量看成是不同的(看成是投影的),即第一个约束中的q1和第二个约束中的q1是不同的。
这样有点晦涩难懂,举一个简单的小例子
不确定集合的范围变大了,对应的可行解的域就变小了,得到的解更保守(可以应对更多的不确定性情况)。
因此,constraint-wise的意义就是可以得到更保守的解。
在鲁棒VRP问题中,分为①robust for each customer ②robust for each route ③robust for the network(通常很少见,不予考虑)
在这三类问题中,灵活性依次增加(我的理解是customer中只能针对某个特定的customer调整;而在route中,可针对路线中的某个customer调整;而在network中,可以对network中的某个customer调整)
而constraint-wise在鲁棒VRP问题中,只能应用于情况①,每个顾客点都可以有不确定性,取值0或1,而在情况②下for route,不能用constraint-wise,因为如果不确定性为1,那么这个route中只能有一个顾客点的取值发生变化。