ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:63.23KB ,
资源ID:4208005      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4208005.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(5A版学生建模报告排课问题.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

5A版学生建模报告排课问题.docx

1、5A版学生建模报告排课问题排课问题 组员:王小猛 20GG1090069 邓威 20GG1090081 夏小亮 20GG1090067排课问题模型摘要本文建立了一个对课程编排的综合优化模型。它可以解决在众多限制条件下的学校排课问题。该模型是一个在满足众多限制条件下对教室座位的利用率以及时间资源利用率综合考虑的多目标优化模型。通过对各个目标进行加权处理,将多目标转化成单目标进行处理,根据不同实际情况,赋予不同的权值而得到不同结果。该模型的主要优点在于:通过考虑教室的利用率使得一个班级的所有课程和课次尽量被安排在同一个教室(即那个容量与该班级人数最为接近的教室,因为此时它的教室利用率最高),这样就

2、使得同一个班级的同一门课程的不同课次尽量被安排在同一个教室,这就满足了题目中的“同一门课的多次授课尽可能在同一教室”的要求;同时也使得同一个班级的不同课程尽量被安排在同一个教室,这样就满足了题目中“将课间的学生流动降到最低限度”的要求;通过在模型的限制条件中加入同一班级的相临两次授课时间间隔的限制,使得通过该模型制定出来的排课方案满足题目中的“相邻两次授课的间隔尽可能均匀”的要求。本文中的模型不仅使其规定的目标(教室的座位利用率和时间的利用率)达到最大,还可以根据目标的不同侧重点进行权值修正以适合不同情况下的排课模型。而且本文中所用到的方法还可推广到其他领域的应用中。关键词:“单双周上课”:单

3、周和双周上课的课时不同,其平均课时为题目中所要求的课时。“班级课程”:代表所给数据文件中的一个向量,包含学生班代码,人数,计划要开课程,周用时,多媒体需求,任课教师等信息。一 问题重述学校的教师和教室资源及学生班结构在一个学期内不会有大的变动。既定的教学计划必须执行。所编排的课程表起码应无任何冲突,最好能够对提高教学质量发挥重要作用,即选择“最优”的排课方案。如:充分满足各课程对教学条件的要求;相邻两次授课的间隔尽可能均匀;占用的教室个数尽可能少,以空出更多的教室供学生自习或发挥其它利于教学的作用;同一门课的多次授课尽可能在同一教室;将课间的学生流动降到最低限度等等。教学计划中的课程在周课时数

4、、授课班的规模及所需教学设施等方面有各自的要求;各教室的座位数、教学设施规格有一定差异;有些课程允许几个班的学生合为一个大班听课,有些课程则要求将一个大班分成几个小班;有些教师在一个学期内一人担任着多门课程的教学工作,如此等等。 二 模型假设(1)假设多媒体教室里的多媒体没有损坏。(2)假设教室在一个学期当中没有其他的安排。(3)假设教室的座位没有损坏。(4)假设班级的人数不再改变。(5)假设教师对上课时间段没有偏好。(6)假设教室资源足够。三 符号说明(1): 表示i班在星期j第k时段是否可排课标志,可排课时 =0,不可排课时=1;(2): 表示m教师在星期j第k时段是否可排课标志,可排课时

5、=0, 不能排课时=1;(3): 表示n教室在星期j第k时段是否可排课标志,可排课时=0, 不能排课时=1;(4): 表示在第k时间段上课时的效果值效率;(5); 表示i班的人数;(6): 表示j教室座位数;(7): 表示j教室有没有多媒体的标志,如果有=1;若没有=0;(8): 表示i班h课程是否需要多媒体的标志,需要 =1,不需要是 =0;(9): 表示i班j课程不同课次之间的间隔(天数)。四 问题分析通过对各种数据的分析,我们发现最主要的矛盾是:一是需要多媒体的课程与有多媒体教室之间的矛盾;二是班级的学生数量与教室的座位数之间的矛盾。因此对需要多媒体的课程安排在座位数大于学生班人数的多媒

6、体教室。座位数和多媒体两个条件是必须同时满足的。在此模型中我们主要考虑教室资源和时间资源的利用率,使这两类资源的利用率达到最大。教室资源的利用率主要是指座位的利用率即上课的人数与该教室的座位的比值,比值越大则利用率越高。时间资源利用率是指每个时段学生上课的效率和教师上课的效率,关于这一点通过对学生和教师的调查和学校的实际情况我们发现上午的学生学习效率以及教师授课的效率都比较高,而下午上课的效率则比较低。由于在晚上学生要求自习以及教师可能有备课的需要,因此在晚上我们不排课。所以在排课时我们尽量将课程排在上午。对于此问题的解决我们可以对每一个上课时间段赋予权值。安排在每个时间段的课时与对应的权值的

7、乘积达到最大,即表示时间利用率达到最大。因此该模型是一个双目标模型,通过实际情况的侧重点我们对这两类目标赋予权值可将其转化为单目标模型。这样可以降低解模的困难。对于时间段的划分我们可将其6个时间段上午:12节,34节。下午:56节,78节。晚上910节 。对于不排课的时间段,如:晚上910节,下午78节,我们将其权值定为0 。上面的时间段我们安排的都是两课时为一时间段。而我们所用的方法是安排一个星期内的课程,因此对于题目中出现的3课时和5课时课程,我们首先将其处理为4课时和6课时,这样可以很好地将这些课程安排在我们所规定的时间段内。再用模型中的方法将这些课程排定。另外为了将课程尽量安排均匀,我

8、们将同一个班的同一门课程之间的间隔加以限制,使其间隔不小于两天。五 模型建立根据上面的问题分析我们建立以下的优化模型,模型中的、是根据实际情况的时间利用率与资源利用率的权值。maG(+ ) 总资源利用率达到最大。S t : 六模型求解在预处理模型中,我们是将班级课程逐一地安排在适当的位置。所以对课程安排的顺序不同得到的结果也就不同,所以为了得到理想的结果,我们首先需要对班级课程进行排序,排序的理想结果是先安排的班级课程对后面的班级课程没有影响。我们采用以下排序规则:(一): 将所有的班级课程按照是否有多媒体进行分类,需要多媒体的分为第一类,不需要多媒体的分为第二类;(二): 将上述两类按照班级

9、人数从大到小进行排序;按照上述顺序逐一对排课。最后我们还必须对所排列的班级课程进行重新的排列。标准如下:(一):对于3课时的课程,若这些课程全部都排在上午,我们则安排单双周上课,即单周上2课时,双周上4课时;或单周上4课时,双周上2课时。(二):3课时的课程若有排在下午的,我们则安排下午3节连上。(三):对于5课时的课程,则可认为是3+2模式。(四):这样单课时都可以得到处理。 模型求解 优化处理举 例:班级-课程:院系课程人数多媒体教师课时课程代号数学系数学分析120不需要王教授51物理系普通物理80不需要李教授42生科系生物60需要王教授43计算机数据结构90需要程教授34则排课的优先级为

10、:4,3,1,2;假如现在只有7501 7502 7503 7504 教室能排课教室座位数是否有多媒体7501125无750280有750390无750470有4,3课程只能在7502和7504教室选择,先排4课程(先一周内排2次,后再优化处理),用模型求解;得出他在排的位置和时间;当4课程排定后,则3课程(一周类排2次)就不能与4课程排在同一教室和同一时间上。以此类推。若两个课程的教师相同如(1,3课程),则他们就不能排在同一时间上。七 模型的进一步讨论由于我们用的是对班级一个个地逐步排入教室的方法。这样有可能会使有些资源的利用率不会达到最大,如多媒体教室的有效使用率、教室的使用率。有可能使

11、多媒体教室在有些时间段会空闲,而没有减少对多媒体的使用。同时也会使每一个教室会排上课程,而不会出现全星期或全天都空余的教室供其它的目的所使用,如此等等。因此,我们可对这所有的因素都排列出来,按照它们实际的侧重点逐个进行加权,以他们组成的函数作为目标,可求出他们最优的配置。出现这些问题的原因主要是我们对这些问题侧重点的看法不同,我们在考虑这些问题时主要是建立在授课效率这一方面。本模型没有考虑教师对上课时段的要求,实际中教师可能由于各种原因在某个特定的时段不能安排上课。对于这个问题我们可对模型中教师进行限制或者加权,可达到目的。八 模型评价本模型是一个综合优化模型。它可以解决在众多限制因素以及有限

12、资源等条件限制下的学校排课问题。该模型采用对班级课程逐个地逐步排入教室的方法。易利用类C语言的软件编写程序求解,解决了大规模的非线性优化模型难以求解的问题,实现了对问题的求解。特别是在多媒体的资源、座位数限制、教师资源、教室资源等方面,我们都有很好的分配方案。对于其他的限制条件,我们也能使其达到最大限度的满足。该模型是在满足上述众多限制下的对教室座位的利用率以及时间资源利用率的一个多目标优化模型,还可以根据不同实际情况,如这两类目标的侧重点的不同等,而对它们进行加权,最后得出最优的排课方案。在求解此模型时,我们首先抓住主要矛盾:教室是否有多媒体与课程是否需要多媒体之间的矛盾,班级的人数与教室座

13、位数之间的矛盾。然后再考虑其他的众多限制。首先有多媒体的教室比较少,限制条件最多,所以将这些课程优先考虑,把这些课程作为第一批进行排课,将不需要多媒体的课程作为第二批排课。其次,我们将班级的人数按照又大到小进行排序,再按照此顺序逐步安排课程,这样就很好地解决了这两个主要矛盾。 在安排课程时我们是按照每一个课程的资源利用率达到最大,以此为标准来安排每一课程,在排课时就是要使座位的利用率以及时间的利用率达到最大,时间的利用率与排课的顺序无关,而只是教室的座位利用率与班级排课的顺序有关。而我们是按照上课人数由大到小的顺序进行排课的。故每一次都是使上课的人数与教室的座位数的差达到最小,因此人数大的班级

14、不会对人数小的班级产生影响;因此每一次排课都会达到最优,任何两门课程之间不会产生任何的影响。所以总体达到最优。在计算机给班级安排课程它总是找教室座位数与班级人数最接近的哪一个教室,而教室的顺序是一定的,在其他条件满足的情况下,计算机都会先寻找同一个教室,当条件不满足时计算机再寻找其他的教室,这样就满足了同一班级的同一门课程尽量安排在同一教室的条件,而且同一班级的不同课程也尽量会安排在同一教室,这样也会使课间的流动性达到最小。本模型不仅可以使规定的目标(教室的座位利用率和时间的利用率)达到最大。还可满足题目中众多的限制因素。而且还可推广大其他领域的应用。附录(1):程序#includeiostr

15、eam#includetime.h#includestring#includetime.h#includefstream#include cstdlib#include vector using namespace std;typedef struct yizima string banji; string kecheng; int Gingqi; int shiduan ; int jiaoshi ; string teacher; struct yizima GneGt;code,Glinklist; float fuction(int classroomcon272,int i,int

16、j,int k,int m,int n,int stnumber ) float sum1; if(k=0) sum1=0.8; if(k=1) sum1=0.5; if(k=2) sum1=0.3; float sum2; sum2=(float)stnumber/classroomconi1; float sum=sum1+sum2; return sum;int classtime(string classname,int j,int k,linklist H) linklist p; p=H-neGt; int flag=0; while(p!=NULL) if(p-banji=cla

17、ssname&p-Gingqi=j&p-shiduan=k) flag=1; p=p-neGt; return flag;int teachertime(string jiaoshi ,int j,int k,linklist H) linklist p; p=H-neGt; int flag=0; while(p!=NULL) if(p-teacher=jiaoshi&p-Gingqi=j&p-shiduan=k) flag=1; p=p-neGt; return flag;int jiange (string classname,string subject,int j,linklist

18、H) linklist p; p=H-neGt; int m; int flag=0; while(p!=NULL) if(p-banji=classname&p-kecheng=subject) m=p-Gingqi-j; if(m!=-1&m!=1&m=0) flag=1; p=p-neGt; return flag;void main() ifstream infile; float fuction(int classroomcon272,int i,int j,int k,int m,int n,int stnumber ); linklist H,r,p; int m=0; floa

