数学建模请你来排课表
数学模型_请你来排课

请你排课表摘要:该数学模型是在课程可以合理编排的前提下,以尽可能有效利用教室座位为主要准则进行编排,通过分析影响排课问题的各种条件,利用计算机算法及数据结构知识建立的,首先得出符合基本要求的没有时间、空间冲突的课程表,然后根据各个教师,课程的周课时数量进行筛选、优化,最后得出最合理方案。
该模型依据教师为主线排课表,考虑到相同课程尽量分散,循环程序没有以教师序号进行,可以满足要求。
另外,由于第八类课程只能在机房上课,而且教师、课程数固定,可以在程序之外排入课表。
关键词:模型程序优化循环一、提出问题1.现有课程40门,编号为C01~C40;教师共有25名,编号为T01~T25;教室18间,编号为R01~R18。
具体属性及要求见表1,表2,表3:2.课表编排规则:每周以5天为单位进行编排;每天最多只能编排8节课(上午4节,下午4节),特殊情况下可以编排10节课(晚上2节),每门课程以2节课为单位进行编排,同类课程尽可能不安排在同一时间。
3.要解决的问题:①请你结合实际情况建立数学模型,通过编程计算,给出较为合理的课表编排方案,分析你所给出的方案的合理性。
②如果不准晚上排课,排课结果是否有所变化,如何变化?③对教师聘用,教室配置给出合理化建议。
二、分析问题排课问题实质上是一个优化问题。
在该问题中,我们首先分析影响排课方案的因素,得出合理方案以及最优方案的评价标准,层层递进,先建立合理排课方案的模型,再调整为最优排课方案的模型。
本模型是在课程可以合理编排的前提下,以尽可能有效利用教室座位,为仔细的同学提供尽可能多的座位资源为主要准则进行编排。
在问题一中利用算法、程序得出的合理排课方案,再分别根据具体要求筛选优化,得出最佳方案。
三、条件假设1、不考虑单、双周,每周上课时间从星期一到星期五。
由于每门课按两节为单位上课,将每天上午下午分别按两大节计算,晚上按一大节计算。
对于某些3课时的课按两大节计算(由于占用某一节课,导致其他课程不能正常与其安排在同一半天)2、假设所有的教室在同一栋楼里,并且教室的编号是按照顺序编排的。
数学建模排班问题讲解学习

数学建模排班问题值班人员安排问题摘要某部队后勤值班室准备聘请4名兼职值班员和2名兼职带班员值班两种职位,相应的报酬也不同。
为使部队的支出最少,现需合理的设计出一张人员的值班时间表,在安排兼职值班员的过程中,需要考虑多方面的的问题与因素.因此,一个合理有效的兼职值班时间表的安排是非常有实际意义的.本次设计在综合了解一定的数学模型、以及LINGO软件中一些知识的基础上,以线性规划理论为基础,对实际例子进行一定的分析后,建立合理的整数规划模型.然后,利用LINGO软件求得结果.给出一个最优化的值班计划,使后勤值班室总支付的报酬为最少.关键词:值班时间表,LINGO软件,模型,报酬一.问题重述某部队后勤值班室准备聘请4名兼职值班员(代号为1,2,3,4)和2名兼职带班员(代号5,6)值班,已知每人从周一到周日每天最多可以安排的值班时间及每人每小时值班的报酬如下表.每人每天可值班的时间和报酬该值班室每天需要值班的时间为早上8:00至晚上22:00,值班时间内须有一名值班员值班.要求兼职值班员每周值班不少于10h,兼职带班员每周值班不少于8h.每名值班员每周值班不超过4次,每次值班不少于2h,每天安排值班的值班员不超过3人,且其中必须有一名兼职带班员值班.试为该值班室安排一张值班人员表,使总支付的报酬为最少.二.模型的假设(1)兼职员在可安排的时间内无特殊情况发生均可按时值班;(2)值班室需要值班的时间稳定不变;(3)值班员的兼职工资稳定不变.三.符号的说明ijx表示第i个值班员在星期j是否值班,如果值班,则ijx=1,否则ijx=0。
ija表示第i个值班员在星期j的值班时间。
ik表示第i个值班员值班一个小时所能够获取的报酬,ijA表示第i个值班员在星期j的值班时间的上限。
四.问题设计本题是在通过安排不同人员的值班时间来是部队支付的报酬最少,在给定的约束条件和每人每天的工作时间和报酬来设计。
由于知道员工每天的工作时间和报酬,这样就可确定目标函数,再通过给定的约束条件来解答,从而得出最优的值班时间表。
数学建模课表安排

