An Adversarial Model for Scheduling with Testing
Résumé
We consider a novel single-machine scheduling problem where the
processing time of a job can potentially be reduced (by an \emph{a priori}
unknown amount) by testing the job. Testing a job~$j$ takes one
unit of time and may reduce its processing time from the
given upper limit $\bar{p}_j$ (which is the time taken to
execute the job if it is not tested) to any value
between $0$ and~$\bar{p}_j$.
This setting is motivated e.g.\ by
applications where a code optimizer can be run on a job before
executing it.
We consider the objective of minimizing the sum of completion times.
All jobs are available from the start,
but the reduction in their processing times as a result of testing
is unknown, making this an online problem that is amenable to
competitive analysis.
The need to balance the time spent on tests and the time spent
on job executions adds a novel flavor to the problem.
We give first and nearly tight lower and upper bounds on the competitive ratio for deterministic and randomized algorithms. We also show that minimizing the makespan is a considerably easier problem for which we give optimal deterministic and randomized online algorithms.