This project utilizes a genetic algorithm to generate university timetables while satisfying various constraints.
- Efficient optimization: Generates timetables that meet both hard and soft constraints. (#hard-constraints, #soft-constraints)
- Flexibility: Accommodates a wide range of scheduling preferences for students, lecturers, and courses.
- Customizable: Can be easily adapted to different universities and their specific requirements.
- Python 3.6 or later
- Django 2.0 or later
- Clone the repository:
git clone URL
- Navigate to the project directory:
cd TimetableScheduler
- Install dependencies:
pip install -r requirements.txt
- Run the development server:
python3 manage.py runserver
- Access the local server:
http://127.0.0.1:8000/
Project uses genetic algorithm to satisfy the constraints related to Timetable scheduling. The program satisfies the following constraints:-
Hard Constraints | Soft Constraints |
---|---|
A lecturer cannot be assigned to two lectures at the same time. | Attempts to minimize conflicts with student schedules. |
The assigned room must have enough capacity for the students enrolled in the course. | All courses are according to their Department |
Lectures cannot be scheduled during a lecturer's unavailable time. | Prioritizes lecturers' preferred days or time slots. per week |
Certain courses might require specific spacing between lectures. | |
Two classes cannot share the same room at the same time. |