Title: Katholieke Universiteit Leuven
1- Approximation algorithms for
- rectangle stabbing and interval stabbing problems
- by
- Sofia Kovaleva ORTEC
- Frits Spieksma Katholieke Universiteit Leuven
2The problem
- Given a set of rectangles in the plane that
satisfy the following two properties - axis-parallel
- each corner-point has integral coordinates,
- FIND
- a minimum number of horizontal and vertical lines
that stab each rectangle at least once.
3The problem
- Terminology a line stabs a rectangle when the
line has a non-empty intersection with the
rectangle - Example of an instance
4The problem
A feasible solution
5The problem
Observation only a finite number of lines need
be considered.
6The problem
Observation only a finite number of lines need
be considered. Why?
7The problem
We refer to this problem as RS (Rectangle
Stabbing)
8Variants of problem RS
- Suppose that for each possible line a cost is
known (WRS). - Suppose that for each rectangle a requirement is
known (RSR). - Define the height of a rectangle as the
difference between the y-coordinates of the
upper-left and lower-left corner point. - We refer to a unit-height rectangle as an
interval. - 3. The resulting problem is referred to as IS
(Interval Stabbing) - Define the level of an interval as the
y-coordinate of its lower-left corner point. - Observe that integrality of corner points implies
that no horizontal line can stab two intervals
that have different levels.
92
1
4
3
5
10Putting RS into perspective (1)
- Notice that stabbing any set of connected figures
in the plane, using lines of at most two
different directions, yields problem RS.
11(No Transcript)
12Putting RS into perspective (2)
- Notice that any integer programming instance of
the form - Min 1 x
- S.t.
- x (A B)T 1
- x ? 0,1,
- where A and B are each interval matrices (i.e.,
a 0-1 matrix with the ones in each column
appearing consecutively), can be transformed into
an instance of RS.
13Putting RS into perspective (2)
- Example
-
- 1 1 0 1
- 0 1 1 1
- (y1 y2 y3 z1 z2 z3) 0 0 1 0 1
- 1 1 1 0
- 1 0 1 0
- 0 0 0 1
14Putting RS into perspective (2)
- Example
-
- 1 1 0 1
- 0 1 1 1
- (y1 y2 y3 z1 z2 z3) 0 0 1 0 1
- 1 1 1 0
- 1 0 1 0
- 0 0 0 1
z1
z2
z3
y3
y2
y1
15Putting RS into perspective (2)
- Example
-
- 1 1 0 1
- 0 1 1 1
- (y1 y2 y3 z1 z2 z3) 0 0 1 0 1
- 1 1 1 0
- 1 0 1 0
- 0 0 0 1
z1
z2
z3
y3
y2
y1
16Putting RS into perspective (2)
- Example
-
- 1 1 0 1
- 0 1 1 1
- (y1 y2 y3 z1 z2 z3) 0 0 1 0 1
- 1 1 1 0
- 1 0 1 0
- 0 0 0 1
z1
z2
z3
y3
y2
y1
17Putting RS into perspective (2)
- Example
-
- 1 1 0 1
- 0 1 1 1
- (y1 y2 y3 z1 z2 z3) 0 0 1 0 1
- 1 1 1 0
- 1 0 1 0
- 0 0 0 1
z1
z2
z3
y3
y2
y1
18Applications of RS and IS
- In parallel computing, the so-called rectilinear
partitioning problem is of interest. RS is
subproblem (Gaur, Ibaraki, Krishnamurty, 2002). - In maintenance
- M1
- M2
- M3
time
Decision when to inspect (select a vertical
line) and/or for which machines to outsource
the inspection (select a horizontal line)
(Hassin and Megiddo, 1991).
19Known results
- ) There is a 2-approximation algorithm for RS
(Gaur et al.). - ) There is a 2 (1/K) approximation algorithm
for IS (Hassin and Megiddo). - ) IS is APX-hard, even if no more than two
intervals are on the same level (Kovaleva, S.).
20Our results
- Consider WRSR, where there is a requirement ri
given for each rectangle i such that ri q - Result There exists a (q1)/q-approximation
algorithm for WRSR. - Consider WIS
- Result There exists a e/(e-1)-approximation
algorithm for WIS. - Consider IS, and let k be the maximum number of
intervals on the same level - Result There exists an 1/(1-(1-1/k)k)-approximati
on algorithm for IS. - This yields a 4/3 approximation for
the(difficult) case k2. - Both for k2 and for k infinity, the
integrality gap equals the corresponding ratios.
21A result for IS
22A result for IS
z1
z2
z3
y2
y1
y5
y4
y3
23A result for IS
z1
z2
z3
y2
y1
y5
y4
y3
Min y1 y2 y3 y4 y5 z1 z2
z3 s.t. y1 z1 1 y2
y3 z1 1 y1 y2
z2 1 y4
y5 z2 1 y1 y2 y3 y4
y5 z3 1 all variables in
0,1
24A result for IS
z1
z2
z3
y2
y1
y5
y4
y3
Min y1 y2 y3 y4 y5 z1 z2
z3 s.t. y1 z1 1 y2
y3 z1 1 y1 y2
z2 1 y4
y5 z2 1 y1 y2 y3 y4
y5 z3 1 all variables in
0,1
Observation If the z-values are given the
resulting problem becomes easy!
25An algorithm for IS called STAB
- Step 1 Solve the LP-relaxation of the given
formulation
3/4
1/2
1/4
1/4
1/2
- Step 2 Construct 4 solutions (in general the
number of z-variables 1) as follows
26STAB in action
- Step 2i) Set all z-variables to 0 solve the
resulting instance. We find solution no. 0
1
1
1
27STAB in action
- Step 2ii) Set the highest z-variable in the
LP-relaxation to 1, and all others to 0 solve
the resulting instance. We find solution no. 1
1
1
1
28STAB in action
- Step 2iii) Set the highest two z-variables in the
LP-relaxation to 1, and all others to 0 solve
the resulting instance. We find solution no. 2
1
1
1
29STAB in action
- Step 2iv) Set all z-variables in the
LP-relaxation to 1 solve the resulting instance.
We find solution no. 4
1
1
1
- Resulting value 3
- Step 3 output the best solution from Step 2.
30A Result
- Claim STAB is an e/(e-1) approximation
algorithm for IS - Argument
- Assume wlog that the zLP-variables are ordered,
i.e., - 1 zLP1 zLPm
- Two inequalities imply the claim
- Value(ySTAB, zSTAB) minj (j
value(yLP)/(1-zLPj1)) - and
- minj (j value(yLP)/(1-zLPj1)) e/(e-1)
value(yLP, zLP)
31A Result (cntd)
- STAB ensures that
- value(ySTAB, zSTAB) minj (value(yj, zj)) ,
- where value(yj, zj) represents the value of the
j-th candidate solution (j0,1,,m). - Let value(yj, zj) value(yj) value(zj)
- Of course, for each j value(zj) j.
- Let us now argue that, for each j,
- value(yj) value(yLP)/(1-zLPj1).
- We do this by arguing that the RHS above is a
feasible solution to the LP with given zj values
(and recall that yj is optimal wrt zj ).
32A Result (cntd)
- So is it true that for each interval i
- value(yLP)/(1-zLPj1) 1 zj?(i) ?
i
S(i) the set of y-variables stabbing interval i
Or, equivalently Sj e S(i) yjLP /(1-zLPj1) 1
zj?(i)?
Case 1 zj?(i) 1
Case 2 zj?(i) 0. It follows that ?(i) j1,
or, by the ordering of the z-variables zLP?(i)
zLPj1. Thus Sj e S(i) yjLP /(1-zLPj1) (1
zj?(i))/(1-zLPj1) 1.
33A Result
- It follows that
- Value(ySTAB, zSTAB) minj (j
value(yLP)/(1-zLPj1)) - Together with
- minj (j value(yLP)/(1-zLPj1)) e/(e-1)
value(yLP, zLP) - the claim follows.
34Worst-case instance for IS with k2
35Question
- Do we actually need to solve an LP?