Skip to main content

使用遗传算法的时间表调度。

项目描述

遗传表

使用遗传算法的时间表调度。

Dipan NandaAshish Shah (c) 2021开发

使用示例

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("-----------------------------------")

变更日志

这里查看完整的变更日志。

执照

这是在 GNU GPL v3.0 许可下

许可证:GPL v3

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

generictabler-1.0.3.tar.gz (6.6 kB 查看哈希

已上传 source

内置分布

generictabler-1.0.3-py3-none-any.whl (7.1 kB 查看哈希

已上传 py3