Resource levelling in project scheduling with generalized precedence relationships and variable execution intensities