Hola, que tal.
El problema que intentas resolver es mejor conocido como job shop scheduling, tal ve si buscas de esta forma encuentres mucho más de lo que esperas, o creo que hasta podrás encontrar el código.
Yo alguna vez resolví ese problema por medio de la heurística del sistema de la colonia de hormigas, cuando realice esto me estuve revisando otra heurística que lo resolvía, esta era el sistema inmune artificial.
Buscando en la teoría también encontre muchos más resultados, programas y benchmaks, los cuales me sirvieron para comparar mis resultados.
Existe una página dedicada especialmente para resolver este problema y creo que en esta existen muchos programas que yo descargue y compile para compararlos con el mio.
Si te interesa la página, hamelo saber a través de este medio.
Hasta luego.