Skip to content

[Feature]: Time Table Generator using C++ #16

@prajwal3114

Description

@prajwal3114

So, what is it about?

C++ Time Table Generator

Note: This project must use a Genetic Algorithm in C++ to generate optimized timetables.
Your implementation should be able to handle all edge cases, including multiple conflicting constraints, limited rooms or time slots, and overlapping instructor schedules.
Only submissions that meet these criteria will be considered for PR acceptance.

Overview

This project is a Time Table Generator implemented entirely in C++. It allows users to automatically generate optimized timetables for classes, labs, or events while avoiding conflicts.

The system is designed using Object-Oriented Programming (OOP) principles, making the code modular, maintainable, and easy to extend.


Features

  • Generate conflict-free timetables for multiple classes, instructors, and rooms
  • Handles constraints such as:
    • Avoiding overlapping classes for the same instructor
    • Avoiding room conflicts
    • Specific time-slot preferences
  • Implements a Genetic Algorithm to optimize the timetable
  • Console-based display of generated timetables
  • Ensures the solution covers all edge cases, making it robust for real-world scenarios

Requirements

  • C++ Implementation: Entirely written in C++
  • Object-Oriented Design: Uses classes like TimeTable, Class, Instructor, Room, GeneticAlgorithm, etc.
  • Genetic Algorithm: Required for optimization
  • Clean Code Practices:
    • Meaningful variable and function names
    • Proper input validation and error handling
    • Well-documented methods and classes

Functionality

  • Users can input:
    • Number of classes and instructors
    • Available rooms
    • Time slots and constraints
  • The program generates optimized timetables satisfying all constraints
  • Ensures no conflicts for instructors, rooms, or overlapping sessions
  • Uses algorithmic techniques (Genetic Algorithm) to find the best solution efficiently
  • Designed to handle edge cases, such as multiple conflicting constraints or limited resources

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions