Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

NUS-modreg-optimizer

University Timetable Scheduling Optimization

Project Description

This project aims to optimize university timetable scheduling using a genetic algorithm. The goal is to prioritize back-to-back schedules and select e-learning lectures to minimize the number of days students need to attend in-person classes. The project reads timetable data from a JSON file and visualizes the resulting optimized schedule.

Features

  • Selenium: Selenium to scrape data from NUS ECE website.
  • Genetic Algorithm: Utilizes a genetic algorithm to find the optimal timetable.
  • Back-to-Back Scheduling: Prioritizes back-to-back classes to reduce gaps between lectures.
  • E-Learning Selection: Selects e-learning lectures to minimize the number of days with in-person classes.
  • Visualization: Provides a visual representation of the optimized timetable.

Installation

  1. Clone the repository:

    git clone https://github.com/JosephBiefed1/NUS-modreg-optimizer.git
    cd NUSMODS
  2. Install the required dependencies:

    pip install -r requirements.txt

Usage

  1. Select your timetable according to the format in select_mods.txt.
  2. Run the optimization script:
    python main.py
  3. View the resulting optimized timetable.

About

This project focuses on optimizing university timetable scheduling using a genetic algorithm

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages