Single-machine scheduling with early and tardy completion costs