Ovo verovatno neće biti odgovor kome se nadaš, ali možda pomogne:
http://www.unitime.org/
http://muller.unitime.org/
Na prvom linku je open source aplikacija za pravljenje rasporeda, a na drugom imaš i neke radove koji se bave teorijskom (ima, čini mi se, i nekakvog koda u njima) stranom problema.