有一个项目核心算法,可出3000~5000 RMB,(1分)

  • 主题发起人 reedblue
  • 开始时间
在排课中:
1.小学、初中、高中:按班级,连排的,合班排,单双周,指定不能上某一节的,只上某几节的等条件。
2.大学排课:按教室来排,又分按多媒体教室、电脑房、实验室,教师有只上某周某几节,不能上哪一节,这周能上,下一周可能不能上,哪些条件优先,等等。
把这些约束条件定好后,来自动排,排完后才发觉有三分一无法,手动处理,这样的手动理更难处理。
还有那些人情还没算呢。这就是排课的实际。辛苦做一个自动排课系统出来,才知道不实用。现在所有的自动排课系统都是这样的。
 
早就对这个东西有兴趣了,居然还有人给钱,
把需求发一份给我吧,研究一下看能否搞定。
newms@sohu.com
 
人脑好用多了``````````
 
呵呵,其实需求是可以帖出来的,大家也可以帮你看看:)
 
把基本数据结构,需求发一份给我吧,研究一下看能否搞定。
tonysoft@sina.com.cn
 
排课问题。想实现完全自动化,目前很难。国外软件也没有实现的。都是半自动化的,需要人工干预。
 
etongmaxi@126.com
做过,看看需求和数据结构吧。没算法就建好数据结构?一个字牛,哈
 
to 各位大侠:
我把需求贴上来,如果有哪位感兴趣的话,给我联系:
reedblue@tom.com,钱肯定会给的!!!说话算数。
 
1. 课时设置:
设置每天设置早上、上午、下午、晚上课时以及是否上课。(一般早上、晚上为自习,)在教学课时安排时分早自习、上午、下午和晚自习,早自习和晚自习不上正课;
2. 设置年级上课天数:
3. 各年级周课时安排,(可以设置最后一天的下午上课节数或者只上半天课)。允许每X周休息一天(仅限于一周内全部上课,没有休息时间,该天的课程在本年级科类的全部班级应一致,以防止课程最多上课门数可以在教师基进度不一致)以及不上课时段(可注明该时段进行的活动如班会等集体活动)
4. 各年级科类各个科目以及周学时安排。(注释:原教务管理中学期科目设置不要),优先排课级别,是否在本班级上课)。
5. 课程小类问题
在课程安排时,某一个课程中可能有不同的安排方法,即某一个课程可能会分为不同的小类,比如:语文课分为“正课”和“作文”,语文正课要安排到上午,而作文需要安排到下午,并且是双节连上,再如:物理和化学会分为“正课”和“试验课”,物理(化学)正课上课在本班教室,而试验课需要在物理实验室上课,此时要考虑场地冲突问题。
6. 课程连上问题:
年级科类,科目连上(一般为2节连上,最高3节)及不上课时段设置。一般情况下不安排连上,但是如果某个课程在一周内的课时数大于每周上课天数时,则意味着必定有某一天或者某几天该课程要安排两节课,此时要安排连上,不要分开上;
另外,有可能在三年级的时候会主动要求课程连上,此时需要对要求连上的课程安排时要根据每周上课天数尽量分散;
课程连上需要确定开始时段,比如开始时段为上午第1、3节,而不能为上午第2节(因为如果为上午第2节的话,该教师有可能要上其他连节课,而不能在当天上完,因此会造成教学进度不一样。而且该班级当天上午或下午不能再上其他连节课。)连节课不能跨越上、下午。
7. 班级分科、分组:
在某一个年级安排课程时,要分文、理科;其中该年级相同的科类的教学计划安排一般是相同的,但是有一个特例:就是:高三的同一科类中要分“应届班”和“复读班”,我们在设计时采用“班级分组”的方式来解决,即:在同一年级,不管科类,只要是同一组的班级其教学计划安排是相同的。
教师教授的班级(课程)设定不考虑班级分组,即某个教师在安排课程时不考虑所教的班级分组情况。
8. 设置教师教授的课程:
本信息内设置,可设置担任课程以及优先教授课程。
教师教授课程时允许跨分组、跨科类、跨年级。
9. 场地问题:
由于某些课程,比如“微机”课(信息课)要求场地不在本班教室,而在校微机室上课,而校微机室一般情况下其数目是有限的(一般1~5个,最多10个以内),此时要考虑场地冲突问题。再比如“体育”课,由于体育课上课必须要求在室外,即学校操场,而学校操场每个学校最多2个,每个操场允许同时上课的人数有限,因此也要考虑场地冲突问题。
10. 合上科目设置,(只限全部在外场地上课的科目)
A、 设置合上科目,以及合上的最多人数或班级数,以及是否允许多人同时上课,主要时针对体育、信息等。
B、 设置合上科目、场地、所属班级。(属于某科目的班级,还是属于某几个班级, )
C、 原则:必须一个班级尽量只在一个教室。必须是一个老师教合上的班级(该科目在和上班级中为同一节)。
D、 对多合上班级数。于特殊场地向对应。
E、 用户可制定合上的班级。指定后系统将不再安排指定的班级与其他班级和上。
11. 合教课程问题:
合教课程问题主要是为了适应物理、化学等的试验课,此时该课程需要由担任此课的教师和所安排的实验室教师共同上课。
12. 设置教师教授的班级和科目安排。
可手工、自动以及两者结合使用。(一般采用手工设置,由系统查看是否存在某个班级的某个科目,是否存在教师)
自动分配原则为: 按照教师教授科目的优先级, 向各个班级分配教师和教授科目。
并自动循环,直至分配完成。
教师尽量不分配到两个年级,尽量不分配到两个科目。一个老师尽量不教授同一班级的两门课,尽量不存在一个老师教多门课程,另一个教师不教课或只教一门的情况。班主任一般情况下必须教授本班课程。
13. 教师一天内最多连续上课时。
设置教师一天内最多连上课时,是否必须不能连上
14. :特殊课程场地安排(只限全部在外场地上课的科目)
场地名称,上课科目,并注明是否为活动类课程(可多教师多班级连上),
以及该场地是否属于那几个年级或某几个班级。
● 此场地和班级场地和起来构成考试场地。
● 一般不会变化。
排课原则:按班级逐各班级的排课。
1. 安优先级,逐个排序,优先级别:1,3,5,7,2,4,6(星期)和 空一节排课原则,排1、3、5后再排2、4、6时不再排到同一节课;
2. 排完最高的级别后再排合上科目。
3. 安排下一学期课程是,有该科目的年级教师要跟随,和有用户指定各班级科目教师。

最后安排早晚自习的科目及教师,教师为教本班级的教师。
 
问题的关键是基本数据结构你都定了,而基本数据结构却是最关键的,设计得不好影响算法的。
 
排课太复杂了,条件太多
最要命的是一个学校的实际情况跟另一个学校不同,没有标准可言,差异也可能非常大
如果是大学的排课那就比高中排课复杂得很多了
 
to 我爱Pascal:
我定的基本数据结构可以不算数的,你可以随意发挥,我改!只要能满足我的以上需求。
 
这个东东,以前在大学时就搞过,不在好搞,需要手工做一些调整,不过效率是提高了不少,以前两个老师要搞近一个月才能排好的课(2万人/每班30人+-1),用了排课系统后3天就搞定了。
 
楼主的精神值得佩服,有这种精神不愁搞不出来.
这个问题我觉得可以将其高度抽象为一数学模型,
这种数学模型出来后,可以解决所有已知和未知的要求,
以前我编收费管理系统时提出一种模型,以解决所有复杂的问题,结果
提出来后那帮人不懂
 
to SLaDE:
大侠如感兴趣可以帮帮小弟哦,除了增进伟大的革命友谊,还有钱赚啊。
to 我爱PASCAL:
我爱PASCAL兄如果有时间麻烦给抽象一下啊,我不懂的话可以学。。。
 
我觉得可以考虑建立教师,课程,班级,场所四个实体,
也就是说一堂课可以由多个教师上,可以在多个场所上,
比如体育课,男生在足球场,女生在羽毛球场上.
一个老师可以多班级多场所上,如校广播教学.
以及你说的合班和合教问题.
我大概想了一下,这个问题抽象后不是想向的难.
不过的确没有时间去研究它了.
 
你在哪里,我最近有点空,不过我一般不接10K以下的小单
 
to hcm0790:
实在没办法,我只出的起这么多了。
 
自动排课的确很让人头疼呀,我搞了二个月才完成 ,试用起来感觉有些不活 。老师的要求太多。................
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部