文理学院新校区课表安排问题编号:J4004摘要:每学期的开学初,总有许多老师对新校区的课程安排很有意见,本文选取文理学院某系某专业的师生情况、课程、教室间数为研究对象,以课程与上课时间之间的关系矩阵为目标矩阵,通过用各影响矩阵优化目标矩阵的方法,对新校区各系各专业的课表进行了重排。
在具体模型建立过程中采用了0-1矩阵法,矩阵的乘法等数学方法,建立优化类数学模型来求解有效矩阵,根据有效矩阵初排课表,结合多方面因素建立修正矩阵,对初排课表逐层修改,得出最优排课表,最后通过lingo软件加以实现。
运用我们建立的数学模型,对文理学院数学系08级信息与计算科学专业的课表进行重排,将所得新课表与现有的课表进行比较,显然新排的课表更加合理化、人性化。
根据新课表中每节课对应的相关因素(课程名称、教室、老师、班级)进行分析整合,可衍生出新的安排表(如通过对不同时间段上课老师人数的研究安排校车的接送)。
我们以学校、教师和学生对所排课表满意度作为衡量标准,以文理学院数学系08级信息与计算科学专业的课表为例,可得学校、教师和学生对我们所排课表的满意度主因素分别为校车接送次数、在新区逗留时间、专业课排在早上,计算得评价指标分别为 0.88、1、1,可见对本模型使三方的满意度基本均衡且都超过80%,即做到了三者兼顾的满意最大化。
最后,通过我们建立的模型,我们给教务处排课表问题给处了一些合理的、可行性的建议。
关键字:排课问题 0-1矩阵矩阵的乘法优化目标矩阵满意度一. 问题重述每学期的开学初,总有许多老师对对新校区的课程安排进行抱怨,还有许多老师要求调课,教务处对这一问题很是头疼。
根据文理学院院的实际情况,用数学建模的方法解决这一问题,既要让老师满意,又要让同学和学校满意。
让老师满意,就是要让每位老师在一周前往新校区上课的乘车次数尽可能少,同时还要使每位老师在新校区逗留的时间尽可能少,比如安排尽量少出现像同一天同一位老师上1-2节,7-8节;让同学们满意,可从以下几方面考虑,比如,同一班级同一门课程,至少应隔一天上一次,另外对学生感到比较难学的课程尽量安排在最好的时段;同时为避免下课楼道拥挤,对于上午有四节课的班级,在教室功能允许的情况下,应尽量避免更换教室;让学校满意,就是要节约支出,每周派往新校区的车次尽可能的少。
数学建模请你来排课表

