Подобные проблемы можно решить с помощью MiniZinc, хотя я не слышал, чтобы кто-то решал эту конкретную проблему.Ваша проблема, похоже, тесно связана с проблемой jobshop .Эта проблема может обеспечить хорошую основу, и существуют различные модели для версий этой проблемы, чтобы начать с.Вы можете найти множество примеров моделей (различного качества) в репозитории тестов MiniZinc: https://github.com/MiniZinc/minizinc-benchmarks
Как отметил Патрик Трентин, вы должны учитывать сложность проблем, которые решаются с помощью MiniZinc.,Часто время их решения может расти в геометрической прогрессии или даже хуже.Чтобы найти решение сложных проблем, были приняты во внимание как способ моделирования проблемы, так и методы, которые решатель использует (и какой решатель должен использовать) для решения проблемы.Если вы только начинаете работать с MiniZinc, я бы посоветовал вам пройти курсы MiniZinc Coursera, которые быстро начнут вас: https://www.coursera.org/learn/basic-modeling