<p>A the start of each new school year, schools everywhere must undertake the laborious, time-consuming process of slotting students, teachers, and lessons into available classrooms. Time table scheduling at Japan's Saitama Prefectural Kuki-Hokuyou High School, for instance, takes 100 person-days per year. At the Kouchi Prefectural Okou High School, where scheduling starts at the beginning of April and doesn't finish until June--two months after classes have begun--the figure rises to 150 person-days.</p> <p>Quite naturally, schedule-making educators yearn for a simpler, more automatic system. So far, however, the problem has eluded such approaches. For instance, the schedule maker at Daito Bunka University's Dai-Ichi High School still needs 12 or more days to complete a schedule using a commercial scheduling software package.</p> <p>To speed this process, we first developed a Lisp prototype of a general-purpose constraint relaxation problem (CRP) solver called Coastool (Constraint-based Assignment and Scheduling Tool). Coastool solves problems merely by declaring "what the problem is," without programming "how to solve it." Its novel problem-solving method uses an arc-consistency algorithm to generate a high-quality initial assignment, then refines the solution with a hill-climbing algorithm. In our tests with actual high school scheduling problems, Coastool dramatically decreased scheduling costs.</p> <p>Moreover, by reimplementing Coastool with C++, we have developed the Windows-based SchoolMagic automatic high school scheduling system. By using virtual constraints to minimize computational time and memory size, SchoolMagic reduced scheduling costs at the largest of several Japanese high schools we studied to three person-days, for a 50-fold decrease.</p>