数学建模请你来排课表请你来排课表摘要每学期的开学初,学校都会根据时间、课程、课时要求、教室、班级人数、教师等因素对各学院各专业的课表进行重排。
我们首先对题目的要求进行分析,将题目归类为优化模型问题,主要运用运筹学的知识来建立模型。
确定了分别将教师、课程、教室三个因素优化组合进行讨论,并分配到课表上的不同时间段上最终形成满足要求的课表的解决方案。
首先,我们确定了各优化因素之间的约束关系,然后根据各因素间约束关系的要求不同,编制出各因素间的效用矩阵。
其中我们采用了多重约束条件,将各约束条件分为硬约束(强制要求)和软约束(用偏好系数表示);其次,我们为课表上的每一个时间段随机分配课程;再次,我们用逐级优化和0-1规划的方法分别将教师、教室分配到课表上的不同时间段上,按时间+课程+教师+教室的组合,形成了一份尽可能多地满足课程、教师、教室要求的课表。
最终根据题目给的数据,通过MATLAB软件编程进行模型验证,求出了所需课表,且在方案合理性分析中用计算机模拟的方法分析了偏好系数的变化、教室的种类对排课结果的影响。
文尾我们给出了教师、教室的配置建议。
关键词:排课模型随机分配优化目标矩阵多重约束条件0-1规划目录1 问题重述与分析 (4)1.1问题的重述 (4)1.2问题的分析....................................... (4)2 问题的假设 (4)3 符号说明 (5)4 模型的建立与求解 (5)根据分析,关联关系有课程—上课时间、课程—教室、教师—课程、教师—上课时间、教师—教室一共五个,该模型中存在的联系可由下图给出,其中实线表示“硬约束”,虚线表示“软约束”。
根据关联关系,由此可以得到刻画每个关系的效果指标矩阵,依次建立A1,A2,A3,A4 四个效用矩阵。
其中,为强制约束的有A2、A4,偏好约束有A1、A3,矩阵表示如下图所示。
1A 矩阵:()ij a A 1 刻画i 教师上j 教室的偏好效果指标,其中:10≤≤ij a (当ij a =0时表示i 教师不希望在j 教室上课,ij a =1时表示i 教师希望在j 教室上课,10 ij a 时表示i 教师在j 教室上课的偏好程度适中,赋值越大说明偏好越大)2A 矩阵:()ij a A 2 刻画i 教师上j 课程时的效果指标,其中:ij a =0,1(当ij a =0时表示i 教师不能上j 课程,ij a =1时表示i 教师能够上j 课程)3A 矩阵:()ij a A 3 刻画i 教师上j 时间段课时的偏好效果指标,其中:10≤≤ij a (当ij a =0时表示i 教师不希望在j 时间段上课,ij a =1时表示i 教师希望在j 时间段上课,10 ij a 时表示i 教师在j 时间段上课的偏好程度适中,赋值越大说明偏好越大)4A 矩阵:()ij a A 4 刻画i 课程在j 教室上时的效果指标,其中:ij a =0,1(当ij a =0时表示i 课程不能在j 教室上,ij a =1时表示i 课程能够在j 教室上)(2)对时间段S i 进行编号由于每门课程以2节课为单位进行编排,因此可以用i S 表示各段时间,如下图所示:(3)对课程的处理由于有些课程的课时数为奇数,因此对这些课程进行适当的处理及调整,具体做法如下: 当某一课程的课时数为奇数时,取大于它的最小偶数,若该课程的课时数为偶数时则不改变其值。
排课建模

请你来排课现有N个教学班①需要排课。
我们为这些教学班提供了一定的教室②,和可以排课的时间③。
请你给每个教学班排出它所开课的时间和地点。
需要满足以下一些限制:1.同一自然班不可能在同一时候参加不同教学班的授课;2.同一教师不可能同时参加不同教学班的授课;3.一个教室不能同时开两门课程;4.满足课程的教室类型需求;5.学生人数不能超过教室容量;6.同一门课程尽量不要同一天开课两次及以上;7.一个自然班的课程尽量分布均匀到每天;8.教师上课尽量集中,同时一天尽量不要超过6节,最好4节9.晚上尽量不排课。
名词解释:①教学班:在学分制开放式选课的环境中自然班的定义已经比较模糊了。
其教学管理部门通常会根据选修学生人数和教师、教室等资源情况将选课学生划分成为一个或多个教学班。
教学班可以被定义为{}束容量、任课教师,周学课程,选课集合,课程。
时,教室需求,其他约Ps.表1.如上表(这里只解释关键数据)“教学班id”唯一标识一个教学班;“课时组合id”唯一标识一次上课;课时表示一次课的长度;“教师id”唯一标识一名教师;“班级id”唯一标识一个自然班;“人数”教学班人数;“教室类型”上课所需教师类型。
②教室:是指提供给授课使用的场所以及附带设备的统称。
包括普通理论教室、带多媒体教室、语音、实验室、实训场所、体育操场等。
定义为{}=Room类型、大小、数量Ps.③排课时间:是指最大排课时间。
如一般大学授课以结为单位,每节45至50分钟不等,每天8到13节,每周40到84节不等。
视不同的教学单位而定。
在我校一般星期一至五排课上午排4节下午排4节晚上排3节。
2011全国数学建模竞赛暑期培训课表2

