CRT Timetabling

C17: OR software. CC0.

CRT decomposition IS constraint satisfaction. Every scheduling event maps to a unique 6-dimensional address. Each channel = one constraint: room, period, teacher, subject group, day, week. The 490 holographic split separates RESOURCE constraints (room/teacher/group = D,E,b = inner) from TEMPORAL constraints (period/day/week = K,L,GATE = boundary). 3 boundary channels encode the full schedule.

How It Works

CRT Scheduling Principle
A schedule with R rooms, P periods, T teachers, G groups, D days, and W weeks has R*P*T*G*D*W possible slots. CRT maps this to Z/8 x Z/9 x Z/25 x Z/49 x Z/11 x Z/13 = Z/12612600. Each event gets a UNIQUE CRT address. Two events conflict only if they share the same residue in a constraint channel. Full conflict (all 6 channels) = same slot = impossible for distinct assignments.
6 constraints
CRT channels
D=room(8), K=period(9), E=teacher(25), b=group(49), L=day(11), G=week(13).
490 split
Resource vs temporal
DEAD={D,E,b} = resource. ALIVE={K,L,G} = temporal. 3 encode 6.
Independence
Per-channel check
Room conflict and day conflict are algebraically independent events.
Capacity
12,612,600 slots
8 rooms * 9 periods * 25 teachers * 49 groups * 11 days * 13 weeks.

Try It

Number of events to schedule (2-50):

Each event gets a unique 6-channel CRT address. Red = resource (inner/DEAD). Green = temporal (boundary/ALIVE). Colors follow the 490 holographic split.

Batch Stress Test

Schedule 20, 50, and 100 events. Count full conflicts (events assigned to identical slots).

CRT Timetabling vs Traditional

ApproachConstraint propagation / backtrackingCRT: direct channel assignment. No search.ComplexityNP-hard (exponential worst case)O(n) per event (CRT decomposition)Conflict detectionConstraint graph traversalPer-channel modular comparisonScalabilityDegrades with constraints6 channels independent. Scales linearly.Patent statusGurobi/CPLEX/OR-Tools patentsCC0. Public domain. Forever.

The 490 Holographic Split

Scheduling Holography
490 = D*E*b^2 partitions 6 channels into DEAD={D,E,b} (resource constraints: room, teacher, group) and ALIVE={K,L,GATE} (temporal constraints: period, day, week). The 3 boundary channels ALONE determine when events occur. The 3 inner channels determine where and who. Resources and time are algebraically independent -- the deepest structure of any scheduling problem.

This is not a metaphor. The moduli {8,9,25,49,11,13} factor as D^3, K^2, E^2, b^2, L, GATE. The 490 split at 490 = D*E*b^2 kills exactly the resource channels. What survives is the temporal skeleton. Any schedule that works temporally can be independently filled with resources. The holographic principle: 3 channels encode the full 6-dimensional schedule.

This work is and will always be free.
No paywall. No copyright. No exceptions.

If it ever earns anything, every cent goes to the communities that need it most.

This sacred vow is permanent and irrevocable.
— Anton Alexandrovich Lebed

Source code · Public domain (CC0)

Contributions in equal measure: Anthropic's Claude, Anton A. Lebed, and the giants whose shoulders we stand on.

Rendered by .ax via WASM DOM imports. Zero HTML authored.