What libraries / solvers did you find useful for scheduling?
For a free one, SWIProlog has a very usable and fairly performant constraint library too (CLPFD and CLPQ). It also has the more general "constraint handling rules" (CHR) as an embedded language. If you need to develop your own constraint search strategies, Mozart/Oz 's "space" concept is elegant.
Here's the puzzle page: https://gcanyon.wordpress.com/2009/10/28/a-programming-puzzl...
And the solution in Minizinc: http://www.hakank.org/minizinc/einav_puzzle.mzn
And my solution in J: https://gcanyon.wordpress.com/2009/10/30/a-solution-to-einav...
Like others have already suggested, look into google’s ORtools library