龚劬
7月11——16日
实践内容:校内竞赛A题(垃圾分类处理与清运方案设计)
或2005年B题(DVD在线租赁)
或2007年B题(乘公交,看奥运)
肖剑
龚劬
7月17日至19日
模拟竞赛(1)
A理119
龚劬
A理005
另外,也请老师们上午就把下午要让学生实践练习的题目布置了,中午可到梅园1幢休息,请带上你们的校园卡。同学们下午可以把自己的笔记本电脑带到机房.机房有空调。
龚劬
上午讲座:
DZ121
下午论文指导或辅导:
D区数学与统计学院楼1楼数学实验中心
7月12日、14日、16日
论文排版(公式、作图等),校内竞赛A题评讲、优化模型及Lingo软件,DVD在线租赁,决策分析。
肖剑
7月11——16日
实践内容:校内竞赛A题(垃圾分类处理与清运方案设计)
或2005年B题(DVD在线租赁)
8月31日
模拟竞赛(1)B评讲,论文及写作指导
荣腾中
9月1日
模拟竞赛(2)A评讲,论文及写作指导
何仁斌
9月2日
模拟竞赛(2)B评讲,论文及写作指导
龚劬
9月7日星期三晚
竞赛注意事项,落实竞赛场地等
龚劬
A理005
注:全国竞赛时间:9月9日(周五)8时至9月12日(周一)8时
另外,也请老师们上午就把下午要让学生练习的题目布置了,因为机房只有90台左右的机器,同学们下午可以把自己的笔记本电脑带到机房.机房有空调。
7月20日
休息
7月21日
23,25日
课程时间安排-数学建模

课程时间安排的优化模型摘要排课是教务运作中的一项重要工作,同时排课问题也是一个复杂的组合优化问题,对此问题的建模和求解,难度都非常大。
多数情况下我们只是满足于求解问题的一个可行解,而对此可行解的进一步优化往往通过手工完成,效率很低。
目前有很多计算机专家和数学专家都致力于对大规模排课问题的研究,在此我们给出一个规模相对较少,约束相对较少的较为简单的排课问题。
解决排课中的问题,既能满足老师授课上机的要求又能满足学生对上机时间的合理安排。
让学校、老师和同学的满意。
让老师满意,就是安排尽量少出现像同一天同一位老师上1-2节,7-8节,最好是1-2节面授然后4-5节课上机;让同学们满意,可从以下几方面考虑,比如,同一班级同一门课程,至少应隔一天上一次,另外对学生感到比较难学的课程尽量安排在最好的时段,上机时间要安排在面授课之后;让学校满意,就是尽量减少因出现问题而不得不为老师调课的次数。
根据实际情况在具体模型建立过程中采用了0-1矩阵法,矩阵的乘法等数学方法,建立优化类数学模型来求解有效矩阵,根据有效矩阵初排课表,结合多方面因素建立修正矩阵,对初排课表逐层修改,得出最优排课表。
并通过matlab实现算法和给出模型的解。
先将123班级课表和20张老师课表转换为0-1变量,有课改为0,没课改为1,组成两个矩阵,然后可用VB编程得到一个新的矩阵,两矩阵中元素都为1时,新的矩阵对应的元素就为1,即老师和班级同时有空时为1。
将多目标函数转换为单目标函数,其他的要求可直接在约束条件中满足。
然后用lingo软件编程解决(其约束条件和目标函数都可用lingo的语句表示出来)关键词:排课问题 0-1矩阵矩阵的乘法优化目标矩阵 lingo VB1 问题重述排课是教务运作中的一项重要工作,同时排课问题也是一个复杂的组合优化问题,对此问题的建模和求解,难度都非常大。
多数情况下我们只是满足于求解问题的一个可行解,而对此可行解的进一步优化往往通过手工完成,效率很低。
数学建模排课系统

