Comparison of Scheduling Solvers
While scheduling problems can be "formulated" using mathematical optimization solvers, calculation times become enormous for medium-sized problems or larger. This is due to the branch-and-bound method, which is the solving principle of mathematical optimization solvers, and is difficult to avoid. Therefore, solvers specialized for scheduling have been developed. Here, we introduce them.
The following scheduling-specialized solvers calculate approximate solutions rather than exact ones. However, because they incorporate mechanisms for "searching" for optimal solutions, they produce solutions with better accuracy compared to those based solely on "rules," which are adopted in many scheduling systems. In general, rule-based heuristics and leveling methods (yama-kuzushi) are fast in terms of calculation time, but they produce solutions that are several tens of percent worse than the best solution. Please be aware that most products advertised as being able to solve any large problem instantly fall into this category.
OptSeq
Metaheuristic solver specialized for scheduling
Derives high-quality solutions in a short time even for large-scale problems
Supports diverse constraints such as renewable/non-renewable resources, setup times, task interruptions, and parallel tasks [1]
Hexaly
A general-purpose optimization solver with high scheduling performance
Significantly outperforms conventional solvers in job-shop scheduling
Average 8.6% improvement over known best solutions within 10 minutes [7]
OR-Tools
Open-source optimization tool developed by Google
Supports nurse scheduling, production scheduling, etc.
Performance tends to degrade on large-scale problems [10]
OptaPlanner
Java-based open-source constraint satisfaction solver
Supports a wide range of problems such as shift scheduling and vehicle routing
Implements metaheuristics such as tabu search and simulated annealing [12]
jsprit
Java-based open-source solver specialized for vehicle routing problems
Derives solutions in 2-3 hours even for problems at the 2000-node scale
Supports time window constraints and vehicle capacity constraints as well [11]
Performance Comparison

Citations:
[1] https://www.logopt.com/optseq/
[2] https://www.hexaly.com
[3] https://www.optaplanner.org
[4] https://www.logopt.com/optseq/
[5] https://www.ciirc.cvut.cz/events/scheduling-seminar-hexaly-optimizer-for-scheduling/
[6] https://github.com/giangstrider/scheduling-optimization-ortools
[7] https://www.hexaly.com/benchmark/hexaly-vs-cp-optimizer-vs-or-tools-on-the-job-shop-scheduling-problem-jssp
[8] https://docs.jboss.org/drools/release/6.2.0.CR1/optaplanner-docs/html_single/index.html
[9] https://www.hexaly.com/benchmark/hexaly-vs-gurobi-flexible-job-shop-scheduling-problem-fjsp
[10] https://datasciencedojo.com/blog/google-or-tools-nurse-scheduling/
[11] https://qiita.com/ma91n/items/c8a7c69c11f1b60cd4cc
[12] https://www.optaplanner.org/localized/ja/index.html
[13] https://developers.google.com/optimization/scheduling
[14] https://github.com/graphhopper/jsprit
