Using the NUS Timetable Optimizer

Purpose

This Optimizer helps you find an ideal timetable from a list of NUS modules and a set of constraints that you specify.

For instance, it can help you arrange your timetable to find free days, or start your days no earlier than 10 am , select only enough modules to fit your modular-credit requirements, and other possibilities.

Step 1: Selecting Modules

  • Add modules for your timetable using the Modules tab.
  • Set each module as "Required" (the default) or "Optional" by using the Make Required/Optional button. A "Required" module must be present in the final timetable, whereas an "Optional" module may be dropped if other constraints are violated.
  • If necessary, use the "Restrict Slots" button to manually limit the timetable slots for each module (for e.g., to sync timetables with friends).

Step 2: Selecting Constraints

  • Use the Constraints tab to set requirements for your generated timetable.
  • For instance, the "Earliest Lesson Start/End" constraints ensure that no module starts or ends after a certain time.
  • Note: you must enable the constraint (click on the toggle) for it to be used in the optimizer

Step 3: Running the Solver

  • Press the Run Optimizer button to run the optimization procedure.
  • This might take a few seconds.
  • If the optimization succeeds and there are no timetable clashes, the timetable will appear at the top of the screen
  • If the optimization fails, there is no timetable configuration to meet your constraints. An error message will appear over the timetable, and you will have to change your modules or constraints

Step 4: Interpreting the Results

  • The timetable will show you the modules that were selected and what timeslots and class numbers (e.g., CS3203 Recitation "1") are ideal.
  • If multiple timetable arrangements could have satisfied your constraints, you can click "Run Optimizer" again to randomly generate a different arrangement.
  • Two or more slots may appear stacked on top of each other at the same time - this indicates that the lessons are run on different weeks.
  • You can use the optimized timetable generated by this webapp as a guide to select your classes

We use Google Analytics cookies exclusively to improve your user experience and the optimizer's speed over time. No ads, ever.