请各位帮忙!关于学校排课的算法、及这方面的建议!分如不够,再另开贴!

saien 2003-12-03 09:53:38
1.我想知道学校这方面的需求?
2.排课的算法?
3.如何设计更合理?
4.大家如果有好的见意可以说出来?
5.留言有分!

...全文
436 53 打赏 收藏 转发到动态 举报
写回复
用AI写文章
53 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphipan 2003-12-13
  • 打赏
  • 举报
回复
从网上下一个排课系统看看!
saien 2003-12-13
  • 打赏
  • 举报
回复
四顶
saien 2003-12-13
  • 打赏
  • 举报
回复
三顶
JJNW 2003-12-12
  • 打赏
  • 举报
回复
我们学校手工操作,老师再敲进电脑打印出来
老师还可以临时找教室、学生来上课
saien 2003-12-12
  • 打赏
  • 举报
回复
二顶
gencan 2003-12-12
  • 打赏
  • 举报
回复
saien 2003-12-12
  • 打赏
  • 举报
回复
一顶
saien 2003-12-11
  • 打赏
  • 举报
回复
saien 2003-12-11
  • 打赏
  • 举报
回复
to pazee(耙子) 说的很细,在此谢谢!
耙子 2003-12-11
  • 打赏
  • 举报
回复
大家说的 人数,场地(教室)和时间 三个要素并不完全,还一个关键的就是条件,这个条件就是约束。
比如:
体育课不能安排在上午1,2节;
数学课一定要在上午;
同一门功课不能连续2天都有;
xxx老师家远,只能安排3,4节或者下午1,2节;
等等,
现在关键的难点是如何描述这个约束,保这些条件合理的描述出来。

然后再就是课程安排的回溯算法,
抽取一门功课、一个时间、一个教室,然后检查这些条件,满足则继续下一个功课、教室和时间,不满足则回退,根据不满足的条件决定是修改教室还是时间还是功课,
直到全部的可能安排结束。

条件越少,结果越多,速度越快,解不唯一,而且不一定是最优解,但一定是满足条件的解。
条件过多可能导致无解,
目前一般的这类排课的商业软件通常排一个学校的课程需要几个小时。
tiger19760407 2003-12-10
  • 打赏
  • 举报
回复
我原来做过排课系统,很复杂,我觉得,设计个好的排课系统最基本的三个要素:人数,场地(教室)和时间!要充分考虑这几个因素,至于排课系统的算法,我们那时考虑的基本很全面,一时真是说不清楚,现在我不知你要设计的是适用于大学,还是中学!要是中学就简单点,要是大学就更复杂,包括选修课和研究生的课程!
zjx1302 2003-12-10
  • 打赏
  • 举报
回复
找排课系统
mfjun007 2003-12-10
  • 打赏
  • 举报
回复
我以前分析这个系统,当时和教务处多次联系,但是结果是太理想化了,包括指导老师也一样,想的非常天真,所以当时就连需求分析也难以写清楚。主要考虑的问题应该是老师、学生、教室,结合这三方面的因素,实现起来算法太难了,其实主要是人为因素太多,做程序一旦人为干涉因素太多,那实现起来可能就得用人工智能算法了吧?本人能力有限,实现不知该怎么实现
saien 2003-12-09
  • 打赏
  • 举报
回复
请大家继续讨论!来者有分!
prgliker 2003-12-09
  • 打赏
  • 举报
回复
我想最好还能实现这个功能,那就是我们学校对某个专业的课程已定下来了,怎么分配啊,比如八个学期我们每个学期学哪能些课得先做好准备。龙大侠分析得很详细呀,不过我想这些一个人是不可能搞出来的。反正我实现不了!帮你顶一下吧
gralin 2003-12-09
  • 打赏
  • 举报
回复
太难了,我还是不知道
hj007 2003-12-09
  • 打赏
  • 举报
回复
1、你最好在纸上先把各部分要实现在功能写出来,并且写的越详细越好。
2、根据纸上写的一步一步的来,多看一些关于数据结构方面的书。
3、去delphibox看看有没有好的源程序可以下载的。一般我都在那里下载。

saien 2003-12-08
  • 打赏
  • 举报
回复
大家说不不错,请继续讨论!
besthome 2003-12-08
  • 打赏
  • 举报
回复
排课系统主要功能

1、可任意设定为每周安排1-7天,每天分上午、下午和晚上各0-5节,每节1-3小节[比如高校中专大都两小节连上],可以单独安排早晚自修,也可以单独安排周末补课;
 2、自动处理一个老师上数门、数个班级课程之间的冲突,并可任意选择数门课程的进度保持一致[上完一个班的某门课,下节课到另一班再上同一门课];同一教研组的老师在某些课时[比如上午最后一节]的教学任务可平均安排;
 3、课程的上下午课时可指定也可自动分配,每门课可安排任意次连课;
 4、自动安排高校和部分中学里的合班课[即一个或多个老师同时上若干班课]和单双周课[即隔周上课];
 5、场地限制课程[如体育]可自动平均分配,合班教室[大教室]和公共教室[比如实验室]系统会自动分配;
 6、每个班、每门课、每个老师和每个教室都可限制上课时间[某时间不排课,某时间排课最佳等],并可设定自动安排时的优先次序。夫妻老师可设置某些课时只上一人,带实验的课程可使理论课和实验课保持同步;
 7、可安排老师的教学外活动[比如进修或开会],可设定每个老师的课时是连续还是分散,一天内最多可安排多少课时;
 8、固定课时的安排[比如班级活动固定在星期二第七节];
 9、可设定课程的开课周到结课周,系统自动计算老师的工作量;
 10、支持多至十个老师同时任教同一班同一门课[比如体育课男女分别由两个老师任教];
 11、最多可支持
1000个班级、1000门课程、1000个老师、1000个教室同时排课,特殊需要可无限增多;并可按系、按专业、按年级、按教研室、按考试或考查、按教室大小等等将它们分组后作不同处理;
 12、可进行学期中途课表调整和临时课表调整,并自动打印调课通知;
 13、可在不影响其他班级的情况下任选若干班级进行重排;
 14、可以直接在打印机上打印,也可往文本文件输出:各班课表、
各老师任课表、各教室使用表和全校总表,也可任选若干班级[如某年级]、
若干老师[如某教研组]或者若干门课[如某专业]打印输出。
耙子 2003-12-08
  • 打赏
  • 举报
回复
这是一个简单的专家的系统,
通常实现的办法是回遡。
加载更多回复(33)

5,389

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