社区
脚本语言
帖子详情
两节连排的排课问题
hr98510006
2009-06-12 09:19:17
我做的是中小学排课系统,现正研究算法...我用的是区间法,即如语文一周8节课,则123节课从周一周二可排中随机选,456节课从周三周四可排课中随机选,78节课从周五可排课中选.现面临的问题是:如果语文要求一周有两次连排(一周8节,上5天),那如何用算法实现呢??
除了两节连排,另外的还需要必须不连排,而且得各天分布均匀.望高手给赐教,QQ:29013651,小女子先谢过大家.
...全文
464
5
打赏
收藏
两节连排的排课问题
我做的是中小学排课系统,现正研究算法...我用的是区间法,即如语文一周8节课,则123节课从周一周二可排中随机选,456节课从周三周四可排课中随机选,78节课从周五可排课中选.现面临的问题是:如果语文要求一周有两次连排(一周8节,上5天),那如何用算法实现呢?? 除了两节连排,另外的还需要必须不连排,而且得各天分布均匀.望高手给赐教,QQ:29013651,小女子先谢过大家.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dyf0130
2009-06-12
打赏
举报
回复
lz要求太了
因为许多大学都有教务系统,排课系统是其中的1部分,所以可以现成的代码(由于排课算法十分复杂,比如英文不排下午,老师学生不同一上午(或下午)跨校区上课...一般可以排出40%就不错了)
lz自己简化1下,不能要求人都做好把?
hr98510006
2009-06-12
打赏
举报
回复
不过1楼的是不是没看懂呢,我的排课堂教学针对中小学的,大专院校的因为涉及到公共教室的问题,所以不适合我的算法用.
hr98510006
2009-06-12
打赏
举报
回复
QQ:29013651,邮箱是29013651@qq.com,或bt22@sohu.com
对回贴者newease表示衷心的感谢.
newease
2009-06-12
打赏
举报
回复
排课方法与技巧
排课系统采用“并行回溯”的算法,只需设置好学校基本信息和排课的各项限制条件后,其余事情则由计算机来完成。课表安排完全自动化(也可手工安排),排完后可进行调整,采用随机安排方式,具有排课速度快、准确率高、效果好,并能自动计算教师教学工作量,多种格式的班级、教师、全校课程表的输出。主要功能包括:课表管理(新建、打开、删除课表)、基本设置(年级、班级、教师、课程)、教学设置(上课时间、课时、教师任课)、排课设置(班级课表、排课条件、科目优先、排课选项)、教师安排、课程安排(自动、手动)、课表调整(单向、双向、拖动)、课程报表(班级课表、教师课表、教师任课表等)。
newease
2009-06-12
打赏
举报
回复
排课是比较高深的算法没有研究过,不过我一排课的示例,楼主需要参考可以发至邮箱
下面是帮助文件的部分内容
排课思路
课程安排:
在设置好学校基本信息、排课的各项限制条件,并排好教师授课表后,可按手工或自动排课进行课程表安排。
课程优先级:
根据具体情况,我们所学课程有专业课和基础课之分,基础课先排,而后是专业课。
手动排课:
由教师一门一门课程进行设置,由系统提示是否教师冲突或课程是否多排或少排。对于课程安排极其复杂的学校且用自动排课无法排出满意课程表的学校,可选择此种方式排课,至少教师排课时的课程数是否正确和教师是否冲突的问题。
自动排课:
课程表采用"并行回溯"的算法,按年级班级顺序一节一节排课,若排到某位置有冲突,系统回溯上一断点位置,重新安排,直到课程表全部排出为止。排课时充分考虑到课程的均匀性(即课程安排尽可能均匀,如语文一周10节,若一周上5天的话尽可能每天安排两节课)和教师授课的均匀性(如张三教师一周5天共上15节,则尽可能安排每天3节课,且3节课不连续安排在如123或234接等)。课表安排完全自动化,并采用随机安排方式,具有排课速度快、准确率高的特点。对排出的课程表不满意可进行调课或直接在课程报表中进行更改。
extjs资源库云平台 2013.8.27--
排课
系统
此博客介绍了一款专为授权用户设计的智能
排课
系统,支持鼠标拖拽课程和教师进行所见即所得的
排课
,提供单节
排课
和
两节
连排
选项。系统允许设定每天的节数,并通过分
排课
管理和课表查询流览两个界面进行操作。自动检测并中止
排课
冲突,同时支持按学期和班级查询课表。
调课:合并连
排课
节
这段代码主要处理课程调整
问题
,目的是找到并标记出连续的二节空闲课节,区分上午、下午和晚上。首先通过Split方法获取连
排课
节数,然后按日期对课程进行分组。接着遍历每个日期的课程,找出连续的2节连
排课
节,并创建新的TKVM对象存储相关信息,如教学日期、
连排
节数、起始和结束节数等。最后将这些信息添加到结果列表中。
排列组合专项训练
本文总结了NOIP竞赛中的典型排列组合
问题
及其解决方法,包括捆绑法、插空法等技巧的应用实例,覆盖从简单排列到复杂组合的多种场景。
PyQt 实现金属表盘源码分享
效果可在我博客查看,博客首页搜索:【PyQt 实现金属表盘源码分享】
新模型趋势下的AI产业投资如何做?.pptx
新模型趋势下的AI产业投资如何做?.pptx
脚本语言
743
社区成员
8,037
社区内容
发帖
与我相关
我的任务
脚本语言
PowerBuilder 脚本语言
复制链接
扫一扫
分享
社区描述
PowerBuilder 脚本语言
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章