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.
- 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).
- 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
- 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
- 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