In the Constraint Aggregation method we replace several constraints by a single one
Constraint Aggregation Example
assume 0-1 problem
|
0-1 Problem |
|---|
|
first convert the inequality constraints into equations, by introducing slack variables xn+1and xn+2
|
Augmented 0-1 Problem |
|---|
|
where:
- a1n+1 = 1
- a1n+2 = 0
- a2n+1 = 0
- a2n+2 = 1
and:
- xn+1is an integer value between 0 and b1
- xn+2is an integer value between 0 and b2
it is clear that the 2 linear constraints:
- (1) Σi=1n+2 [a1ixi] = b1
- (2) Σi=1n+2 [a2ixi] = b2
imply the new one:
- (3) Σi=1n+2 [(a1i+ ma2i)xi] = b1 + mb2
the question is how can we choose m such that the implication also holds in the opposite direction, that is, such that the aggregated constraint (3) implies (1) and (2)
aggregate constraint (3) implies:
- (4) Σi=1n+2 [a1ixi] - b1+ m { Σi=1n+2 [a2ixi] - b2 } = 0
now observe that the value of Y:
- Y = Σi=1n+2 [a1ixi] - b1
the following cases must hold about Y:
- Y ≥ -b1
- this is because both:
- Σi=1n+2 [a1i] (i.e. summation of coefficients) may equal 0
- b1 may be its maximum integer value b1
- this is because both:
- Y ≤ Σi=1n+2 [a1i]
- this is because both:
- Σi=1n+2 [a1i] may be some non-negative value
- b1 may be its minimum integer value 0
- this is because both:
so we have a bound on Y:
- |Y| ≤ b1’ = max(b1, Σi=1n+2 [a1i])
now observe value Z:
- Z = Σi=1n+2 [a2ixi] - b2
then using Y, Z, and equation (4) we get:
- (5) Y + mZ = 0
how can this equality (5) hold?
possible cases:
- if Y = Z = 0
- obviously (1) and (2) are satisfied
- if Z ≠ 0
- then |Z| ≥ 1, being an integer
- then Y must make the left hand side 0 in (5)
- if, however, we choose m = b1’ + 1,
thus, with the choice of m = b1’ + 1, we can achieve that whenever the aggregated constraint (3) is satisfiable, both original constraints (1) and (2) will also be satisfiable. Of course, this is only guaranteed when the variables take their values from the allowed ranges
remark: we can assume that b1 ≤ Σi=1n [a1i] since otherwise the original constraint Σi=1n [a1ixi] ≤ b1 would always be satisfied, so we could simply leave it out. With this assumption the choice for the constant m becomes
- m = 1 + Σi=1n [a1i]