  Employee rostering is a process of assigning available employees to open
shifts. Automating it has ubiquitous practical benefits for nearly all
industries, such as reducing manual workload and producing flexible,
high-quality schedules. In this work, we develop a hybrid methodology which
combines Mixed-Integer Linear Programming (MILP) with scatter search, an
evolutionary algorithm, having as use case the optimization of employee
rostering for Swissgrid, where it is currently a largely manual process. The
hybrid methodology guarantees compliance with labor laws, maximizes employees'
preference satisfaction, and distributes workload as uniformly as possible
among them. Above all, it is shown to be a robust and efficient algorithm,
consistently solving realistic problems of varying complexity to
near-optimality an order of magnitude faster than an MILP-alone approach using
a state-of-the-art commercial solver. Several practical extensions and use
cases are presented, which are incorporated into a software tool currently
being in pilot use at Swissgrid.
