Time Table scheduling using Genetic Algorithm.
Project description
GeneticTabler
Time Table scheduling using genetic algorithm.
Developed by Dipan Nanda and Ashish Shah (c) 2021
Example of Usage
from genetictabler import generate_timetable
total_classes = 4
no_courses = 8
slots = 6
total_days = 7
daily_repetition = 3
"""
Variable Definitions:
-total_classes: It is the count of total number of
timetables you want. Suppose If you
4 batches/student groups for CS freshmen
all studying the same courses/modules/subjects
you can generate 4 different yet coherent
yet timetables without having any clashes.
-no_courses: It is the count of total number of
courses/modules/subjects that a class
or classes are going to be taught.
For example if a class is going to be
taught only maths, physics, chemistry and CS
then total count will be 4.
-slots: it is the count of total lectures that are
to be scheduled each day.
-total_days: It is the count of total number of days for
which you want to schedule the timetable.
For example a weekly timetable will have total
5/6 days. A monthly schedule can be of 25 days.
-daily_repitition:
It is the maximum allowed number of times a
course/subject/module can have lectures per day.
It is used when the slots count is more than
no_courses
"""
table = generate_timetable(
total_classes,
no_courses,
slots,
total_days,
daily_repetition,
)
# The table returned by the above function call is a 3-dimensional list/array
# It is a list of timetables for each class which in itself are 2d arrays.
# Loop to print all the timetables.
for i in table:
for j in class:
print(j)
print("-----------------------------------")
Changelog
Go here to checkout the complete changelog.
License
This is under GNU GPL v3.0 License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
genetictabler-1.0.3.tar.gz
(6.6 kB
view hashes)
Built Distribution
Close
Hashes for genetictabler-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f62773647fd1e6e6d07cd3ddaf4f3938bf641563561f72d1186eb2cfb6d7c1a7 |
|
MD5 | fb86e4baf2236593a97604d243191917 |
|
BLAKE2b-256 | 1a3132835efcd3c2d543ae6a003de707d9f260ea2679b2656e404dc685a0bd92 |