An effective genetic algorithm for the resource levelling problem with generalised precedence relations
提出一种新型遗传算法,通过高效编码和局部搜索,快速求解具有复杂时间依赖关系的项目资源均衡问题,在大型实例上优于现有算法。
Resource levelling aims to obtain a feasible schedule to minimise the resource usage fluctuations during project execution. It is of crucial importance in project scheduling to ensure the effective use of scarce and expensive renewable resources, and has been successfully applied to production environments, such as make-to-order and engineering-to-order systems. In real-life projects, general temporal relationships are often needed to model complex time-dependencies among activities. We develop a novel genetic algorithm (GA) for the resource levelling problem with generalised precedence relations. Our design and implementation of GA features an efficient schedule generation scheme, built upon a new encoding mechanism that combines the random key representation and the shift vector representation. A two-pass local search-based improvement procedure is devised and integrated into the GA to enhance the algorithmic performance. Our GA is able to obtain near optimal solutions with less than 2% optimality gap for small instances in fractions of a second. It outperforms or is competitive with the state-of-the-art algorithms for large benchmark instances with size up to 1000 activities.