In this paper we study a single machine scheduling problem with the objective of minimizing the sum of completion times. Each of the given jobs is either short or long. However the processing times are initially hidden to the algorithm, but can be tested. This is done by executing a processing time oracle, which reveals the processing time of a given job. Each test occupies a time unit in the schedule, therefore the algorithm must decide for which jobs it will call the processing time oracle. The objective value of the resulting schedule is compared with the objective value of an optimal schedule, which is computed using full information. The resulting competitive ratio measures the price of hidden processing times, and the goal is to design an algorithm with minimal competitive ratio. Two models are studied in this paper. In the non-adaptive model, the algorithm needs to decide beforehand which jobs to test, and which jobs to execute untested. However in the adaptive model, the algorithm can make these decisions adaptively depending on the outcomes of the job tests. In both models we provide optimal polynomial time algorithms following a two-phase strategy, which consist of a first phase where jobs are tested, and a second phase where jobs are executed obliviously. Experiments give strong evidence that optimal algorithms have this structure. Proving this property is left as an open problem.
翻译:在本文中,我们研究一个机器排程问题,目的是最大限度地减少完成时间的总和。 每一个给定的工作都是短或长的。 但是处理时间最初隐藏在算法中, 但可以测试。 这是通过执行一个处理时间或触雷, 显示给定工作的处理时间。 每次测试都占据一个时间单位, 因此算法必须决定它要给哪些工作取名为处理时间或触雷。 因此, 结果的排程的客观价值要与最佳时间表的客观价值相比较, 最佳时间表的客观价值要用完整的信息来计算。 由此产生的竞争性比率衡量隐藏的处理时间的价格, 目标是设计一种具有最低竞争比率的算法。 本文研究了两种模式。 在非适应性模型中, 算法需要事先决定要测试哪些工作, 以及要执行哪些未测试的工作。 但是在适应性模型中, 算法可以根据工作测试的结果来做出这些决定。 在两个模型中, 我们按照一个两阶段的战略提供最佳的多元时间算法, 其中包括第一阶段测试工作的价格, 并且目标是设计一种最小的算法, 第二阶段是这个最差的试验。 。 。 第二阶段是这个最优的模型是最差的。