Consider a company that manufactures perishable goods. The company relies on a third party to deliver goods, which picks up delivery products at regular times. At each delivery time, there is a time window that products can be produced to be delivered at that delivery time. Suppose we have a set of jobs with each job specifying its delivery time, processing time and profit. The company can earn the profit of the job if the job is produced and delivered at its specified delivery time. From the company point of view, we are interested in picking a subset of jobs to produce and deliver so as to maximize the total profit. The jobs that are not picked will be discarded without penalty. We consider both the single machine case and the parallel and identical machines case.
In this article we consider two kinds of profits: (1) arbitrary profit, (2) profit proportional to its processing time. In the first case, we give a fully polynomial time approximation scheme (FPTAS) for a single machine with running time
. In the second case, we give a faster FPTAS for a single machine with running time
. All of our algorithms can be extended to parallel and identical machines with a degradation of performance ratios.