Local search is a widely used technique for tackling challenging optimization problems, offering significant advantages in terms of computational efficiency and exhibiting strong empirical behavior across a wide range of problem domains. In this paper, we address a scheduling problem on two identical parallel machines with the objective of \emph{makespan minimization}. For this problem, we consider a local search neighborhood, called \emph{$k$-swap}, which is a more generalized version of the widely-used \emph{swap} and \emph{jump} neighborhoods. The $k$-swap neighborhood is obtained by swapping at most $k$ jobs between two machines in our schedule. First, we propose an algorithm for finding an improving neighbor in the $k$-swap neighborhood which is faster than the naive approach, and prove an almost matching lower bound on any such an algorithm. Then, we analyze the number of local search steps required to converge to a local optimum with respect to the $k$-swap neighborhood. For the case $k = 2$ (similar to the swap neighborhood), we provide a polynomial upper bound on the number of local search steps, and for the case $k = 3$, we provide an exponential lower bound. Finally, we conduct computational experiments on various families of instances, and we discuss extensions to more than two machines in our schedule.
翻译:局部搜索是解决复杂优化问题的广泛使用技术,在计算效率方面具有显著优势,并在多种问题领域表现出强大的实证性能。本文研究两台同速并行机上的调度问题,目标是最小化制造期。针对该问题,我们考虑一种名为“k-交换”的局部搜索邻域,它是广泛使用的“交换”和“跳跃”邻域的更一般化形式。k-交换邻域通过在我们的调度中最多交换两台机器间的k个作业来获得。首先,我们提出一种在k-交换邻域中寻找改进邻居的算法,该算法比朴素方法更快,并证明任何此类算法几乎匹配的下界。然后,我们分析收敛到关于k-交换邻域的局部最优所需的局部搜索步数。对于k=2的情况(类似于交换邻域),我们给出局部搜索步数的多项式上界;对于k=3的情况,我们给出指数下界。最后,我们在各种实例族上进行计算实验,并讨论将结果扩展到调度中超过两台机器的情况。