Idea: use LP duality to get lower bounds.
primal:
- maximize ∑jt xjt wj subject to (∀ t) ∑j∼ t xjt ≤ 1, (∀ j) ∑t ∼ j xjt ≤ 1
- Here j indexes the jobs, t indexes the time slots. xjt indicates whether job j is scheduled at time t. t ∼ j indicates that job j is allowed to be scheduled at time t.
dual:
- minimize ∑j yj + ∑t zt subject to (∀ t,j : t∼ j) yj + zt ≥ wj, yj ≥ 0, zt ≥ 0
the cost of any feasible dual solution is an upper bound on opt.
Note: the integrality gap is 0, since this is a special case of maximum-weight matching.
greedy on-line is 2-competitive
greedy:
1. At each time step t:
2. Assign to time slot t the maximum-weight job j not yet assigned.
3. For the analysis, set yj = zj = wj.
thm: The above algorithm is 2-competitive
Proof:
- The dual solution is feasible, and its cost is twice the cost of the matching found.
QED