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 (1/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