课程安排工具
Python脚本可为一所小型私立学校生成课程表。 给定时间表模板(如 ,列出教师,时隙和排除 )和一组首选项(即,每位老师提供的课程列表,以及列出希望参加的学生的班级列表)每个课程,如 ,该脚本都会生成一个整数线性编程模型,并使用CoinMP对其进行求解,以最大程度地减少学生所遇到的时间表冲突(总体而言)。
(其中包括其他实用程序,例如jam_in_course.py ,其开发目的是帮助确定如何将一个班级分成两个部分,或者在哪里添加新课程而不必重新计算整个时间表。
对于高级用户,可以编辑solve_schedule.py第182-183行,以便确定要取消优先级的课程。 取消优先次序的逻辑是,某些课程对于学生的毕业可能是必不可少的,而另一些则是可选的。 可以对涉及可选课程的冲突进行加权,以确保计划程序优先处理基本课程。)
需要安装PuLP和CoinMP。 (除了CoinM
2024-10-06 20:27:45
19KB
Python
1