新大学生建模报告汇总排课问题Word格式文档下载.docx
- 文档编号:21418677
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:11
- 大小:20.80KB
新大学生建模报告汇总排课问题Word格式文档下载.docx
《新大学生建模报告汇总排课问题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《新大学生建模报告汇总排课问题Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
二模型假设
(1)假设多媒体教室里的多媒体没有损坏。
(2)假设教室在一个学期当中没有其他的安排。
(3)假设教室的座位没有损坏。
(4)假设班级的人数不再改变。
(5)假设教师对上课时间段没有偏好。
(6)假设教室资源足够。
三符号说明
(1):
表示i班在星期j第k时段是否可排课标志,可排课时=0,不可排课时=1;
(2):
表示m教师在星期j第k时段是否可排课标志,可排课时=0,
不能排课时=1;
(3):
表示n教室在星期j第k时段是否可排课标志,可排课时=0,
(4):
表示在第k时间段上课时的效果值效率;
(5);
表示i班的人数;
(6):
表示j教室座位数;
(7):
表示j教室有没有多媒体的标志,如果有=1;
若没有=0;
(8):
表示i班h课程是否需要多媒体的标志,需要=1,不需要是=0;
(9):
表示i班j课程不同课次之间的间隔(天数)。
四问题分析
通过对各种数据的分析,我们发现最主要的矛盾是:
一是需要多媒体的课程与有多媒体教室之间的矛盾;
二是班级的学生数量与教室的座位数之间的矛盾。
因此对需要多媒体的课程安排在座位数大于学生班人数的多媒体教室。
座位数和多媒体两个条件是必须同时满足的。
在此模型中我们主要考虑教室资源和时间资源的利用率,使这两类资源的利用率达到最大。
教室资源的利用率主要是指座位的利用率即上课的人数与该教室的座位的比值,比值越大则利用率越高。
时间资源利用率是指每个时段学生上课的效率和教师上课的效率,关于这一点通过对学生和教师的调查和学校的实际情况我们发现上午的学生学习效率以及教师授课的效率都比较高,而下午上课的效率则比较低。
由于在晚上学生要求自习以及教师可能有备课的需要,因此在晚上我们不排课。
所以在排课时我们尽量将课程排在上午。
对于此问题的解决我们可以对每一个上课时间段赋予权值。
安排在每个时间段的课时与对应的权值的乘积达到最大,即表示时间利用率达到最大。
因此该模型是一个双目标模型,通过实际情况的侧重点我们对这两类目标赋予权值可将其转化为单目标模型。
这样可以降低解模的困难。
对于时间段的划分我们可将其6个时间段上午:
1~2节,3~4节。
下午:
5~6节,7~8节。
晚上9~10节。
对于不排课的时间段,如:
晚上9~10节,下午7~8节,我们将其权值定为0。
上面的时间段我们安排的都是两课时为一时间段。
而我们所用的方法是安排一个星期内的课程,因此对于题目中出现的3课时和5课时课程,我们首先将其处理为4课时和6课时,这样可以很好地将这些课程安排在我们所规定的时间段内。
再用模型中的方法将这些课程排定。
另外为了将课程尽量安排均匀,我们将同一个班的同一门课程之间的间隔加以限制,使其间隔不小于两天。
五模型建立
根据上面的问题分析我们建立以下的优化模型,模型中的、是根据实际情况的时间利用率与资源利用率的权值。
max(+)总资源利用率达到最大。
St:
六 模型求解
在预处理模型中,我们是将班级—课程逐一地安排在适当的位置。
所以对课程安排的顺序不同得到的结果也就不同,所以为了得到理想的结果,我们首先需要对班级—课程进行排序,排序的理想结果是先安排的班级—课程对后面的班级—课程没有影响。
我们采用以下排序规则:
(一):
将所有的班级—课程按照是否有多媒体进行分类,需要多媒体的分为第一类,不需要多媒体的分为第二类;
(二):
将上述两类按照班级人数从大到小进行排序;
按照上述顺序逐一对排课。
最后我们还必须对所排列的班级—课程进行重新的排列。
标准如下:
对于3课时的课程,若这些课程全部都排在上午,我们则安排单双周上课,即单周上2课时,双周上4课时;
或单周上4课时,双周上2课时。
3课时的课程若有排在下午的,我们则安排下午3节连上。
(三):
对于5课时的课程,则可认为是3+2模式。
(四):
这样单课时都可以得到处理。
模型求解
优化处理
举例:
班级-课程:
院系
课程
人数
多媒体
教师
课时
课程代号
数学系
数学分析
120
不需要
王教授
5
1
物理系
普通物理
80
李教授
4
2
生科系
生物
60
需要
3
计算机
数据结构
90
程教授
则排课的优先级为:
4,3,1,2;
假如现在只有7501750275037504教室能排课
教室
座位数
是否有多媒体
7501
125
无
7502
有
7503
7504
70
4,3课程只能在7502和7504教室选择,先排4课程(先一周内排2次,后再优化处理),用模型求解;
得出他在排的位置和时间;
当4课程排定后,则3课程(一周类排2次)就不能与4课程排在同一教室和同一时间上。
以此类推。
若两个课程的教师相同如(1,3课程),则他们就不能排在同一时间上。
七模型的进一步讨论
由于我们用的是对班级一个个地逐步排入教室的方法。
这样有可能会使有些资源的利用率不会达到最大,如多媒体教室的有效使用率、教室的使用率。
有可能使多媒体教室在有些时间段会空闲,而没有减少对多媒体的使用。
同时也会使每一个教室会排上课程,而不会出现全星期或全天都空余的教室供其它的目的所使用,如此等等。
因此,我们可对这所有的因素都排列出来,按照它们实际的侧重点逐个进行加权,以他们组成的函数作为目标,可求出他们最优的配置。
出现这些问题的原因主要是我们对这些问题侧重点的看法不同,我们在考虑这些问题时主要是建立在授课效率这一方面。
本模型没有考虑教师对上课时段的要求,实际中教师可能由于各种原因在某个特定的时段不能安排上课。
对于这个问题我们可对模型中教师进行限制或者加权,可达到目的。
八模型评价
本模型是一个综合优化模型。
它可以解决在众多限制因素以及有限资源等条件限制下的学校排课问题。
该模型采用对班级——课程逐个地逐步排入教室的方法。
易利用类C语言的软件编写程序求解,解决了大规模的非线性优化模型难以求解的问题,实现了对问题的求解。
特别是在多媒体的资源、座位数限制、教师资源、教室资源等方面,我们都有很好的分配方案。
对于其他的限制条件,我们也能使其达到最大限度的满足。
该模型是在满足上述众多限制下的对教室座位的利用率以及时间资源利用率的一个多目标优化模型,还可以根据不同实际情况,如这两类目标的侧重点的不同等,而对它们进行加权,最后得出最优的排课方案。
在求解此模型时,我们首先抓住主要矛盾:
教室是否有多媒体与课程是否需要多媒体之间的矛盾,班级的人数与教室座位数之间的矛盾。
然后再考虑其他的众多限制。
首先有多媒体的教室比较少,限制条件最多,所以将这些课程优先考虑,把这些课程作为第一批进行排课,将不需要多媒体的课程作为第二批排课。
其次,我们将班级的人数按照又大到小进行排序,再按照此顺序逐步安排课程,这样就很好地解决了这两个主要矛盾。
在安排课程时我们是按照每一个课程的资源利用率达到最大,以此为标准来安排每一课程,在排课时就是要使座位的利用率以及时间的利用率达到最大,时间的利用率与排课的顺序无关,而只是教室的座位利用率与班级排课的顺序有关。
而我们是按照上课人数由大到小的顺序进行排课的。
故每一次都是使上课的人数与教室的座位数的差达到最小,因此人数大的班级不会对人数小的班级产生影响;
因此每一次排课都会达到最优,任何两门课程之间不会产生任何的影响。
所以总体达到最优。
在计算机给班级安排课程它总是找教室座位数与班级人数最接近的哪一个教室,而教室的顺序是一定的,在其他条件满足的情况下,计算机都会先寻找同一个教室,当条件不满足时计算机再寻找其他的教室,这样就满足了同一班级的同一门课程尽量安排在同一教室的条件,而且同一班级的不同课程也尽量会安排在同一教室,这样也会使课间的流动性达到最小。
本模型不仅可以使规定的目标(教室的座位利用率和时间的利用率)达到最大。
还可满足题目中众多的限制因素。
而且还可推广大其他领域的应用。
附录
(1):
程序
#include"
iostream"
time.h"
string"
fstream"
#include"
cstdlib"
vector"
usingnamespacestd;
typedefstructyizima{
stringbanji;
stringkecheng;
intxingqi;
intshiduan;
intjiaoshi;
stringteacher;
structyizima*next;
}code,*linklist;
floatfuction(intclassroomcon[27][2],inti,intj,intk,intm,intn,intstnumber)
{floatsum1;
if(k==0)sum1=0.8;
if(k==1)sum1=0.5;
if(k==2)sum1=0.3;
floatsum2;
sum2=(float)stnumber/classroomcon[i][1];
floatsum=sum1+sum2;
returnsum;
}
intclasstime(stringclassname,intj,intk,linklistH)
{
linklistp;
p=H->
next;
intflag=0;
while(p!
=NULL)
{if(p->
banji==classname&
&
p->
xingqi==j&
shiduan==k)
flag=1;
p=p->
returnflag;
intteachertime(stringjiaoshi,intj,intk,linklistH)
{linklistp;
teacher==jiaoshi&
intjiange(stringclassname,stringsubject,intj,linklistH)
intm;
{
if(p->
kecheng==subject)
{m=p->
xingqi-j;
if(m!
=-1&
m!
=1&
m==0)flag=1;
}
}
voidmain()
ifstreaminfile;
floatfuction(intclassroomcon[27][2],inti,intj,intk,intm,intn,intstnumber);
linklistH,r,p;
intm=0;
floatsumall=0;
inta,b,c;
intflag;
floatsum,sum1;
H=newcode;
H->
next=NULL;
p=H;
stringclassname;
intstnumber;
stringsubject;
intsubjectnumber;
stringduomiti;
stringjiaoshi;
infile.open("
C:
\\问题2的数据.txt"
);
intshiduan;
intclassroom;
intclassroomuse[27][5][3]={0};
intclassroomcon[27][2]={{0,80},{0,80},{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(inte=0;
e<
161;
e++)
{
infile>
>
classname;
stnumber;
subject;
subjectnumber;
duomiti;
jiaoshi;
if(duomiti=="
N"
)
flag=0;
elseflag=1;
m=(subjectnumber+1)/2;
for(intw=0;
w<
m;
w++)
sum1=0;
a=0;
b=0;
c=0;
for(inti=0;
i<
27;
i++)
for(intj=0;
j<
5;
j++)
for(intk=0;
k<
3;
k++)
{
if((classroomuse[i][j][k]==0)&
(classtime(classname,j,k,H)==0)&
(stnumber<
=classroomcon[i][1])&
(flag<
=classroomcon[i][0])&
teachertime(jiaoshi,j,k,H)==0&
jiange(classname,subject,j,H)==0)
{sum=fuction(classroomcon,i,j,k,27,2,stnumber);
elsesum=0;
if(sum>
sum1)
{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+sum1-0.3;
r=newcode;
p->
next=r;
r->
p=r;
banji=classname;
kecheng=subject;
teacher=jiaoshi;
xingqi=b+1;
shiduan=c+1;
jiaoshi=a+1;
classroomuse[a][b][c]=1;
linklistq;
q=H->
intg=0;
linklistk;
while(q!
{cout<
<
q->
banji<
"
"
kecheng<
jiaoshi<
shiduan<
xingqi<
teacher<
endl;
k=q;
g++;
q=q->
free(k);
floataverage=sumall/g;
cout<
average="
average<
infile.close();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学生 建模 报告 汇总 问题