A Branch-and-Price Algorithm for Parallel Machine Scheduling Using ZDDs and Generic Branching
研究并行机调度中最小化加权完成时间和的问题,通过改进分支定价算法,引入零压缩二元决策图求解定价问题、通用分支方案和双价格平滑等技巧,显著提升计算性能。
We study the parallel machine scheduling problem to minimize the sum of the weighted completion times of the jobs to be scheduled (problem Pm∥∑w j C j in the standard three-field notation). We use the set covering formulation that was introduced by van den Akker et al. [van den Akker J, Hoogeveen J, van de Velde S (1999) Parallel machine scheduling by column generation. Oper. Res. 47(6):862–872.] for this problem, and we improve the computational performance of their branch-and-price (B&P) algorithm by a number of techniques, including a different generic branching scheme, zero-suppressed binary decision diagrams (ZDDs) to solve the pricing problem, dual-price smoothing as a stabilization method, and Farkas pricing to handle infeasibilities. We report computational results that show the effectiveness of the algorithmic enhancements, which depends on the characteristics of the instances. To the best of our knowledge, we are also the first to use ZDDs to solve the pricing problem in a B&P algorithm for a scheduling problem. The online supplement is available at https://doi.org/10.1287/ijoc.2018.0809 .