监制: 数学建模协会计算机上机课安排摘要本模型用于较为方便的排课,其步骤主要分三个部分。
第一部分主要解决那些学生空课特别少的特殊班级,由于此种班级可供选择的空课时间不多,故而最为优先的进行考虑。
这一部主要靠人工完成。
第二部分也就是本模型的核心部分,用于初步解决余下班级的排课问题。
首先将老师和学生的课表转化成相应的0-1分布的形式,然后利用所确定的优先级别,对课表中学生空课状态(记为X1),老师在原任课天内空课情况(记为X2)根据不同时段的空课情况赋予不同的值,以及实验室每个时段的上机占有情况(X3),即可通过参数的大小反应各个空课处优先被安排的程度,然后将老师的课表矩阵与其所教班级的课表矩阵相加,使得学生上午优先、教师指导自己班学生最大化及实验室占有情况同时考虑,找出Y(Y= (X1+ X2 +X3)*e)最大值处的坐标,即为该班级上机实践应该安排在课表中的位置。
而将0-1分布的矩阵转化为带有优先级别的矩阵通过Matlab很容易的实现,两个矩阵的相加也可以通过Matlab实现。
这一模块将在智能化排课的过程中用到两次。
第一次,把老师任课天内可以指导自己所教班级最大限度的排满。
然后通过C程序选出需要加天的老师,及具体哪天,使得被选择的那天为所有可选天中,最大化指导学生的那天。
关键代码将在附录二中给出。
而后再对于还没有排课的班级进行下一轮的排课,这时只需可虑老师所附加来校的那一天。
这样就保证老师尽可能多的指导自己所教班级,教师来学校的意义最大化。
以上的两轮排序,较为简便并且智能的实现了课表的基本确定。
第三部分主要依靠人工完成。
此部分主要考虑因第二部分机械排序以后还存在没有排到课的班级,这些班级是那些在老师加天后还无法在这几天中被自己老师指导到的班级,对于这样的班级,只能交给管理员指导。
由于这只是极少的一部分,不会给人工排课人员带来很大的工作量。
我们优先级别的确定原则:1.通过首次全部用人工进行课表的实际抄做安排所出现的现象,发现学生的空课时间主要集中在下午(见附录一表1),若不考虑上午优先的话,则所有班级很难安排下去并且会出现下午一定面积的溢出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
请你来排课表摘要每学期的开学初,学校都会根据时间、课程、课时要求、教室、班级人数、教师等因素对各学院各专业的课表进行重排。
我们首先对题目的要求进行分析,将题目归类为优化模型问题,主要运用运筹学的知识来建立模型。
确定了分别将教师、课程、教室三个因素优化组合进行讨论,并分配到课表上的不同时间段上最终形成满足要求的课表的解决方案。
首先,我们确定了各优化因素之间的约束关系,然后根据各因素间约束关系的要求不同,编制出各因素间的效用矩阵。
其中我们采用了多重约束条件,将各约束条件分为硬约束(强制要求)和软约束(用偏好系数表示);其次,我们为课表上的每一个时间段随机分配课程;再次,我们用逐级优化和0-1规划的方法分别将教师、教室分配到课表上的不同时间段上,按时间+课程+教师+教室的组合,形成了一份尽可能多地满足课程、教师、教室要求的课表。
最终根据题目给的数据,通过MATLAB软件编程进行模型验证,求出了所需课表,且在方案合理性分析中用计算机模拟的方法分析了偏好系数的变化、教室的种类对排课结果的影响。
文尾我们给出了教师、教室的配置建议。
关键词:排课模型随机分配优化目标矩阵多重约束条件0-1规划目录1 问题重述与分析 (4)1.1问题的重述 (4)1.2问题的分析 (4)2 问题的假设 (4)3 符号说明 (5)4 模型的建立与求解 (5)4.1 模型的准备 (5)4.1.1对教师、课程、上课时间联系的刻画 (5)4.1.2 对时间段S i进行编号 ......... . (6)4.1.3 对课程的处理 (7)4.2 模型的建立 (7)4.2.1 随机分配课程到各个时间段 (7)4.2.2 给每一个时间段安排教师 (7)4.2.3为每一个时间段安排教室 (9)4.2.4 安排课程表 (11)5 模型的求解 (11)5.1编号并随机分配课程 (11)5.2分配教师 (11)5.3分配教室 (12)5.4编排课表 (12)6 模型的合理性分析 (12)7 模型的评价 (12)7.1 模型的优点 (12)7.2 模型的缺点 (12)8 参考文献 (12)附录 (13)1、问题重述与分析1.1 问题的重述现有课程40门,编号为C01~C40;教师共有25名,编号为T01~T25;教室18间,编号为R01~R18。
具体属性及要求见附表1,附表2,附表3。
课表编排规则:每周以5天为单位进行编排,每天最多只能编排8节课(上午4节,下午4节),特殊情况下可以编排10节课(晚上2节),每门课程以2节课为单位进行编排,同类课程尽可能不安排在同一时间。
你所要解决的问题:1.请你结合实际情况建立数学模型,通过编程计算,给出较为合理的课表编排方案,分析你所给出的方案的合理性。
2.如果不准晚上排课,排课结果是否有所变化,如何变化?3. 对教师聘用,教室配置给出合理化建议。
1.2 问题的分析本题的目标是将所有课程按照一定的约束条件安排到课表中。
由于课程的总周课时数为160节,而一周的总课时数是50节,所有最少需要4张课表才能安排好所有的课程;又由于教师的总周课时数最多为116节课,若使所有的教师上满所有课程也是难以完成160节的总周课时的,因此必须分单双周制才能编排好所有的课程;我们要到达的基本要求是教师不冲突、教室不冲突、课程全部排完以及所有软、硬约束。
由于目标是将所有课程排完,可以先将不同课程按照其时间要求随机分配至课表中,形成“时间段-课程”组合;再建立该组合对教师的约束,通过“0-1规划”确定最优的“时间段-课程-教师”组合;同理,利用“0-1规划”确定出“时间段-课程-教师-教室”的最优组合,最终得到所求课表。
2、问题的假设[1]假设学校的优先考虑目标是完成所有课程的编排;[2]假设所编排的课程表是学生自选型,即课程的编排不会受到班级以及班级人数的限制,只与课程的人数要求有关;[3]假设在课程要求中的各项均为强制要求,即“硬约束”;假设在教师属性中,能胜任课程类别、周最大课时数为强制要求,即“硬约束”;对教室类别要求、上课时间要求用偏好程度衡量,为“软约束”;[4]假设可以分单双周上课制,即问题中的周课时是以两星期为一周期来计算,可以使所得的课表安排一周上课课程后接下来一周另外安排课程;[5]假设课表只受上课时间、教师、教室、课程的影响,其他因素(教室故障问题等)不会影响课程的进行;[6]一门多学时的课程只能由同一个老师完成,并且尽量能在同一间教室上课;3、符号说明主要符号 符号意义4321A A A A 、、、 效用矩阵i C 原课程编号 i K 新的周课时数编号 j T 教师编号k R 教室编号偏好系数(表示教师对教室、教师对上课时间的偏好系数)i S 课程表上时间段的编号j ST j T 教师的要求课时数i SC i C 课程的要求课时数S={u j i j R T Y ,,} 课程表上某一时间段的课程-教师-教室组合4、模型的建立与求解 4.1模型的准备(1)对教师、课程、上课时间联系的刻画根据分析,关联关系有课程—上课时间、课程—教室、教师—课程、教师—上课时间、教师—教室一共五个,该模型中存在的联系可由下图给出,其中实线表示“硬约束”,虚线表示“软约束”。
根据关联关系,由此可以得到刻画每个关系的效果指标矩阵,依次建立A1,A2,A3,A4 四个效用矩阵。
其中,为强制约束的有A2、A4,偏好约束有A1、A3,矩阵表示如下图所示。
1A 矩阵:()ij a A 1 刻画i 教师上j 教室的偏好效果指标,其中:10≤≤ij a (当ij a =0时表示i 教师不希望在j 教室上课,ij a =1时表示i 教师希望在j 教室上课,10 ij a 时表示i 教师在j 教室上课的偏好程度适中,赋值越大说明偏好越大)2A 矩阵:()ij a A 2 刻画i 教师上j 课程时的效果指标,其中:ij a =0,1(当ij a =0时表示i教师不能上j 课程,ij a =1时表示i 教师能够上j 课程)3A 矩阵:()ij a A 3 刻画i 教师上j 时间段课时的偏好效果指标,其中:10≤≤ij a (当ij a =0时表示i 教师不希望在j 时间段上课,ij a =1时表示i 教师希望在j 时间段上课,10 ij a 时表示i 教师在j 时间段上课的偏好程度适中,赋值越大说明偏好越大)4A 矩阵:()ij a A 4 刻画i 课程在j 教室上时的效果指标,其中:ij a =0,1(当ij a =0时表示i 课程不能在j 教室上,ij a =1时表示i 课程能够在j 教室上) (2)对时间段S i 进行编号由于每门课程以2节课为单位进行编排,因此可以用i S 表示各段时间,如下图所示:(3)对课程的处理由于有些课程的课时数为奇数,因此对这些课程进行适当的处理及调整,具体做法如下:当某一课程的课时数为奇数时,取大于它的最小偶数,若该课程的课时数为偶数时则不改变其值。
对所有课程的课时数进行调整后所得到的新的课时数为i K (i=1,2,3…….40,即有40门课程),原课程的编号为i C (i=1,2,3…….40,即原有的40门课程),ij Y (i=1,2,3…….40,为原有的课程编号,j=1,2,3……21∑iK),现目标就是对集合{ij Y }进行排课。
4.2 模型的建立(1)随机分配课程到各个时间段由于课程的上课时间(上午,下午)要求为强制性约束,利用excel 表格的筛选功能分别选出上、下午的课程集合B上午={ij Y }, B下午={ij Y }。
我们随机给B上午的每一个元素抽取一个上午的时间段,B 下午中的每一个元素抽取一个下午的时间段,组成时间段—课程{i S i j Y }组合。
此时,=i S ij Y (某一时间段对应的某一课程)。
如此,就已经完成随机分配,使得每个时间段编号都有一个课程赋值。
(2) 给每一个时间段安排教师A.结合效用矩阵2A 的i S根据教师j T 对课程Cj 的效用矩阵2A ,对i S 进行第二次赋值。
当第i 个时间段上的初值是i j Y ,若ij a =1,则i S =1,否则,i S =0。
B. 结合效用矩阵3A 的i S根据教师j T 对上课时间的偏好3A 矩阵,对i S 进行第三次赋值,i S =i S +ij a 。
C. 结合效用矩阵 1A 的 i S根据教师j T 对i S 时间段上的课程所要求的教室的偏好1A 矩阵,对i S 进行第四次赋值,i S =i S +ij a 。
最终得到ji Sjis s s s s s s s s j j i i (2)12222111211由此,我们可以得到下表教师j T 对时间段i S 的效用指标表:1s 2s … … … … i s1T 11s 12s … … … … i s 1 2T21s 22s … … … … i s 2… … … … … … … … … … … … … … … …j T 1j s 2j s … … … … ji s表2D. 利用0-1规划将教师j T 分配到不同的时间段上由于目标是将j T 教师分配到不同的时间段上,约束条件是分配结果必须使得教师的课时数要求与课程的周课时数要求同时满足。
用ji X 表示j T 教师在时间段i S 的上课情况(其中,ji X =1说明j T 教师能在时间段i S 上课,ji X =0说明j T 教师不能在时间段i S 上课),因此,问题转化为求以下有约束条件的0-1 规划问题:目标函数:max z=∑∑==⨯ni nj ji jiS x11约束条件:∑=nj jix1=i SC 21∑=ni jix1=j ST 21ij x =0,1由上面问题可求出解为:=ji Xjix x x x x x x x x j j ii (2)12222111211 将教师安排到最优的时间段,即此时所得的课表即为:{j i j T Y ,} (当ji x =1时,将jT与i j Y 排在一起),若无最优解,则重回模型建立第一步,重新随机分配课程。
(3)给每一个时间段安排教室A.结合效用矩阵4A 的i S根据教师j T 对课程j c 的效用矩阵2A ,对i S 进行第一次赋值。
当第i 个时间段上的初值是i j Y ,若ij a =1,则i S =1,否则,i S =0。
B. 结合效用矩阵1A 的i S根据教师j T 对i 教室的偏好程度1A 矩阵,对i S 进行第二次赋值,i S =i S +ij a 。
最终得到ji Sjis s s s s s s s s j j i i (2)12222111211由此,我们可以得到下表教室k R 对时间段i S 的效用指标表:1s 2s … … … … i sk R 11s 12s … … … … i s 12R21s 22s … … … … i s 2… … … … … … … … … … … … … … … … k R 1k s 2k s … … … … ki s表3C. 利用0-1规划将教室k R 分配到不同的时间段上目标是将教室k R 分配到不同的时间段上,约束条件是分配结果必须满足同一间教室在四张课表的同一时间段不重复。