https://123dok.net/document/4yr10npq-efficient-algorithms-solve-scheduling-problems-variety-optimization-criteria.html