Tato práce se zabývá problémem generování školních rozvrhů. Řešení je založené na třech různých heuristických algoritmech (horolezecký algoritmus, simulované žíhání, genetický algoritmus) a je celé implementováno v jazyce Java. Přináší srovnání implementovaných heuristických algoritmů včetně popisu jejich výhod a nevýhod.This work deals with problem of generating school schedules. The solution is based on three heuristic algorithms (hill-climbing, simulated annealing, genetic algorithm) and is fully implemented in JAVA. It provides a comparison of implemented heuristic algorithms including description of their pros and cons.