We develop an algorithmic framework that finds an optimal solution by enumerating some feasible solutions, which number is bounded by a specially derived Variable Parameter (VP) with a favorable asymptotic behavior. We build a VP algorithm for a strongly $\mathsf{NP}$-hard single-machine scheduling problem. The target VP $\nu$ is the number of jobs with some special properties, the so-called emerging jobs. At phase 1 a partial solution including $n-\nu$ non-emerging jobs is constructed in a low degree polynomial time. At phase 2 less than $\nu!$ permutations of the $\nu$ emerging jobs are considered, each of them being incorporated into the partial schedule of phase 1. Based on an earlier conducted experimental study, in practice, $\nu/n$ varied from $1/4$ for small problem instances to $1/10$ for the largest tested instances. We illustrate how the proposed method can be used to build a polynomial-time approximation scheme (PTAS) with the worst-case time complexity $O(\kappa!\kappa k n \log n)$, where $\kappa$, $\kappa<\nu< n$, is a VP and the corresponding approximation factor is $1+1/k$, with $k\kappa<k$. This is better than the time complexity of the earlier known approximation schemes. Using an intuitive probabilistic model, we give more realistic bounds on the running time of the VP algorithm and the PTAS, which are far below the worst-case bounds $\nu!$ and $\kappa!$.
翻译:我们提出一种算法框架,通过枚举部分可行解来寻找最优解,其枚举数量受限于一个具有良好渐近行为的特殊可变参数(VP)。针对一个强$\mathsf{NP}$-难的单机调度问题,我们构建了一个VP算法。目标VP $\nu$ 是具有某些特殊属性(即所谓新兴作业)的作业数量。第一阶段在低阶多项式时间内构建一个包含$n-\nu$个非新兴作业的部分解。第二阶段考虑少于$\nu!$种$\nu$个新兴作业的排列,并将每种排列融入第一阶段的部分调度中。基于先前开展的实验研究,实践中$\nu/n$的取值从较小规模问题实例的$1/4$变化到最大测试实例的$1/10$。我们展示了如何利用所提方法构建一个多项式时间近似方案(PTAS),其最坏情况时间复杂度为$O(\kappa!\kappa k n \log n)$,其中$\kappa$($\kappa<\nu< n$)是一个可变参数,相应的近似因子为$1+1/k$,且满足$k\kappa<k$。这比先前已知近似方案的时间复杂度更优。通过直观的概率模型,我们给出了VP算法和PTAS运行时间更现实的界限,这些界限远低于最坏情况下的$\nu!$和$\kappa!$。