19、t sumall=0; int a,b,c; int flag; float sum,sum1; H=new code; H-neGt=NULL; p=H; string classname; int stnumber; string subject; int subjectnumber; string duomiti; string jiaoshi; infile.open (C:问题2的数据.tGt); int Gingqi; int shiduan; int classroom; int classroomuse2753=0; int classroomcon272=0,80,0,80,

20、0,50,0,25,0,25,0,80,0,120,0,50,1,260,0,120,0,25,0,50,0,50,0,120,0,50,1,272,0,25,0,80,0,80,1,120,1,120,0,50,1,120,0,50,1,270,0,80,0,80; for(int e=0;eclassname; infilestnumber; infilesubject; infilesubjectnumber; infileduomiti; infilejiaoshi; if(duomiti=N) flag=0; else flag=1; m=(subjectnumber+1)/2; f

21、or(int w=0;wm;w+) sum1=0; a=0; b=0; c=0; for(int i=0;i27;i+) for(int j=0;j5;j+) for(int k=0;k3;k+) if(classroomuseijk=0)&(classtime(classname,j,k,H)=0)&(stnumber=classroomconi1)&(flagsum1) sum1=sum; a=i;b=j;c=k; if(c=0) sumall=sumall+sum1-0.8; if(c=1) sumall=sumall+sum1-0.5; if(c=2) sumall=sumall+su

22、m1-0.3; r=new code; p-neGt=r; r-neGt=NULL; p=r; r-banji=classname; r-kecheng=subject; r-teacher=jiaoshi; r-Gingqi=b+1; r-shiduan=c+1; r-jiaoshi=a+1; classroomuseabc=1; linklist q; q=H-neGt; int g=0; linklist k; while(q!=NULL) coutbanji kecheng jiaoshi shiduan Gingqi teacherneGt; free(k); float average=sumall/g; coutaverage=averageendl;infile.close();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1