A time table scheduler using Genetic algorithm(s).
Project description
GeneticTabler
Time Table scheduling using genetic algorithm.
Developed by Dipan Nanda and Ashish Shah (c) 2021
Example of Usage
from genetictabler import GenerateTimeTable
total_classes = 6
no_courses = 6
slots = 6
total_days = 7
daily_repetition = 3
"""
Variable Definitions:
:param 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.
:param 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.
:param slots: It is the count of total lectures that are to be scheduled each
day.
:param 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.
:param daily_repetition: 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.
Note:- The table returned by the above function call is a 3-dimensional
list/array. Which is a list of timetables for each class which in itself are
2d arrays.
"""
table = GenerateTimeTable(total_classes, no_courses, slots, total_days, daily_repetition)
for single_table in table.run():
for days in single_table:
print(days)
print("-----------------------------------")
Changelog
Go here to checkout the complete changelog.
License
This is under BSD 3 Clause 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-2.0.3.tar.gz
(7.6 kB
view details)
Built Distribution
File details
Details for the file genetictabler-2.0.3.tar.gz
.
File metadata
- Download URL: genetictabler-2.0.3.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75e2fae2838d5c0a15796b6a02cf15304a8bdd598ebf72c8048155616121161a |
|
MD5 | e8ea59b66e256ebe9df7512ec4225bc6 |
|
BLAKE2b-256 | aa1408323e2cbaa54988ad8f54c11d2b57cede8c6e82ac63287c23671c8ed2d6 |
File details
Details for the file genetictabler-2.0.3-py3-none-any.whl
.
File metadata
- Download URL: genetictabler-2.0.3-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22df486b87bcfdc47e5a412c3487c742d9177342bdcad14ea8e093b1e6ce6c76 |
|
MD5 | 83518206e44fa3e97e04570ab489e77d |
|
BLAKE2b-256 | 7452326925182155c1a7ee108db576540940ddb66fb92e581795f9e35d72d5b1 |